aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf-acm@2012-02-22.yin
diff options
context:
space:
mode:
Diffstat (limited to 'vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf-acm@2012-02-22.yin')
-rw-r--r--vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf-acm@2012-02-22.yin452
1 files changed, 452 insertions, 0 deletions
diff --git a/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf-acm@2012-02-22.yin b/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf-acm@2012-02-22.yin
new file mode 100644
index 00000000..b73ab4e1
--- /dev/null
+++ b/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf-acm@2012-02-22.yin
@@ -0,0 +1,452 @@
+<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-1">
+ <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;module name="ietf-netconf-acm"
+ xmlns="urn:ietf:params:xml:ns:yang:yin:1"
+ xmlns:nacm="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"
+ xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types"&gt;
+ &lt;namespace uri="urn:ietf:params:xml:ns:yang:ietf-netconf-acm"/&gt;
+ &lt;prefix value="nacm"/&gt;
+ &lt;import module="ietf-yang-types"&gt;
+ &lt;prefix value="yang"/&gt;
+ &lt;/import&gt;
+ &lt;organization&gt;
+ &lt;text&gt;IETF NETCONF (Network Configuration) Working Group&lt;/text&gt;
+ &lt;/organization&gt;
+ &lt;contact&gt;
+ &lt;text&gt;WG Web: &amp;lt;http://tools.ietf.org/wg/netconf/&amp;gt;
+WG List: &amp;lt;mailto:netconf@ietf.org&amp;gt;
+
+WG Chair: Mehmet Ersue
+ &amp;lt;mailto:mehmet.ersue@nsn.com&amp;gt;
+
+WG Chair: Bert Wijnen
+ &amp;lt;mailto:bertietf@bwijnen.net&amp;gt;
+
+Editor: Andy Bierman
+ &amp;lt;mailto:andy@yumaworks.com&amp;gt;
+
+Editor: Martin Bjorklund
+ &amp;lt;mailto:mbj@tail-f.com&amp;gt;&lt;/text&gt;
+ &lt;/contact&gt;
+ &lt;description&gt;
+ &lt;text&gt;NETCONF Access Control Model.
+
+Copyright (c) 2012 IETF Trust and the persons identified as
+authors of the code. All rights reserved.
+
+Redistribution and use in source and binary forms, with or
+without modification, is permitted pursuant to, and subject
+to the license terms contained in, the Simplified BSD
+License set forth in Section 4.c of the IETF Trust's
+Legal Provisions Relating to IETF Documents
+(http://trustee.ietf.org/license-info).
+
+This version of this YANG module is part of RFC 6536; see
+the RFC itself for full legal notices.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;revision date="2012-02-22"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Initial version&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;reference&gt;
+ &lt;text&gt;RFC 6536: Network Configuration Protocol (NETCONF)
+ Access Control Model&lt;/text&gt;
+ &lt;/reference&gt;
+ &lt;/revision&gt;
+ &lt;extension name="default-deny-write"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Used to indicate that the data model node
+represents a sensitive security system parameter.
+
+If present, and the NACM module is enabled (i.e.,
+/nacm/enable-nacm object equals 'true'), the NETCONF server
+will only allow the designated 'recovery session' to have
+write access to the node. An explicit access control rule is
+required for all other users.
+
+The 'default-deny-write' extension MAY appear within a data
+definition statement. It is ignored otherwise.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/extension&gt;
+ &lt;extension name="default-deny-all"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Used to indicate that the data model node
+controls a very sensitive security system parameter.
+
+If present, and the NACM module is enabled (i.e.,
+/nacm/enable-nacm object equals 'true'), the NETCONF server
+will only allow the designated 'recovery session' to have
+read, write, or execute access to the node. An explicit
+access control rule is required for all other users.
+
+The 'default-deny-all' extension MAY appear within a data
+definition statement, 'rpc' statement, or 'notification'
+statement. It is ignored otherwise.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/extension&gt;
+ &lt;typedef name="user-name-type"&gt;
+ &lt;type name="string"&gt;
+ &lt;length value="1..max"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;General Purpose Username string.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/typedef&gt;
+ &lt;typedef name="matchall-string-type"&gt;
+ &lt;type name="string"&gt;
+ &lt;pattern value="\*"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;The string containing a single asterisk '*' is used
+to conceptually represent all possible values
+for the particular leaf using this data type.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/typedef&gt;
+ &lt;typedef name="access-operations-type"&gt;
+ &lt;type name="bits"&gt;
+ &lt;bit name="create"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Any protocol operation that creates a
+new data node.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/bit&gt;
+ &lt;bit name="read"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Any protocol operation or notification that
+returns the value of a data node.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/bit&gt;
+ &lt;bit name="update"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Any protocol operation that alters an existing
+data node.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/bit&gt;
+ &lt;bit name="delete"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Any protocol operation that removes a data node.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/bit&gt;
+ &lt;bit name="exec"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Execution access to the specified protocol operation.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/bit&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;NETCONF Access Operation.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/typedef&gt;
+ &lt;typedef name="group-name-type"&gt;
+ &lt;type name="string"&gt;
+ &lt;length value="1..max"/&gt;
+ &lt;pattern value="[^\*].*"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;Name of administrative group to which
+users can be assigned.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/typedef&gt;
+ &lt;typedef name="action-type"&gt;
+ &lt;type name="enumeration"&gt;
+ &lt;enum name="permit"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Requested action is permitted.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/enum&gt;
+ &lt;enum name="deny"&gt;
+ &lt;description&gt;
+ &lt;text&gt;Requested action is denied.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/enum&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;Action taken by the server when a particular
+rule matches.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/typedef&gt;
+ &lt;typedef name="node-instance-identifier"&gt;
+ &lt;type name="yang:xpath1.0"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Path expression used to represent a special
+data node instance identifier string.
+
+A node-instance-identifier value is an
+unrestricted YANG instance-identifier expression.
+All the same rules as an instance-identifier apply
+except predicates for keys are optional. If a key
+predicate is missing, then the node-instance-identifier
+represents all possible server instances for that key.
+
+This XPath expression is evaluated in the following context:
+
+ o The set of namespace declarations are those in scope on
+ the leaf element where this type is used.
+
+ o The set of variable bindings contains one variable,
+ 'USER', which contains the name of the user of the current
+ session.
+
+ o The function library is the core function library, but
+ note that due to the syntax restrictions of an
+ instance-identifier, no functions are allowed.
+
+ o The context node is the root node in the data tree.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/typedef&gt;
+ &lt;container name="nacm"&gt;
+ &lt;nacm:default-deny-all/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Parameters for NETCONF Access Control Model.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;leaf name="enable-nacm"&gt;
+ &lt;type name="boolean"/&gt;
+ &lt;default value="true"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Enables or disables all NETCONF access control
+enforcement. If 'true', then enforcement
+is enabled. If 'false', then enforcement
+is disabled.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="read-default"&gt;
+ &lt;type name="action-type"/&gt;
+ &lt;default value="permit"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Controls whether read access is granted if
+no appropriate rule is found for a
+particular read request.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="write-default"&gt;
+ &lt;type name="action-type"/&gt;
+ &lt;default value="deny"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Controls whether create, update, or delete access
+is granted if no appropriate rule is found for a
+particular write request.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="exec-default"&gt;
+ &lt;type name="action-type"/&gt;
+ &lt;default value="permit"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Controls whether exec access is granted if no appropriate
+rule is found for a particular protocol operation request.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="enable-external-groups"&gt;
+ &lt;type name="boolean"/&gt;
+ &lt;default value="true"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Controls whether the server uses the groups reported by the
+NETCONF transport layer when it assigns the user to a set of
+NACM groups. If this leaf has the value 'false', any group
+names reported by the transport layer are ignored by the
+server.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="denied-operations"&gt;
+ &lt;type name="yang:zero-based-counter32"/&gt;
+ &lt;config value="false"/&gt;
+ &lt;mandatory value="true"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Number of times since the server last restarted that a
+protocol operation request was denied.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="denied-data-writes"&gt;
+ &lt;type name="yang:zero-based-counter32"/&gt;
+ &lt;config value="false"/&gt;
+ &lt;mandatory value="true"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Number of times since the server last restarted that a
+protocol operation request to alter
+a configuration datastore was denied.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="denied-notifications"&gt;
+ &lt;type name="yang:zero-based-counter32"/&gt;
+ &lt;config value="false"/&gt;
+ &lt;mandatory value="true"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Number of times since the server last restarted that
+a notification was dropped for a subscription because
+access to the event type was denied.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;container name="groups"&gt;
+ &lt;description&gt;
+ &lt;text&gt;NETCONF Access Control Groups.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;list name="group"&gt;
+ &lt;key value="name"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;One NACM Group Entry. This list will only contain
+configured entries, not any entries learned from
+any transport protocols.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;leaf name="name"&gt;
+ &lt;type name="group-name-type"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Group name associated with this entry.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf-list name="user-name"&gt;
+ &lt;type name="user-name-type"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Each entry identifies the username of
+a member of the group associated with
+this entry.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf-list&gt;
+ &lt;/list&gt;
+ &lt;/container&gt;
+ &lt;list name="rule-list"&gt;
+ &lt;key value="name"/&gt;
+ &lt;ordered-by value="user"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;An ordered collection of access control rules.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;leaf name="name"&gt;
+ &lt;type name="string"&gt;
+ &lt;length value="1..max"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;Arbitrary name assigned to the rule-list.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf-list name="group"&gt;
+ &lt;type name="union"&gt;
+ &lt;type name="matchall-string-type"/&gt;
+ &lt;type name="group-name-type"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;List of administrative groups that will be
+assigned the associated access rights
+defined by the 'rule' list.
+
+The string '*' indicates that all groups apply to the
+entry.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf-list&gt;
+ &lt;list name="rule"&gt;
+ &lt;key value="name"/&gt;
+ &lt;ordered-by value="user"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;One access control rule.
+
+Rules are processed in user-defined order until a match is
+found. A rule matches if 'module-name', 'rule-type', and
+'access-operations' match the request. If a rule
+matches, the 'action' leaf determines if access is granted
+or not.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;leaf name="name"&gt;
+ &lt;type name="string"&gt;
+ &lt;length value="1..max"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;Arbitrary name assigned to the rule.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="module-name"&gt;
+ &lt;type name="union"&gt;
+ &lt;type name="matchall-string-type"/&gt;
+ &lt;type name="string"/&gt;
+ &lt;/type&gt;
+ &lt;default value="*"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Name of the module associated with this rule.
+
+This leaf matches if it has the value '*' or if the
+object being accessed is defined in the module with the
+specified module name.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;choice name="rule-type"&gt;
+ &lt;description&gt;
+ &lt;text&gt;This choice matches if all leafs present in the rule
+match the request. If no leafs are present, the
+choice matches all requests.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;case name="protocol-operation"&gt;
+ &lt;leaf name="rpc-name"&gt;
+ &lt;type name="union"&gt;
+ &lt;type name="matchall-string-type"/&gt;
+ &lt;type name="string"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;This leaf matches if it has the value '*' or if
+its value equals the requested protocol operation
+name.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;/case&gt;
+ &lt;case name="notification"&gt;
+ &lt;leaf name="notification-name"&gt;
+ &lt;type name="union"&gt;
+ &lt;type name="matchall-string-type"/&gt;
+ &lt;type name="string"/&gt;
+ &lt;/type&gt;
+ &lt;description&gt;
+ &lt;text&gt;This leaf matches if it has the value '*' or if its
+value equals the requested notification name.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;/case&gt;
+ &lt;case name="data-node"&gt;
+ &lt;leaf name="path"&gt;
+ &lt;type name="node-instance-identifier"/&gt;
+ &lt;mandatory value="true"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Data Node Instance Identifier associated with the
+data node controlled by this rule.
+
+Configuration data or state data instance
+identifiers start with a top-level data node. A
+complete instance identifier is required for this
+type of path value.
+
+The special value '/' refers to all possible
+datastore contents.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;/case&gt;
+ &lt;/choice&gt;
+ &lt;leaf name="access-operations"&gt;
+ &lt;type name="union"&gt;
+ &lt;type name="matchall-string-type"/&gt;
+ &lt;type name="access-operations-type"/&gt;
+ &lt;/type&gt;
+ &lt;default value="*"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;Access operations associated with this rule.
+
+This leaf matches if it has the value '*' or if the
+bit corresponding to the requested operation is set.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="action"&gt;
+ &lt;type name="action-type"/&gt;
+ &lt;mandatory value="true"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;The access control action associated with the
+rule. If a rule is determined to match a
+particular request, then this object is used
+to determine whether to permit or deny the
+request.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;leaf name="comment"&gt;
+ &lt;type name="string"/&gt;
+ &lt;description&gt;
+ &lt;text&gt;A textual description of the access rule.&lt;/text&gt;
+ &lt;/description&gt;
+ &lt;/leaf&gt;
+ &lt;/list&gt;
+ &lt;/list&gt;
+ &lt;/container&gt;
+&lt;/module&gt;
+</data>
+</rpc-reply>