module ietf-yang-conformance {
yang-version 1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-yang-conformance";
prefix yangconf;
import ietf-netconf-monitoring {
prefix ncm;
}
organization
"IETF NETMOD (NETCONF Data Modeling Language) Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/netmod/>
WG List: <mailto:netmod@ietf.org>
WG Chair: Thomas Nadeau
<mailto:tnadeau@lucidvision.com>
WG Chair: Juergen Schoenwaelder
<mailto:j.schoenwaelder@jacobs-university.de>
Editor: Andy Bierman
<mailto:andy@yumaworks.com>";
description
"This module contains RPC statements to identify
the server capabilities for specific data nodes.
NETCONF Monitoring extensions are also provided
to report YANG conformance information.
Copyright (c) 2014 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 XXXX; see
the RFC itself for full legal notices.";
revision "2014-09-24" {
description "Initial revision.";
reference
"RFC XXXX: YANG Conformance.";
}
feature netconf-monitoring {
description
"Indicates the ietf-netconf-monitoring extensions
defined in this module are supported.";
}
feature get-allowed {
description
"Indicates the 'get-allowed-identities' and
'get-allowed-leafrefs' protocol operations are supported.";
}
rpc get-allowed-identities {
if-feature get-allowed;
description
"Returns the set of identity values that are supported for
a specific data node instance. The server will indicate
if all instances of the specified data node accept the
same value set.
The server will return an error with an
'invalid-value' error-tag if the target parameter
referenced an invalid instance.
The server MAY support this operation for operational
data (i.e. config false). If not, then an error with an
'operation-not-supported' error-tag will be returned
by the server if the target parameter does not identify
a data node in the configuration datastore";
input {
leaf target {
type instance-identifier;
mandatory true;
description
"Identifies an instance or possible instance of
a data node that uses the identityref data type.
The server will return information about the
accepted values for this data node.";
}
}
output {
choice response {
description
"Either the 'all' element is returned or one or more
'identity' elements are returned in the response.";
leaf all {
type empty;
description
"Indicates all advertised identities with a matching
base value are supported for the specified data node.";
}
leaf-list identity {
type string;
description
"This formatted string contains the value of an
acceptable identity for the specified identityref
data node. It has the following format:
<module-name>:<identity-name>
The module name is followed by the colon (':')
character, which is followed by the identity name.
No whitespace is allowed.";
}
} // choice response
leaf support-all {
type empty;
description
"Indicates all possible instances of the target data node
support the same identities.";
}
}
} // rpc get-allowed-identities
rpc get-allowed-leafrefs {
if-feature get-allowed;
description
"Returns the set of leafref values that are supported for
a specific data node instance. The server will indicate
if all instances of the specified data node accept the
same value set.
The server will return an error with an
'invalid-value' error-tag if the target parameter
referenced an invalid instance.
The server MAY support this operation for operational
data (i.e. config false). If not, then an error with an
'operation-not-supported' error-tag will be returned
by the server if the target parameter does not identify
a data node in the configuration datastore";
input {
leaf target {
type instance-identifier;
mandatory true;
description
"Identifies an instance or possible instance of
a data node that uses the leafref data type.
The server will return information about the
accepted values for this data node.";
}
}
output {
choice response {
description
"Either the 'all' element is returned or one or more
'value' elements are returned in the response.";
leaf all {
type empty;
description
"Indicates all current instances of the data node
identified by the 'path' statement for the
target parameter are supported.";
}
leaf-list value {
type string;
description
"This string contains the value of an
acceptable leafref, encoded as a string.";
}
} // choice response
leaf support-all {
type empty;
description
"Indicates all possible instances of the target data
node support the same leaf values.";
}
}
} // rpc get-allowed-leafrefs
augment /ncm:netconf-state/ncm:schemas/ncm:schema {
if-feature netconf-monitoring;
description
"Conformance information added to each 'schema' list entry.";
leaf conformance-type {
type enumeration {
enum "base" {
value 0;
description
"Indicates the entire base module is supported within
the server. The server MAY also advertise YANG features
and YANG deviations for this module.";
}
enum "reuse" {
value 1;
description
"Indicates that no data definition, augment, rpc,
or notification statements in the base module are
used from the module. Only reusable definitions are
used, which include the following statements:
- extension-stmt
- feature-stmt
- identity-stmt
- typedef-stmt
- grouping-stmt
";
}
}
config false;
description
"Indicates how the server is claiming conformance
for the module represented by this schema.";
}
leaf belongs-to-module {
type string;
config false;
description
"This leaf is only applicable if the schema identified
this entry represents a YANG submodule. If so, then this
string identifies the parent module name for the
submodule.";
}
}
} // module ietf-yang-conformance