* @desc Check that the IUT sends a notification about WLAN event notification if the MEC service has an associated subscription and the event is generated
* @desc Check that the IUT sends a notification about WLAN event notification if the MEC service has an associated subscription and the event is generated
// * @desc Collection of the zone information list.
// * @member zone Collection of the zone information list.
// * @member resourceURL Self referring URL.
// */
// type record of ZoneInfo ZoneInfos;
// type record ZoneList {
// ZoneInfos zone optional,
// ResourceURL resourceURL
// }
//
// /**
// * @desc Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element
// */
// type Json.String AccessPointId;
//
// /**
// * @desc A type containing access point information.
// * @member accessPointId
// * @member connectionType The connection type for the access poin
// * @member operationStatus The operation status of the access point
// * @member numberOfUsers The number of users currently on the access point.
// * @member resourceURL Self referring URL.
// */
// type record AccessPointInfo {
// AccessPointId accessPointId,
// LocationInfo locationInfo optional,
// ConnectionType connectionType,
// OperationStatus operationStatus,
// NumberOfUsers numberOfUsers,
// InterestRealm interestRealm,
// ResourceURL resourceURL
// }
// type record of AccessPointInfo AccessPointInfos;
//
// /**
// * @desc A type containing list of access points.
// * @member zoneId
// * @member accessPoint Collection of the access point information list.
// * @member resourceURL
// */
// type record AccessPointList {
// ZoneId zoneId,
// AccessPointInfos accessPoint optional,
// ResourceURL resourceURL
// }
//
// /**
// * @desc Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).
// */
// type Json.String Address
//
// /**
// * @desc Reserved for future use.
// */
// type Json.String AncillaryInfo;
//
// /**
// * @desc CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [\
//REST_NetAPI_Common].
// */
// type Json.String CallbackData;
//
// /**
// * @desc Notification callback definition.
// * @member notifyURL
// */
// type record CallbackReference {
// NotifyURL notifyURL
// }
//
// /**
// * @desc Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.
// */
// type Json.String ClientCorrelator;
//
// /**
// * @desc The connection type for the access point
// */
// type enumerated ConnectionType {
// Femto,
// LTE_femto,
// Smallcell,
// LTE_smallcell,
// Wifi,
// Pico,
// Micro,
// Macro,
// Wimax,
// Unknown
// }
//
// /**
// * @desc Contextual information of a user location (e.g., aisle, floor, room number, etc.)
// */
// type Json.String ContextLocationInfo;
//
// /**
// * @desc Zone ID
// */
// type Json.String CurrentAccessPointId;
//
// /**
// * @desc Period (in seconds) of time notifications are provided for. If set to \"0\" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.
// */
// type Json.Date Duration;
//
// /**
// * @desc Interest realm of access point (e.g. geographical area, a type of industry etc.).
// */
// type Json.String InterestRealm;
//
// /**
// * @desc Link to other resources
// * @member rel Describes the relationship between the URI and the resource.
// * @member href UTI
// */
// type record Link {
// Json.String rel,
// Json.String href
// }
//
// /**
// * @desc The URL of your own listener application.
// */
// type Json.String NotifyURL;
//
// /**
// * @desc The number of access points within the zone
// */
// type UInt32 NumberOfAccessPoints;
//
// /**
// * @desc Number of inoperable access points within the zone.
// */
// type UInt32 NumberOfUnserviceableAccessPoints;
//
// /**
// * @desc The number of users currently on the access point.
// */
// type UInt32 NumberOfUsers;
//
// /**
// * @desc Threshold number of users in an access point which if crossed shall cause a notification.
// */
// type UInt32 NumberOfUsersAPThreshold;
//
// /**
// * @desc This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription.
// */
// type UInt32 NumberOfUsersInAP;
//
// /**
// * @desc Threshold number of users in a zone which if crossed shall cause a notification.
// */
// type UInt32 NumberOfUsersInZone;
//
// /**
// * @desc Threshold number of users in a zone which if crossed shall cause a notification.
// */
// type UInt32 NumberOfUsersZoneThreshold;
//
// /**
// * @desc The operation status of the access point
// */
// type enumerated OperationStatus {
// Serviceable,
// Unserviceable,
// Unknown
// }
//
// /**
// * @desc Zone ID
// */
// type Json.String PreviousAccessPointId;
//
// /**
// * @desc Self referring URL
// */
// type Json.AnyURI ResourceURL;
//
// /**
// * @desc Indicates the time of day for zonal presence notification.
// */
// type Json.String Timestamp;
//
// /**
// * @desc Time zone of access point
// */
// type Json.String Timezone;
//
// /**
// * @desc User event
// */
// type enumerated UserEventType {
// Entering,
// Leaving,
// Transferring
// }
//
// /**
// * @desc List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.
// */
// type record of UserEventType UserEventCriteria;
//
// /**
// * @desc A type containing user information.
// * @member address_ Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).
// * @member accessPointId Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171).
// * @member zoneId Identifier of zone
// * @member resourceURL Self referring URL.
// * @member locationInfo A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.
// * @desc A type containing user tracking subscription.
// * @member
// */
// type record UserTrackingSubscription {
// ClientCorrelator clientCorrelator optional,
// CallbackReference callbackReference,
// Address address_,
// UserEventCriteria userEventCriteria optional,
// ResourceURL resourceURL optional
// } with {
// variant (address_) "name as 'address'";
// }
//
// /**
// * @desc A type containing zonal presence notification
// * @member
// * @member link Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification.
// * @desc A type containing zonal traffic subscription
// * @member
// * @member interestRealm Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).
// * @member userEventCriteria List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.
// * @member resourceURL
// */
// type record ZonalTrafficSubscription {
// ClientCorrelator clientCorrelator optional,
// CallbackReference callbackReference,
// ZoneId zoneId,
// InterestRealm interestRealm optional,
// UserEventCriteria userEventCriteria optional,
// Duration duration optional,
// ResourceURL resourceURL optional
// }
//
// /**
// * @desc Identifier of zone
// */
// type Json.String ZoneId;
//
// /**
// * @desc A type containing zone status notification.
* @desc Represents the state of transferring the user context to another application instance
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.2.2-1: Attributes of RegistrationInfo
*/
typeenumeratedContextTransferState{
NOT_TRANSFERRED,
USER_CONTEXT_TRANSFER_COMPLETED
}with{
variant"JSON: as number"
}
/**
* @desc This data type represents the adjacent application instance information of the adjacent_app_instances resource
* @member appInstanceId Identifier of the application instance
* @member appDId Identifier of the application descriptor
* @member appInstanceCommLink It specifies the communication interface of application instance
* @member mecHostInformation The MEC host where the application instance is running on
* @member registeredInstanceId Identifier of the application instance that registers to the AMS, which is instantiated from the application descriptor identified by the attribute "appDId"
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.2.3-1: Attributes of AdjacentAppInstanceInfo
* @desc This type represents a subscription to mobility procedure notifications from AMS
* @member subscriptionType Shall be set to "MobilityProcedureSubscription"
* @member callbackReference URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service
* @member requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4]
* @member websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @member links Hyperlink related to the resource
* @member filterCriteria List of filtering criteria for the subscription
* @member expiryDeadline Identifies a boundary after which the subscription will expire
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.3.2-1: Attributes of the MobilityProcedureSubscription
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.3.2-1: Attributes of the MobilityProcedureSubscription
*/
typerecordLinks{
LinkTypeself_
}with{
variant(self_)"name as 'self'";
}
/**
* @desc List of filtering criteria for the subscription
* @member appInstanceId Identifier of the application instance that registers to the Application Mobility Service
* @member associateId Identifiers to associate the information for specific UE(s) and flow(s)
* @member mobilityStatus In case mobilityStatus is not included in the subscription request
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.3.2-1: Attributes of the MobilityProcedureSubscription
*/
typerecordFilterCriteria{
Json.StringappInstanceIdoptional,
AssociateIdassociateIdoptional,
MobilityStatusmobilityStatusoptional
}
typerecordofFilterCriteriaFilterCriterias;
/**
* @desc This type represents a subscription to notification about the change on adjacent application instance information from AMS
* @member subscriptionType Shall be set to "AdjacentAppInfoSubscription"
* @member callbackReference URI selected by the service consumer to receive notifications on the subscribed Application Mobility Service
* @member requestTestNotification Set to TRUE by the service consumer to request a test notification via HTTP on the callbackReference URI, as specified in ETSI GS MEC 009 [4]
* @member websockNotifConfig Provides details to negotiate and signal the use of a Websocket connection between the location server and the service consumer for notifications
* @member links Hyperlink related to the resource
* @member filterCriteria List of filtering criteria for the subscription
* @member expiryDeadline Identifies a boundary after which the subscription will expire
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.3.3-1: Attributes of the AdjacentAppInfoSubscription
* @desc List of filtering criteria for the subscription
* @member appInstanceId Identifier of the application instance that registers to the Application Mobility Service
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.3.3-1: Attributes of the AdjacentAppInfoSubscription
*/
typerecordAdjacentFilterCriteria{
Json.StringappInstanceIdoptional
}
/**
* @desc This type represents a list of links related to currently existing subscriptions for the service consumer
* @member links The URI referring to the subscription
* @member subscription The service consumer's subscriptions
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.3.4-1: Attributes of the SubscriptionLinkList
*/
typerecordSubscriptionLinkList{
Linkslinks,
Subscriptionsubscription
}with{
variant(links)"name as '_links'";
}
/**
* @desc The service consumer's subscriptions
* @member href The URI referring to the subscription
* @member subscriptionType Type of the subscription
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.3.4-1: Attributes of the SubscriptionLinkList
*/
typerecordSubscription{
Json.AnyURIhref,
Json.StringsubscriptionType
}
/**
* @desc This type represents a notification from AMS with regards to mobility procedure
* @member notificationType Shall be set to "MobilityProcedureNotification"
* @member timeStamp Date and time of the generation of the notification
* @member associateId Identifiers to associate the information for specific UE(s) and flow(s)
* @member mobilityStatus Indicate the status of the UE mobility
* @member targetAppInfo Identifiers to associate the information of target application instance
* @member links Object containing hyperlinks related to the resource
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.2-1: Attributes of the MobilityProcedureNotification
*/
typerecordMobilityProcedureNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
AssociateIdassociateId,
MobilityStatusmobilityStatus,
TargetAppInfotargetAppInfooptional,
Linkslinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Identifiers to associate the information of target application instance
* @member appInstanceId Identifiers of the target application instance
* @member CommunicationInterface It specifies the communication interface of the application instance
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.2-1: Attributes of the MobilityProcedureNotification
*/
typerecordTargetAppInfo{
Json.StringappInstanceId,
CommunicationInterfacecommInterfaceoptional
}
/**
* @desc Indicate the status of the UE mobility
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.2-1: Attributes of the MobilityProcedureNotification
*/
typeenumeratedMobilityStatus{
INTERHOST_MOVEOUT_TRIGGERED(1),
INTERHOST_MOVEOUT_COMPLETED(2),
INTERHOST_MOVEOUT_FAILED(3)
}with{
variant"JSON: as number"
}
/**
* @desc This type represents a notification from AMS with regards to change on adjacent application instances information
* @member notificationType Shall be set to "MobilityProcedureNotification"
* @member timeStamp Date and time of the generation of the notification
* @member adjacentAppInfo 0 to N identifiers to associate the information for adjacent application instances
* @member links Object containing hyperlinks related to the resource
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.3-1: Attributes of the AdjacentAppInfoNotification
*/
typerecordAdjacentAppInfoNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
AdjacentAppInfoadjacentAppInfooptional,
Linkslinks
}with{
variant(links)"name as '_links'";
}
typerecordofTargetAppInfoAdjacentAppInfo;
/**
* @desc This data type represents a notification from AMS with regards to expiry of the existing subscription
* @member notificationType Shall be set to "ExpiryNotification"
* @member timeStamp Date and time of the generation of the notification
* @member links Object containing hyperlinks related to the resource
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.4-1: Attributes of the ExpiryNotification
*/
typerecordExpiryNotification{
Json.StringnotificationType,
TimeStamptimeStampoptional,
Linkslinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc This data type represents the Application Mobility Service level information used in the Application Mobility Service APIs
* @member appMobilityServiceLevel Provides an option for the application instance (server) to communicate with the application client before relocating this application instance to another MEC host
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.5-1: Attributes of AppMobilityServiceLevel
* @desc Provides an option for the application instance (server) to communicate with the application client before relocating this application instance to another MEC host
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.5-1: Attributes of AppMobilityServiceLevel
*/
typeenumeratedAppMobilityServiceLevelEnmu{
APP_MOBILITY_NOT_ALLOWED(1),
APP_MOBILITY_WITH_CONFIRMATION(2),
APP_MOBILITY_WITHOUT_CONFIRMATION(3)
}with{
variant"JSON: as number"
}
/**
* @desc This data type represents a notification from AMS with regards to expiry of the existing subscription
* @member notificationType Shall be set to "TestNotification"
* @member links Object containing hyperlinks related to the resource
* @see ETSI GS MEC 021 V3.1.1 (2023-10) Table 7.4.6-1: Attributes of the TestNotification
*/
typerecordTestNotification{
Json.StringnotificationType,
Linkslinks
}with{
variant(links)"name as '_links'";
}
/**
/**
* @desc This type represents the communication interface of an application instance
* @desc This type represents the communication interface of an application instance
* @member ipAddresses Entry point information of the service as one or more pairs of IP address and port
* @member ipAddresses Entry point information of the service as one or more pairs of IP address and port
* @see ETSI GS MEC 021 Clause 7.5.2 Type: CommunicationInterface
* @desc An application Descriptor (AppD) is a part of application package, and describes application requirements and rules required by application provider
/**
* @member appDid Identifier of this MEC application descriptor. This attribute shall be globally unique
* @desc An application Descriptor (AppD) is a part of application package, and describes application requirements and rules required by application provider
* @member appName Name to identify the MEC application
* @member appDid Identifier of this MEC application descriptor. This attribute shall be globally unique
* @member appProvider Provider of the application and of the AppD
* @member appName Name to identify the MEC application
* @member appSoftVersion Identifies the version of software of the MEC application
* @member appProvider Provider of the application and of the AppD
* @member appDVersion Identifies the version of the application descriptor
* @member appSoftVersion Identifies the version of software of the MEC application
* @member mecVersion Identifies version(s) of MEC system compatible with the MEC application described in this version of the AppD
* @member appDVersion Identifies the version of the application descriptor
* @member appInfoName Human readable name for the MEC application
* @member mecVersion Identifies version(s) of MEC system compatible with the MEC application described in this version of the AppD
* @member appDescription Human readable description of the MEC application
* @member appInfoName Human readable name for the MEC application
* @member virtualComputeDescriptor Describes CPU and memory requirements, as well as optional additional requirements, such as disk and acceleration related capabilities, of the virtualisation container used to realize this MEC application
* @member appDescription Human readable description of the MEC application
* @member osContainerDescriptor Describes CPU, memory requirements and limits, and software images of the OS Containers realizing this MEC application corresponding to OS Containers sharing the same host and same network namespace
* @member virtualComputeDescriptor Describes CPU and memory requirements, as well as optional additional requirements, such as disk and acceleration related capabilities, of the virtualisation container used to realize this MEC application
* @member swImageDescriptor Describes the descriptors of the software image to be used by the virtualisation container used to realize this MEC application
* @member swImageDescriptor Describes the descriptors of the software image to be used by the virtualisation container used to realize this MEC application
* @member virtualStorageDescriptor Defines descriptors of virtual storage resources to be used by the MEC application
* @member appExtCpd Describes external interface(s) exposed by this MEC application
* @member appExtCpd Describes external interface(s) exposed by this MEC application
* @member appServiceRequired Describes services a MEC application requires to run
* @member appServiceRequired Describes services a MEC application requires to run
* @member appServiceOptional Describes services a MEC application may use if available
* @member appServiceOptional Describes services a MEC application may use if available
* @member appServiceProduced Describes services a MEC application is able to produce to the platform or other MEC applications
* @member appServiceProduced Describes services a MEC application is able to produce to the platform or other MEC applications
* @member appFeatureRequired Describes features a MEC application requires to run
* @member appFeatureRequired Describes features a MEC application requires to run
* @member appFeatureOptional Describes features a MEC application may use if available
* @member appFeatureOptional Describes features a MEC application may use if available
* @member transportDependencies Transports, if any, that this application requires to be provided by the platform
* @member transportDependencies Transports, if any, that this application requires to be provided by the platform
* @member appTrafficRule Describes traffic rules the MEC application requires
* @member appTrafficRule Describes traffic rules the MEC application requires
* @member appDNSRule Describes DNS rules the MEC application requires
* @member appDNSRule Describes DNS rules the MEC application requires
* @member appLatency Describes the maximum latency tolerated by the MEC application
* @member appLatency Describes the maximum latency tolerated by the MEC application
* @member terminateAppInstanceOpConfig Configuration parameters for the Terminate application instance operation
* @member terminateAppInstanceOpConfig Configuration parameters for the Terminate application instance operation
* @member changeAppInstanceStateOpConfig Configuration parameters for the change application instance state operation
* @member changeAppInstanceStateOpConfig Configuration parameters for the change application instance state operation
* @member userContextTransferCapability If the application supports the user context transfer capability
* @member userContextTransferCapability If the application supports the user context transfer capability
* @member appNetworkPolicy It represents the application network policy of carrying the application traffic
* @member appNetworkPolicy It represents the application network policy of carrying the application traffic
* @see ETSI GS MEC 010-2 Clause 6.2.1.2.2
* @member mciopId Identifies the MCIOP in the application package, used in containerized workload management, when the application is realized by a set of OS containers
*/
* @member mcioIdentificationData Name and type of the Managed Container Infrastructure Object (MCIO) that realizes this application. It allows the VNFM to identify the MCIO e.g. when querying the Container Infrastructure Service Management (CISM).
typerecordAppD{
* @member logicalNode The logical node requirements
Json.StringappDId,
* @member requestAdditionalCapabilities Specifies requirements for additional capabilities. These can be for a range of purposes
Json.StringappName,
* @member mcioConstraintParams The parameter names for constraints expected to be assigned to MCIOs realizing this application
* @see ETSI GS MEC 010-2 Clause 6.2.1.3 Type: VirtualComputeDescriptor
}
*/
typerecordVirtualComputeDescriptor{
typerecordVirtualNetworkInterfaceRequirement{
// FIXME shall follow the definition in clause 7.1.9.2.2 of ETSI GS NFV‑IFA 011 [0], with the following consideration:
// FIXME For the definition of the VirtualNetworkInterfaceRequirements, please refer to clause 7.1.6.6 of ETSI GS NFV-IFA 011 [0]. For the definition of Cpd, please refer to clause 7.1.6.3 of ETSI GS NFV-IFA 011 [0]
* @desc The FeatureDependency data type supports the specification of requirements of a MEC application related to a feature of MEC platform
}
* @member featureName The name of the feature, for example, UserApps, UEIdentity, etc
typerecordofAppExternalCpdAppExternalCpds;
* @member version The version of the feature
* @see ETSI GS MEC 010-2 Clause 6.2.1.8 Type: FeatureDependency
typerecordVirtualNetworkInterfaceRequirement{
*/
// FIXME For the definition of the VirtualNetworkInterfaceRequirements, please refer to clause 7.1.6.6 of ETSI GS NFV-IFA 001 [1]. For the definition of Cpd, please refer to clause 7.1.6.3 of ETSI GS NFV-IFA 001 [1]
typerecordFeatureDependency{
}
Json.StringfeatureName,
Json.Stringversion
typerecordAdditionalServiceData{
}
// FIXME For the definition of the VirtualNetworkInterfaceRequirements, please refer to clause 7.1.18.3 of ETSI GS NFV IFA 011 [1].
}
/**
* @desc The TrafficRuleDescriptor data type describes traffic rules related to a MEC application
* @desc Definition of filter type: per FLOW or PACKET
Json.StringsrcTunnelAddressoptional,
*/
Json.StringtgtTunnelAddressoptional,
typeenumeratedFilterType{
Json.StringsrcTunnelPortoptional,
FLOW,
Json.StringdstTunnelPortoptional,
PACKET
integerqCIoptional,
}with{
integerdSCPoptional,
variant"JSON: as number"
integertCoptional
}
}
/**
/**
* @desc Identifies the action of the MEC host data plane, when a packet matches the trafficFilter
* @desc The InterfaceDescriptor data type describes an interface of a MEC application
*/
* @member interfaceType Type of interface
typeenumeratedAction{
* @member tunnelInfo Included only if the destination address type is tunnel
DROP(0),
* @member srcMACAddress The source address identifies the MAC address of the interface
FORWARD_DECAPSULATED(1),
* @member dstMACAddress The destination address identifies the MAC address of the destination
FORWARD_ENCAPSULATED(2),
* @see ETSI GS MEC 010-2 Clause 6.2.1.11 Type: InterfaceDescriptor
PASSTHROUGH(3),
*/
DUPLICATED_DECAPSULATED(4),
typerecordInterfaceDescriptor{
DUPLICATE_ENCAPSULATED(5)
InterfaceTypeinterfaceType,
}with{
TunnelInfotunnelInfooptional,
variant"JSON: as number"
Json.StringsrcMACAddressoptional,
}
Json.StringdstMACAddressoptional
}
/**
* @desc The TrafficFilter data type supports the specification of MEC application requirements related to traffic rules
typeenumeratedInterfaceType{
* @member srcAddress An IP address or a range of IP addresses
TUNNEL,
* @member dstAddress A IP address or a range of IP addresses
MAC,
* @member srcPort A port or a range of ports
IP
* @member dstPort A port or a range of ports
}with{
* @member protocol Specify the protocol of the traffic filter
variant"JSON: as number"
* @member tag Used for tag based traffic rule
}
* @member uri An URI label, in application layer
* @member packetLabel A customized packet label in network layer, as defined by the owner of the MEC platform, is used to filter the traffic
/**
* @member srcTunnelAddressUsed for GTP tunnel based traffic rule
* @desc The TunnelInfo data type supports the specification of MEC application requirements related to traffic rules
* @member tgtTunnelAddress Used for GTP tunnel based traffic rule
* @member tunnelType Type of tunnel
* @member srcTunnelPort Used for GTP tunnel based traffic rule
* @member tunnelDstAddress Destination address of the tunnel
* @member qCI Used to match all packets that have the same QCI
* @member tunnelSrcAddress Source address of the tunnel
* @member dSCP Used to match all IPv4 packets that have the same DSCP
* @member tunnelSpecificData Parameters specific to the tunnel
* @member tC Used to match all IPv6 packets that have the same TC
* @see ETSI GS MEC 010-2 Clause 6.2.1.12 Type: TunnelInfo
* @see ETSI GS MEC 010-2 Clause 6.2.1.10 Type: TrafficFilter
*/
*/
typerecordTunnelInfo{
typerecordTrafficFilter{
TunnelTypetunnelType,
Json.StringsrcAddressoptional,
Json.StringtunnelDstAddress,
Json.StringdstAddressoptional,
Json.StringtunnelSrcAddress,
Json.StringsrcPortoptional,
Json.StringtunnelSpecificDataoptional
Json.StringdstPortoptional,
}
Json.Stringprotocoloptional,
Json.Stringtagoptional,
typeenumeratedTunnelType{
Json.Stringurioptional,
GTP_U,
Json.StringpacketLabeloptional,
GRE
Json.StringsrcTunnelAddressoptional,
}with{
Json.StringtgtTunnelAddressoptional,
variant"JSON: as number"
Json.StringsrcTunnelPortoptional,
}
Json.StringdstTunnelPortoptional,
Json.IntegerqCIoptional,
/**
Json.IntegerdSCPoptional,
* @desc The DNSRuleDescriptor data type describes DNS rules associated with a MEC application
Json.IntegertCoptional
* @member dnsRuleId Identifies the DNS Rule
}
* @member domainName FQDN of the DNS rule
* @member ipAddressType Specifies the IP address type
/**
* @member ttl Time-to-live value
* @desc The InterfaceDescriptor data type describes an interface of a MEC application
* @see ETSI GS MEC 010-2 Clause 6.2.1.13 Type: DNSRuleDescriptor
* @member interfaceType Type of interface
*/
* @member tunnelInfo Included only if the destination address type is tunnel
typerecordDNSRuleDescriptor{
* @member srcMACAddress The source address identifies the MAC address of the interface
Json.StringdnsRuleId,
* @member dstMACAddress The destination address identifies the MAC address of the destination
Json.StringdomainName,
* @member dstIPAddressIf the interface type is IP, the destination address identifies the IP address of the destination
Json.StringipAddressType,
* @see ETSI GS MEC 010-2 Clause 6.2.1.11 Type: InterfaceDescriptor
IpAddressipAddress,
*/
integerttloptional
typerecordInterfaceDescriptor{
}
InterfaceTypeinterfaceType,
TunnelInfotunnelInfooptional,
/**
Json.StringsrcMACAddressoptional,
* @desc The LatencyDescriptor data type describes latency requirements for a MEC application
Json.StringdstMACAddressoptional,
* @member maxLatency The value of the maximum latency in nano seconds tolerated by the MEC application
Json.StringdstIPAddressoptional
* @see ETSI GS MEC 010-2 Clause 6.2.1.14 Type: LatencyDescriptor
}
*/
typerecordLatencyDescriptor{
typeenumeratedInterfaceType{
UInt32maxLatency
TUNNEL(0),
}
MAC(1),
IP(2)
/**
}with{
* @desc The TerminateAppInstanceOpConfig data type supports the specification of MEC application requirements related to terminate application instance operation configuration
variant"JSON: as number"
* @member
}
* @see ETSI GS MEC 010-2 Clause 6.2.1.15 Type: TerminateAppInstanceOpConfig
*/
/**
typerecordTerminateAppInstanceOpConfig{
* @desc The TunnelInfo data type supports the specification of MEC application requirements related to traffic rules
// FIXME shall follow the definition in clause 7.1.5.7 of ETSI GS NFV‑IFA 011 [0].
* @member tunnelType Type of tunnel
}
* @member tunnelDstAddress Destination address of the tunnel
* @member tunnelSrcAddress Source address of the tunnel
/**
* @member tunnelSpecificData Parameters specific to the tunnel
* @desc The ChangeAppInstanceStateOpConfig data type supports the specification of MEC application requirements related to change application instance state operation configuration
* @see ETSI GS MEC 010-2 Clause 6.2.1.12 Type: TunnelInfo
* @member
*/
* @see ETSI GS MEC 010-2 Clause 6.2.1.16 Type: ChangeAppInstanceStateOpConfig
typerecordTunnelInfo{
*/
TunnelTypetunnelType,
typerecordChangeAppInstanceStateOpConfig{
Json.StringtunnelDstAddress,
// FIXME shall follow the definition in clause 7.1.5.8 of ETSI GS NFV‑IFA 011 [0].
Json.StringtunnelSrcAddress,
}
Json.StringtunnelSpecificDataoptional
}
/**
* @desc The ServiceDependency data type supports the specification of requirements of a service-consuming MEC application related to a MEC service
typeenumeratedTunnelType{
* @member serName The name of the service
GTP_U(0),
* @member serCategory A Category reference of the service
GRE(1)
* @member version The version of the service
}with{
* @member serTransportDependencies Indicates transport and serialization format dependencies of consuming the service
variant"JSON: as number"
* @member requestedPermissions
}
* @see ETSI GS MEC 010-2 Clause 6.2.1.17 Type: ServiceDependency
*/
/**
typerecordServiceDependency{
* @desc The DNSRuleDescriptor data type describes DNS rules associated with a MEC application
Json.StringserName,
* @member dnsRuleId Identifies the DNS Rule
CategoryRefserCategoryoptional,
* @member domainName FQDN of the DNS rule
Json.Stringversion,
* @member ipAddressType Specifies the IP address type
* @see ETSI GS MEC 010-2 Clause 6.2.1.13 Type: DNSRuleDescriptor
}
*/
typerecordDNSRuleDescriptor{
/**
Json.StringdnsRuleId,
* @desc The TransportDependency data type supports the specification of requirements of a MEC application related to supported transport bindings (each being a combination of a transport with one or more serializers)
Json.StringdomainName,
* @member transport Information about the transport in this transport binding
Json.StringipAddressType,
* @member serializers Information about the serializers in this transport binding, as defined in the SerializerType type in ETSI GS MEC 011 [17]i.0
IpAddressipAddress,
* @member labels Set of labels that allow to define groups of transport bindings
Json.Integerttloptional
* @see ETSI GS MEC 010-2 Clause 6.2.1.18 Type: TransportDependency
}
*/
typerecordofDNSRuleDescriptorDNSRuleDescriptors;
typerecordTransportDependency{
TransportDescriptortransport,
/**
SerializerTypeserializers,
* @desc The LatencyDescriptor data type describes latency requirements for a MEC application
Labelslabels
* @member maxLatency The value of the maximum latency in nano seconds tolerated by the MEC application
}
* @see ETSI GS MEC 010-2 Clause 6.2.1.14 Type: LatencyDescriptor
*/
typerecordlength(1..infinity)ofJson.StringLabels;
typerecordLatencyDescriptor{
Json.UIntegermaxLatency
/**
}
* @desc The TransportDescriptor data type describes a transport
* @member name The name of this transport
/**
* @member description Human-readable description of this transport
* @desc The TerminateAppInstanceOpConfig data type supports the specification of MEC application requirements related to terminate application instance operation configuration
* @member type_ Type of the transport, as defined in the TransportTypes type in ETSI GS MEC 011 [17]i.0
* @member
* @member protocol The name of the protocol used. Shall be set to "HTTP" for a REST API
* @see ETSI GS MEC 010-2 Clause 6.2.1.15 Type: TerminateAppInstanceOpConfig
* @member version The version of the protocol used
*/
* @member security Information about the security used by the transport in ETSI GS MEC 011 [17]i.0
typerecordTerminateAppInstanceOpConfig{
* @member implSpecificInfo Additional implementation specific details of the transport
// FIXME shall follow the definition in clause 7.1.5.7 of ETSI GS NFV‑IFA 001 [1].
* @see ETSI GS MEC 010-2 Clause 6.2.1.19 Type: TransportDescriptor
}
*/
typerecordTransportDescriptor{
/**
Json.Stringname,
* @desc The ChangeAppInstanceStateOpConfig data type supports the specification of MEC application requirements related to change application instance state operation configuration
Json.Stringdescriptionoptional,
* @member
TransportTypestype_,
* @see ETSI GS MEC 010-2 Clause 6.2.1.16 Type: ChangeAppInstanceStateOpConfig
Json.Stringprotocol,
*/
Json.Stringversion,
typerecordChangeAppInstanceStateOpConfig{
SecurityInfosecurity,
// FIXME shall follow the definition in clause 7.1.5.8 of ETSI GS NFV‑IFA 001 [1].
Json.StringimplSpecificInfooptional
}
}
/**
/**
* @desc The ServiceDependency data type supports the specification of requirements of a service-consuming MEC application related to a MEC service
* @desc This data type represents the information of user context transfer capability of application
* @member serName The name of the service
* @member statefulApplication If the application is stateful, this attribute shall be set to true
* @member serCategory A Category reference of the service
* @member userContextTransferSupport This attribute shall be present if the application is stateful and shall be absent otherwise
* @member version The version of the service
* @see ETSI GS MEC 010-2 Clause 6.2.1.20 Type: UserContextTransferCapability
* @member serTransportDependencies Indicates transport and serialization format dependencies of consuming the service
*/
* @member requestedPermissions
typerecordUserContextTransferCapability{
* @see ETSI GS MEC 010-2 Clause 6.2.1.17 Type: ServiceDependency
Json.BoolstatefulApplication,
*/
Json.BooluserContextTransferSupportoptional
typerecordServiceDependency{
}
Json.StringserName,
CategoryRefserCategoryoptional,
/**
Json.Stringversion,
* @desc This data type represents the network policy in the application instantiation and operation
* @member steeredNetwork This attribute provides an option for the application to specify a type of network to carry the application traffic
Json.StringrequestedPermissionsoptional
* @member steeredNetwork Provides an option for the application to specify a type of network to carry the application traffic
}
* @see ETSI GS MEC 010-2 Clause 6.2.1.21 Type: AppNetworkPolicy
typerecordofServiceDependencyServiceDependencies;
*/
typerecordAppNetworkPolicy{
/**
SteeredNetworksteeredNetwork
* @desc The TransportDependency data type supports the specification of requirements of a MEC application related to supported transport bindings (each being a combination of a transport with one or more serializers)
}
* @member transport Information about the transport in this transport binding
* @member serializers Information about the serializers in this transport binding, as defined in the SerializerType type in ETSI GS MEC 011 [17]i.0
/**
* @member labels Set of labels that allow to define groups of transport bindings
* @desc Provides an option for the application to specify a type of network to carry the application traffic
* @see ETSI GS MEC 010-2 Clause 6.2.1.18 Type: TransportDependency
* @member cellularNetwork The application prefers to a cellular network to carry its traffic
*/
* @member wi_fiNetwork The application prefers to a Wi-Fi network to carry its traffic
typerecordTransportDependency{
* @member fixedAccessNetwork The application prefers to a fixed access network to carry its traffic
TransportDescriptortransport,
* @see ETSI GS MEC 010-2 Clause 6.2.1.21 Type: AppNetworkPolicy
* @member protocol The name of the protocol used. Shall be set to "HTTP" for a REST API
* @member version The version of the protocol used
/**
* @member security Information about the security used by the transport in ETSI GS MEC 011 [17]i.0
* @desc The LocationConstraints data type supports the specification of MEC application requirements related to MEC application deployment location constraints
* @member implSpecificInfo Additional implementation specific details of the transport
* @member countryCode The two-letter ISO 3166 [0] country code in capital letters
* @see ETSI GS MEC 010-2 Clause 6.2.1.19 Type: TransportDescriptor
* @member civicAddressElement Zero or more elements comprising the civic address
*/
* @member area Geographic area
typerecordTransportDescriptor{
* @see ETSI GS MEC 010-2 Clause 6.2.2.2 Type: LocationConstraints
* @desc This data type represents the information of user context transfer capability of application
typerecordGeometry{
* @member statefulApplication If the application is stateful, this attribute shall be set to true
Json.Stringtype_,
* @member userContextTransferSupport This attribute shall be present if the application is stateful and shall be absent otherwise
Coordinatescoordinates
* @see ETSI GS MEC 010-2 Clause 6.2.1.20 Type: UserContextTransferCapability
}with{
*/
variant(type_)"name as 'type'";
typerecordUserContextTransferCapability{
}
Json.BoolstatefulApplication,
typerecordofJson.NumberCoordinate;
Json.BooluserContextTransferSupportoptional
typerecordofCoordinateCoordinates;
}
typerecordProperty{
Json.Stringkey,
/**
Json.Stringvalue_
* @desc This data type represents the network policy in the application instantiation and operation
}with{
* @member steeredNetwork This attribute provides an option for the application to specify a type of network to carry the application traffic
variant(value_)"name as 'value'";
* @member steeredNetwork Provides an option for the application to specify a type of network to carry the application traffic
}
* @see ETSI GS MEC 010-2 Clause 6.2.1.21 Type: AppNetworkPolicy
typerecordofPropertyProperties;
*/
typerecordPolygon{
typerecordAppNetworkPolicy{
Json.Stringtype_,
SteeredNetworksteeredNetwork
Geometrygeometry,
}
Propertiesproperties,
Json.Stringthis_
/**
}with{
* @desc Provides an option for the application to specify a type of network to carry the application traffic
variant(type_)"name as 'type'";
* @member cellularNetwork The application prefers to a cellular network to carry its traffic
variant(this_)"name as 'this'";
* @member wi_fiNetwork The application prefers to a Wi-Fi network to carry its traffic
}
* @member fixedAccessNetwork The application prefers to a fixed access network to carry its traffic
* @see ETSI GS MEC 010-2 Clause 6.2.1.21 Type: AppNetworkPolicy
/**
*/
* @desc The data type of CreateAppInstanceRequest represents the parameters for creating a new application instance resource
typerecordSteeredNetwork{
* @member appDId The application descriptor identifier
Json.BoolcellularNetworkoptional,
* @member appInstanceName Human-readable name of the application instance to be created
Json.Boolwi_fiNetworkoptional,
* @member appInstanceDescription Human-readable description of the application instance to be created
Json.BoolfixedAccessNetworkoptional
* @member appPlacementInfo Describes the information of selected MEC platform for the application instance to associate
}with{
* @see ETSI GS MEC 010-2 Clause 6.2.2.3 Type: CreateAppInstanceRequest
variant(wi_fiNetwork)"name as 'wi-fiNetwork'";
*/
}
typerecordCreateAppInstanceRequest{
Json.StringappDId,
/**
Json.StringappInstanceNameoptional,
* @desc The OsContainerDescriptor data type supports the specification of requirements of container compute resources when a MEC application is intended to be realized by one or a set of OS Containers sharing the same host and same networking namespace
Json.StringappInstanceDescriptionoptional,
* @member
MepInformationappPlacementInfooptional
* @see ETSI GS MEC 010-2 Clause 6.2.1.22 Type: OsContainerDescriptor
}
*/
typerecordOsContainerDescriptor{
/**
// FIXME shall follow the definition in clause 7.1.6.2 of ETSI GS NFV‑IFA 001 [1].
* @desc The data type of AppInstanceInfo represents the parameters of instantiated application instance resources
}
* @member id Identifier of the application instance represented by this data type
* @member appInstanceName Name of the application instance
* @member appInstanceDescription Human-readable description of the application instance to be created
/**
* @member appDId The application descriptor identifier is managed by the application provider to identify the application descriptor in a globally unique way
* @desc The McioIdentificationData data type contains data needed to identify an MCIO when interworking with the CISM
* @member appProvider The onboarded application package provider name
* @member
* @member appName The onboarded application name
* @see ETSI GS MEC 010-2 Clause 6.2.1.23 Type: McioIdentificationData
* @member appSoftVersion The application software version
*/
* @member appDVersion Version of the application descriptor
typerecordMcioIdentificationData{
* @member appPkgId Identifier of the onboarded application package
// FIXME shall follow the definition in clause 6.2.75.2 of ETSI GS NFV-SOL 001 [19].
* @member vimConnectionInfo Information about VIM connections to be used for managing the resources for the application instance
}
* @member nsInstanceId Identifier of the NS instance created by NFVO in which the MEC application has been instantiated as a VNF instance
* @member vnfInstanceId Identifier of the VNF instance created by VNFM that the MEC application has been instantiated as
/**
* @member instantiationState Instantiation state of the application instance
* @desc The LogicalNodeRequirements data type describes compute, memory and I/O requirements that are to be associated with the logical node of infrastructure
* @member instantiatedAppState Information specific to an instantiated application. This attribute shall be present if the instantiationState attribute value is INSTANTIATED
* @member
* @member instantiatedAppState Operational state is applicable in the instantiation state INSTANTIATED
* @see ETSI GS MEC 010-2 Clause 6.2.1.24 Type: LogicalNodeRequirements
* @member _links Links to resources related to this resource
*/
* @see ETSI GS MEC 010-2 Clause 6.2.2.4 Type: AppInstanceInfo
typerecordLogicalNodeRequirements{
*/
// FIXME shall follow the definition in clause 7.1.9.6.2 of ETSI GS NFV-IFA 011 [1].
typerecordAppInstanceInfo{
}
Json.Stringid,
Json.StringappInstanceNameoptional,
/**
Json.StringappInstanceDescriptionoptional,
* @desc The RequestedAdditionalCapabilityData data type supports the specification of requested additional capability for a particular application. Such a capability may be for acceleration or specific tasks
Json.StringappDId,
* @member
Json.StringappProvider,
* @see ETSI GS MEC 010-2 Clause 6.2.1.25 Type: RequestedAdditionalCapabilityData
Json.StringappName,
*/
Json.StringappSoftVersion,
typerecordRequestedAdditionalCapabilityData{
Json.StringappDVersion,
// FIXME shall follow the definition in clause 7.1.9.5.2 of ETSI GS NFV-IFA 011 [1].
Json.StringappPkgId,
}
VimConnectionInfovimConnectionInfooptional,
Json.StringnsInstanceIdoptional,
/**
Json.StringvnfInstanceIdoptional,
* @desc The LocationConstraints data type supports the specification of MEC application requirements related to MEC application deployment location constraints
InstantiationStateinstantiationState,
* @member countryCode The two-letter ISO 3166 [0] country code in capital letters
InstantiatedAppStateinstantiatedAppStateoptional,
* @member civicAddressElement Zero or more elements comprising the civic address
* @desc The data type of AppInstanceInfo represents the parameters of instantiated application instance resources
* @member appInstSelectorType
* @member appInstances
* @member appsFromProviders Match existing application instances, or those created in the future whilst the subscription is active, that belong to applications from certain providers
* @see ETSI GS MEC 010-2 Clause 6.2.2.5 Type: AppInstanceSubscriptionFilter
* @desc Match existing application instances, or those created in the future whilst the subscription is active, that belong to applications from certain providers
* @member appProvider Name of the application provider to match
* @member appProducts Match application instances that belong to application products with certain product names, from one particular provider
* @see ETSI GS MEC 010-2 Clause 6.2.2.5 Type: AppInstanceSubscriptionFilter
* @desc This data type represents a subscription filter criteria to match an application LCM operation occurrence
* @member appInstanceSubscriptionFilter this attribute contains filter criteria that selects one or more application instances on which to receive "LCM operation occurrence" notifications
* @member notificationTypes Match particular notification types
* @member operationTypes Type of the LCM operation represented by this application instance LCM operation occurrence
* @member operationStates Type of the LCM operation state represented by this application instance LCM operation occurrence
* @see ETSI GS MEC 010-2 Clause 6.2.2.6 Type: AppLcmOpOccSubscriptionFilter
* @desc This data type represents request parameters of the "Instantiate Application" operation
* @member virtualComputeDescriptor Describes CPU and memory requirements, as well as optional additional requirements, such as disk and acceleration related capabilities, of the virtualisatio n container used to realize the application instance to be created
* @member virtualStorageDescriptor Defines descriptors of virtual storage resources to be used by the application instance to be created
* @member selectedMECHostInfo Describes the information of selected host for the application instance
* @member locationConstraints Defines the location constraints for the application instance to be created
* @member vimConnectionInfo Information about VIM connections to be used for managing the resources for the application instance, or refer to external/externally-managed virtual links
* @member appTermCandsForCoord Provides sets of applications as termination candidate alternatives that the MEO/MEAO shall select from when utilizing the coordinate LCM operation exchange
* @see ETSI GS MEC 010-2 Clause 6.2.2.7 Type: InstantiateAppRequest
* @desc This data type represents request parameters of the "Operate Application" operation
* @member changeStateTo The desired operational state
* @member stopType The stop type
* @member gracefulStopTimeout The time interval (in seconds) to wait for the application instance to be taken out of service during graceful stop, before stopping the application
* @see ETSI GS MEC 010-2 Clause 6.2.2.8 Type: OperateAppRequest
*/
typerecordOperateAppRequest{
OperationalStatechangeStateTo,
StopTypestopTypeoptional,
UInt32gracefulStopTimeoutoptional
}
typeenumeratedStopType{
FORCEFUL,
GRACEFUL
}
/**
* @desc This data type represents request parameters of the "Terminate Application Request" operation
* @member terminationType Indicates whether forceful or graceful termination is requested
* @member gracefulTerminationTimeout This attribute is only applicable in case of graceful termination
* @see ETSI GS MEC 010-2 Clause 6.2.2.9 Type: TerminateAppRequest
*/
typerecordTerminateAppRequest{
TerminationTypeterminationType,
UInt32gracefulTerminationTimeoutoptional
}
typeStopTypeTerminationType;
/**
* @desc The data type represents a subscription to notification of application instance operational state change
* @member id Identifier of the subscription to application instance operational state change notification
* @member subscriptionType Shall be set to "AppInstanceStateChangeSubscription"
* @member appInstanceState Application instance state subscribed to
* @member appInstanceSubscriptionFilter Criteria used to select application instances on which to send notifications related to this subscription
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.10 Type: AppInstSubscriptionInfo
* @desc This data type represents an application instance notification for informing the subscribers about operational state of application instance resources
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member appInstanceState Application instance state
* @member subscriptionId Identifier of the subscription related to this notification
* @member timeStamp Date and time of the notification generation
* @member appInstanceId Identifier of application instance
* @member appPkgId Identifier of the onboarded application package
* @member appDId The application descriptor identifier identifies the application package and the application descriptor in a globally unique way
* @member appInstLocation Location of the MEC application instance
* @member links A link to the related subscription
* @see ETSI GS MEC 010-2 Clause 6.2.2.11 Type: AppInstNotification
*/
typerecordAppInstNotification{
Json.Stringid,
NotificationTypenotificationType,
AppInstanceStateappInstanceStateoptional,
Json.StringsubscriptionId,
TimeStamptimeStamp,
Json.StringappInstanceId,
Json.StringappPkgId,
Json.StringappDId,
LocationInformationappInstLocationoptional,
AppInstNotification_Linkslinks
}with{
variant(links)"name as '_links'";
}
typerecordAppInstNotification_Links{
LinkTypesubscription
}
/**
* @desc The data type represents the input parameters of "subscription operation" to notification of application lifecycle management for the operational state change of application instance
* @member subscriptionType Shall be set to "AppInstanceStateChangeSubscription"
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member appInstanceState Only send notifications for application instances that are in one of the states listed in this attribute
* @member appInstanceSubscriptionFilter Criteria used to filter application instances for which to send notifications related to this subscription
* @see ETSI GS MEC 010-2 Clause 6.2.2.12 Type: AppInstSubscriptionRequest
* @desc This data type represents an application lifecycle management operation occurrence
* @member id Identifier of the subscription to application LCM operation occurrence notification
* @member operationState Operation state
* @member stateEnteredTime Date and time when the current state was entered
* @member startTime Date and time of the start of the operation
* @member lcmOperationType of the actual LCM operation represented by this application instance LCM operation occurrence
* @member operationParams Input parameters of the LCM operation
* @member isCancelPending If the application LCM operation occurrence operationState is in "PROCESSING" state and the operation is being cancelled, this attribute shall be set to true
* @member cancelMode The mode of an cancellation
* @member links Link to the application instance that the operation applies to
* @see ETSI GS MEC 010-2 Clause 6.2.2.13 Type: AppLcmOpOcc
*/
typerecordAppLcmOpOcc{
Json.Stringid,
OperationStateoperationState,
TimeStampstateEnteredTime,
TimeStampstartTime,
LcmOperationlcmOperation,
OperationParamsoperationParamsoptional,
Json.BoolisCancelPendingoptional,
CancelModecancelModeoptional,
AppLcmOpOcc_Linklinks
}with{
variant(links)"name as '_links'";
}
typeOperationTypeLcmOperation;
typeunionOperationParams{
InstantiateAppRequestinstantiateAppRequest,
OperateAppRequestoperateAppRequest,
TerminateAppRequestterminateAppRequest
}
typerecordAppLcmOpOcc_Link{
LinkTypeself_,
LinkTypeappInstance
}with{
variant(self_)"name as 'self'";
}
/**
* @desc This data type represents a subscription request to notification of application life cycle management operation occurrence
* @member subscriptionType Shall be set to "AppLcmOpOccStateChangeSubscription"
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member appLcmOpOccSubscriptionFilter Subscription filter criteria to match specific application LCM operation occurrences
* @see ETSI GS MEC 010-2 Clause 6.2.2.14 Type: AppLcmOpOccSubscriptionRequest
* @desc This data type represents a subscription to notifications of application life cycle management operation occurrence
* @member id Identifier of this subscription resource
* @member subscriptionType Shall be set to "AppLcmOpOccStateChangeSubscription"
* @member appLcmOpOccSubscriptionFilter Criteria used to select application LCM operation occurrences on which to send notifications related to this subscription
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.15 Type: AppLcmOpOccSubscriptionInfo
* @desc This data type represents a notification related to state changes of an application LCM operation occurrence which informs the subscribers
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member operationType Discriminator for the different notification types
* @member operationState Operation state
* @member subscriptionId Identifier of the subscription to this notification
* @member timeStamp Date and time of the notification generation
* @member appLcmOpOccId Identifier of application lifecycle management operation occurrence
* @member appInstanceId Identifier of application instance
* @member links Links to resources related to this notification
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.16 Type: AppLcmOpOccNotification
*/
typerecordAppLcmOpOccNotification{
Json.Stringid,
NotificationTypenotificationType,
OperationTypeoperationType,
OperationStateoperationState,
Json.StringsubscriptionId,
TimeStamptimeStamp,
Json.StringappInstanceId,
AppLcmOpOccNotification_Linklinks
}with{
variant(links)"name as '_links'";
}
typerecordAppLcmOpOccNotification_Link{
LinkTypeappInstance,
LinkTypesubscription,
LinkTypeappLcmOpOcc
}
/**
* @desc The data type represents the parameters of MEC host information
* @member hostName Human-readable name of MEC host
* @member hostId KeyValuePairs
* @see ETSI GS MEC 010-2 Clause 6.2.2.17 Type: MECHostInformation
*/
typerecordMECHostInformation{
Json.StringhostNameoptional,
KeyValuePairshostId
}
/**
* @desc The VimConnectionInfo data type specifies the connection information of VIM for managing the resources of the application instance
* @member id The identifier of the VIM Connection
* @member vimId The identifier of the VIM instance
* @member vimType Discriminator for the different types of the VIM information
* @member interfaceInfo Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM
* @member accessInfo Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups
* @member extra VIM type specific additional information
* @see ETSI GS MEC 010-2 Clause 6.2.2.18 Type: VimConnectionInfo
*/
typerecordVimConnectionInfo{
Json.Stringid,
Json.StringvimIdoptional,
Json.StringvimType,
KeyValuePairsinterfaceInfooptional,
KeyValuePairsaccessInfooptional,
KeyValuePairsextraoptional
}
/**
* @desc The data type represents a subscription link list of notification on application lifecycle management
* @member links List of hyperlinks related to the resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.19 Type: AppInstanceSubscriptionLinkList
* @desc The data type represents the parameters of MEC platform information
* @member mepName Human-readable name of MEC platform
* @member mepId Deployment-specific identifier of MEC platform
* @see ETSI GS MEC 010-2 Clause 6.2.2.22 Type: MepInformation
*/
typerecordMepInformation{
Json.StringmepNameoptional,
Json.StringmepIdoptional
}
/**
* @desc The AppTermCandsForCoord data type represents the parameters to provide candidates of applications to terminate in pre-emption situations for LCM coordination exchanges
* @member terminationOptions Sets of application options for the MEO/MEAO to select from as candidates for termination
* @see ETSI GS MEC 010-2 Clause 6.2.2.23 Type: AppTermCandsForCoord
* @desc This data type represents a notification for informing the subscribers about the creation of a new "individual application instance" resource and the associated application instance identifier
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member subscriptionId Identifier of the subscription related to this notification
* @member timeStamp Date and time of the notification generation
* @member appInstanceId The created application instance Identifier
* @member links Links to resources related to this notification
* @see ETSI GS MEC 010-2 Clause 6.2.2.27 Type: AppInstanceIdentifierCreationNotification
* @desc This data type represents a notification for informing the subscribers about the deletion of an "individual application instance" resource and the associated application instance identifier
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member subscriptionId Identifier of the subscription related to this notification
* @member timeStamp Date and time of the notification generation
* @member appInstanceId The deleted application instance Identifier
* @member links Links to resources related to this notification
* @see ETSI GS MEC 010-2 Clause 6.2.2.30 Type: AppInstanceIdentifierDeletionNotification
* @desc The LocationInformation data type represents the location information of the site hosting the MEC application instance
* @member countryCode The two-letter ISO 3166 [3] country code in capital letters where an instance is deployed
* @member civicAddress Provides the civic address of the site hosting the MEC application instance
* @member Geographical position (i.e. latitude and longitude) where an instance is deployed
* @see ETSI GS MEC 010-2 Clause 6.2.2.31 Type: LocationInformation
*/
typerecordLocationInformation{
Json.StringcountryCode,
CivicAddressElementcivicAddressoptional,
Json.StringgeographicalPositionoptional
}
/**
* @desc This data type represents the valid modes of cancelling an application LCM operation
* @see ETSI GS MEC 010-2 Clause 6.2.2.32 Type: CancelMode
*/
typeStopTypeCancelMode;
}// End of group application_lifecycle_management_information_model
groupapplication_package_information_model{
/**
* @desc The data type CreateAppPkg represents the parameters for creating a new application package resource
* @member appPkgName Name of the application package to be onboarded
* @member appPkgVersion Version of the application package to be onboarded
* @member appProvider The provider's name of the application package to be onboarded
* @member checksum Checksum of the onboarded application package
* @member userDefinedData User defined data for the application package
* @member appPkgPath Address information of the application package
* @see ETSI GS MEC 010-2 Clause 6.2.3.2 Type: CreateAppPkg
*/
typerecordCreateAppPkg{
Json.StringappPkgName,
Json.StringappPkgVersion,
Json.StringappProvideroptional,
Checksumchecksum,
KeyValuePairsuserDefinedDataoptional,
Json.AnyURIappPkgPath
}
/**
* @desc The data type AppPkgInfo represents the parameters for an application package resource
* @member id Identifier of the application package resource
* @member appDId The application descriptor identifier
* @member appProvider The provider's name of the onboarded application package
* @member appName Name of the onboarded application
* @member appSoftwareVersion Software version of the application. This is updated when there is any change to the software in the onboarded application package
* @member appDVersion Version of the application descriptor
* @member checksum Checksum of the onboarded application package
* @member signingCertificate The singleton signing certificate if it is included as a file in the AppD archive
* @member softwareImages Information of application software image in application package
* @member additionalArtifacts Additional information of application package artifacts that are not application software images
* @member onboardingState Onboarding state of application package
* @member operationalState Operational state of the onboarded application package
* @member usageState Usage state of the onboarded instance of the application package
* @member mecInfo The MEC version that compatible with this application
* @member userDefinedData User defined data for the application package
* @member onboardingFailureDetails Failure details of current onboarding procedure
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.3.3 Type: AppPkgInfo
*/
typerecordAppPkgInfo{
Json.Stringid,
Json.StringappDId,
Json.StringappProvideroptional,
Json.StringappName,
Json.StringappSoftwareVersion,
Json.StringappDVersion,
Checksumchecksum,
Json.StringsigningCertificateoptional,
AppPkgSWImageInfosoftwareImages,
AppPkgArtifactInfoadditionalArtifactsoptional,
OnboardingStateonboardingState,
AppPkgInfo_OperationalStateoperationalState,
UsageStateusageState,
AppPkgInfo_MecInfomecInfo,
KeyValuePairsuserDefinedDataoptional,
ProblemDetailsonboardingFailureDetailsoptional,
AppPkgInfo_Linkslinks
}with{
variant(links)"name as '_links'";
}
typerecordofAppPkgInfoAppPkgInfoList;
typerecordAppPkgSWImageInfo_{
// FIXME The data type of application software image information data model is related to virtualisation method and needs for further study
* @desc The data type represents a subscription to notification of application package management for the onboarding, or operational state change of application package
* @member id Identifier of the subscription to application package notification
* @member subscriptionType Type of subscription
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.3.4 Type: AppPkgSubscriptionInfo
*/
typerecordAppPkgSubscriptionInfo{
Json.Stringid,
AppPkgSubscriptionTypesubscriptionType,
Json.AnyURIcallbackUri,
AppPkgSubscriptionInfo_Linklinks
}with{
variant(links)"name as '_links'";
}
typerecordAppPkgSubscriptionInfo_Link{
LinkTypeself_
}with{
variant(self_)"name as 'self'"
}
/**
* @desc The data type represents a subscription link list of notification on application package management
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.3.5 Type: AppPkgSubscriptionLinkList
*/
typerecordAppPkgSubscriptionLinkList{
AppPkgSubscriptionLinkList_Linklinks
}with{
}with{
variant(links)"name as '_links'";
variant(value_)"name as 'value'";
}
}
typerecordofPropertyProperties;
/**
typerecordPolygon{
* @desc Links to resources related to this resource
Json.Stringtype_,
* @member self_ URI of this resource
Geometrygeometry,
* @member subscriptions A link list to the subscriptions to an application package
Propertiesproperties,
* @see ETSI GS MEC 010-2 Clause 6.2.3.5 Type: AppPkgSubscriptionLinkList
* @desc The data type of CreateAppInstanceRequest represents the parameters for creating a new application instance resource
* @member appDId The application descriptor identifier
* @member appInstanceName Human-readable name of the application instance to be created
* @member appInstanceDescription Human-readable description of the application instance to be created
* @member appPlacementInfo Describes the information of selected MEC platform for the application instance to associate
* @see ETSI GS MEC 010-2 Clause 6.2.2.3 Type: CreateAppInstanceRequest
*/
typerecordCreateAppInstanceRequest{
Json.StringappDId,
Json.StringappInstanceNameoptional,
Json.StringappInstanceDescriptionoptional,
MepInformationappPlacementInfooptional
}
/**
* @desc The data type of AppInstanceInfo represents the parameters of instantiated application instance resources
* @member id Identifier of the application instance represented by this data type
* @member appInstanceName Name of the application instance
* @member appInstanceDescription Human-readable description of the application instance to be created
* @member appDId The application descriptor identifier is managed by the application provider to identify the application descriptor in a globally unique way
* @member appProvider The onboarded application package provider name
* @member appName The onboarded application name
* @member appSoftVersion The application software version
* @member appDVersion Version of the application descriptor
* @member appPkgId Identifier of the onboarded application package
* @member vimConnectionInfo Information about VIM connections to be used for managing the resources for the application instance
* @member nsInstanceId Identifier of the NS instance created by NFVO in which the MEC application has been instantiated as a VNF instance
* @member vnfInstanceId Identifier of the VNF instance created by VNFM that the MEC application has been instantiated as
* @member instantiationState Instantiation state of the application instance
* @member instantiatedAppState Information specific to an instantiated application. This attribute shall be present if the instantiationState attribute value is INSTANTIATED
* @member communicationInterface Interface for communication with other application instances
* @member _links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.4 Type: AppInstanceInfo
* @desc Links to resources related to this resource
* @member self_ Self referring URI
* @member instantiate Link to the "instantiate" task resource, if the related operation is possible based on the current status of this application instance resource
* @member terminate Link to the "terminate" task resource, if the related operation is possible based on the current status of this application instance resource
* @member operate Link to the "operate" task resource, if the related operation is supported for this application instance, and is possible based on the current status of this application instance resource
* @member appPrconfigure_platform_for_appovider Link to the "configure_platform_for_app" task resource, if the related operation is supported for this application instance, and is possible based on the current status of this application instance resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.4 Type: AppInstanceInfo
*/
typerecordLink{
LinkTypeself_,
LinkTypeinstantiateoptional,
LinkTypeterminateoptional,
LinkTypeoperateoptional,
LinkTypeconfigure_platform_for_appoptional
}with{
variant(self_)"name as 'self'";
}
/**
* @desc The data type of AppInstanceInfo represents the parameters of instantiated application instance resources
* @member appInstSelectorType
* @member appInstances
* @member appsFromProviders Match existing application instances, or those created in the future whilst the subscription is active, that belong to applications from certain providers
* @see ETSI GS MEC 010-2 Clause 6.2.2.5 Type: AppInstanceSubscriptionFilter
* @desc Match existing application instances, or those created in the future whilst the subscription is active, that belong to applications from certain providers
* @member appProvider Name of the application provider to match
* @member appProducts Match application instances that belong to application products with certain product names, from one particular provider
* @see ETSI GS MEC 010-2 Clause 6.2.2.5 Type: AppInstanceSubscriptionFilter
* @desc This data type represents a subscription filter criteria to match an application LCM operation occurrence
* @member appInstanceSubscriptionFilter this attribute contains filter criteria that selects one or more application instances on which to receive "LCM operation occurrence" notifications
* @member notificationTypes Match particular notification types
* @member operationTypes Type of the LCM operation represented by this application instance LCM operation occurrence
* @member operationStates Type of the LCM operation state represented by this application instance LCM operation occurrence
* @see ETSI GS MEC 010-2 Clause 6.2.2.6 Type: AppLcmOpOccSubscriptionFilter
* @desc This data type represents request parameters of the "Instantiate Application" operation
* @member virtualComputeDescriptor Describes CPU and memory requirements, as well as optional additional requirements, such as disk and acceleration related capabilities, of the virtualisatio n container used to realize the application instance to be created
* @member virtualStorageDescriptor Defines descriptors of virtual storage resources to be used by the application instance to be created
* @member osContainerDescriptor Describes CPU, memory requirements and limits, and software images of the OS Containers realizing this MEC application corresponding to OS Containers sharing the same host and same network namespace
* @member selectedMECHostInfo Describes the information of selected host for the application instance
* @member locationConstraints Defines the location constraints for the application instance to be created
* @member vimConnectionInfo Information about VIM connections to be used for managing the resources for the application instance, or refer to external/externally-managed virtual links
* @member appTermCandsForCoord Provides sets of applications as termination candidate alternatives that the MEO/MEAO shall select from when utilizing the coordinate LCM operation exchange
* @see ETSI GS MEC 010-2 Clause 6.2.2.7 Type: InstantiateAppRequest
* @desc This data type represents request parameters of the "Operate Application" operation
* @member changeStateTo The desired operational state
* @member stopType The stop type
* @member gracefulStopTimeout The time interval (in seconds) to wait for the application instance to be taken out of service during graceful stop, before stopping the application
* @see ETSI GS MEC 010-2 Clause 6.2.2.8 Type: OperateAppRequest
*/
typerecordOperateAppRequest{
OperationalStatechangeStateTo,
StopTypestopTypeoptional,
Json.UIntegergracefulStopTimeoutoptional
}
typeenumeratedStopType{
FORCEFUL(0),
GRACEFUL(1),
ERROR_CASE(3)// In case of Bad Request tests
}
/**
* @desc This data type represents request parameters of the "Terminate Application Request" operation
* @member terminationType Indicates whether forceful or graceful termination is requested
* @member gracefulTerminationTimeout This attribute is only applicable in case of graceful termination
* @see ETSI GS MEC 010-2 Clause 6.2.2.9 Type: TerminateAppRequest
*/
typerecordTerminateAppRequest{
TerminationTypeterminationType,
Json.UIntegergracefulTerminationTimeoutoptional
}
typeStopTypeTerminationType;
/**
* @desc The data type represents a subscription to notification of application instance operational state change
* @member id Identifier of the subscription to application instance operational state change notification
* @member subscriptionType Shall be set to "AppInstanceStateChangeSubscription"
* @member appInstanceState Application instance state subscribed to
* @member appInstanceSubscriptionFilter Criteria used to select application instances on which to send notifications related to this subscription
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.10 Type: AppInstSubscriptionInfo
* @desc Links to resources related to this resource
* @member self_ URI of this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.10 Type: AppInstSubscriptionInfo
*/
typerecordAppInstSubscriptionInfo_Link{
LinkTypeself_
}with{
variant(self_)"name as 'self'";
}
/**
* @desc This data type represents an application instance notification for informing the subscribers about operational state of application instance resources
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member appInstanceState Application instance state
* @member subscriptionId Identifier of the subscription related to this notification
* @member timeStamp Date and time of the notification generation
* @member appInstanceId Identifier of application instance
* @member appPkgId Identifier of the onboarded application package
* @member appDId The application descriptor identifier identifies the application package and the application descriptor in a globally unique way
* @member appInstLocation Location of the MEC application instance
* @member links Links to resources related to this notification
* @see ETSI GS MEC 010-2 Clause 6.2.2.11 Type: AppInstNotification
*/
typerecordAppInstNotification{
Json.Stringid,
NotificationTypenotificationType,
AppInstanceStateappInstanceStateoptional,
Json.StringsubscriptionId,
TimeStamptimeStamp,
Json.StringappInstanceId,
Json.StringappPkgId,
Json.StringappDId,
LocationInformationappInstLocationoptional,
AppInstNotification_Linkslinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Links to resources related to this notification
* @member subscription A link to the related subscription
* @see ETSI GS MEC 010-2 Clause 6.2.2.11 Type: AppInstNotification
*/
typerecordAppInstNotification_Links{
LinkTypesubscription
}
/**
* @desc The data type represents the input parameters of "subscription operation" to notification of application lifecycle management for the operational state change of application instance
* @member subscriptionType Shall be set to "AppInstanceStateChangeSubscription"
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member appInstanceState Only send notifications for application instances that are in one of the states listed in this attribute
* @member appInstanceSubscriptionFilter Criteria used to filter application instances for which to send notifications related to this subscription
* @see ETSI GS MEC 010-2 Clause 6.2.2.12 Type: AppInstSubscriptionRequest
* @desc This data type represents an application lifecycle management operation occurrence
* @member id Identifier of the subscription to application LCM operation occurrence notification
* @member operationState Operation state
* @member stateEnteredTime Date and time when the current state was entered
* @member startTime Date and time of the start of the operation
* @member lcmOperationType of the actual LCM operation represented by this application instance LCM operation occurrence
* @member operationParams Input parameters of the LCM operation
* @member isCancelPending If the application LCM operation occurrence operationState is in "PROCESSING" state and the operation is being cancelled, this attribute shall be set to true
* @member cancelMode The mode of an cancellation
* @member links Link to the application instance that the operation applies to
* @see ETSI GS MEC 010-2 Clause 6.2.2.13 Type: AppLcmOpOcc
*/
typerecordAppLcmOpOcc{
Json.Stringid,
OperationStateoperationState,
TimeStampstateEnteredTime,
TimeStampstartTime,
OperationTypelcmOperation,
OperationParamsoperationParamsoptional,
Json.BoolisCancelPendingoptional,
CancelModecancelModeoptional,
AppLcmOpOcc_Linklinks
}with{
variant(links)"name as '_links'";
}
typerecordofAppLcmOpOccAppLcmOpOccList;
/**
* @desc Input parameters of the LCM operation
* @see ETSI GS MEC 010-2 Clause 6.2.2.13 Type: AppLcmOpOcc
*/
typeunionOperationParams{
InstantiateAppRequestinstantiateAppRequest,
OperateAppRequestoperateAppRequest,
TerminateAppRequestterminateAppRequest
}
/**
* @desc Link to the application instance that the operation applies to
* @member self_ URI of this resource
* @member appInstance Link to the application instance that the operation applies to
* @see ETSI GS MEC 010-2 Clause 6.2.2.13 Type: AppLcmOpOcc
*/
typerecordAppLcmOpOcc_Link{
LinkTypeself_,
LinkTypeappInstance
}with{
variant(self_)"name as 'self'";
}
/**
* @desc This data type represents a subscription request to notification of application life cycle management operation occurrence
* @member subscriptionType Shall be set to "AppLcmOpOccStateChangeSubscription"
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member appLcmOpOccSubscriptionFilter Subscription filter criteria to match specific application LCM operation occurrences
* @see ETSI GS MEC 010-2 Clause 6.2.2.14 Type: AppLcmOpOccSubscriptionRequest
* @desc This data type represents a subscription to notifications of application life cycle management operation occurrence
* @member id Identifier of this subscription resource
* @member subscriptionType Shall be set to "AppLcmOpOccStateChangeSubscription"
* @member appLcmOpOccSubscriptionFilter Criteria used to select application LCM operation occurrences on which to send notifications related to this subscription
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.15 Type: AppLcmOpOccSubscriptionInfo
* @desc Links to resources related to this resource
* @member self_ URI of this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.15 Type: AppLcmOpOccSubscriptionInfo
*/
typerecordAppLcmOpOccSubscriptionInfo_Link{
LinkTypeself_
}with{
variant(self_)"name as 'self'";
}
/**
* @desc This data type represents a notification related to state changes of an application LCM operation occurrence which informs the subscribers
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member operationType Discriminator for the different notification types
* @member operationState Operation state
* @member subscriptionId Identifier of the subscription to this notification
* @member timeStamp Date and time of the notification generation
* @member appLcmOpOccId Identifier of application lifecycle management operation occurrence
* @member appInstanceId Identifier of application instance
* @member links Links to resources related to this notification
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.16 Type: AppLcmOpOccNotification
*/
typerecordAppLcmOpOccNotification{
Json.Stringid,
NotificationTypenotificationType,
OperationTypeoperationType,
OperationStateoperationState,
Json.StringsubscriptionId,
TimeStamptimeStamp,
Json.StringappLcmOpOccId,
Json.StringappInstanceId,
AppLcmOpOccNotification_Linklinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Links to resources related to this resource
* @member appInstance Link to the resource representing the application instance to which the notified change applies
* @member subscription Link to the related subscription
* @member appLcmOpOcc Link to the application lifecycle management operation occurrence that this notification is related to
* @see ETSI GS MEC 010-2 Clause 6.2.2.16 Type: AppLcmOpOccNotification
*/
typerecordAppLcmOpOccNotification_Link{
LinkTypeappInstance,
LinkTypesubscription,
LinkTypeappLcmOpOcc
}
/**
* @desc The data type represents the parameters of MEC host information
* @member hostName Human-readable name of MEC host
* @member hostId KeyValuePairs
* @see ETSI GS MEC 010-2 Clause 6.2.2.17 Type: MECHostInformation
*/
typerecordMECHostInformation{
Json.StringhostNameoptional,
KeyValuePairshostId
}
/**
* @desc The VimConnectionInfo data type specifies the connection information of VIM for managing the resources of the application instance
* @member id The identifier of the VIM Connection
* @member vimId The identifier of the VIM instance
* @member vimType Discriminator for the different types of the VIM information
* @member interfaceInfo Information about the interface or interfaces to the VIM, if applicable, such as the URI of an interface endpoint to communicate with the VIM
* @member accessInfo Authentication credentials for accessing the VIM, and other access-related information such as tenants or infrastructure resource groups
* @member extra VIM type specific additional information
* @see ETSI GS MEC 010-2 Clause 6.2.2.18 Type: VimConnectionInfo
*/
typerecordVimConnectionInfo{
Json.Stringid,
Json.StringvimIdoptional,
Json.StringvimType,
KeyValuePairsinterfaceInfooptional,
KeyValuePairsaccessInfooptional,
KeyValuePairsextraoptional
}
typerecordofVimConnectionInfoVimConnectionInfos;
/**
* @desc The data type represents a subscription link list of notification on application lifecycle management
* @member links List of hyperlinks related to the resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.19 Type: AppInstanceSubscriptionLinkList
*/
typerecordAppInstanceSubscriptionLinkList{
AppInstanceSubscriptionLinkList_Linklinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc List of hyperlinks related to the resource
* @member self_ URI of this resource
* @member subscriptions A link list to the subscriptions
* @see ETSI GS MEC 010-2 Clause 6.2.2.19 Type: AppInstanceSubscriptionLinkList
* @desc The data type represents the parameters of MEC platform information
* @member mepName Human-readable name of MEC platform
* @member mepId Deployment-specific identifier of MEC platform
* @see ETSI GS MEC 010-2 Clause 6.2.2.22 Type: MepInformation
*/
typerecordMepInformation{
Json.StringmepNameoptional,
Json.StringmepIdoptional
}
/**
* @desc The AppTermCandsForCoord data type represents the parameters to provide candidates of applications to terminate in pre-emption situations for LCM coordination exchanges
* @member terminationOptions Sets of application options for the MEO/MEAO to select from as candidates for termination
* @see ETSI GS MEC 010-2 Clause 6.2.2.23 Type: AppTermCandsForCoord
*/
typerecordAppTermCandsForCoord{
TerminationOptionsterminationOptions
}
/**
* @desc Sets of application options for the MEO/MEAO to select from as candidates for termination
* @member appInstIdTerminationCands List of application instance identifiers, constituting a candidate set for termination
* @see ETSI GS MEC 010-2 Clause 6.2.2.23 Type: AppTermCandsForCoord
* @desc Links to resources related to this resource
* @member self_ URI of this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.26 Type: AppInstIdCreationSubscriptionInfo
*/
typerecordAppInstIdCreationSubscriptionInfo_Link{
LinkTypeself_
}with{
variant(self_)"name as 'self'";
}
/**
* @desc This data type represents a notification for informing the subscribers about the creation of a new "individual application instance" resource and the associated application instance identifier
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member subscriptionId Identifier of the subscription related to this notification
* @member timeStamp Date and time of the notification generation
* @member appInstanceId The created application instance Identifier
* @member links Links to resources related to this notification
* @see ETSI GS MEC 010-2 Clause 6.2.2.27 Type: AppInstanceIdentifierCreationNotification
* @desc Links to resources related to this resource
* @member self_ URI of this resource
* @see ETSI GS MEC 010-2 Clause 6.2.2.29 Type: AppInstIdDeletionSubscriptionInfo
*/
typerecordAppInstIdDeletionSubscriptionInfo_Link{
LinkTypeself_
}with{
variant(self_)"name as 'self'";
}
/**
* @desc This data type represents a notification for informing the subscribers about the deletion of an "individual application instance" resource and the associated application instance identifier
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member subscriptionId Identifier of the subscription related to this notification
* @member timeStamp Date and time of the notification generation
* @member appInstanceId The deleted application instance Identifier
* @member links Links to resources related to this notification
* @see ETSI GS MEC 010-2 Clause 6.2.2.30 Type: AppInstanceIdentifierDeletionNotification
* @desc The LocationInformation data type represents the location information of the site hosting the MEC application instance
* @member countryCode The two-letter ISO 3166 [3] country code in capital letters where an instance is deployed
* @member civicAddress Provides the civic address of the site hosting the MEC application instance
* @member Geographical position (i.e. latitude and longitude) where an instance is deployed
* @see ETSI GS MEC 010-2 Clause 6.2.2.31 Type: LocationInformation
*/
typerecordLocationInformation{
Json.StringcountryCode,
CivicAddressElementcivicAddressoptional,
Json.StringgeographicalPositionoptional
}
/**
* @desc This data type represents the valid modes of cancelling an application LCM operation
* @see ETSI GS MEC 010-2 Clause 6.2.2.32 Type: CancelMode
*/
typeStopTypeCancelMode;
/**
* @desc This data type represents the information about an MCIO representing the application instance realized by one or a set of OS containers
* @member
* @see ETSI GS MEC 010-2 Clause 6.2.2.31 Type: LocationInformation
*/
typerecordMcioInfo{
// FIXME McioInfo shall follow the definition in clause 8.3.3.33.2 of ETSI GS NFV-IFA 013 [15].
}
/**
* @desc The data type CreateAppPkg represents the parameters for creating a new application package resource
* @member appPkgName Name of the application package to be onboarded
* @member appPkgVersion Version of the application package to be onboarded
* @member appProvider The provider's name of the application package to be onboarded
* @member checksum Checksum of the onboarded application package
* @member userDefinedData User defined data for the application package
* @member appPkgPath Address information of the application package
* @see ETSI GS MEC 010-2 Clause 6.2.3.2 Type: CreateAppPkg
*/
typerecordCreateAppPkg{
Json.StringappPkgName,
Json.StringappPkgVersion,
Json.StringappProvideroptional,
Checksumchecksum,
KeyValuePairsuserDefinedDataoptional,
Json.AnyURIappPkgPath
}
/**
* @desc The data type AppPkgInfo represents the parameters for an application package resource
* @member id Identifier of the application package resource
* @member appDId The application descriptor identifier
* @member appProvider The provider's name of the onboarded application package
* @member appName Name of the onboarded application
* @member appSoftwareVersion Software version of the application. This is updated when there is any change to the software in the onboarded application package
* @member appDVersion Version of the application descriptor
* @member checksum Checksum of the onboarded application package
* @member signingCertificate The singleton signing certificate if it is included as a file in the AppD archive
* @member softwareImages Information of application software image in application package
* @member additionalArtifacts Additional information of application package artifacts that are not application software images
* @member onboardingState Onboarding state of application package
* @member operationalState Operational state of the onboarded application package
* @member usageState Usage state of the onboarded instance of the application package
* @member mecInfo The MEC version that compatible with this application
* @member userDefinedData User defined data for the application package
* @member onboardingFailureDetails Failure details of current onboarding procedure
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.3.3 Type: AppPkgInfo
*/
typerecordAppPkgInfo{
Json.Stringid,
Json.StringappDId,
Json.StringappProvideroptional,
Json.StringappName,
Json.StringappSoftwareVersion,
Json.StringappDVersion,
Checksumchecksum,
Json.StringsigningCertificateoptional,
AppPkgSWImageInfosoftwareImages,
AppPkgArtifactInfoadditionalArtifactsoptional,
OnboardingStateonboardingState,
AppPkgInfo_OperationalStateoperationalState,
UsageStateusageState,
AppPkgInfo_MecInfomecInfo,
KeyValuePairsuserDefinedDataoptional,
ProblemDetailsonboardingFailureDetailsoptional,
AppPkgInfo_Linkslinks
}with{
variant(links)"name as '_links'";
}
typerecordofAppPkgInfoAppPkgInfoList;
typerecordAppPkgSWImageInfo_{
// FIXME The data type of application software image information data model is related to virtualisation method and needs for further study
* @desc Links to resources related to this resource
* @member self_ Self referring URI
* @member appDId Link to the appD resource
* @member appPkgContent Link to the "Onboarded application package content" resource
* @member vnfPkgInfo Link to the corresponding VNF package resource at NFVO
* @see ETSI GS MEC 010-2 Clause 6.2.3.3 Type: AppPkgInfo
*/
typerecordAppPkgInfo_Links{
LinkTypeself_,
LinkTypeappD,
LinkTypeappPkgContent,
LinkTypevnfPkgInfooptional
}with{
variant(self_)"name as 'self'";
}
/**
* @desc The data type represents a subscription to notification of application package management for the onboarding, or operational state change of application package
* @member id Identifier of the subscription to application package notification
* @member subscriptionType Type of subscription
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.3.4 Type: AppPkgSubscriptionInfo
*/
typerecordAppPkgSubscriptionInfo{
Json.Stringid,
AppPkgSubscriptionTypesubscriptionType,
Json.AnyURIcallbackUri,
AppPkgSubscriptionInfo_Linklinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Links to resources related to this resource
* @member self_ URI of this resource
* @see ETSI GS MEC 010-2 Clause 6.2.3.4 Type: AppPkgSubscriptionInfo
*/
typerecordAppPkgSubscriptionInfo_Link{
LinkTypeself_
}with{
variant(self_)"name as 'self'"
}
/**
* @desc The data type represents a subscription link list of notification on application package management
* @member links Links to resources related to this resource
* @see ETSI GS MEC 010-2 Clause 6.2.3.5 Type: AppPkgSubscriptionLinkList
*/
typerecordAppPkgSubscriptionLinkList{
AppPkgSubscriptionLinkList_Linklinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Links to resources related to this resource
* @member self_ URI of this resource
* @member subscriptions A link list to the subscriptions to an application package
* @see ETSI GS MEC 010-2 Clause 6.2.3.5 Type: AppPkgSubscriptionLinkList
* @desc This data type represents an application package management notification for informing the subscribers about onboarding application package resources
* @member id Identifier of this notification
* @member notificationType Discriminator for the different notification types
* @member subscriptionId Identifier of the subscription to this notification
* @member timeStamp Date and time of the notification generation
* @member appPkgId Identifier of the onboarded application package
* @member appDId The application descriptor identifier identifies the application package and the application descriptor in a globally unique way
* @member operationalState Operational state of the application package
* @member links Links to resources related to this notification
* @see ETSI GS MEC 010-2 Clause 6.2.3.6 Type: AppPkgNotification
*/
typerecordAppPkgNotification{
Json.Stringid,
Json.StringnotificationType,
Json.StringsubscriptionId,
TimeStamptimeStamp,
Json.StringappPkgId,
Json.StringappDId,
AppPkgInfo_OperationalStateoperationalState,
AppPkgNotification_Linklinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Links to resources related to this notification
* @member subscription A link to the related subscription
* @see ETSI GS MEC 010-2 Clause 6.2.3.6 Type: AppPkgNotification
*/
typerecordAppPkgNotification_Link{
LinkTypesubscription
}
/**
* @desc The data type represents the input parameters of "subscription operation" to notification of application package management for the onboarding, or operational state change of application package
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member subscriptionType Type of the subscription
* @member appPkgFilter The attribute-based filter is to filter application packages on which the query applies
* @see ETSI GS MEC 010-2 Clause 6.2.3.7 Type: AppPkgSubscription
*/
typerecordAppPkgSubscription{
Json.AnyURIcallbackUri,
AppPkgSubscriptionTypesubscriptionType,
AppPkgFilterappPkgFilteroptional
}
/**
* @desc The data type represents modifications of the "AppPkgInfo" data type that can be requested to perform "application package operation"
* @member New value of the "operationalState" attribute of the "OnboardedAppPkgInfo" structure
* @see ETSI GS MEC 010-2 Clause 6.2.3.8 Type: AppPkgInfoModifications
*/
typerecordAppPkgInfoModifications{
AppPkgInfo_OperationalStateoperationalState
}
/**
* @desc String representing the type of a subscription
* @see ETSI GS MEC 010-2 Clause 6.2.3.9.2 Simple data types
*/
typeJson.StringAppPkgSubscriptionType;
/**
* @desc This data type represents subscription filter criteria to match application package
* @member appPkgInfoId Match the application package identifier which is allocated by the MEO
* @member appDId Match the application descriptor identifier which is allocated by the application provider
* @member appProvider Match the provider's name of the onboarded application
* @member appName Match the name of the onboarded application
* @member appSoftwareVersion Match the software version of the application package
* @member appDVersion Match the version of the application descriptor
* @member operationalState Match particular operational state of the application package
* @member usageState Match particular usage state of the application package
* @see ETSI GS MEC 010-2 Clause 6.2.3.10 Type: AppPkgFilter
* @member appInstanceId Identifier of the application instance which this grant request is related to
* @member appLcmOpOccId The identifier of the application lifecycle management operation occurrence associated to the GrantRequest
* @member appDId Identifier of the AppD that defines the application for which the LCM operation is to be granted
* @member operation The lifecycle management operation for which granting is requested
* @member addResources List of resource definitions in the AppD for resources to be added by the LCM operation which is related to this grant request, with one entry per resource
* @member tempResources List of resource definitions in the AppD for resources to be temporarily instantiated during the runtime of the LCM operation which is related to this grant request
* @member removeResources Removed by the LCM operation which is related to this grant request, with one entry per resource
* @member updateResources Provides the definitions of resources to be modified by the LCM operation which is related to this grant request, with one entry per resource
* @member additionalParams MEPM, specific to the application and the LCM operation
* @member links Links to resources related to this request
* @see ETSI GS MEC 010-2 Clause 6.2.4 Granting information model
*/
typerecordGrantRequest{
Json.StringappInstanceId,
Json.StringappLcmOpOccId,
Json.StringappDId,
OperationTypeoperation,
ResourceDefinitionsaddResourcesoptional,
ResourceDefinitionstempResourcesoptional,
ResourceDefinitionsupdateResourcesoptional,
KeyValuePairsadditionalParamsoptional,
GrantRequest_Linklinks
}with{
variant(links)"name as '_links'";
}
/**
* @desc Links to resources related to this request
* @member appLcmOpOcc Related lifecycle management operation occurrence
* @member appInstance Related application instance
* @see ETSI GS MEC 010-2 Clause 6.2.4 Granting information model
*/
typerecordGrantRequest_Link{
LinkTypeappLcmOpOcc,
LinkTypeappInstance
}
/**
* @desc This type provides information of an existing or proposed resource used by the application
* @member id Identifier of this "ResourceDefinition" structure, unique at least within the scope of the "GrantRequest" structure
* @member type_ Type of the resource definition referenced
* @member vduId Reference to the related VDU in the AppD applicable to this resource
* @member resourceTemplateId Reference to a resource template, i.e. VirtualComputeDescriptor, AppExtCpd, VirtualStorageDescriptor in the AppD
* @member resource Resource information for an existing resource
* @see ETSI GS MEC 010-2 Clause 6.2.4.3 Type: ResourceDefinition
* @desc Resource information for an existing resource
* @member vimConnectionInfo Specifies the connection information of VIM for the resources of the application instance
* @member resourceId Identifier of the resource in the scope of the VIM
* @see ETSI GS MEC 010-2 Clause 6.2.4.3 Type: ResourceDefinition
*/
typerecordResourceDefinition_Resource{
VimConnectionInfovimConnectionInfo,
Json.StringresourceId
}
/**
* @desc This type represents a grant
* @member id Identifier of the Grant
* @member appInstanceId Identifier of the application instance which this Grant is related to
* @member appLcmOpOccId The identifier of the application lifecycle management operation occurrence associated to the Grant
* @member vimConnections Provides information regarding VIM connections that are approved to be used by the MEPM to allocate resources, and provides parameters of these VIM connections
* @member zones Identifies resource zones where the resources are approved to be allocated by the MEPM
* @member zoneGroups Information about groups of resource zones that are related and that the MEO has chosen to fulfil a zoneGroup constraint in the Grant request
* @member addResources List of resources that are approved to be added, with one entry per resource
* @member tempResources List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource
* @member removeResources List of resources that are approved to be removed, with one entry per resource
* @member updateResources List of resources that are approved to be modified, with one entry per resource
* @member vimAssets Information about assets for the application that are managed by the MEO in the VIM, such as software images
* @member extVirtualLinks Information about external VLs to connect the application instance to
* @member MEPM, specific to the application and the LCM operation
* @member links Links to resources related to this request
* @see ETSI GS MEC 010-2 Clause 6.2.4.4 Type: Grant
*/
typerecordGrant{
Json.Stringid,
Json.StringappInstanceId,
Json.StringappLcmOpOccId,
VimConnectionInfosvimConnectionsoptional,
ZoneInfoszonesoptional,
ZoneGroupInfoszoneGroupsoptional,
GrantInfosaddResourcesoptional,
GrantInfostempResourcesoptional,
GrantInfosremoveResourcesoptional,
GrantInfosupdateResourcesoptional,
VimAssetsvimAssetsoptional,
ExtVirtualLinkDatasextVirtualLinksoptional,
KeyValuePairsadditionalParamsoptional,
Grant_Linklinks
}with{
variant(links)"name as '_links'";
}
typerecordVimAssets{
VimSoftwareImagesoftwareImagesoptional
}
/**
* @desc Links to resources related to this request
* @member appLcmOpOcc Related lifecycle management operation occurrence
* @member appInstance Related application instance
* @see ETSI GS MEC 010-2 Clause 6.2.4.4 Type: Grant
*/
typerecordGrant_Link{
LinkTypeappLcmOpOcc,
LinkTypeappInstance
}
/**
* @desc This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted
* @member resourceDefinitionId Identifier of the related "ResourceDefinition" structure from the related "GrantRequest" structure
* @member vimConnectionId Identifier of the VIM connection to be used to manage this resource
* @member zoneId Reference to the identifier of the "ZoneInfo" structure in the "Grant" structure defining the resource zone into which this resource is to be placed
* @member resourceGroupId Identifier of the "infrastructure resource group", logical grouping of virtual resources assigned to a tenant within an Infrastructure Domain, to be provided when allocating the resource
* @member mcioConstraints The constraint values to be assigned to MCIOs of an application with containerized components
* @see ETSI GS MEC 010-2 Clause 6.2.4.5 Type: GrantInfo
*/
typerecordGrantInfo{
Json.StringresourceDefinitionId,
Json.StringvimConnectionIdoptional,
Json.StringzoneIdoptional,
Json.StringresourceGroupIdoptional,
KeyValuePairsmcioConstraintsoptional
}
typerecordofGrantInfoGrantInfos;
/**
* @desc This type provides information regarding a resource zone
* @member id The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the "Grant" structure
* @member zoneId The identifier of the resource zone, as managed by the resource management layer (typically, the VIM)
* @member vimConnectionId Identifier of the connection to the VIM that manages the resource zone
* @see ETSI GS MEC 010-2 Clause 6.2.4.6 Type: ZoneInfo
*/
typerecordZoneInfo{
Json.Stringid,
Json.StringzoneId,
Json.StringvimConnectionIdoptional
}
typerecordofZoneInfoZoneInfos;
/**
* @desc This type provides information regarding a resource zone group
* @member zoneId References of identifiers of "ZoneInfo" structures, each of which provides information about a resource zone that belongs to this group
* @see ETSI GS MEC 010-2 Clause 6.2.4.7 Type: ZoneGroupInfo
*/
typerecordZoneGroupInfo{
ZoneIdszoneId
}
typerecordofZoneGroupInfoZoneGroupInfos;
typerecordofJson.StringZoneIds;
/**
* @desc This type represents an external VL
* @member id The identifier of the external VL instance
* @member vimConnectionId Identifier of the VIM connection to manage this resource
* @member resourceId The identifier of the resource in the scope of the VIM
* @member extCps External CPs of the application instance to be connected to this external VL
* @member extLinkPorts Externally provided link ports to be used to connect external connection points to this external VL
* @see ETSI GS MEC 010-2 Clause 6.2.4.8 Type: ExtVirtualLinkData
* @desc This type represents an externally provided link port to be used to connect an external connection point to an external VL
* @member id Identifier of this link port as provided by the entity that has created the link port
* @member resourceHandleReference to the virtualised resource realizing this link port
* @see ETSI GS MEC 010-2 Clause 6.2.4.9 Type: ExtLinkPortData
*/
typerecordExtLinkPortData{
Json.Stringid,
ResourceHandleresourceHandle
}
typerecordofExtLinkPortDataExtLinkPortDatas;
/**
* @desc This type represents the information that allows addressing a virtualised resource that is used by an application instance
* @member vimConnectionId Identifier of the VIM connection to manage the resource
* @member resourceId Identifier of the resource in the scope of the VIM
* @member vimLevelResourceType Type of the resource in the scope of the VIM
* @see ETSI GS MEC 010-2 Clause 6.2.4.10 Type: ResourceHandle
*/
typerecordResourceHandle{
Json.StringvimConnectionIdoptional,
Json.StringresourceId,
Json.StringvimLevelResourceTypeoptional
}
/**
* @desc This type contains a mapping between a software image definition in the AppD and the corresponding software image managed by the MEO in the VIM which is needed during compute resource instantiation
* @member vimConnectionId Identifier of the VIM connection to access the software image referenced in this structure
* @member appDSoftwareImageId Identifier which references the software image descriptor in the AppD
* @member vimSoftwareImageId Identifier of the software image in the resource management layer (i.e. VIM)
* @see ETSI GS MEC 010-2 Clause 6.2.4.11 Type: VimSoftwareImage
*/
typerecordVimSoftwareImage{
Json.StringvimConnectionIdoptional,
Json.StringappDSoftwareImageId,
Json.StringvimSoftwareImageId
}
/**
* @desc This type represents configuration information for external CPs created from a CPD
* @member cpdId The identifier of the CPD in the AppD
* @member cpConfig List of instance data that need to be configured on the CP instances created from the respective CPD
* @see ETSI GS MEC 010-2 Clause 6.2.4.12 Type: AppExtCpData
groupedge_platform_application_enablement{/* TITAN WORK-AROUND for build issue (class forward declaration) */
/**
/**
* @desc This data type represents an application package management notification for informing the subscribers about onboarding application package resources
* @desc The enumeration TransportType represents types of transports.
* @member notificationType Discriminator for the different notification types
* @member subscriptionId Identifier of the subscription to this notification
* @member timeStamp Date and time of the notification generation
* @member appPkgId Identifier of the onboarded application package
* @member appDId The application descriptor identifier identifies the application package and the application descriptor in a globally unique way
* @member operationalState Operational state of the application package
* @member linksLinks to resources related to this notification
* @see ETSI GS MEC 010-2 Clause 6.2.3.6 Type: AppPkgNotification
*/
*/
typerecordAppPkgNotification{
typeenumeratedTransportType{
Json.Stringid,
REST_HTTP,
Json.StringnotificationType,
MB_TOPIC_BASED,
Json.StringsubscriptionId,
MB_ROUTING,
TimeStamptimeStamp,
MB_PUBSUB,
Json.StringappPkgId,
RPC,
Json.StringappDId,
RPC_STREAMING,
AppPkgInfo_OperationalStateoperationalState,
WEBSOCKET
AppPkgNotification_Linklinks
}with{
variant(links)"name as '_links'";
}
typerecordAppPkgNotification_Link{
LinkTypesubscription
}
}
/**
/**
* @desc The data type represents the input parameters of "subscription operation" to notification of application package management for the onboarding, or operational state change of application package
* @desc List of supported OAuth 2.0 grant types.
* @member callbackUri The URI of the endpoint for the subscription related notification to be sent to
* @member subscriptionType Type of the subscription
* @member appPkgFilter The attribute-based filter is to filter application packages on which the query applies
* @see ETSI GS MEC 010-2 Clause 6.2.3.7 Type: AppPkgSubscription
*/
*/
typerecordAppPkgSubscription{
// type enumerated GrantTypes {
Json.AnyURIcallbackUri,
// OAUTH2_AUTHORIZATION_CODE,
AppPkgSubscriptionTypesubscriptionType,
// OAUTH2_IMPLICIT_GRANT,
AppPkgFilterappPkgFilteroptional
// OAUTH2_RESOURCE_OWNER,
}
// OAUTH2_CLIENT_CREDENTIALS
// }
// type record length(1..4) of GrantTypes GrantTypesList;
/**
/**
* @desc The data type represents modifications of the "AppPkgInfo" data type that can be requested to perform "application package operation"
* @desc The token endpoint.
* @member New value of the "operationalState" attribute of the "OnboardedAppPkgInfo" structure
* @see ETSI GS MEC 010-2 Clause 6.2.3.8 Type: AppPkgInfoModifications
*/
*/
typerecordAppPkgInfoModifications{
//type Json.String TokenEndpoint;
AppPkgInfo_OperationalStateoperationalState
}
/**
/**
* @desc String representing the type of a subscription
* @desc Parameters related to use of OAuth 2.0.
* @see ETSI GS MEC 010-2 Clause 6.2.3.9.2 Simple data types
*/
*/
typeJson.StringAppPkgSubscriptionType;
// type record OAuth2Info {
// GrantTypesList grantTypes,
// TokenEndpoint tokenEndpoint
// }
/**
/**
* @desc This data type represents subscription filter criteria to match application package
* @desc This type represents security information related to a transport.
* @member appPkgInfoId Match the application package identifier which is allocated by the MEO
* @see ETSI GS MEC 011 V3.1.1 (2022-09) Table 8.1.5.4-1: Attributes of SecurityInfo
* @member appDId Match the application descriptor identifier which is allocated by the application provider
* @member appProvider Match the provider's name of the onboarded application
* @member appName Match the name of the onboarded application
* @member appSoftwareVersion Match the software version of the application package
* @member appDVersion Match the version of the application descriptor
* @member operationalState Match particular operational state of the application package
* @member usageState Match particular usage state of the application package
* @see ETSI GS MEC 010-2 Clause 6.2.3.10 Type: AppPkgFilter
* @member appLcmOpOccId The identifier of the application lifecycle management operation occurrence associated to the GrantRequest
* @member appDId Identifier of the AppD that defines the application for which the LCM operation is to be granted
* @member operation The lifecycle management operation for which granting is requested
* @member addResources List of resource definitions in the AppD for resources to be added by the LCM operation which is related to this grant request, with one entry per resource
* @member tempResources List of resource definitions in the AppD for resources to be temporarily instantiated during the runtime of the LCM operation which is related to this grant request
* @member removeResources Removed by the LCM operation which is related to this grant request, with one entry per resource
* @member updateResources Provides the definitions of resources to be modified by the LCM operation which is related to this grant request, with one entry per resource
* @member additionalParams MEPM, specific to the application and the LCM operation
* @member links Links to resources related to this request
* @see ETSI GS MEC 010-2 Clause 6.2.4 Granting information model
*/
*/
typerecordGrantRequest{
typeenumeratedSerializerType{
Json.StringappInstanceId,
JSON,
Json.StringappLcmOpOccId,
XML,
Json.StringappDId,
PROTOBUF3,
OperationTypeoperation,
RAW// Used for invalid behavior
ResourceDefinitionaddResourcesoptional,
ResourceDefinitiontempResourcesoptional,
ResourceDefinitionupdateResourcesoptional,
KeyValuePairsadditionalParamsoptional,
GrantRequest_Linklinks
}with{
variant(links)"name as '_links'";
}
typerecordGrantRequest_Link{
LinkTypeappLcmOpOcc,
LinkTypeappInstance
}
}
/**
/**
* @desc This type provides information of an existing or proposed resource used by the application
* @desc Reference of the catalogue.
* @member id Identifier of this "ResourceDefinition" structure, unique at least within the scope of the "GrantRequest" structure
* @member type_ Type of the resource definition referenced
* @member vduId Reference to the related VDU in the AppD applicable to this resource
* @member resourceTemplateId Reference to a resource template, i.e. VirtualComputeDescriptor, AppExtCpd, VirtualStorageDescriptor in the AppD
* @member resource Resource information for an existing resource
* @see ETSI GS MEC 010-2 Clause 6.2.4.3 Type: ResourceDefinition
*/
*/
typerecordResourceDefinition{
//type Json.String CategoryRef_Href;
Json.Stringid,
ResourceDefinition_Typetype_,
Json.StringvduIdoptional,
Json.StringresourceTemplateId,
ResourceDefinition_Resourceresource
}
typeenumeratedResourceDefinition_Type{
COMPUTE,
VL,
STORAGE,
LINKPORT
}
typerecordResourceDefinition_Resource{
VimConnectionInfovimConnectionInfo,
Json.StringresourceId
}
/**
/**
* @desc This type represents a grant
* @desc Unique identifier of the category.
* @member id Identifier of the Grant
* @member appInstanceId Identifier of the application instance which this Grant is related to
* @member appLcmOpOccId The identifier of the application lifecycle management operation occurrence associated to the Grant
* @member vimConnections Provides information regarding VIM connections that are approved to be used by the MEPM to allocate resources, and provides parameters of these VIM connections
* @member zones Identifies resource zones where the resources are approved to be allocated by the MEPM
* @member zoneGroups Information about groups of resource zones that are related and that the MEO has chosen to fulfil a zoneGroup constraint in the Grant request
* @member addResources List of resources that are approved to be added, with one entry per resource
* @member tempResources List of resources that are approved to be temporarily instantiated during the runtime of the lifecycle operation, with one entry per resource
* @member removeResources List of resources that are approved to be removed, with one entry per resource
* @member updateResources List of resources that are approved to be modified, with one entry per resource
* @member vimAssets Information about assets for the application that are managed by the MEO in the VIM, such as software images
* @member extVirtualLinks Information about external VLs to connect the application instance to
* @member MEPM, specific to the application and the LCM operation
* @member links Links to resources related to this request
* @see ETSI GS MEC 010-2 Clause 6.2.4.4 Type: Grant
*/
*/
typerecordGrant{
//type Json.String CategoryRef_Id;
Json.Stringid,
Json.StringappInstanceId,
Json.StringappLcmOpOccId,
VimConnectionInfovimConnectionsoptional,
ZoneInfozonesoptional,
ZoneGroupInfozoneGroupsoptional,
GrantInfoaddResourcesoptional,
GrantInfotempResourcesoptional,
GrantInforemoveResourcesoptional,
GrantInfoupdateResourcesoptional,
VimAssetsvimAssetsoptional,
ExtVirtualLinkDataextVirtualLinksoptional,
KeyValuePairsadditionalParamsoptional,
Grant_Linklinks
}with{
variant(links)"name as '_links'";
}
typerecordVimAssets{
VimSoftwareImagesoftwareImagesoptional
}
typerecordGrant_Link{
LinkTypeappLcmOpOcc,
LinkTypeappInstance
}
/**
/**
* @desc This type contains information about a Compute, storage or network resource whose addition/update/deletion was granted
* @desc Name of the category.
* @member resourceDefinitionId Identifier of the related "ResourceDefinition" structure from the related "GrantRequest" structure
* @member vimConnectionId Identifier of the VIM connection to be used to manage this resource
* @member zoneId Reference to the identifier of the "ZoneInfo" structure in the "Grant" structure defining the resource zone into which this resource is to be placed
* @member resourceGroupId Identifier of the "infrastructure resource group", logical grouping of virtual resources assigned to a tenant within an Infrastructure Domain, to be provided when allocating the resource
* @see ETSI GS MEC 010-2 Clause 6.2.4.5 Type: GrantInfo
*/
*/
typerecordGrantInfo{
//type Json.String Name;
Json.StringresourceDefinitionId,
Json.StringvimConnectionIdoptional,
Json.StringzoneIdoptional,
Json.StringresourceGroupIdoptional
}
/**
/**
* @desc This type provides information regarding a resource zone
* @desc Category version.
* @member id The identifier of this ZoneInfo instance, for the purpose of referencing it from other structures in the "Grant" structure
* @member zoneId The identifier of the resource zone, as managed by the resource management layer (typically, the VIM)
* @member vimConnectionId Identifier of the connection to the VIM that manages the resource zone
* @see ETSI GS MEC 010-2 Clause 6.2.4.6 Type: ZoneInfo
*/
*/
typerecordZoneInfo{
//type Json.String CategoryRef_Version;
Json.Stringid,
Json.StringzoneId,
Json.StringvimConnectionIdoptional
}
/**
/**
* @desc This type provides information regarding a resource zone group
* @desc This type represents the category reference.
* @member zoneId References of identifiers of "ZoneInfo" structures, each of which provides information about a resource zone that belongs to this group
* @see ETSI GS MEC 010-2 Clause 6.2.4.7 Type: ZoneGroupInfo
* @member id The identifier of the external VL instance
* @member vimConnectionId Identifier of the VIM connection to manage this resource
* @member resourceId The identifier of the resource in the scope of the VIM
* @member extCps External CPs of the application instance to be connected to this external VL
* @member extLinkPorts Externally provided link ports to be used to connect external connection points to this external VL
* @see ETSI GS MEC 010-2 Clause 6.2.4.8 Type: ExtVirtualLinkData
*/
typerecordExtVirtualLinkData{
Json.Stringid,
Json.StringvimConnectionIdoptional,
Json.StringresourceId,
AppExtCpDataextCps,
ExtLinkPortDataextLinkPortsoptional
}
/**
* @desc This type represents an externally provided link port to be used to connect an external connection point to an external VL
* @member id Identifier of this link port as provided by the entity that has created the link port
* @member resourceHandleReference to the virtualised resource realizing this link port
* @see ETSI GS MEC 010-2 Clause 6.2.4.9 Type: ExtLinkPortData
*/
typerecordExtLinkPortData{
Json.Stringid,
ResourceHandleresourceHandle
}
/**
* @desc This type represents the information that allows addressing a virtualised resource that is used by an application instance
* @member vimConnectionId Identifier of the VIM connection to manage the resource
* @member resourceId Identifier of the resource in the scope of the VIM
* @member vimLevelResourceType Type of the resource in the scope of the VIM
* @see ETSI GS MEC 010-2 Clause 6.2.4.10 Type: ResourceHandle
*/
typerecordResourceHandle{
Json.StringvimConnectionIdoptional,
Json.StringresourceId,
Json.StringvimLevelResourceTypeoptional
}
/**
* @desc This type contains a mapping between a software image definition in the AppD and the corresponding software image managed by the MEO in the VIM which is needed during compute resource instantiation
* @member vimConnectionId Identifier of the VIM connection to access the software image referenced in this structure
* @member appDSoftwareImageId Identifier which references the software image descriptor in the AppD
* @member vimSoftwareImageId Identifier of the software image in the resource management layer (i.e. VIM)
* @see ETSI GS MEC 010-2 Clause 6.2.4.11 Type: VimSoftwareImage
*/
typerecordVimSoftwareImage{
Json.StringvimConnectionIdoptional,
Json.StringappDSoftwareImageId,
Json.StringvimSoftwareImageId
}
/**
* @desc This type represents configuration information for external CPs created from a CPD
* @member cpdId The identifier of the CPD in the AppD
* @member cpConfig List of instance data that need to be configured on the CP instances created from the respective CPD
* @see ETSI GS MEC 010-2 Clause 6.2.4.12 Type: AppExtCpData