* @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
* @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
* @member appInfoName Human readable name for the MEC application
* @member appDescription Human readable description of 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 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 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 appServiceRequired Describes services a MEC application requires to run
* @member appServiceOptional Describes services a MEC application may use if available
* @member changeAppInstanceStateOpConfig Configuration parameters for the change application instance state operation
* @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 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).
* @member logicalNode The logical node requirements
* @member requestAdditionalCapabilities Specifies requirements for additional capabilities. These can be for a range of purposes
* @member mcioConstraintParams The parameter names for constraints expected to be assigned to MCIOs realizing this application
// 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]
// 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]
}
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 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)
}// End of group application_descriptor_information_model
/**
* @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
* @member
* @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 McioIdentificationData data type contains data needed to identify an MCIO when interworking with the CISM
* @member
* @see ETSI GS MEC 010-2 Clause 6.2.1.23 Type: McioIdentificationData
*/
typerecordMcioIdentificationData{
// FIXME shall follow the definition in clause 6.2.75.2 of ETSI GS NFV-SOL 001 [19].
}
/**
* @desc The LogicalNodeRequirements data type describes compute, memory and I/O requirements that are to be associated with the logical node of infrastructure
* @member
* @see ETSI GS MEC 010-2 Clause 6.2.1.24 Type: LogicalNodeRequirements
*/
typerecordLogicalNodeRequirements{
// FIXME shall follow the definition in clause 7.1.9.6.2 of ETSI GS NFV-IFA 011 [1].
* @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
* @member
* @see ETSI GS MEC 010-2 Clause 6.2.1.25 Type: RequestedAdditionalCapabilityData
*/
typerecordRequestedAdditionalCapabilityData{
// FIXME shall follow the definition in clause 7.1.9.5.2 of ETSI GS NFV-IFA 011 [1].
}
/**
* @desc The LocationConstraints data type supports the specification of MEC application requirements related to MEC application deployment location constraints
* @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 instantiatedAppState Operational state is applicable in the instantiation state 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
* @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 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
Json.StringresourceGroupIdoptional,
KeyValuePairsmcioConstraintsoptional
}
typerecordofGrantInfoGrantInfos;
/**
* @desc This type provides information regarding a resource zone