openapi: 3.1.0 info: title: MEC Application Support API version: '2.2.1' description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI license: name: BSD-3-Clause url: 'https://forge.etsi.org/legal-matters' contact: email: cti_support@etsi.org externalDocs: description: ETSI GS MEC011 Application Enablement API, V2.2.1 url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.02.01_60/gs_MEC011v020201p.pdf tags: - name: appTrafficRules - name: appDnsRules - name: appSubscriptions - name: appConfirmTermination - name: appConfirmReady - name: timing - name: callbacks jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema servers: - url: http://127.0.0.1:8081/mec_app_support/v1 variables: {} - url: https://127.0.0.1:8081/mec_app_support/v1 variables: {} paths: /applications/{appInstanceId}/traffic_rules: get: tags: - appTrafficRules summary: 'get traffic rules' description: This method retrieves information about all the traffic rules associated with a MEC application instance. operationId: ApplicationsTrafficRules_GET parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/TrafficRule' description: '' examples: - - trafficRuleId: TrafficRule123 serName: ExampleService filterType: FLOW priority: 1 trafficFilter: - srcAddress: - 192.168.2.0/24 - 192.168.3.0/24 dstAddress: - 192.127.4.100/32 dstPort: - '80' action: FORWARD_DECAPSULATED dstInterface: - dstInterface0: interfaceType: IP dstIpAddress: 20.1.1.1 - dstInterface1: interfaceType: IP dstIpAddress: 20.1.1.2 state: ACTIVE contentMediaType: application/json examples: TrafficRules: value: - trafficRuleId: TrafficRule123 serName: ExampleService filterType: FLOW priority: 1 trafficFilter: - srcAddress: - 192.168.2.0/24 - 192.168.3.0/24 dstAddress: - 192.127.4.100/32 dstPort: - '80' action: FORWARD_DECAPSULATED dstInterface: - dstInterface0: interfaceType: IP dstIpAddress: 20.1.1.1 state: ACTIVE '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /applications/{appInstanceId}/traffic_rules/{trafficRuleId}: get: tags: - appTrafficRules summary: 'Get traffic rule' description: This method retrieves information about all the traffic rules associated with a MEC application instance. operationId: ApplicationsTrafficRule_GET parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string - name: trafficRuleId in: path description: Represents a traffic rule. required: true style: simple schema: type: string responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: $ref: '#/components/schemas/TrafficRule' examples: TrafficRule: value: trafficRuleId: TrafficRule123 serName: ExampleService filterType: FLOW priority: 1 trafficFilter: - srcAddress: - 192.168.2.0/24 - 192.168.3.0/24 dstAddress: - 192.127.4.100/32 dstPort: - '80' action: FORWARD_DECAPSULATED dstInterface: - dstInterface0: interfaceType: IP dstIpAddress: 20.1.1.1 state: ACTIVE '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false put: tags: - appTrafficRules summary: 'Update traffic rule' description: This method retrieves information about all the traffic rules associated with a MEC application instance. operationId: ApplicationsTrafficRule_PUT parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string - name: trafficRuleId in: path description: Represents a traffic rule. required: true style: simple schema: type: string requestBody: description: One or more updated attributes that are allowed to be changed content: application/json: schema: $ref: '#/components/schemas/TrafficRule' required: true responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: $ref: '#/components/schemas/TrafficRule' examples: TrafficRule: value: trafficRuleId: TrafficRule123 serName: ExampleService filterType: FLOW priority: 1 trafficFilter: - srcAddress: - 192.168.2.0/24 - 192.168.3.0/24 dstAddress: - 192.127.4.100/32 dstPort: - '80' action: FORWARD_DECAPSULATED dstInterface: - dstInterface0: interfaceType: IP dstIpAddress: 20.1.1.1 state: ACTIVE '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '412': description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /applications/{appInstanceId}/dns_rules: get: tags: - appDnsRules summary: 'Get DNS rules' description: This method retrieves information about all the DNS rules associated with a MEC application instance. operationId: ApplicationsDnsRules_GET parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: type: array items: $ref: '#/components/schemas/DnsRule' description: '' examples: - - dnsRuleId: DnsRule1 domainName: www.example.com ipAddressType: IP_V4 ipAddress: 146.241.7.3 ttl: 300 state: ACTIVE - dnsRuleId: DnsRule2 domainName: www.example.com ipAddressType: IP_V4 ipAddress: 146.241.7.4 ttl: 300 state: INACTIVE contentMediaType: application/json examples: DnsRules: value: - dnsRuleId: DnsRule1 domainName: www.example.com ipAddressType: IP_V4 ipAddress: 146.241.7.3 ttl: 300 state: ACTIVE - dnsRuleId: DnsRule2 domainName: www.example.com ipAddressType: IP_V4 ipAddress: 146.241.7.4 ttl: 300 state: INACTIVE '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /applications/{appInstanceId}/dns_rules/{dnsRuleId}: get: tags: - appDnsRules summary: 'Get DNS rule' description: This method retrieves information about a DNS rule associated with a MEC application instance. operationId: ApplicationsDnsRule_GET parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string - name: dnsRuleId in: path description: Represents a DNS rule. required: true style: simple schema: type: string responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: $ref: '#/components/schemas/DnsRule' examples: DnsRule: value: dnsRuleId: DnsRule1 domainName: www.example.com ipAddressType: IP_V4 ipAddress: 146.241.7.3 ttl: 300 state: ACTIVE '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false put: tags: - appDnsRules summary: 'Update DNS rule' description: This method activates, de-activates or updates a traffic rule. operationId: ApplicationsDnsRule_PUT parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string - name: dnsRuleId in: path description: Represents a DNS rule. required: true style: simple schema: type: string requestBody: description: The updated state is included in the entity body of the request. content: application/json: schema: $ref: '#/components/schemas/DnsRule' required: true responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: $ref: '#/components/schemas/DnsRule' examples: DnsRule: value: dnsRuleId: DnsRule1 domainName: www.example.com ipAddressType: IP_V4 ipAddress: 146.241.7.3 ttl: 300 state: ACTIVE '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '412': description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /applications/{appInstanceId}/subscriptions: get: tags: - appSubscriptions summary: 'Get subscriptions' description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. operationId: ApplicationsSubscriptions_GET parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string responses: '200': description: Upon success, a response body containing the list of links to the requested subscriptions is returned. headers: {} content: application/json: schema: $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList' '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false post: tags: - appSubscriptions summary: 'Create subscription' description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. operationId: ApplicationsSubscriptions_POST parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string requestBody: description: Entity body in the request contains a subscription to the MEC application termination notifications that is to be created. content: application/json: schema: $ref: '#/components/schemas/AppTerminationNotificationSubscription' required: true responses: '201': description: Entity body in the request contains a subscription to the MEC service availability notifications that is to be created. headers: location: description: The resource URI of the created resource content: text/plain: schema: type: string description: The resource URI of the created resource contentMediaType: text/plain content: application/json: schema: $ref: '#/components/schemas/AppTerminationNotificationSubscription' '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false callbacks: AppTerminationNotification: '{$request.body#/callbackUri}': post: description: Represents the information that the MEP notifies the subscribed application instance about the corresponding application instance termination/stop' operationId: AppTerminationNotification_POST tags: - callbacks summary: 'Create callback' requestBody: $ref: '#/components/requestBodies/AppTerminationNotification' responses: '200': description: Expected responses from callback consumer, if it accepts the callback parameters: [] /applications/{appInstanceId}/subscriptions/{subscriptionId}: get: tags: - appSubscriptions summary: 'Get subscription' description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. operationId: ApplicationsSubscription_GET parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string - name: subscriptionId in: path description: Represents a subscription to the notifications from the MEC platform. required: true style: simple schema: type: string responses: '200': description: Upon success, a response body containing the requested subscription is returned. headers: {} content: application/json: schema: $ref: '#/components/schemas/AppTerminationNotificationSubscription' '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false delete: tags: - appSubscriptions summary: 'delete subscription' description: This method deletes a mecAppSuptApiSubscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. operationId: ApplicationsSubscription_DELETE parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string - name: subscriptionId in: path description: Represents a subscription to the notifications from the MEC platform. required: true style: simple schema: type: string responses: '204': description: No Content headers: {} content: {} '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /applications/{appInstanceId}/confirm_termination: post: tags: - appConfirmTermination summary: 'Confirm termination' description: This method is used to confirm the application level termination of an application instance. operationId: ApplicationsConfirmTermination_POST parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/AppTerminationConfirmation' required: false responses: '204': description: No Content headers: {} content: {} '401': description: Unauthorized. It is used when the client did not submit the appropriate credentials. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '409': description: Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '429': description: Too Many Requests. It is used when a rate limiter has triggered. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /applications/{appInstanceId}/confirm_ready: post: tags: - appConfirmReady summary: 'Confirm ready' description: 'This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ' operationId: ApplicationsConfirmReady_POST parameters: - name: appInstanceId in: path description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. required: true style: simple schema: type: string requestBody: description: '' content: application/json: schema: $ref: '#/components/schemas/AppReadyConfirmation' required: false responses: '204': description: No Content headers: {} content: {} '401': description: Unauthorized. It is used when the client did not submit the appropriate credentials. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '409': description: Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '429': description: Too Many Requests. It is used when a rate limiter has triggered. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /timing/timing_caps: get: tags: - timing summary: 'Retrieve timing capabilities' description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query operationId: TimingCaps_GET parameters: [] responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: $ref: '#/components/schemas/TimingCaps' '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] /timing/current_time: get: tags: - timing summary: 'Retrieve current time' description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure operationId: TimingCurrentTime_GET parameters: [] responses: '200': description: It is used to indicate nonspecific success. The response body contains a representation of the resource. headers: {} content: application/json: schema: $ref: '#/components/schemas/CurrentTime' '400': description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain '403': description: Forbidden. The operation is not allowed given the current status of the resource. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' '404': description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. headers: {} content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetails' text/plain: schema: type: object description: Empty schema contentMediaType: text/plain deprecated: false parameters: [] components: schemas: AppReadyConfirmation: title: AppReadyConfirmation required: - indication type: object properties: indication: const: READY type: string description: Indication about the MEC application instance. examples: - READY description: This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running. AppTerminationConfirmation: title: AppTerminationConfirmation required: - operationAction type: object properties: operationAction: $ref: '#/components/schemas/OperationActionType' description: This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop. AppTerminationNotification.Links: title: AppTerminationNotification.Links required: - subscription type: object properties: subscription: $ref: '#/components/schemas/LinkType' confirmTermination: $ref: '#/components/schemas/LinkType.ConfirmTermination' description: Object containing hyperlinks related to the resource. AppTerminationNotification: title: AppTerminationNotification required: - notificationType - operationAction - maxGracefulTimeout - _links type: object properties: notificationType: type: string description: Shall be set to AppTerminationNotification. examples: - AppTerminationNotification operationAction: $ref: '#/components/schemas/OperationActionType' maxGracefulTimeout: type: integer description: Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. contentEncoding: int32 examples: - 10 _links: $ref: '#/components/schemas/AppTerminationNotification.Links' description: This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop. AppTerminationNotificationSubscription: title: AppTerminationNotificationSubscription required: - subscriptionType - callbackReference - _links - appInstanceId type: object properties: subscriptionType: type: string description: Shall be set to AppTerminationNotificationSubscription. examples: - AppTerminationNotificationSubscription callbackReference: type: string description: URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information. This shall be included in both the request and the response. _links: $ref: '#/components/schemas/Self' appInstanceId: type: string description: It is used as the filtering criterion for the subscribed events. examples: - ID1 description: This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop. CurrentTime: title: CurrentTime required: - seconds - nanoSeconds - timeSourceStatus type: object properties: seconds: type: integer description: The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC contentEncoding: int32 examples: - 1577836800 nanoSeconds: type: integer description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC contentEncoding: int32 examples: - 0 timeSourceStatus: $ref: '#/components/schemas/TimeSourceStatus' description: This type represents the information provided by the MEC platform in response to the Get Platform Time Request message. DestinationInterface.InterfaceType: title: DestinationInterface.InterfaceType enum: - TUNNEL - MAC - IP type: string description: Type of the interface examples: - TUNNEL DestinationInterface: title: DestinationInterface required: - interfaceType type: object properties: interfaceType: $ref: '#/components/schemas/DestinationInterface.InterfaceType' tunnelInfo: $ref: '#/components/schemas/TunnelInfo' srcMacAddress: type: string description: Source address identifies the MAC address of the interface examples: - 02-00-00-00-00-00 dstMacAddress: type: string description: Source address identifies the MAC address of the interface examples: - 02-00-00-00-00-00 dstIpAddress: type: string description: IP address of the remote destination examples: - 192.0.2.0 description: This type represents the destination interface. If the action is FORWARD_DECAPSULATED, FORWARD_ENCAPSULATED or PASSTHROUGH one value shall be provided. If the action is DUPLICATE_DECAPSULATED or DUPLICATE_ENCAPSULATED, two values shall be provided. If the action is DROP, no value shall be provided. DnsRule.IpAddressType: title: DnsRule.IpAddressType enum: - IP_V6 - IP_V4 type: string description: IP address type examples: - IP_V6 DnsRule.State: title: DnsRule.State enum: - ACTIVE - INACTIVE type: string description: DNS rule state. This attribute may be updated using HTTP PUT method examples: - ACTIVE DnsRule: title: DnsRule required: - dnsRuleId - domainName - ipAddressType - ipAddress - state type: object properties: dnsRuleId: type: string description: Identifies the DNS Rule examples: - dnsRule1 domainName: type: string description: FQDN resolved by the DNS rule examples: - www.example.com ipAddressType: $ref: '#/components/schemas/DnsRule.IpAddressType' ipAddress: type: string description: IP address associated with the FQDN resolved by the DNS rule examples: - 192.0.2.0 ttl: type: integer description: Time to live value contentEncoding: int32 state: $ref: '#/components/schemas/DnsRule.State' description: This type represents the general information of a DNS rule. LinkType: title: LinkType type: object properties: href: type: string description: URI referring to a resource examples: - /mecAppSuptApi/example description: This type represents a type of link and may be referenced from data structures LinkType.ConfirmTermination: title: LinkType.ConfirmTermination type: object properties: href: type: string description: URI referring to a resource examples: - /mecAppSuptApi/example description: Link to the task resource where to confirm termination in case the application is ready to be terminated before expiry of the timeout. MecAppSuptApiSubscriptionLinkList.Links: title: MecAppSuptApiSubscriptionLinkList.Links required: - self type: object properties: self: $ref: '#/components/schemas/LinkType' subscriptions: type: array items: $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription' description: The MEC application instance's subscriptions description: Self-referring URI. MecAppSuptApiSubscriptionLinkList.Subscription: title: MecAppSuptApiSubscriptionLinkList.Subscription required: - href - rel type: object properties: href: type: string description: URI referring to a resource examples: - /mecAppSuptApi/example rel: type: string description: The values shall be set to AppTerminationNotificationSubscription. description: A link to a subscription. MecAppSuptApiSubscriptionLinkList: title: MecAppSuptApiSubscriptionLinkList required: - _links type: object properties: _links: $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Links' description: This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions. OperationActionType: title: OperationActionType enum: - STOPPING - TERMINATING type: string description: Operation that is being performed on the MEC application instance. examples: - TERMINATING ProblemDetails: title: ProblemDetails type: object properties: type: type: string description: A URI reference according to IETF RFC 3986 that identifies the problem type title: type: string description: A short, human-readable summary of the problem type status: type: integer description: The HTTP status code for this occurrence of the problem contentEncoding: int32 detail: type: string description: A human-readable explanation specific to this occurrence of the problem instance: type: string description: A URI reference that identifies the specific occurrence of the problem Self: title: Self required: - self type: object properties: self: $ref: '#/components/schemas/LinkType' description: Self-referring URI. TimingCaps.NtpServers.AuthenticationOption: title: TimingCaps.NtpServers.AuthenticationOption enum: - NONE - SYMMETRIC_KEY - AUTO_KEY type: string description: NTP authentication option examples: - NONE TimingCaps.NtpServers.NtpServerAddrType: title: TimingCaps.NtpServers.NtpServerAddrType enum: - IP_ADDRESS - DNS_NAME type: string description: Address type of NTP server examples: - IP_ADDRESS TimingCaps.NtpServers: title: TimingCaps.NtpServers required: - ntpServerAddrType - ntpServerAddr - minPollingInterval - maxPollingInterval - localPriority - authenticationOption - authenticationKeyNum type: object properties: ntpServerAddrType: $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType' ntpServerAddr: type: string description: NTP server address examples: - 192.0.2.0 minPollingInterval: type: integer description: Minimum poll interval for NTP messages, in seconds as a power of two. Range 3 to 17 contentEncoding: int32 examples: - 3 maxPollingInterval: type: integer description: Maximum poll interval for NTP messages, in seconds as a power of two. Range 3 to 17 contentEncoding: int32 examples: - 17 localPriority: type: integer description: NTP server local priority contentEncoding: int32 examples: - 1 authenticationOption: $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationOption' authenticationKeyNum: type: integer description: Authentication key number contentEncoding: int32 examples: - 1 description: NTP server detail. TimingCaps_PtpMasters: title: TimingCaps_PtpMasters required: - ptpMasterIpAddress - ptpMasterLocalPriority - delayReqMaxRate type: object properties: ptpMasterIpAddress: type: string description: PTP Server (referred to as "master" in IEEE 1588-2019) IP Address examples: - 192.0.2.0 ptpMasterLocalPriority: type: integer description: PTP Server (referred to as "master" in IEEE 1588-2019 ) local priority contentEncoding: int32 examples: - 1 delayReqMaxRate: type: integer description: Acceptable maximum rate of the Delay_Req messages in packets per second contentEncoding: int32 examples: - 10 description: NTP server detail. TimingCaps.TimeStamp: title: TimingCaps.TimeStamp required: - seconds - nanoSeconds type: object properties: seconds: type: integer description: The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC contentEncoding: int32 examples: - 1577836800 nanoSeconds: type: integer description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC contentEncoding: int32 examples: - 0 description: time TimingCaps: title: TimingCaps type: object properties: timeStamp: $ref: '#/components/schemas/TimingCaps.TimeStamp' ntpServers: type: array items: $ref: '#/components/schemas/TimingCaps.NtpServers' description: Available NTP servers ptpMasters: type: array items: $ref: '#/components/schemas/TimingCaps_PtpMasters' description: Number of available PTP Servers (referred to as "masters" in IEEE 1588-2019) description: This type represents the information provided by the MEC platform in response to the Timing capabilities Query message. TrafficFilter: title: TrafficFilter type: object properties: srcAddress: type: array items: type: string description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. dstAddress: type: array items: type: string description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. srcPort: type: array items: type: string description: A port or a range of ports dstPort: type: array items: type: string description: A port or a range of ports protocol: type: array items: type: string description: Specify the protocol of the traffic filter token: type: array items: type: string description: Used for token based traffic rule srcTunnelAddress: type: array items: type: string description: Used for GTP tunnel based traffic rule tgtTunnelAddress: type: array items: type: string description: Used for GTP tunnel based traffic rule srcTunnelPort: type: array items: type: string description: Used for GTP tunnel based traffic rule dstTunnelPort: type: array items: type: string description: Used for GTP tunnel based traffic rule qCI: type: integer description: Used to match all packets that have the same Quality Class Indicator (QCI). contentEncoding: int32 examples: - 1 dSCP: type: integer description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP) contentEncoding: int32 examples: - 0 tC: type: integer description: Used to match all IPv6 packets that have the same Traffic Class. contentEncoding: int32 examples: - 1 description: This type represents the traffic filter. TrafficRule.Action: title: TrafficRule.Action enum: - DROP - FORWARD_DECAPSULATED - FORWARD_ENCAPSULATED - PASSTHROUGH - DUPLICATE_DECAPSULATED - DUPLICATE_ENCAPSULATED type: string description: The action of the MEC host data plane when a packet matches the trafficFilter examples: - DROP TrafficRule.FilterType: title: TrafficRule.FilterType enum: - FLOW - PACKET type: string description: Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context examples: - FLOW TrafficRule.State: title: TrafficRule.State enum: - ACTIVE - INACTIVE type: string description: Contains the traffic rule state. This attribute may be updated using HTTP PUT method examples: - ACTIVE TrafficRule: title: TrafficRule required: - trafficRuleId - filterType - priority - trafficFilter - action - state type: object properties: trafficRuleId: type: string description: Identify the traffic rule. examples: - TrafficRule1 filterType: $ref: '#/components/schemas/TrafficRule.FilterType' priority: type: integer description: Priority of this traffic rule within the range 0 to 255. If traffic rules conflict, the one with higher priority take precedence. Value indicates the priority in descending order, i.e. with 0 as the highest priority and 255 as the lowest priority. contentEncoding: int32 examples: - 1 trafficFilter: type: array items: $ref: '#/components/schemas/TrafficFilter' description: '' action: $ref: '#/components/schemas/TrafficRule.Action' dstInterface: type: array items: $ref: '#/components/schemas/DestinationInterface' maxItems: 2 state: $ref: '#/components/schemas/TrafficRule.State' description: This type represents the general information of a traffic rule. TunnelInfo.TunnelType: title: TunnelInfo.TunnelType enum: - GTP_U - GRE type: string description: This type represents the tunnel information. examples: - GTP_U TunnelInfo: title: TunnelInfo required: - tunnelType type: object properties: tunnelType: $ref: '#/components/schemas/TunnelInfo.TunnelType' tunnelDstAddress: type: string description: Destination address of the tunnel examples: - '?' tunnelSrcAddress: type: string description: Source address of the tunnel examples: - '?' description: This type represents the tunnel information. TimeSourceStatus: title: TimeSourceStatus enum: - TRACEABLE - NONTRACEABLE type: string description: Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source examples: - TRACEABLE requestBodies: AppTerminationNotification: content: application/json: schema: $ref: '#/components/schemas/AppTerminationNotification' required: true security: - {}