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