| 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"; |
| } |
| |
| |
| |
| } |