-- =============================================================================
--               GDMO definitions extracted from  ITU-T Rec. M.3108.3 (2001)
-- =============================================================================

vpnService MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. M.3108.1:1999": serviceAccessDomainR1;
  CHARACTERIZED BY
    vpnServicePackage PACKAGE
      BEHAVIOUR
        vpnServiceBehaviour BEHAVIOUR
          DEFINED AS
            " This instantiable MO represents a VPN service. The sadId equals to
            vpnId, used to identify the VPN service. The serviceType in the
            serviceAccessDomainR1 is not present in this MOC.";;;,
    "ITU-T Rec. M.3108.1:1999": serviceDescriptionListPackage;
REGISTERED AS {m3108PartVPNObjectClass 1};


vpnLCS MANAGED OBJECT CLASS
  DERIVED FROM  "ITU-T M.3108.1:1999": transportService;
  CHARACTERIZED BY
    vpnLeasedCircuitPackage PACKAGE
      BEHAVIOUR
        vpnLeasedCircuitBehaviour BEHAVIOUR
          DEFINED AS
            "This instantiable MO represents a VPN leased circuit. If the SLA
            allows the SC to specify the route and the SC did not specify the
            route in the service request, then the route attribute shall be
            present as an empty SEQUENCE. The route cannot be changed through a
            management operation on this MO. ";;
      ATTRIBUTES
        bandwidth                  GET-REPLACE,
        "ITU-T M.3108.1:1999": originatingLocationSap    GET SET-BY-CREATE,
        "ITU-T M.3108.1:1999": terminatingLocationSap     GET SET-BY-CREATE;;;
  CONDITIONAL PACKAGES
    "ITU-T M.3108.1:1999": routePackage           PRESENT IF " route was present
      in the service request ",
    "ITU-T M.3108.1:1999": originatingLocationCPEModifyPackage  PRESENT IF
      "originatingLocationCPE was present in the service request ",
    "ITU-T M.3108.1:1999": terminatingLocationCPEModifyPackage  PRESENT IF
      "terminatingLocationCPE was present in the service request ";
REGISTERED AS {m3108PartVPNObjectClass 2};


bandwidth ATTRIBUTE
  WITH ATTRIBUTE SYNTAX M3108PartVPNASN1Module.Bandwidth;
  MATCHES FOR EQUALITY;
REGISTERED AS {m3108PartVPNAttribute 1};


vpnService-account  NAME BINDING
  SUBORDINATE OBJECT CLASS vpnService AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "Rec. X.790":account AND SUBCLASSES;
  WITH ATTRIBUTE "ITU-T M.3108.1:1999": sadId;
  CREATE
      createVpnServiceError;
  DELETE
      "ITU-T M.3108.1:1999": deleteSadError;
REGISTERED AS {m3108PartVPNNameBinding 1};


vpnLCS-account  NAME BINDING
  SUBORDINATE OBJECT CLASS vpnLCS AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "Rec. X.790":account AND SUBCLASSES;
  WITH ATTRIBUTE "Rec. X.790": serviceId;
  CREATE
      createVpnLCSError;
  DELETE
      deleteVpnLCSError ;
REGISTERED AS {m3108PartVPNNameBinding 2};


createVpnServiceError PARAMETER
  CONTEXT SPECIFIC-ERROR ;
  WITH SYNTAX M3108PartVPNASN1Module.CreateVpnServiceError ;
  BEHAVIOUR
    createVpnServiceErrorBehaviour BEHAVIOUR
      DEFINED AS
        "the parameter is used for VPN service creation." ;;
REGISTERED AS { m3108PartVPNParameter 1 }   ;


createVpnLCSError PARAMETER
  CONTEXT SPECIFIC-ERROR ;
  WITH SYNTAX M3108PartVPNASN1Module.CreateVpnLCSError ;
  BEHAVIOUR
    createVpnLCSErrorBehaviour BEHAVIOUR
      DEFINED AS
        "the parameter is used for VPN LCS creation." ;;
REGISTERED AS { m3108PartVPNParameter 2 }   ;


deleteVpnLCSError PARAMETER
  CONTEXT SPECIFIC-ERROR ;
  WITH SYNTAX M3108PartVPNASN1Module.DeleteVpnLCSError ;
  BEHAVIOUR
    deleteVpnLCSErrorBehaviour BEHAVIOUR
      DEFINED AS
        "the parameter is used for VPN LCS deletion." ;;
REGISTERED AS { m3108PartVPNParameter 3 }   ;

-- =============================================================================
--  Formatted by OpenT2 Version 5.5.6.34 on Fri Aug 20 11:20:49 2004