aboutsummaryrefslogtreecommitdiffstats
path: root/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf@2011-06-01.yang
diff options
context:
space:
mode:
Diffstat (limited to 'vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf@2011-06-01.yang')
-rw-r--r--vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf@2011-06-01.yang938
1 files changed, 938 insertions, 0 deletions
diff --git a/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf@2011-06-01.yang b/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf@2011-06-01.yang
new file mode 100644
index 00000000..1ed9a5a5
--- /dev/null
+++ b/vnfs/TestVNF/netconftemplates/netconftemplates/ietf-netconf@2011-06-01.yang
@@ -0,0 +1,938 @@
+<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">module ietf-netconf {
+ namespace "urn:ietf:params:xml:ns:netconf:base:1.0";
+ prefix nc;
+
+ import ietf-inet-types {
+ prefix inet;
+ }
+
+ import ietf-netconf-acm {
+ prefix nacm;
+ }
+
+ organization
+ "IETF NETCONF (Network Configuration) Working Group";
+ contact
+ "WG Web: &lt;http://tools.ietf.org/wg/netconf/&gt;
+ WG List: &lt;netconf@ietf.org&gt;
+
+ WG Chair: Bert Wijnen
+ &lt;bertietf@bwijnen.net&gt;
+
+ WG Chair: Mehmet Ersue
+ &lt;mehmet.ersue@nsn.com&gt;
+
+ Editor: Martin Bjorklund
+ &lt;mbj@tail-f.com&gt;
+
+ Editor: Juergen Schoenwaelder
+ &lt;j.schoenwaelder@jacobs-university.de&gt;
+
+ Editor: Andy Bierman
+ &lt;andy.bierman@brocade.com&gt;";
+ description
+ "NETCONF Protocol Data Types and Protocol Operations.
+
+ Copyright (c) 2011 IETF Trust and the persons identified as
+ the document authors. 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 6241; see
+ the RFC itself for full legal notices.";
+
+ revision 2011-06-01 {
+ description
+ "Initial revision;
+ 2013-09-29: Updated to include NACM attributes,
+ as specified in RFC 6536: sec 3.2.5 and 3.2.8";
+ reference
+ "RFC 6241: Network Configuration Protocol";
+ }
+
+ extension get-filter-element-attributes {
+ description
+ "If this extension is present within an 'anyxml'
+ statement named 'filter', which must be conceptually
+ defined within the RPC input section for the &lt;get&gt;
+ and &lt;get-config&gt; protocol operations, then the
+ following unqualified XML attribute is supported
+ within the &lt;filter&gt; element, within a &lt;get&gt; or
+ &lt;get-config&gt; protocol operation:
+
+ type : optional attribute with allowed
+ value strings 'subtree' and 'xpath'.
+ If missing, the default value is 'subtree'.
+
+ If the 'xpath' feature is supported, then the
+ following unqualified XML attribute is
+ also supported:
+
+ select: optional attribute containing a
+ string representing an XPath expression.
+ The 'type' attribute must be equal to 'xpath'
+ if this attribute is present.";
+ }
+
+
+ feature writable-running {
+ description
+ "NETCONF :writable-running capability;
+ If the server advertises the :writable-running
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.2";
+ }
+
+ feature candidate {
+ description
+ "NETCONF :candidate capability;
+ If the server advertises the :candidate
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.3";
+ }
+
+ feature confirmed-commit {
+ if-feature "candidate";
+ description
+ "NETCONF :confirmed-commit:1.1 capability;
+ If the server advertises the :confirmed-commit:1.1
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.4";
+ }
+
+ feature rollback-on-error {
+ description
+ "NETCONF :rollback-on-error capability;
+ If the server advertises the :rollback-on-error
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.5";
+ }
+
+ feature validate {
+ description
+ "NETCONF :validate:1.1 capability;
+ If the server advertises the :validate:1.1
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.6";
+ }
+
+ feature startup {
+ description
+ "NETCONF :startup capability;
+ If the server advertises the :startup
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.7";
+ }
+
+ feature url {
+ description
+ "NETCONF :url capability;
+ If the server advertises the :url
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.8";
+ }
+
+ feature xpath {
+ description
+ "NETCONF :xpath capability;
+ If the server advertises the :xpath
+ capability for a session, then this feature must
+ also be enabled for that session. Otherwise,
+ this feature must not be enabled.";
+ reference
+ "RFC 6241, Section 8.9";
+ }
+
+ typedef session-id-type {
+ type uint32 {
+ range "1..max";
+ }
+ description
+ "NETCONF Session Id";
+ }
+
+ typedef session-id-or-zero-type {
+ type uint32;
+ description
+ "NETCONF Session Id or Zero to indicate none";
+ }
+
+ typedef error-tag-type {
+ type enumeration {
+ enum "in-use" {
+ description
+ "The request requires a resource that
+ already is in use.";
+ }
+ enum "invalid-value" {
+ description
+ "The request specifies an unacceptable value for one
+ or more parameters.";
+ }
+ enum "too-big" {
+ description
+ "The request or response (that would be generated) is
+ too large for the implementation to handle.";
+ }
+ enum "missing-attribute" {
+ description
+ "An expected attribute is missing.";
+ }
+ enum "bad-attribute" {
+ description
+ "An attribute value is not correct; e.g., wrong type,
+ out of range, pattern mismatch.";
+ }
+ enum "unknown-attribute" {
+ description
+ "An unexpected attribute is present.";
+ }
+ enum "missing-element" {
+ description
+ "An expected element is missing.";
+ }
+ enum "bad-element" {
+ description
+ "An element value is not correct; e.g., wrong type,
+ out of range, pattern mismatch.";
+ }
+ enum "unknown-element" {
+ description
+ "An unexpected element is present.";
+ }
+ enum "unknown-namespace" {
+ description
+ "An unexpected namespace is present.";
+ }
+ enum "access-denied" {
+ description
+ "Access to the requested protocol operation or
+ data model is denied because authorization failed.";
+ }
+ enum "lock-denied" {
+ description
+ "Access to the requested lock is denied because the
+ lock is currently held by another entity.";
+ }
+ enum "resource-denied" {
+ description
+ "Request could not be completed because of
+ insufficient resources.";
+ }
+ enum "rollback-failed" {
+ description
+ "Request to roll back some configuration change (via
+ rollback-on-error or &lt;discard-changes&gt; operations)
+ was not completed for some reason.";
+ }
+ enum "data-exists" {
+ description
+ "Request could not be completed because the relevant
+ data model content already exists. For example,
+ a 'create' operation was attempted on data that
+ already exists.";
+ }
+ enum "data-missing" {
+ description
+ "Request could not be completed because the relevant
+ data model content does not exist. For example,
+ a 'delete' operation was attempted on
+ data that does not exist.";
+ }
+ enum "operation-not-supported" {
+ description
+ "Request could not be completed because the requested
+ operation is not supported by this implementation.";
+ }
+ enum "operation-failed" {
+ description
+ "Request could not be completed because the requested
+ operation failed for some reason not covered by
+ any other error condition.";
+ }
+ enum "partial-operation" {
+ description
+ "This error-tag is obsolete, and SHOULD NOT be sent
+ by servers conforming to this document.";
+ }
+ enum "malformed-message" {
+ description
+ "A message could not be handled because it failed to
+ be parsed correctly. For example, the message is not
+ well-formed XML or it uses an invalid character set.";
+ }
+ }
+ description
+ "NETCONF Error Tag";
+ reference
+ "RFC 6241, Appendix A";
+ }
+
+ typedef error-severity-type {
+ type enumeration {
+ enum "error" {
+ description
+ "Error severity";
+ }
+ enum "warning" {
+ description
+ "Warning severity";
+ }
+ }
+ description
+ "NETCONF Error Severity";
+ reference
+ "RFC 6241, Section 4.3";
+ }
+
+ typedef edit-operation-type {
+ type enumeration {
+ enum "merge" {
+ description
+ "The configuration data identified by the
+ element containing this attribute is merged
+ with the configuration at the corresponding
+ level in the configuration datastore identified
+ by the target parameter.";
+ }
+ enum "replace" {
+ description
+ "The configuration data identified by the element
+ containing this attribute replaces any related
+ configuration in the configuration datastore
+ identified by the target parameter. If no such
+ configuration data exists in the configuration
+ datastore, it is created. Unlike a
+ &lt;copy-config&gt; operation, which replaces the
+ entire target configuration, only the configuration
+ actually present in the config parameter is affected.";
+ }
+ enum "create" {
+ description
+ "The configuration data identified by the element
+ containing this attribute is added to the
+ configuration if and only if the configuration
+ data does not already exist in the configuration
+ datastore. If the configuration data exists, an
+ &lt;rpc-error&gt; element is returned with an
+ &lt;error-tag&gt; value of 'data-exists'.";
+ }
+ enum "delete" {
+ description
+ "The configuration data identified by the element
+ containing this attribute is deleted from the
+ configuration if and only if the configuration
+ data currently exists in the configuration
+ datastore. If the configuration data does not
+ exist, an &lt;rpc-error&gt; element is returned with
+ an &lt;error-tag&gt; value of 'data-missing'.";
+ }
+ enum "remove" {
+ description
+ "The configuration data identified by the element
+ containing this attribute is deleted from the
+ configuration if the configuration
+ data currently exists in the configuration
+ datastore. If the configuration data does not
+ exist, the 'remove' operation is silently ignored
+ by the server.";
+ }
+ }
+ default "merge";
+ description
+ "NETCONF 'operation' attribute values";
+ reference
+ "RFC 6241, Section 7.2";
+ }
+
+ rpc get-config {
+ description
+ "Retrieve all or part of a specified configuration.";
+ reference
+ "RFC 6241, Section 7.1";
+ input {
+ container source {
+ description
+ "Particular configuration to retrieve.";
+ choice config-source {
+ mandatory true;
+ description
+ "The configuration to retrieve.";
+ leaf candidate {
+ if-feature "candidate";
+ type empty;
+ description
+ "The candidate configuration is the config source.";
+ }
+
+ leaf running {
+ type empty;
+ description
+ "The running configuration is the config source.";
+ }
+
+ leaf startup {
+ if-feature "startup";
+ type empty;
+ description
+ "The startup configuration is the config source.
+ This is optional-to-implement on the server because
+ not all servers will support filtering for this
+ datastore.";
+ }
+ }
+ }
+
+ anyxml filter {
+ nc:get-filter-element-attributes;
+ description
+ "Subtree or XPath filter to use.";
+ }
+ }
+
+ output {
+ anyxml data {
+ description
+ "Copy of the source datastore subset that matched
+ the filter criteria (if any). An empty data container
+ indicates that the request did not produce any results.";
+ }
+ }
+ }
+
+ rpc edit-config {
+ description
+ "The &lt;edit-config&gt; operation loads all or part of a specified
+ configuration to the specified target configuration.";
+ reference
+ "RFC 6241, Section 7.2";
+ input {
+ container target {
+ description
+ "Particular configuration to edit.";
+ choice config-target {
+ mandatory true;
+ description
+ "The configuration target.";
+ leaf candidate {
+ if-feature "candidate";
+ type empty;
+ description
+ "The candidate configuration is the config target.";
+ }
+
+ leaf running {
+ if-feature "writable-running";
+ type empty;
+ description
+ "The running configuration is the config source.";
+ }
+ }
+ }
+
+ leaf default-operation {
+ type enumeration {
+ enum "merge" {
+ description
+ "The default operation is merge.";
+ }
+ enum "replace" {
+ description
+ "The default operation is replace.";
+ }
+ enum "none" {
+ description
+ "There is no default operation.";
+ }
+ }
+ default "merge";
+ description
+ "The default operation to use.";
+ }
+
+ leaf test-option {
+ if-feature "validate";
+ type enumeration {
+ enum "test-then-set" {
+ description
+ "The server will test and then set if no errors.";
+ }
+ enum "set" {
+ description
+ "The server will set without a test first.";
+ }
+ enum "test-only" {
+ description
+ "The server will only test and not set, even
+ if there are no errors.";
+ }
+ }
+ default "test-then-set";
+ description
+ "The test option to use.";
+ }
+
+ leaf error-option {
+ type enumeration {
+ enum "stop-on-error" {
+ description
+ "The server will stop on errors.";
+ }
+ enum "continue-on-error" {
+ description
+ "The server may continue on errors.";
+ }
+ enum "rollback-on-error" {
+ description
+ "The server will roll back on errors.
+ This value can only be used if the 'rollback-on-error'
+ feature is supported.";
+ }
+ }
+ default "stop-on-error";
+ description
+ "The error option to use.";
+ }
+
+ choice edit-content {
+ mandatory true;
+ description
+ "The content for the edit operation.";
+ anyxml config {
+ description
+ "Inline Config content.";
+ }
+
+ leaf url {
+ if-feature "url";
+ type inet:uri;
+ description
+ "URL-based config content.";
+ }
+ }
+ }
+ }
+
+ rpc copy-config {
+ description
+ "Create or replace an entire configuration datastore with the
+ contents of another complete configuration datastore.";
+ reference
+ "RFC 6241, Section 7.3";
+ input {
+ container target {
+ description
+ "Particular configuration to copy to.";
+ choice config-target {
+ mandatory true;
+ description
+ "The configuration target of the copy operation.";
+ leaf candidate {
+ if-feature "candidate";
+ type empty;
+ description
+ "The candidate configuration is the config target.";
+ }
+
+ leaf running {
+ if-feature "writable-running";
+ type empty;
+ description
+ "The running configuration is the config target.
+ This is optional-to-implement on the server.";
+ }
+
+ leaf startup {
+ if-feature "startup";
+ type empty;
+ description
+ "The startup configuration is the config target.";
+ }
+
+ leaf url {
+ if-feature "url";
+ type inet:uri;
+ description
+ "The URL-based configuration is the config target.";
+ }
+ }
+ }
+
+ container source {
+ description
+ "Particular configuration to copy from.";
+ choice config-source {
+ mandatory true;
+ description
+ "The configuration source for the copy operation.";
+ leaf candidate {
+ if-feature "candidate";
+ type empty;
+ description
+ "The candidate configuration is the config source.";
+ }
+
+ leaf running {
+ type empty;
+ description
+ "The running configuration is the config source.";
+ }
+
+ leaf startup {
+ if-feature "startup";
+ type empty;
+ description
+ "The startup configuration is the config source.";
+ }
+
+ leaf url {
+ if-feature "url";
+ type inet:uri;
+ description
+ "The URL-based configuration is the config source.";
+ }
+
+ anyxml config {
+ description
+ "Inline Config content: &lt;config&gt; element. Represents
+ an entire configuration datastore, not
+ a subset of the running datastore.";
+ }
+ }
+ }
+ }
+ }
+
+ rpc delete-config {
+ nacm:default-deny-all;
+ description
+ "Delete a configuration datastore.";
+ reference
+ "RFC 6241, Section 7.4";
+ input {
+ container target {
+ description
+ "Particular configuration to delete.";
+ choice config-target {
+ mandatory true;
+ description
+ "The configuration target to delete.";
+ leaf startup {
+ if-feature "startup";
+ type empty;
+ description
+ "The startup configuration is the config target.";
+ }
+
+ leaf url {
+ if-feature "url";
+ type inet:uri;
+ description
+ "The URL-based configuration is the config target.";
+ }
+ }
+ }
+ }
+ }
+
+ rpc lock {
+ description
+ "The lock operation allows the client to lock the configuration
+ system of a device.";
+ reference
+ "RFC 6241, Section 7.5";
+ input {
+ container target {
+ description
+ "Particular configuration to lock.";
+ choice config-target {
+ mandatory true;
+ description
+ "The configuration target to lock.";
+ leaf candidate {
+ if-feature "candidate";
+ type empty;
+ description
+ "The candidate configuration is the config target.";
+ }
+
+ leaf running {
+ type empty;
+ description
+ "The running configuration is the config target.";
+ }
+
+ leaf startup {
+ if-feature "startup";
+ type empty;
+ description
+ "The startup configuration is the config target.";
+ }
+ }
+ }
+ }
+ }
+
+ rpc unlock {
+ description
+ "The unlock operation is used to release a configuration lock,
+ previously obtained with the 'lock' operation.";
+ reference
+ "RFC 6241, Section 7.6";
+ input {
+ container target {
+ description
+ "Particular configuration to unlock.";
+ choice config-target {
+ mandatory true;
+ description
+ "The configuration target to unlock.";
+ leaf candidate {
+ if-feature "candidate";
+ type empty;
+ description
+ "The candidate configuration is the config target.";
+ }
+
+ leaf running {
+ type empty;
+ description
+ "The running configuration is the config target.";
+ }
+
+ leaf startup {
+ if-feature "startup";
+ type empty;
+ description
+ "The startup configuration is the config target.";
+ }
+ }
+ }
+ }
+ }
+
+ rpc get {
+ description
+ "Retrieve running configuration and device state information.";
+ reference
+ "RFC 6241, Section 7.7";
+ input {
+ anyxml filter {
+ nc:get-filter-element-attributes;
+ description
+ "This parameter specifies the portion of the system
+ configuration and state data to retrieve.";
+ }
+ }
+
+ output {
+ anyxml data {
+ description
+ "Copy of the running datastore subset and/or state
+ data that matched the filter criteria (if any).
+ An empty data container indicates that the request did not
+ produce any results.";
+ }
+ }
+ }
+
+ rpc close-session {
+ description
+ "Request graceful termination of a NETCONF session.";
+ reference
+ "RFC 6241, Section 7.8";
+ }
+
+ rpc kill-session {
+ nacm:default-deny-all;
+ description
+ "Force the termination of a NETCONF session.";
+ reference
+ "RFC 6241, Section 7.9";
+ input {
+ leaf session-id {
+ type session-id-type;
+ mandatory true;
+ description
+ "Particular session to kill.";
+ }
+ }
+ }
+
+ rpc commit {
+ if-feature "candidate";
+ description
+ "Commit the candidate configuration as the device's new
+ current configuration.";
+ reference
+ "RFC 6241, Section 8.3.4.1";
+ input {
+ leaf confirmed {
+ if-feature "confirmed-commit";
+ type empty;
+ description
+ "Requests a confirmed commit.";
+ reference
+ "RFC 6241, Section 8.3.4.1";
+ }
+
+ leaf confirm-timeout {
+ if-feature "confirmed-commit";
+ type uint32 {
+ range "1..max";
+ }
+ units "seconds";
+ default "600";
+ description
+ "The timeout interval for a confirmed commit.";
+ reference
+ "RFC 6241, Section 8.3.4.1";
+ }
+
+ leaf persist {
+ if-feature "confirmed-commit";
+ type string;
+ description
+ "This parameter is used to make a confirmed commit
+ persistent. A persistent confirmed commit is not aborted
+ if the NETCONF session terminates. The only way to abort
+ a persistent confirmed commit is to let the timer expire,
+ or to use the &lt;cancel-commit&gt; operation.
+
+ The value of this parameter is a token that must be given
+ in the 'persist-id' parameter of &lt;commit&gt; or
+ &lt;cancel-commit&gt; operations in order to confirm or cancel
+ the persistent confirmed commit.
+
+ The token should be a random string.";
+ reference
+ "RFC 6241, Section 8.3.4.1";
+ }
+
+ leaf persist-id {
+ if-feature "confirmed-commit";
+ type string;
+ description
+ "This parameter is given in order to commit a persistent
+ confirmed commit. The value must be equal to the value
+ given in the 'persist' parameter to the &lt;commit&gt; operation.
+ If it does not match, the operation fails with an
+ 'invalid-value' error.";
+ reference
+ "RFC 6241, Section 8.3.4.1";
+ }
+ }
+ }
+
+ rpc discard-changes {
+ if-feature "candidate";
+ description
+ "Revert the candidate configuration to the current
+ running configuration.";
+ reference
+ "RFC 6241, Section 8.3.4.2";
+ }
+
+ rpc cancel-commit {
+ if-feature "confirmed-commit";
+ description
+ "This operation is used to cancel an ongoing confirmed commit.
+ If the confirmed commit is persistent, the parameter
+ 'persist-id' must be given, and it must match the value of the
+ 'persist' parameter.";
+ reference
+ "RFC 6241, Section 8.4.4.1";
+ input {
+ leaf persist-id {
+ type string;
+ description
+ "This parameter is given in order to cancel a persistent
+ confirmed commit. The value must be equal to the value
+ given in the 'persist' parameter to the &lt;commit&gt; operation.
+ If it does not match, the operation fails with an
+ 'invalid-value' error.";
+ }
+ }
+ }
+
+ rpc validate {
+ if-feature "validate";
+ description
+ "Validates the contents of the specified configuration.";
+ reference
+ "RFC 6241, Section 8.6.4.1";
+ input {
+ container source {
+ description
+ "Particular configuration to validate.";
+ choice config-source {
+ mandatory true;
+ description
+ "The configuration source to validate.";
+ leaf candidate {
+ if-feature "candidate";
+ type empty;
+ description
+ "The candidate configuration is the config source.";
+ }
+
+ leaf running {
+ type empty;
+ description
+ "The running configuration is the config source.";
+ }
+
+ leaf startup {
+ if-feature "startup";
+ type empty;
+ description
+ "The startup configuration is the config source.";
+ }
+
+ leaf url {
+ if-feature "url";
+ type inet:uri;
+ description
+ "The URL-based configuration is the config source.";
+ }
+
+ anyxml config {
+ description
+ "Inline Config content: &lt;config&gt; element. Represents
+ an entire configuration datastore, not
+ a subset of the running datastore.";
+ }
+ }
+ }
+ }
+ }
+}
+</data>
+</rpc-reply>