aboutsummaryrefslogtreecommitdiffstats
path: root/sli/common/src/main/yang/ase-type.yang
diff options
context:
space:
mode:
Diffstat (limited to 'sli/common/src/main/yang/ase-type.yang')
-rwxr-xr-xsli/common/src/main/yang/ase-type.yang561
1 files changed, 561 insertions, 0 deletions
diff --git a/sli/common/src/main/yang/ase-type.yang b/sli/common/src/main/yang/ase-type.yang
new file mode 100755
index 0000000..2de186e
--- /dev/null
+++ b/sli/common/src/main/yang/ase-type.yang
@@ -0,0 +1,561 @@
+module ase-type {
+
+ namespace "att:ase:type";
+ prefix ase-type;
+
+ organization "AT&T ASE";
+
+ revision 2014-06-09 {
+ description
+ "Initial version";
+ }
+
+ /////////////////////////////////////////////////////
+ // ASE Service Model Typedefs & Groupings
+ /////////////////////////////////////////////////////
+
+ typedef query-type {
+ type enumeration {
+ enum getDevicePortDetails{
+ value 0;
+ }
+ enum GetServiceDetailsRequest{
+ value 1;
+ }
+ }
+ }
+
+ typedef uni-action-type {
+ type enumeration {
+ enum PortPreReserveRequest{
+ value 0;
+ }
+ enum PortReleaseRequest{
+ value 1;
+ }
+ enum PortDeProvRequest{
+ value 2;
+ }
+ enum ChangePortProvRequest{
+ value 3;
+ }
+ enum PortActivateRequest{
+ value 4;
+ }
+ enum ChangePortActivateRequest{
+ value 5;
+ }
+ enum DisconnectPortRequest{
+ value 6;
+ }
+ enum getDevicePortDetails{
+ value 7;
+ }
+ }
+ }
+
+ typedef evc-action-type {
+ type enumeration {
+ enum ConnectionProvRequest{
+ value 0;
+ }
+ enum ChangeConnectionProvRequest{
+ value 1;
+ }
+ enum ConnectionDeProvrequest{
+ value 2;
+ }
+ enum ConnectionActivateRequest{
+ value 3;
+ }
+ enum ChangeConnectionActivateRequest{
+ value 4;
+ }
+ enum DisconnectConnectionRequest{
+ value 5;
+ }
+ enum GetServiceDetailsRequest{
+ value 6;
+ }
+ }
+ }
+
+ typedef evc-gos-type {
+ type enumeration {
+ enum "REAL-TIME"{
+ value 0;
+ }
+ enum "INTERACTIVE"{
+ value 1;
+ }
+ enum "BUSINESS-CRITICAL-HIGH"{
+ value 2;
+ }
+ enum "BUSINESS-CRITICAL-MEDIUM"{
+ value 3;
+ }
+ enum "NON-CRITICAL-HIGH"{
+ value 4;
+ }
+ enum "NON-CRITICAL-LOW"{
+ value 5;
+ }
+ }
+ }
+
+ typedef cir-rate-type {
+ type enumeration {
+ enum "Mbps"{
+ value 0;
+ }
+ enum "Gbps"{
+ value 1;
+ }
+ }
+ }
+
+ typedef ase-yes-no-type {
+ type enumeration {
+ enum "Y"{
+ value 0;
+ }
+ enum "N"{
+ value 1;
+ }
+ }
+ }
+
+ typedef provisioning-indicator {
+ type enumeration {
+ enum "Y"{
+ value 0;
+ }
+ enum "N"{
+ value 1;
+ }
+ }
+ }
+
+ typedef media-type {
+ type enumeration {
+ enum "SFP-1GE-SX"{
+ value 0;
+ }
+ enum "SFP-1GE-LX"{
+ value 1;
+ }
+ enum "SFP-1GE"{
+ value 2;
+ }
+ enum "Ethernet-10_100_1000M"{
+ value 3;
+ }
+ }
+ }
+
+ typedef media-speed-type {
+ type enumeration {
+ enum "100"{
+ value 0;
+ }
+ enum "1000"{
+ value 1;
+ }
+ enum "10000"{
+ value 2;
+ }
+ }
+ }
+
+ typedef cos-category-type {
+ type enumeration {
+ enum "GOS"{
+ value 0;
+ }
+ enum "PPCOS"{
+ value 1;
+ }
+ }
+ }
+
+ typedef uni-gos-type {
+ type enumeration {
+ enum "INTERACTIVE"{
+ value 0;
+ }
+ enum "BUSINESS-CRITICAL-HIGH"{
+ value 1;
+ }
+ enum "BUSINESS-CRITICAL-MEDIUM"{
+ value 2;
+ }
+ enum "NON-CRITICAL-HIGH"{
+ value 3;
+ }
+ }
+ }
+
+ typedef uni-cir-value-type {
+ type enumeration {
+ enum "2"{
+ value 0;
+ }
+ enum "4"{
+ value 1;
+ }
+ enum "5"{
+ value 2;
+ }
+ enum "8"{
+ value 3;
+ }
+ enum "10"{
+ value 4;
+ }
+ enum "20"{
+ value 5;
+ }
+ enum "30"{
+ value 6;
+ }
+ enum "40"{
+ value 7;
+ }
+ enum "50"{
+ value 8;
+ }
+ enum "60"{
+ value 9;
+ }
+ enum "70"{
+ value 10;
+ }
+ enum "80"{
+ value 11;
+ }
+ enum "90"{
+ value 12;
+ }
+ enum "100"{
+ value 13;
+ }
+ enum "125"{
+ value 14;
+ }
+ enum "150"{
+ value 15;
+ }
+ enum "175"{
+ value 16;
+ }
+ enum "200"{
+ value 17;
+ }
+ enum "225"{
+ value 18;
+ }
+ enum "250"{
+ value 19;
+ }
+ }
+ }
+
+ typedef uni-mac-limit-type {
+ description "MAC address limit for UNI port";
+ type enumeration {
+ enum "Y"{
+ value 0;
+ }
+ enum "N"{
+ value 1;
+ }
+ }
+ }
+
+ typedef port-tagging-type {
+ type enumeration {
+ enum "port-based"{
+ value 0;
+ }
+ enum "vlan-based"{
+ value 1;
+ }
+ }
+ }
+
+ typedef port-status {
+ type enumeration {
+ enum "Available"{
+ value 0;
+ }
+ enum "Reserved"{
+ value 1;
+ }
+ enum "Active" {
+ value 2;
+ }
+ }
+ }
+
+ grouping uni-common-request-hdr {
+ leaf request-id {
+ type string;
+ mandatory true;
+ }
+ leaf source {
+ description "The source system requesting action or info";
+ type string;
+ mandatory true;
+ }
+ leaf request-action {
+ description "action indicator for this service instance";
+ type uni-action-type;
+ }
+ leaf undo-indicator {
+ type provisioning-indicator;
+ }
+ leaf notification-url {
+ description "When this field exists, NCS will return an "
+ + "acknowledgement that the request is legal "
+ + "Once the activate is finished (or fails) NCS"
+ + "will utilize the URL to indicate the status";
+ type string;
+ }
+ }
+
+ grouping uni-common-return-hdr {
+ leaf request-action {
+ description "action indicator for this service instance";
+ type uni-action-type;
+ }
+ leaf request-id {
+ description "Identifier for the request from NGO";
+ type string;
+
+ }
+ }
+
+ grouping uni-common-error-format {
+ leaf error-code {
+ description "Error code";
+ type int32;
+ }
+ leaf error-message {
+ description "Error text describing the API error occurance";
+ type string;
+ }
+ }
+
+ grouping query-common-hdr {
+ leaf request-id {
+ description "Identifier for the request from NGO";
+ type string;
+ }
+ leaf request-type {
+ description "action indicator for this service instance";
+ type query-type;
+ }
+ }
+
+ grouping query-error-format {
+ leaf error-code {
+ description "Error code";
+ type int32;
+ }
+ leaf error-message {
+ description "Error text describing the API error occurance";
+ type string;
+ }
+ }
+
+ grouping evc-common-request-hdr {
+ leaf request-id {
+ description "Identifier for the request from NGO";
+ type string;
+ }
+ leaf source {
+ description "The source system requesting action or info";
+ type string;
+ mandatory true;
+ }
+ leaf uni-order-number {
+ type string;
+ }
+ leaf request-action {
+ description "action indicator for this service instance";
+ type evc-action-type;
+ mandatory true;
+ }
+ leaf undo-indicator {
+ type provisioning-indicator;
+ }
+ leaf notification-url {
+ description "When this field exists, NCS will return an "
+ + "acknowledgement that the request is legal "
+ + "Once the activate is finished (or fails) NCS"
+ + "will utilize the URL to indicate the status";
+ type string;
+ }
+ leaf evc-name {
+ type string;
+ mandatory true;
+ }
+ }
+
+ grouping evc-common-error-format {
+ leaf error-code {
+ description "Error code";
+ type int32;
+ }
+ leaf error-message {
+ description "Error text describing the API error occurance";
+ type string;
+ }
+ }
+
+ /////////////////////////////////////////
+ // UNI-PORTS table contains all circuits
+ /////////////////////////////////////////
+ container uni-ports {
+ description
+ "UNI port container";
+ list uni-port {
+ key "uni-circuit-id";
+ leaf uni-circuit-id {
+ type string;
+ mandatory true;
+ }
+ leaf subscriber-name {
+ type string;
+ mandatory true;
+ }
+ leaf uni-order-number {
+ type string;
+ mandatory true;
+ }
+ leaf edge-device-clli {
+ description "Edge device (e.g. EMT) on which port "
+ + " reservation is needed";
+ type string;
+ mandatory true;
+ }
+ leaf uni-location-city {
+ type string;
+ mandatory true;
+ }
+ leaf uni-location-state {
+ type string;
+ mandatory true;
+ }
+ leaf media-type {
+ type media-type;
+ mandatory true;
+ }
+ leaf media-speed {
+ type media-speed-type;
+ mandatory true;
+ }
+ leaf uni-cir-value {
+ description "Integer value for the CIR";
+ type uni-cir-value-type;
+ mandatory true;
+ }
+ leaf uni-cir-units {
+ description "Units for the CIR";
+ type cir-rate-type;
+ mandatory true;
+ }
+ leaf cos-category {
+ description "CoS Type";
+ type cos-category-type;
+ mandatory true;
+ }
+ leaf gos-profile {
+ description "GoS tpye";
+ type uni-gos-type;
+ mandatory true;
+ }
+ leaf aditional-mac-allowed {
+ type uni-mac-limit-type;
+ }
+ leaf port-tagging {
+ type port-tagging-type;
+ mandatory true;
+ }
+ leaf port-status {
+ type port-status;
+ }
+ leaf name-value-pair {
+ type string;
+ }
+ }
+ }
+
+ ///////////////////////////////////////////
+ // EVCS table contains all evc associations
+ ///////////////////////////////////////////
+ container evcs {
+ list evc {
+ key "evc-name";
+ leaf evc-name {
+ type string;
+ mandatory true;
+ }
+ leaf topology {
+ type enumeration {
+ enum "MultiPoint"{
+ value 0;
+ }
+ enum "PointToPoint"{
+ value 1;
+ }
+ }
+ }
+ list evc-leg {
+ key evc-access-name;
+ leaf evc-access-name {
+ type string;
+ }
+ leaf subscriber-name {
+ type string;
+ }
+ leaf cvlan {
+ type uint16 {
+ range "2..4090";
+ }
+ }
+ leaf connection-cir-value {
+ type uni-cir-value-type;
+ }
+ leaf connection-cir-units-string {
+ type cir-rate-type;
+ }
+ leaf connection-gos-profile {
+ type evc-gos-type;
+ }
+ leaf connection-additional-mac-allowed {
+ type uni-mac-limit-type;
+ }
+ leaf connection-emc-indicator {
+ type enumeration {
+ enum "Y"{
+ value 0;
+ }
+ enum "N"{
+ value 1;
+ }
+ }
+ }
+ leaf connection-emc-speed-value {
+ type uni-cir-value-type;
+ }
+ leaf connection-emc-speed-units-string {
+ type cir-rate-type;
+ }
+ }
+ leaf name-value-pair {
+ type string;
+ }
+ }
+ }
+}