X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=ordmodels%2Fcommon%2Fsrc%2Fmain%2Fyang%2Forg-openroadm-resource-types%402017-12-15.yang;fp=ordmodels%2Fcommon%2Fsrc%2Fmain%2Fyang%2Forg-openroadm-resource-types%402017-12-15.yang;h=fe6d6a9942c9f90c717427a6a76d59e7f1c5f382;hb=b61c699f055fdf780aaf0b4b0d1fc82074099f96;hp=0000000000000000000000000000000000000000;hpb=abbca95c8944ec742d71bd87d2363c9c00c41844;p=transportpce.git diff --git a/ordmodels/common/src/main/yang/org-openroadm-resource-types@2017-12-15.yang b/ordmodels/common/src/main/yang/org-openroadm-resource-types@2017-12-15.yang new file mode 100644 index 000000000..fe6d6a994 --- /dev/null +++ b/ordmodels/common/src/main/yang/org-openroadm-resource-types@2017-12-15.yang @@ -0,0 +1,358 @@ +module org-openroadm-resource-types { + namespace "http://org/openroadm/resource/types"; + prefix org-openroadm-resource-types; + + import org-openroadm-common-types { + prefix org-openroadm-common-types; + revision-date 2017-12-15; + } + + organization + "Open ROADM MSA"; + contact + "OpenROADM.org"; + description + "YANG definitions of common resource types. + + Copyright of the Members of the Open ROADM MSA Agreement dated (c) 2016, + AT&T Intellectual Property. All other rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + * Neither the Members of the Open ROADM MSA Agreement nor the names of its + contributors may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT ''AS IS'' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT THE MEMBERS OF THE OPEN ROADM MSA AGREEMENT BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE"; + + revision 2017-12-15 { + description + "Version 2.2"; + } + revision 2017-09-29 { + description + "Version 2.1"; + } + revision 2017-06-26 { + description + "Version 2.0"; + } + revision 2016-10-14 { + description + "Version 1.2"; + } + + typedef resource-type-enum { + type enumeration { + enum "other" { + value 1; + description + "Resource of type not found in list."; + } + enum "device" { + value 2; + description + "device - ROAMD, Xponder, etc"; + } + enum "degree" { + value 3; + description + "degree"; + } + enum "shared-risk-group" { + value 4; + description + "shared-risk-group"; + } + enum "connection" { + value 5; + description + "connection - this is used by roadm-connection and odu-connection + since they are mutually exclusive in the model"; + } + enum "connection-map" { + value 6; + description + "connection-map"; + } + enum "port" { + value 7; + description + "port"; + } + enum "circuit-pack" { + value 8; + description + "circuit pack"; + } + enum "internal-link" { + value 9; + description + "internal-link"; + } + enum "physical-link" { + value 10; + description + "physical-link"; + } + enum "interface" { + value 11; + description + "interface"; + } + enum "shelf" { + value 12; + description + "shelf"; + } + enum "service" { + value 13; + description + "service"; + } + enum "odu-sncp-pg" { + value 14; + description + "odu-sncp-pg"; + } + enum "line-amplifier" { + value 15; + description + "line-amplifier"; + } + enum "xponder" { + value 16; + description + "xponder"; + } + enum "versioned-service" { + value 17; + description + "versioned-service"; + } + enum "temp-service" { + value 18; + description + "temp-service"; + } + } + } + + typedef resource-notification-type { + type enumeration { + enum "resourceCreation" { + value 1; + description + "A new instance of a resource has been created."; + } + enum "resourceModification" { + value 2; + description + "An exhisting instance of a resource has been modified. This shall be triggered by changes in configuration, state, status etc. + It shall not be triggered by changes in performance measurements, power and temperature readings or any other data that is highlyvolatile. "; + } + enum "resourceDeletion" { + value 3; + description + "An exhisting instance of a resource has been removed."; + } + } + description + "Type of notification about a resource"; + } + + grouping resource-type { + leaf type { + type resource-type-enum; + mandatory true; + } + leaf extension { + type string; + mandatory false; + } + } + + grouping device-id { + description + "Device identifier. Unique within the Controller."; + leaf node-id { + type org-openroadm-common-types:node-id-type; + description + "Node Id is a globally unique identifier for a device. + Same as leafref value in model, if applicable."; + } + } + + grouping circuit-pack-name { + leaf circuit-pack-name { + type string; + mandatory true; + description + "Circuit-Pack identifier. Unique within the context of a device. + Same as leafref value in model, if applicable."; + } + } + + grouping port-name { + uses circuit-pack-name; + leaf port-name { + type string; + description + "Port identifier. Unique within the context of a circuit-pack. + Same as leafref value in model, if applicable."; + } + } + + grouping physical-link-name { + leaf physical-link-name { + type string; + mandatory true; + description + "Physical Link identifier. Unique within the context of a device. + Same as leafref value in model, if applicable."; + } + } + + grouping internal-link-name { + leaf internal-link-name { + type string; + mandatory true; + description + "Internal Link identifier. Unique within the context of a device. + Same as leafref value in model, if applicable."; + } + } + + grouping connection-name { + leaf connection-name { + type string; + description + "Connection name. Unique within the context of a device. + Same as leafref value in model, if applicable."; + } + } + + grouping degree-number { + leaf degree-number { + type uint16; + description + "Degree identifier. Unique within the context of a device. + Same as leafref value in model, if applicable."; + } + } + + grouping srg-number { + leaf srg-number { + type uint16; + description + "Shared Risk Group identifier. Unique within the context of a device. + Same as leafref value in model, if applicable."; + } + } + + grouping shelf-name { + leaf shelf-name { + type string; + mandatory true; + description + "Shelf-id identifier. Unique within the context of a device. + Same as leafref value in model, if applicable."; + } + } + + grouping service-name { + leaf service-name { + type string; + mandatory true; + description + "Service identifier. Unique within the context of a network. + Same as leafref value in model, if applicable."; + } + } + + grouping versioned-service-name { + leaf versioned-service-name { + type string; + mandatory true; + description + "Service identifier. Unique within the context of a network. + Same as leafref value in model, if applicable."; + } + leaf version-number { + type uint64; + mandatory true; + description + "version-number of the service"; + } + } + + grouping temp-service-name { + leaf common-id { + type string; + mandatory true; + description + "Service identifier. Unique within the context of a network. + Same as leafref value in model, if applicable."; + } + } + + grouping interface-name { + leaf interface-name { + type string; + mandatory true; + description + "Interface identifier."; + } + } + + grouping other-resource-id { + leaf other-resource-id { + type string; + mandatory true; + description + "resource-id for other."; + } + } + + grouping odu-sncp-pg-name { + leaf odu-sncp-pg-name { + type string; + mandatory true; + description + "name of the odu-snc-pg"; + } + } + + grouping amp-number { + leaf amp-number { + type uint8; + mandatory true; + description + "number of the line-amplifier"; + } + } + + grouping xpdr-number { + leaf xpdr-number { + type uint16; + mandatory true; + description + "number of the xponder"; + } + } +}