aboutsummaryrefslogtreecommitdiffstats
path: root/sli/common/src/main/yang
diff options
context:
space:
mode:
Diffstat (limited to 'sli/common/src/main/yang')
-rwxr-xr-xsli/common/src/main/yang/ase-network.yang179
-rwxr-xr-xsli/common/src/main/yang/ase-type.yang561
-rwxr-xr-xsli/common/src/main/yang/ase.yang558
3 files changed, 1298 insertions, 0 deletions
diff --git a/sli/common/src/main/yang/ase-network.yang b/sli/common/src/main/yang/ase-network.yang
new file mode 100755
index 0000000..ae654ae
--- /dev/null
+++ b/sli/common/src/main/yang/ase-network.yang
@@ -0,0 +1,179 @@
+module ase {
+ namespace "att:ase";
+ prefix ase;
+ revision "2014-06-03" {
+ description "Example ASE Network Module";
+ }
+
+ container ase {
+ config true;
+ leaf ase-network-id{
+ type uint32;
+ }
+ leaf topology {
+ type string ; // check enum
+ }
+ }
+
+ container ase-port {
+ config true;
+ // is this really a list of cpe ports one for each uni-ckt
+ leaf esm-name {
+ type string;
+ }
+
+ leaf resource-emt-clli {
+ type string;
+ }
+
+ leaf resource-emt-ip-addr{
+ type string;
+ }
+ leaf port-action {
+ type string;
+ }
+ leaf profile {
+ type string;
+ }
+ leaf port {
+ type string;
+ }
+ leaf state {
+ type string;
+ }
+ leaf resource-mode {
+ type string;
+ }
+ leaf speed {
+ type string;
+ }
+ leaf resource-lldp {
+ type string;
+ }
+ leaf resource-mtu {
+ type string;
+ }
+ leaf resource-autoneg{
+ type string;
+ }
+ leaf resource-twamp {
+ type string;
+ }
+ leaf resource-description {
+ type string;
+ }
+ leaf uni-circuit-id {
+ type string;
+ }
+ } // ase-port container
+
+ container ase-evc {
+// Port contains a list of EVC
+// EVCs are either point to point or multipoint (topology)
+// EVCs are connected ? what ID is used to connected them ? (network-id) ?
+ config true;
+ leaf esm-name {
+ type string;
+ }
+ leaf emt-ip-addr {
+ type string;
+ }
+ leaf evc-action {
+ type string;
+ }
+ leaf service-id {
+ type string;
+ }
+
+ leaf serv-type {
+ type string;
+ }
+ leaf evc-choice {
+ type string;
+ }
+ leaf uni-port {
+ type string;
+ }
+ leaf lag-port {
+ type string;
+ }
+ leaf mac-onoff {
+ type string;
+ }
+
+ leaf ppcos {
+ type string;
+ }
+ leaf cir {
+ type string;
+ }
+ leaf cbs {
+ type string;
+ }
+ leaf ebs {
+ type string;
+ }
+ leaf sgos {
+ type string;
+ }
+// ipag Device Data
+ leaf pe {
+ type string;
+ }
+ leaf unit {
+ type string;
+ }
+ leaf qinq {
+ type string;
+ }
+ leaf interface {
+ type string;
+ }
+ leaf evc-description {
+ type string;
+ }
+ leaf bandwidth {
+ type string;
+ }
+ leaf svlan {
+ type string;
+ description "Service VLAN is either outer tag or only tag depending on QinQ";
+ }
+ leaf cvlan {
+ type string;
+ description "Customer VLAN is null if not QinQ";
+ }
+ leaf routing-instance {
+ type string;
+ }
+ leaf rd {
+ type string;
+ }
+ leaf rt {
+ type string;
+ }
+ leaf limit {
+ type string;
+ }
+ leaf label-block-size {
+ type string;
+ }
+ leaf site {
+ type string;
+ }
+ leaf int-mac-limit {
+ type string;
+ }
+ leaf sgos-grade {
+ type string;
+ }
+ leaf bum-rate {
+ type string;
+ }
+ leaf uni-circuit-id {
+ type string;
+ }
+ } // ase-evc container
+
+} // module ase-network
+
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;
+ }
+ }
+ }
+}
diff --git a/sli/common/src/main/yang/ase.yang b/sli/common/src/main/yang/ase.yang
new file mode 100755
index 0000000..0b36a56
--- /dev/null
+++ b/sli/common/src/main/yang/ase.yang
@@ -0,0 +1,558 @@
+module ase {
+
+ namespace "att:ase";
+ prefix ase;
+
+ import ase-type {prefix ase-type; revision-date "2014-06-09";}
+
+ organization "AT&T ASE";
+
+ description
+ "This submodule contains a collection of YANG definitions for
+ defining the ASE service model(s) for UNI and EVC";
+
+ revision 2014-03-27 {
+ description
+ "Additional detail for UNI and EVC API";
+ }
+ revision 2014-03-18 {
+ description
+ "Initial version";
+ }
+
+
+ /////////////////////////////////////////////////////
+ // ASE Query Actions
+ /////////////////////////////////////////////////////
+
+ ////
+ // Port Reserve Request
+ ////
+ rpc ase-port-reserve {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ 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-cir-value {
+ description "Integer value for the CIR";
+ type ase-type:uni-cir-value-type;
+ mandatory true;
+ }
+ leaf uni-cir-units {
+ description "Units for the CIR";
+ type ase-type:cir-rate-type;
+ mandatory true;
+ }
+ }
+ output {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ type string;
+ }
+ leaf uni-port-id {
+ description "Allocated UNI port id";
+ type string;
+ }
+
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ ////
+ // Release Port Request
+ ////
+ rpc ase-release-port-request {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ type string;
+ mandatory true;
+ }
+ }
+ output {
+ uses ase-type:uni-common-return-hdr;
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ ////
+ // Port Provisioning Request
+ ////
+ rpc ase-port-prov-request {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ 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 ase-type:media-type;
+ mandatory true;
+ }
+ leaf media-speed {
+ type ase-type:media-speed-type;
+ mandatory true;
+ }
+ leaf uni-cir-value {
+ description "Integer value for the CIR";
+ type ase-type:uni-cir-value-type;
+ mandatory true;
+ }
+ leaf uni-cir-units {
+ description "Units for the CIR";
+ type ase-type:cir-rate-type;
+ mandatory true;
+ }
+ leaf cos-category {
+ description "CoS Type";
+ type ase-type:cos-category-type;
+ mandatory true;
+ }
+ leaf gos-profile {
+ description "GoS tpye";
+ type ase-type:uni-gos-type;
+ mandatory true;
+ }
+ leaf aditional-mac-allowed {
+ type ase-type:uni-mac-limit-type;
+ }
+ leaf port-tagging {
+ type ase-type:port-tagging-type;
+ mandatory true;
+ }
+ leaf name-value-pair {
+ type string;
+ }
+ }
+ output {
+ uses ase-type:uni-common-return-hdr;
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ ////
+ // Deprovisioning Port Request
+ ////
+ rpc ase-deprov-port-request {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ type string;
+ mandatory true;
+ }
+ }
+ output {
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ ////
+ // Change Port Provisioning Request
+ ////
+ rpc ase-change-port-prov-request {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ type string;
+ mandatory true;
+ }
+ leaf subscriber-name {
+ type string;
+ }
+ leaf media-speed {
+ type ase-type:media-speed-type;
+ }
+ leaf uni-cir-value {
+ description "Integer value for the CIR";
+ type ase-type:uni-cir-value-type;
+ }
+ leaf uni-cir-units {
+ description "Units for the CIR";
+ type ase-type:cir-rate-type;
+ }
+ leaf cos-catagory {
+ type ase-type:cos-category-type;
+ }
+ leaf gos-profile {
+ type ase-type:uni-gos-type;
+ }
+ leaf additional-mac-allowed {
+ type ase-type:uni-mac-limit-type;
+ }
+ leaf port-tagging {
+ type ase-type:port-tagging-type;
+ mandatory true;
+ }
+ leaf name-value-pair {
+ type string;
+ }
+ }
+ output {
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ ////
+ // Port Activate Request
+ ////
+ rpc ase-port-activate-request {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ type string;
+ mandatory true;
+ }
+ }
+ output {
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ ////
+ // Port Change Activation Request
+ ////
+ rpc ase-change-port-activation-request {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ type string;
+ mandatory true;
+ }
+ }
+ output {
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ ////
+ // Port Disconnect Request
+ ////
+ rpc ase-port-disconnect-request {
+ input {
+ uses ase-type:uni-common-request-hdr;
+
+ leaf uni-circuit-id {
+ type string;
+ mandatory true;
+ }
+ }
+ output {
+ uses ase-type:uni-common-error-format;
+ }
+ }
+
+ /////////////////////////////////////////////////////
+ // EVC API
+ /////////////////////////////////////////////////////
+
+ ////
+ // EVC Provision Request
+ ////
+ rpc ase-evc-activation {
+ input {
+ uses ase-type:evc-common-request-hdr;
+ 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 ase-type:uni-cir-value-type;
+ }
+ leaf connection-cir-units-string {
+ type ase-type:cir-rate-type;
+ }
+ leaf connection-gos-profile {
+ type ase-type:evc-gos-type;
+ }
+ leaf connection-additional-mac-allowed {
+ type ase-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 ase-type:uni-cir-value-type;
+ }
+ leaf connection-emc-speed-units-string {
+ type ase-type:cir-rate-type;
+ }
+ }
+ leaf name-value-pair {
+ type string;
+ }
+ }
+ output {
+ uses ase-type:evc-common-error-format;
+ }
+ }
+
+ ////
+ // EVC Change Activation Request
+ ////
+ rpc ase-evc-change-activation {
+ input {
+ uses ase-type:evc-common-request-hdr;
+ 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 connection-cir-value {
+ type ase-type:uni-cir-value-type;
+ }
+ leaf connection-cir-units-string {
+ type ase-type:cir-rate-type;
+ }
+ leaf connection-gos-profile {
+ type ase-type:evc-gos-type;
+ }
+ leaf connection-additional-mac-allowed {
+ type ase-type:uni-mac-limit-type;
+ }
+
+ }
+ leaf name-value-pair {
+ type string;
+ }
+
+ }
+ output {
+ uses ase-type:evc-common-error-format;
+ }
+ }
+
+ ////
+ // EVC Disconnet Connection Request
+ ////
+ rpc ase-evc-disconnect-request {
+ input {
+ uses ase-type:evc-common-request-hdr;
+ 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 name-value-pair {
+ type string;
+ }
+
+ }
+ output {
+ uses ase-type:evc-common-error-format;
+ }
+ }
+
+ /////////////////////////////////////////////////////
+ // ASE Query Actions
+ /////////////////////////////////////////////////////
+
+ rpc find-available-ports {
+ description "Return a count of available ports";
+ input {
+ uses ase-type:query-common-hdr;
+ leaf edge-device-clli {
+ type string;
+ mandatory true;
+ }
+
+ leaf port-role {
+ type enumeration {
+ enum "NETWORK"{
+ value 0;
+ }
+ enum "ACCESS"{
+ value 1;
+ }
+ enum "SDN-ACCESS"{
+ value 2;
+ }
+ }
+ mandatory true;
+ }
+ leaf port-assigned {
+ type string;
+ }
+ }
+ output {
+ uses ase-type:query-common-hdr;
+ container statuss {
+ leaf edge-device-clli {
+ type string;
+ }
+ container max-cir {
+ leaf cir-value {
+ type uint16;
+ }
+ leaf cir-type {
+ type ase-type:cir-rate-type;
+ }
+ }
+ leaf if-count {
+ type uint16;
+ }
+ }
+ uses ase-type:query-error-format;
+ }
+ }
+
+ rpc find-evcs-in-uni {
+ description "Return EVC instances for a specified UNI";
+ input {
+ uses ase-type:query-common-hdr;
+
+ leaf uni-circuit-id {
+ type string; //leafref
+ }
+ leaf edge-device-clli {
+ description "Edge device (e.g. EMT) on which port "
+ + " reservation is needed";
+ type string;
+ }
+ }
+ output {
+ uses ase-type:query-common-hdr;
+
+ leaf uni-leg-name {
+ description "NGO-proivded named";
+ type string;
+ }
+ uses ase-type:query-error-format;
+ }
+ }
+
+ rpc find-service-details {
+ description "Return EVC instances for a specified UNI";
+ input {
+ uses ase-type:query-common-hdr;
+ leaf uni-circuit-id {
+ type string; //leafref
+ }
+ leaf source {
+ type string;
+ mandatory true;
+ }
+ leaf service-name {
+ type string;
+ mandatory true;
+ }
+ leaf service-type {
+ type string;
+ mandatory true;
+ }
+ }
+ output {
+ uses ase-type:query-common-hdr;
+
+ leaf service-name {
+ type string;
+ mandatory true;
+ }
+ leaf service-type {
+ type string;
+ mandatory true;
+ }
+ leaf service-state {
+ type enumeration {
+ enum "Active"{
+ value 0;
+ }
+ enum "NotActive"{
+ value 1;
+ }
+ }
+ }
+ leaf has-pending-change {
+ type ase-type:ase-yes-no-type;
+ }
+ leaf allowed-connection-count {
+ type int16;
+ }
+ uses ase-type:query-error-format;
+ }
+ }
+} //module