module tapi-oam {
    namespace "urn:onf:otcc:yang:tapi-oam";
    prefix tapi-oam;
    import tapi-common {
        prefix tapi-common;
    }
    import tapi-connectivity {
        prefix tapi-connectivity;
    }
    import tapi-topology {
        prefix tapi-topology;
    }
    organization "ONF OTCC (Open Transport Configuration & Control) Project";
    contact "
        Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
        Project List: <mailto:transport-api@opennetworking.org>
        Editor: Karthik Sethuraman
                <mailto:karthik.sethuraman@necam.com>";
    description "
        This module contains TAPI OAM Model definitions.
        Source: TapiOam.uml
        Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
        License: This module is distributed under the Apache License 2.0";
    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 version .
        <https://wiki.opennetworking.org/display/OIMT/IISOMI>
        Changes in this revision: <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/blob/develop/change-log.md>";
        reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
                  <https://github.com/OpenNetworkingFoundation/Snowmass-ONFOpenTransport/tree/develop/UML>";
    }
    augment "/tapi-common:context" {
        uses oam-context;
        description "Augments the base TAPI Context with OamService information";
    }
    augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
        uses mep-mip-list;
        description "none";
    }
    augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
        uses mep-mip-list;
        description "none";
    }
    /***********************
    * package object-classes
    **********************/ 
        grouping mep {
            leaf-list on-demand-measurement-job {
                type leafref {
                    path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:on-demand-measurement-job/tapi-oam:local-id';
                }
                config false;
                description "none";
            }
            leaf-list pro-active-measurement-job {
                type leafref {
                    path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:pro-active-measurement-job/tapi-oam:local-id';
                }
                config false;
                description "none";
            }
            leaf layer-protocol-name {
                type tapi-common:layer-protocol-name;
                config false;
                description "none";
            }
            leaf meg-identifier {
                type string;
                config false;
                description "none";
            }
            leaf mep-identifier {
                type string;
                config false;
                description "none";
            }
            leaf-list peer-mep-identifier {
                type string;
                config false;
                min-elements 1;
                description "none";
            }
            leaf monitored-direction {
                type tapi-common:termination-direction;
                description "none";
            }
            uses tapi-common:local-class;
            description "none";
        }
        grouping on-demand-measurement-job {
            uses tapi-common:local-class;
            uses tapi-common:admin-state-pac;
            description "none";
        }
        grouping pro-active-measurement-job {
            uses tapi-common:local-class;
            uses tapi-common:admin-state-pac;
            description "none";
        }
        grouping meg {
            list me {
                key 'local-id';
                config false;
                min-elements 1;
                uses me;
                description "none";
            }
            list mep {
                key 'local-id';
                config false;
                uses mep;
                description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
                    2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
                    3. ME may have 2 MEPs";
            }
            list mip {
                key 'local-id';
                config false;
                uses mip;
                description "ME may 0, 1, or more MIPs";
            }
            leaf meg-level {
                type uint64;
                config false;
                description "none";
            }
            uses tapi-common:resource-spec;
            description "none";
        }
        grouping me {
            leaf-list mep {
                type leafref {
                    path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
                }
                config false;
                max-elements 2;
                description "none";
            }
            leaf-list mip {
                type leafref {
                    path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
                }
                config false;
                description "none";
            }
            leaf connection-route {
                type leafref {
                    path '/tapi-common:context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id';
                }
                config false;
                description "none";
            }
            uses tapi-common:local-class;
            description "none";
        }
        grouping mip {
            leaf layer-protocol-name {
                type tapi-common:layer-protocol-name;
                config false;
                description "none";
            }
            uses tapi-common:local-class;
            description "none";
        }
        grouping oam-service {
            leaf meg {
                type leafref {
                    path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
                }
                config false;
                description "none";
            }
            list end-point {
                key 'local-id';
                min-elements 1;
                uses oam-service-end-point;
                description "none";
            }
            uses tapi-common:service-spec;
            description "none";
        }
        grouping oam-context {
            list oam-service {
                key 'uuid';
                uses oam-service;
                description "none";
            }
            list meg {
                key 'uuid';
                config false;
                uses meg;
                description "none";
            }
            description "none";
        }
        grouping oam-service-end-point {
            leaf service-interface-point {
                type leafref {
                    path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
                }
                description "none";
            }
            leaf connectivity-service-end-point {
                type leafref {
                    path '/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id';
                }
                description "none";
            }
            list pro-active-measurement-job {
                key 'local-id';
                uses pro-active-measurement-job;
                description "none";
            }
            list on-demand-measurement-job {
                key 'local-id';
                uses on-demand-measurement-job;
                description "none";
            }
            leaf associated-mep {
                type leafref {
                    path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
                }
                config false;
                description "none";
            }
            leaf direction {
                type tapi-common:port-direction;
                config false;
                description "none";
            }
            uses tapi-common:local-class;
            description "none";
        }
        grouping mep-mip-list {
            leaf-list mip {
                type leafref {
                    path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
                }
                description "none";
            }
            leaf-list mep {
                type leafref {
                    path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
                }
                description "none";
            }
            description "none";
        }

    /***********************
    * package interfaces
    **********************/ 
        rpc abort-measurement-job {
            description "none";
        }
        rpc disable-pro-active-measurement-job {
            description "none";
        }
        rpc enable-pro-active-measurement-job {
            description "none";
        }
        rpc establish-measurement-job {
            description "none";
        }
        rpc get-contained-measurement-jobs {
            description "none";
        }
        rpc terminate-measurement-job {
            description "none";
        }
        rpc get-all-contained-meg {
            description "none";
        }

}
