module tapi-oam { yang-version "1.1"; namespace "urn:onf:otcc:yang:tapi-oam"; prefix tapi-oam; import tapi-common { prefix tapi-common; revision-date 2022-11-21; } import tapi-connectivity { prefix tapi-connectivity; revision-date 2022-11-21; } import tapi-topology { prefix tapi-topology; revision-date 2022-11-21; } import tapi-notification { prefix tapi-notification; revision-date 2022-11-21; } import tapi-streaming { prefix tapi-streaming; revision-date 2022-11-21; } organization "ONF OTCC (Open Transport Configuration & Control) Project"; contact " Project Web: Project List: Editor: Karthik Sethuraman Andrea Mazzini Arturo Mayoral Nigel Davis Ramon Casellas "; description " This module contains TAPI OAM Model definitions. Source: TapiOam.uml - The TAPI YANG models included in this TAPI release are a *normative* part of the TAPI SDK. - The YANG specifications have been generated from the corresponding UML model using the [ONF EAGLE UML2YANG mapping tool] and further edited manually to comply with the [ONF IISOMI UML2YANG mapping guidelines] - Status of YANG model artifacts can be determined by referring to the corresponding UML artifacts. As described in the UML models, some artifacts are considered *experimental*, and thus the corresponding YANG artifacts. - The ONF TAPI release process does not guarantee backward compatibility of YANG models across major versions of TAPI releases. The YANG model backward compatibility criteria are outlined in section 11 of . YANG models included in this release may not be backward compatible with previous TAPI releases. Copyright (c) 2022 Open Networking Foundation (ONF). All rights reserved. License: This module is distributed under the Apache License 2.0."; revision 2022-11-21 { description "ONF Transport API version 2.4.0 RC1. Changes included in this TAPI release (v2.4.0) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-09-24 { description "ONF Transport API version 2.3.1. Changes included in this TAPI release (v2.3.1) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-08-04 { description "ONF Transport API version 2.3. Changes included in this TAPI release (v2.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2021-05-24 { description "ONF Transport API version 2.3 RC1. Changes included in this TAPI release (v2.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2020-04-23 { description "ONF Transport API version 2.1.3. Changes included in this TAPI release (v2.1.3) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2019-07-16 { description "ONF Transport API version 2.1.2. Changes included in this TAPI release (v2.1.2) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2019-03-31 { description "ONF Transport API version 2.2-RC1. Changes included in this TAPI release (v2.2) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-12-10 { description "ONF Transport API version 2.1.1. Changes included in this TAPI release (v2.1.1) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-10-16 { description "ONF Transport API version 2.1.0. Changes included in this TAPI release (v2.1.0) are listed in "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 7950, RFC 6087 and ONF TAPI UML model "; } revision 2018-03-07 { description "ONF Transport API version 2.0.2 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. Changes in this revision: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } revision 2018-02-16 { description "ONF Transport API version 2.0.1 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. Changes in this revision: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } revision 2018-01-02 { description "ONF Transport API version 2.0.0 This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool. Changes in this revision: "; reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model "; } augment "/tapi-common:context" { container oam-context { uses oam-context; description "Augments the base TAPI Context with OamService model."; } description "Augments the base TAPI Context with OamService model."; } augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point" { container mep-mip-list { uses mep-mip-list; description "This augment allows CEP to refer to its MEPs/MIPs despite TapiOam model does not import TapiConnectivity model."; } description "This augment allows CEP to refer to its MEPs/MIPs despite TapiOam model does not import TapiConnectivity model."; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_MEP")'; container mep { uses mep; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_OAM_JOB")'; container oam-job { uses oam-job; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_MEG")'; container meg { uses meg; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_MIP")'; container mip { uses mip; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_OAM_SERVICE")'; container oam-service { uses oam-service; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_OAM_SERVICE_POINT")'; container oam-service-point { uses oam-service-point; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_CURRENT_DATA")'; container current-data { uses current-data; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_HISTORY_DATA")'; container history-data { uses history-data; description "none"; } description "none"; } augment "/tapi-streaming:stream-record/tapi-streaming:log-record/tapi-streaming:log-record-body" { when 'derived-from-or-self(tapi-streaming:record-content, "OAM_OBJECT_TYPE_PM_DATA")'; container pm-data { uses pm-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" { container mep-mip-list { uses mep-mip-list; description "This augment allows NEP to refer to its MEPs/MIPs despite TapiOam model does not import TapiTopology model."; } description "This augment allows NEP to refer to its MEPs/MIPs despite TapiOam model does not import TapiTopology model."; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_OAM_JOB")'; container oam-job { uses oam-job; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_MEG")'; container meg { uses meg; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_MIP")'; container mip { uses mip; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_OAM_SERVICE")'; container oam-service { uses oam-service; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_OAM_SERVICE_POINT")'; container oam-service-point { uses oam-service-point; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_CURRENT_DATA")'; container current-data { uses current-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_HISTORY_DATA")'; container history-data { uses history-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" { container connectivity-oam-job { uses connectivity-oam-job; description "none"; } description "none"; } augment "/tapi-common:context/tapi-common:profile" { container oam-profile { presence "if oam profile"; uses oam-profile; description "none"; } description "none"; } augment "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" { container connectivity-oam-service { uses connectivity-oam-service; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_MEP")'; container mep { uses mep; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_OAM_JOB")'; container oam-job { uses oam-job; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_MEG")'; container meg { uses meg; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_MIP")'; container mip { uses mip; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_OAM_SERVICE")'; container oam-service { uses oam-service; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_OAM_SERVICE_POINT")'; container oam-service-point { uses oam-service-point; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_CURRENT_DATA")'; container current-data { uses current-data; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_HISTORY_DATA")'; container history-data { uses history-data; description "none"; } description "none"; } augment "/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_PM_DATA")'; container pm-data { uses pm-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_PM_DATA")'; container pm-data { uses pm-data; description "none"; } description "none"; } augment "/tapi-common:context/tapi-notification:notification-context/tapi-notification:event-notification" { when 'derived-from-or-self(tapi-notification:target-object-type, "OAM_OBJECT_TYPE_MEP")'; container mep { uses mep; description "none"; } description "none"; } /************************** * definitions of references **************************/ grouping oam-service-ref { leaf oam-service-uuid { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:uuid'; } description "none"; } description "none"; } grouping oam-service-point-ref { uses oam-service-ref; leaf oam-service-point-local-id { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-service/tapi-oam:oam-service-point/tapi-oam:local-id'; } description "none"; } description "none"; } grouping meg-ref { leaf meg-uuid { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:uuid'; } description "none"; } description "none"; } grouping mep-ref { uses meg-ref; leaf mep-local-id { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id'; } description "none"; } description "none"; } grouping mip-ref { uses meg-ref; leaf mip-local-id { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id'; } description "none"; } description "none"; } grouping oam-job-ref { leaf oam-job-uuid { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:uuid'; } description "none"; } description "none"; } grouping current-data-ref { uses oam-job-ref; leaf current-data-local-id { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data/tapi-oam:local-id'; } description "none"; } description "none"; } grouping history-data-ref { uses current-data-ref; leaf history-data-local-id { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-job/tapi-oam:current-data/tapi-oam:history-data/tapi-oam:local-id'; } description "none"; } description "none"; } grouping oam-profile-ref { leaf oam-profile-uuid { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:uuid'; } description "none"; } description "none"; } grouping pm-threshold-data-ref { uses oam-profile-ref; leaf pm-threshold-data-local-id { type leafref { path '/tapi-common:context/tapi-oam:oam-context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id'; } description "none"; } description "none"; } /************************** * package object-classes **************************/ grouping mep { leaf layer-protocol-name { type tapi-common:layer-protocol-name; config false; description "The Mep layer protocol."; } leaf layer-protocol-qualifier { type tapi-common:layer-protocol-qualifier; description "none"; } uses tapi-common:local-class; uses tapi-common:operational-state-pac; description "The Maintenance Entity group end Point. ITU-T G.8001: maintenance entity group end point compound sink function: A compound transport processing function that accepts the characteristic information of the layer network at its input, extracts and processes the OAM information related to the monitoring of the maintenance entity group, filters the OAM information from within to the maintenance entity group, adapts the information and presents it as the characteristic information of the layer or a client layer at its output, potentially as a (client) layer maintenance signal (e.g., AIS). ITU-T G.8001: maintenance entity group end point compound source function: A compound transport processing function that accepts the characteristic information of the layer or a client layer network at its input, adapts that information, filters it for OAM information interfering with its own OAM information, adds OAM information to allow the maintenance entity group to be monitored and presents the resulting information at its output."; } grouping oam-job { leaf oam-job-type { type oam-job-type; description "The OamJob type."; } leaf oam-job-state { type oam-job-state; config false; description "none"; } leaf creation-time { type tapi-common:date-and-time; config false; description "The OamJob creation time."; } container schedule { uses tapi-common:time-range; description "The OamJob schedule."; } leaf results { type string; config false; description "Information allowing to retrieve the OAM job results by other means., e.g. file name."; } list oam-service-point { uses oam-service-point-ref; key 'oam-service-uuid oam-service-point-local-id'; description "The OamServicePoint (OSP) instances involved in the OamJob."; } list connection-end-point { uses tapi-connectivity:connection-end-point-ref; key 'topology-uuid node-uuid node-edge-point-uuid connection-end-point-uuid'; description "The ConnectionEndPoint (CEP) instances involved in the OamJob."; } container connectivity-service-end-point { uses tapi-connectivity:connectivity-service-end-point-ref; description "In case the OamJob instance is not related to any OamService/Point but created together with ConnectivityService through ConnectivityOamJob augment."; } container profile { uses tapi-common:profile-ref; description "The (Oam)Profile instance referred by the OamJob."; } list pm-data { key 'local-id'; uses pm-data; description "none"; } list current-data { key 'local-id'; config false; uses current-data; description "The CurrentData instances in the scope of the OamJob."; } uses tapi-common:global-class; uses tapi-common:admin-state-pac; description "This class allows the provisioning of performance monitoring functions on specified resources."; } grouping meg { list mep { key 'local-id'; config false; uses mep; description "The maintenance entity group consists of one or more maintenance entities. There are the following cases: 1. A maintenance entity may have 0 MEPs (case of transit domains where at least 1 MIP is present). 2. A maintenance entity may have 1 MEP (case of edge domains, where the peer MEP is ouside the managed domain). 3. A maintenance entity may have 2 MEPs."; } list mip { key 'local-id'; config false; uses mip; description "The maintenance entity group may have 0, 1, or more MIPs."; } uses tapi-common:global-class; uses tapi-common:operational-state-pac; description "The Maintenance Entity Group. ITU-T G.8001: A group defined, for the purpose of fragment or connection monitoring, between a set of flow or connection points within a fragment/connection. This set of flow or connection points may be located at the boundary of one administrative domain or a protection domain, or at the boundaries of two adjacent administrative domains. The maintenance entity group consists of one or more maintenance entities (the entity between two of the flow/connection points in a maintenance entity group)."; } grouping mip { leaf layer-protocol-name { type tapi-common:layer-protocol-name; config false; description "The Mip layer protocol."; } leaf layer-protocol-qualifier { type tapi-common:layer-protocol-qualifier; description "none"; } uses tapi-common:local-class; uses tapi-common:operational-state-pac; description "The Maintenance entity group Intermediate Point. ITU-T G.8001: maintenance entity group intermediate point compound function: A compound transport processing function that accepts the characteristic information of the layer network at its input, reacts to OAM information related to on-demand monitoring of a maintenance entity group and presents the characteristic information without the OAM to which it reacted at its output."; } grouping oam-service { list oam-service-point { key 'local-id'; uses oam-service-point; description "The OamServicePoint (OSP) instances of the OamService."; } container meg { uses meg-ref; config false; description "The Meg instance tracking the state of the allocated resources for the support of the OamService."; } uses tapi-common:global-class; uses tapi-common:admin-state-pac; description "An OamService represents an 'intent-like' request for OAM functions between two or more OamServicePoint (OSP) instances. The OamService is a container for OAM request details and is distinct from the Meg that realize the request."; } grouping oam-context { list oam-service { key 'uuid'; uses oam-service; description "The included OamService instances."; } list oam-job { key 'uuid'; uses oam-job; description "The included OamJob instances."; } list meg { key 'uuid'; config false; uses meg; description "The included Meg instances."; } description "This object class represents the scope of control that a particular SDN controller has with respect to a particular network, specifically regarding the OAM description. An instance of this class includes its OamService, OamProfile, OamJob and Meg object instances."; } grouping oam-service-point { container service-interface-point { uses tapi-common:service-interface-point-ref; description "The supporting ServiceInterfacePoint (SIP) instance. If neither ConnectivityServiceEndPoint (CSEP) nor ConnectionEndPoint (CEP) are specified, the OamServicePoint (OSP) is intended for SIP monitoring."; } container connectivity-service-end-point { uses tapi-connectivity:connectivity-service-end-point-ref; description "The ConnectivityServiceEndPoint (CSEP) instance monitored by the OamServicePoint (OSP). If not specified (and neither CEP is specified), the OamServicePoint (OSP) is intended for SIP monitoring."; } container connection-end-point { uses tapi-connectivity:connection-end-point-ref; description "The ConnectionEndPoint (CEP) instance monitored by the OamServicePoint (OSP). If not specified (and neither CSEP is specified), the OamServicePoint (OSP) is intended for SIP monitoring."; } leaf layer-protocol-name { type tapi-common:layer-protocol-name; description "The OamServicePoint (OSP) layer protocol."; } leaf layer-protocol-qualifier { type tapi-common:layer-protocol-qualifier; description "none"; } container mep { uses mep-ref; config false; description "The associated Mep instance, mutually exclusive wrt Mip instance."; } container mip { uses mip-ref; config false; description "The associated Mip instance, mutually exclusive wrt Mep instance."; } leaf is-mip { type boolean; description "If true, the object is related to a MIP. If false, the object is related to a MEP."; } uses tapi-common:local-class; uses tapi-common:admin-state-pac; description "The OamServicePoint (OSP) is a container for OAM request details and is distinct from the Mep and/or Mip instances that realize the request."; } grouping mep-mip-list { list mep { uses mep-ref; key 'meg-uuid mep-local-id'; description "The list of associated Mep instances."; } list mip { uses mip-ref; key 'meg-uuid mip-local-id'; description "The list of associated Mip instances."; } description "This augment allows CEP and NEP to refer to their MEPs/MIPs despite TapiOam model does not import resp. TapiConnectivity and TapiTopology models."; } grouping current-data { leaf period-start-time { type tapi-common:date-and-time; config false; description "This attribute indicates the start time of the current monitoring interval / granularity period. The value is bound to the quarter of an hour in case of a 15 minute interval and bound to the hour in case of a 24 hour interval."; } container elapsed-time { uses tapi-common:time-interval; description "Q822: This attribute represents the difference between the current time and the start of the present interval."; } container pm-data-pac { uses pm-data-pac; description "Parameters specific to Performance Monitoring functions."; } container mep { uses mep-ref; config false; description "The MEP to which the measurements refer to. At least and exclusively one of CurrentDataOfCep, CurrentDataOfMep, CurrentDataOfMip must be referred by the CurrentData instance. "; } container mip { uses mip-ref; config false; description "The MIP to which the measurements refer to. At least and exclusively one of CurrentDataOfCep, CurrentDataOfMep, CurrentDataOfMip must be referred by the CurrentData instance. "; } container connection-end-point { uses tapi-connectivity:connection-end-point-ref; config false; description "The CEP to which the measurements refer to. At least and exclusively one of CurrentDataOfCep, CurrentDataOfMep, CurrentDataOfMip must be referred by the CurrentData instance. "; } list history-data { key 'local-id'; config false; uses history-data; description "The associated HistoryData instances. In case of 24hr CurrentData, at least 1 HistoryData instance shall be maintained. In case of 15min CurrentData, at least 16 HistoryData instances shall be maintained. In case of <15min, the number of HistoryData instances shall be able to cover a span of 4 hours."; } uses tapi-common:local-class; description "The CurrentData class. The PM metrics/types can be specified in technology specific augmentations of this class. ITU-T Q.822: This object contains the measurements for the resource being monitored for a specified time interval (measurement interval time / granularity period)."; } grouping history-data { leaf period-start-time { type tapi-common:date-and-time; description "This attribute indicates the start time of the monitoring interval / granularity period. The value is bound to the quarter of an hour in case of a 15 minute interval and bound to the hour in case of a 24 hour interval."; } leaf period-end-time { type tapi-common:date-and-time; description "This attribute indicates the end time of the monitoring interval / granularity period. The value is bound to the quarter of an hour in case of a 15 minute interval and bound to the hour in case of a 24 hour interval."; } container pm-data-pac { uses pm-data-pac; description "Parameters specific to Performance Monitoring functions."; } uses tapi-common:local-class; description "The HistoryData class. The PM metrics/types can be specified in technology specific augmentations of this class. ITU-T Q.822: This object will contain a copy of the performance management and other selected attributes that are present in the CurrentData object at the end of the current interval (measurement interval time / granularity period). A new instance of this object class is created at the end of each interval."; } grouping oam-profile { list pm-data { key 'local-id'; min-elements 1; uses pm-data; description "The PM threshold information associated to the OamProfile."; } description "The OamProfile allows centralization of OAM provisioning aspects, e.g. the PM parameters and their threshold values."; } grouping pm-data { leaf-list applicable-job-type { type oam-job-type; description "This attribute allows an PmThresholdData instance to be constrained to specific job types. If a PmThresholdData instance is so configured to be applicable to more than one job type (worst case ALL), only the parameters relevant for the job instance will be used (non-applicable profile parameters will be ignored)."; } container granularity-period { uses tapi-common:time-period; description "The granularity period or measurement interval time. In case of instantaneous measurement this parameter is omitted (e.g. ODU Delay measurement)."; } leaf time-of-the-day-alignment { type boolean; default "true"; description "none"; } leaf is-transient { type boolean; description "A threshold crossing alert (TCA) is transient when stateless, i.e. an explicit alarm clear notification is not foreseen. MEF 35.1: Thresholds and associated TCAs are specific to a particular performance metric in a given PM Session (or OAM job). There are two types of TCA reporting: stateless and stateful. With stateless reporting, a TCA is generated in each Measurement Interval in which the threshold is crossed. With stateful reporting, a SET TCA is generated in the first Measurement Interval in which the threshold is crossed, and a CLEAR TCA is subsequently generated at the end of the first Measurement Interval in which the threshold is not crossed. Note: In ITU-T G.7710 terminology, stateless TCA reporting corresponds to a transient condition, and stateful TCA reporting corresponds to a standing condition. Note that threshold management for gauges may be more complex (e.g. out of range function for gauge overflow/underflow detection)."; } leaf codirectional { type boolean; description "Applicable in case of embedded provisioning through ConnectivityOamJob. In this case two MIPs on the same CEP can be involved in the same OamJob, hence may be necessary to set different thresholds for codirectional and contradirectional PM Parameters."; } list pm-parameter { key 'pm-parameter-name'; uses pm-parameter; description "The PM metrics and their threshold values."; } uses tapi-common:local-class; description "The PM threshold information associated to an OamProfile instance. It defines a set of PM metrics, their threshold values, the granularity period or measurement interval time for these PM metrics, the stateful or stateless types of related threshold crossing alert (TCA) reporting."; } grouping pm-data-pac { container granularity-period { uses tapi-common:time-interval; description "The granularity period or measurement interval time."; } leaf suspect-interval-flag { type boolean; description "This attribute is used to indicate that the performance data for the current period may not be reliable. Some reasons for this to occur are: - Suspect data were detected by the actual resource doing data collection. - Transition of the administrativeState attribute to/from the 'lock' state. - Transition of the operationalState to/from the 'disabled' state. - Scheduler setting that inhibits the collection function. - The performance counters were reset during the interval. - The currentData (or subclass) object instance was created during the monitoring period."; } description "Parameters specific to Performance Monitoring functions."; } grouping connectivity-oam-job { leaf oam-job-type { type oam-job-type; description "The type of the OAM job."; } container schedule { uses tapi-common:time-range; description "The schedule of the OAM job."; } container profile { uses tapi-common:profile-ref; description "The (Oam)Profile instance referred by the OamJob."; } list pm-data { key 'local-id'; uses pm-data; description "none"; } description "This class augments the ConnectivityService class to associate OAM job provisioning to ConnectivityService provisioning."; } grouping connectivity-oam-service { list connectivity-oam-service-point { key 'local-id'; uses connectivity-oam-service-point; description "none"; } description "This class augments the ConnectivityServiceEndPoint (CSEP) class to associate OAM service provisioning to ConnectivityService provisioning."; } grouping connectivity-oam-service-point { leaf is-mip { type boolean; description "If true, the object is related to a MIP. If false, the object is related to a MEP."; } leaf layer-protocol-name { type tapi-common:layer-protocol-name; description "none"; } leaf layer-protocol-qualifier { type tapi-common:layer-protocol-qualifier; description "none"; } uses tapi-common:local-class; uses tapi-common:admin-state-pac; description "none"; } /************************** * package type-definitions **************************/ identity OAM_JOB_TYPE { description "none"; } identity OAM_JOB_TYPE_LOOPBACK_FACILITY { base OAM_JOB_TYPE; description "External / Line Loopback."; } identity OAM_JOB_TYPE_LOOPBACK_TERMINAL { base OAM_JOB_TYPE; description "Internal / Device Loopback."; } identity OAM_OBJECT_TYPE { base tapi-common:OBJECT_TYPE; description "none"; } identity OAM_OBJECT_TYPE_OAM_SERVICE { base OAM_OBJECT_TYPE; description "The OamService class."; } identity OAM_OBJECT_TYPE_OAM_SERVICE_POINT { base OAM_OBJECT_TYPE; description "The OamServicePoint (OSP) class."; } identity OAM_OBJECT_TYPE_MEG { base OAM_OBJECT_TYPE; description "The Meg class."; } identity OAM_OBJECT_TYPE_MEP { base OAM_OBJECT_TYPE; description "The Mep class."; } identity OAM_OBJECT_TYPE_MIP { base OAM_OBJECT_TYPE; description "The Mip class."; } identity OAM_OBJECT_TYPE_OAM_JOB { base OAM_OBJECT_TYPE; description "The OamJob class."; } identity OAM_OBJECT_TYPE_OAM_PROFILE { base OAM_OBJECT_TYPE; description "The OamProfile class."; } identity OAM_OBJECT_TYPE_CURRENT_DATA { base OAM_OBJECT_TYPE; description "The CurrentData class."; } identity OAM_OBJECT_TYPE_HISTORY_DATA { base OAM_OBJECT_TYPE; description "The HistoryData class."; } identity OAM_OBJECT_TYPE_PM_DATA { base OAM_OBJECT_TYPE; description "The PmThresholdData class."; } identity THRESHOLD_TYPE { description "none"; } identity THRESHOLD_TYPE_UPPER { base THRESHOLD_TYPE; description "none"; } identity THRESHOLD_TYPE_LOWER { base THRESHOLD_TYPE; description "none"; } identity THRESHOLD_TYPE_TIDEMARK { base THRESHOLD_TYPE; description "none"; } identity THRESHOLD_TYPE_POSITIVE_DELTA { base THRESHOLD_TYPE; description "none"; } identity THRESHOLD_TYPE_NEGATIVE_DELTA { base THRESHOLD_TYPE; description "none"; } identity OAM_JOB_STATE { description "none"; } identity OAM_JOB_STATE_ACTIVE { base OAM_JOB_STATE; description "none"; } identity OAM_JOB_STATE_CONCLUDED { base OAM_JOB_STATE; description "none"; } identity OAM_JOB_STATE_NOT_ACTIVE { base OAM_JOB_STATE; description "none"; } typedef oam-job-type { type identityref { base OAM_JOB_TYPE; } description "The OAM job types. This extensible enumeration can be augmented with specific OAM job types in the other modules."; } grouping pm-parameter { leaf pm-parameter-name { type tapi-common:pm; description "PM metric name."; } list threshold-config { key 'threshold-location threshold-type clear-threshold'; uses threshold-config; description "PM metric location."; } description "PM metrics, their locations and threshold values."; } typedef threshold-crossing-qualifier { type enumeration { enum NOT_APPLICABLE { description "Location or qualifier not applicable."; } enum NEAR_END { description "Near End detection."; } enum FAR_END { description "Far end detection."; } enum BIDIRECTIONAL { description "Composition of near and far end detections."; } enum FORWARD { description "MEF 35.1: The direction of performance measurements from the Controller MEP towards the Responder or Sink MEP, when One-way measurements are taken using a Single-Ended or Dual-Ended PM Function. MEF 83: In Single-Ended measurements, it is assumed that the the FORWARD and FAR_END qualifiers are equivalent. In Dual-Ended measurements (and in case of TX counters), it is assumed that the FORWARD and NEAR_END qualifiers are equivalent."; } enum BACKWARD { description "MEF 35.1: The direction of performance measurements from the Responder MEP towards the Controller MEP, when One-way measurements are taken using a Single-Ended PM Function. Note: this term is not applicable when Dual-Ended PM Functions are used. MEF 83: In Single-Ended measurements, it is assumed that the BACKWARD and NEAR_END qualifiers are equivalent. In Dual-Ended measurements (and in case of TX counters), it is assumed that the BACKWARD and FAR_END qualifiers are equivalent."; } } description "Threshold crossing location or qualifier."; } typedef oam-object-type { type identityref { base OAM_OBJECT_TYPE; } description "The list of TAPI OAM Global Object Class types on which Notification signals can be raised."; } grouping threshold-config { leaf threshold-location { type threshold-crossing-qualifier; description "none"; } leaf threshold-type { type threshold-type; description "none"; } container pm-parameter-value { uses tapi-common:pm-parameter-value; description "none"; } leaf clear-threshold { type boolean; description "none"; } description "none"; } typedef threshold-type { type identityref { base THRESHOLD_TYPE; } description "none"; } typedef oam-job-state { type identityref { base OAM_JOB_STATE; } description "none"; } /************************** * package interfaces **************************/ rpc create-oam-service { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamService instance to be created. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamService instance to be created. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } leaf layer-protocol-name { type tapi-common:layer-protocol-name; description "The layer protocol of the OamService instance to be created."; } leaf state { type tapi-common:administrative-state; description "The Administrative State of the OamService instance to be created."; } list oam-service-point { key 'local-id'; uses oam-service-point; description "The parameters of the OamServicePoint (OSP) instances to be created as monitoring points of the OamService instance under creation."; } } output { container oam-service { uses oam-service; description "The created OamService instance."; } } } rpc delete-oam-service { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamService instance to be deleted. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } } rpc get-oam-service { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamService instance. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } output { container oam-service { uses oam-service; description "The requested OamService instance."; } } } rpc get-oam-service-list { description "none"; output { list oam-service { key 'uuid'; uses oam-service; description "The requested list of OamService instances."; } } } rpc get-meg { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the Meg instance. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } output { container meg { uses meg; description "The requested Meg instance."; } } } rpc update-oam-service { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamService instance to be updated. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamService instance to be updated. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } leaf state { type tapi-common:administrative-state; description "The (updated) Administrative State of the OamService instance under update."; } list oam-service-point { key 'local-id'; uses oam-service-point; description "The parameters of the OamServicePoint (OSP) instances to be updated as monitoring points of the OamService instance under update."; } } output { container oam-service { uses oam-service; description "The updated OamService instance."; } } } rpc create-oam-service-point { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamServicePoint (OSP) instance to be created. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } leaf oam-service-id { type tapi-common:uuid; description "UUID of the parent OamService instance. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } leaf service-interface-point-id { type tapi-common:uuid; description "UUID of the associated ServiceInterfacePoint (SIP) instance to be monitored. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } leaf connectivity-service-end-point-id { type tapi-common:uuid; description "UUID of the ConnectivityServiceEndPoint (CSEP) to be monitored. If omitted, the monitoring is intended on ServiceInterfacePoint (SIP). UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamServicePoint (OSP) instance to be created. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } leaf layer-protocol-name { type tapi-common:layer-protocol-name; description "The layer protocol of the OamServicePoint (OSP) instance to be created."; } leaf state { type tapi-common:administrative-state; description "The Administrative State of the OamServicePoint (OSP) instance to be created."; } } output { container oam-service-point { uses oam-service-point; description "The created OamServicePoint (OSP) instance."; } } } rpc delete-oam-service-point { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamServicePoint (OSP) instance to be deleted. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } } rpc update-oam-service-point { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamServicePoint (OSP) instance to be updated. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamServicePoint (OSP) instance to be updated. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } leaf state { type tapi-common:administrative-state; description "The (updated) Administrative State of the OamServicePoint (OSP) instance under update."; } } output { container oam-service-point { uses oam-service-point; description "The updated OamServicePoint (OSP) instance."; } } } rpc get-oam-service-point { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamServicePoint (OSP) instance. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } output { container oam-service-point { uses oam-service-point; description "The requested OamServicePoint (OSP) instance."; } } } rpc create-oam-job { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamJob instance to be created. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } leaf oam-service-id { type tapi-common:uuid; description "UUID of the associated OamService instance. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } leaf oam-service-point-id { type tapi-common:uuid; description "UUID of the OamServicePoint (OSP) instance(s) involved in the OamJob instance under creation. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } leaf oam-profile-id { type tapi-common:uuid; description "UUID of the OamProfile instance to be applied to the OamJob instance under creation. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamJob instance to be created. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } leaf oam-job-type { type oam-job-type; description "The OAM job type of the OamJob instance under creation."; } leaf state { type tapi-common:administrative-state; description "The Administrative State of the OamJob instance to be created."; } container schedule { uses tapi-common:time-range; description "The schedule of the OamJob instance to be created."; } } output { container oam-job { uses oam-job; description "The created OamJob instance."; } } } rpc update-oam-job { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamJob instance to be updated. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } leaf oam-profile-id { type tapi-common:uuid; description "UUID of the OamProfile instance to be applied to the OamJob instance under update. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamJob instance to be updated. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } leaf state { type tapi-common:administrative-state; description "The (updated) Administrative State of the OamJob instance under update."; } container schedule { uses tapi-common:time-range; description "The (updated) schedule of the OamJob instance under update."; } } output { container oam-job { uses oam-job; description "The updated OamJob instance."; } } } rpc delete-oam-job { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamJob instance to be deleted. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } } rpc get-oam-job { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamJob instance. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } output { container oam-job { uses oam-job; description "The requested OamJob instance."; } } } rpc get-oam-job-list { description "none"; output { list oam-job { key 'uuid'; uses oam-job; description "The requested list of OamJob instances."; } } } rpc create-oam-profile { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamProfile instance to be created. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamProfile instance to be created. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } list pm-threshold-data { min-elements 1; uses pm-data; description "The PM threshold infornation to be associated to the OamProfile instance under creation."; } } output { container oam-profile { uses oam-profile; description "The created OamProfile instance."; } } } rpc update-oam-profile { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamProfile instance to be updated. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } list name { key 'value-name'; uses tapi-common:name-and-value; description "List of names of the OamProfile instance to be updated. The value(s) is (are) unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity."; } list pm-data { min-elements 1; uses pm-data; description "The (updated) PM threshold infornation to be associated to the OamProfile instance under update."; } } output { container oam-profile { uses oam-profile; description "The updated OamProfile instance."; } } } rpc delete-oam-profile { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamProfile instance to be deleted. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } } rpc get-oam-profile { description "none"; input { leaf uuid { type tapi-common:uuid; description "UUID of the OamProfile instance. UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity. UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters. Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"; } } output { container oam-profile { uses oam-profile; description "The requested OamProfile instance."; } } } /* rpc get-oam-profile-list { description "none"; output { list oam-profile { uses oam-profile; description "The requested list of OamProfile instances."; } } }*/ }