aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-catalog-types.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-catalog-types.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-catalog-types.yang242
1 files changed, 242 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-catalog-types.yang b/src/plugins/yang/openconfig/openconfig-catalog-types.yang
new file mode 100644
index 0000000..bdec31e
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-catalog-types.yang
@@ -0,0 +1,242 @@
+module openconfig-catalog-types {
+
+ yang-version "1";
+
+ // namespace
+ namespace "http://openconfig.net/yang/catalog-types";
+
+ prefix "oc-cat-types";
+
+ import openconfig-extensions { prefix oc-ext; }
+
+
+ // meta
+ organization "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module defines types and identities used by the OpenConfig
+ YANG module catalog model.";
+
+ oc-ext:openconfig-version "0.2.1";
+
+ revision "2017-05-01" {
+ description
+ "Fix to module dependency list";
+ reference "0.2.1";
+ }
+
+ revision "2017-03-08" {
+ description
+ "OpenConfig public release";
+ reference "0.2.0";
+ }
+
+ revision "2016-02-15" {
+ description
+ "Initial OpenConfig public release";
+ reference "0.1.0";
+ }
+
+
+ // extension statements
+
+ // feature statements
+
+ // identity statements
+
+ identity CATALOG_MEMBER_TYPE {
+ description
+ "Base identity for elements in the catalog";
+ }
+
+ identity MODULE {
+ base CATALOG_MEMBER_TYPE;
+ description
+ "Module elements in the catalog";
+ }
+
+ identity RELEASE_BUNDLE {
+ base CATALOG_MEMBER_TYPE;
+ description
+ "Release bundle elements in the catalog";
+ }
+
+ identity FEATURE_BUNDLE {
+ base CATALOG_MEMBER_TYPE;
+ description
+ "Feature bundle elements in the catalog";
+ }
+
+
+ identity IMPLEMENTATION_STATUS_TYPE {
+ description
+ "Indications of the status of a module's implementation on a
+ device or server";
+ }
+
+ identity IN_PROGRESS {
+ base IMPLEMENTATION_STATUS_TYPE;
+ description
+ "Implementation is in progress";
+ }
+
+ identity PLANNED {
+ base IMPLEMENTATION_STATUS_TYPE;
+ description
+ "Implementation is planned";
+ }
+
+ identity COMPLETE {
+ base IMPLEMENTATION_STATUS_TYPE;
+ description
+ "Implementation is complete and fully supports the model";
+ }
+
+ identity PARTIAL {
+ base IMPLEMENTATION_STATUS_TYPE;
+ description
+ "Implementation is complete, but only supports the model
+ partially";
+ }
+
+ identity MODULE_STATUS_TYPE {
+ description
+ "Indicates the deployment status of the module";
+ }
+
+ identity EXPERIMENTAL {
+ base MODULE_STATUS_TYPE;
+ description
+ "Module should be considered experimental, not deployed in
+ production settings";
+ }
+
+ identity PRODUCTION {
+ base MODULE_STATUS_TYPE;
+ description
+ "Module is suitable for use in production, or has been
+ deployed in production";
+ }
+
+ identity MODULE_CATEGORY_BASE {
+ description
+ "Base identity for the module category. It is expected that
+ publishing organizations will define additional derived
+ identities to describe their categorization scheme.";
+ }
+
+ identity MODULE_SUBCATEGORY_BASE {
+ description
+ "Base identity for the module subcategory. It is expected that
+ publishing organizations will define additional derived
+ identities to describe their categorization scheme.";
+ }
+
+ identity ORGANIZATION_TYPE {
+ description
+ "Publishing organization type for the set of modules";
+ }
+
+ identity STANDARDS {
+ base ORGANIZATION_TYPE;
+ description
+ "Standards development organization (SDO) publisher type";
+ }
+
+ identity INDUSTRY {
+ base ORGANIZATION_TYPE;
+ description
+ "Industry forum or other industry group";
+ }
+
+ identity COMMERCIAL {
+ base ORGANIZATION_TYPE;
+ description
+ "Commercial entity, company, etc.";
+ }
+
+ identity INDIVIDUAL {
+ base ORGANIZATION_TYPE;
+ description
+ "For modules published by an individual";
+ }
+
+ identity IETF_MODEL_LAYER {
+ base MODULE_CATEGORY_BASE;
+ description
+ "Describes layering of models based on their abstraction
+ level as defined by IETF model classification proposals";
+ reference
+ "IETF draft-ietf-netmod-yang-model-classification";
+ }
+
+ identity IETF_MODEL_TYPE {
+ base MODULE_SUBCATEGORY_BASE;
+ description
+ "IETF proposed classification dimension of YANG model types as
+ standard YANG models, vendor-specific, or user-specific YANG
+ models and extensions";
+ reference
+ "IETF draft-ietf-netmod-yang-model-classification";
+ }
+
+ identity IETF_NETWORK_SERVICE {
+ base IETF_MODEL_LAYER;
+ description
+ "Service-layer model as defined by IETF classification
+ proposal";
+ }
+
+ identity IETF_NETWORK_ELEMENT {
+ base IETF_MODEL_LAYER;
+ description
+ "Network element-layer model as defined by IETF classification
+ proposal";
+ }
+
+ identity IETF_TYPE_STANDARD {
+ base IETF_MODEL_TYPE;
+ description
+ "Models published by standards-defining organizations (SDOs)";
+ }
+
+ identity IETF_TYPE_VENDOR {
+ base IETF_MODEL_TYPE;
+ description
+ "Developed by organizations (e.g., vendors) with the intent
+ to support a specific set of implementations under control of
+ that organization";
+ }
+
+ identity IETF_TYPE_USER {
+ base IETF_MODEL_TYPE;
+ description
+ "Developed by organizations that operate YANG-based
+ infrastructure including devices and orchestrators.
+ The intent of these models is to express the specific needs
+ for a certain implementation, above and beyond what is provided
+ by vendors";
+ }
+
+ typedef module-version-type {
+ type string;
+ description
+ "This type defines acceptable formats for the version of a
+ module. The version may be a semantic version, or a YANG
+ revision statement date, and may include wildcards when
+ included in a bundle compatibility list, e.g.:
+
+ semver format: <major>.<minor>.<patch>
+ examples: 0.1.0, 2.1.0, 1.1.*, 2.*.*
+
+ revision format: YYYY-MM-DD
+ example: 2016-11-31";
+ }
+
+
+
+}