diff --git a/MecAppSupportApi.yaml b/MecAppSupportApi.yaml index f0b77ab964690cdaff64f64cc8bba589333c9a5e..ce952dca7c68c911fb2a40b712a32378890c6ee4 100644 --- a/MecAppSupportApi.yaml +++ b/MecAppSupportApi.yaml @@ -1,2770 +1,1495 @@ openapi: 3.1.0 +jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema info: - title: MEC Application Support API - version: 3.1.1 - description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI + contact: + url: https://forge.etsi.org/rep/mec/gs011-app-enablement-api + title: ETSI GS MEC 011 Edge Platform Application Enablement + description: 'The present document focuses on the functionalities enabled via the Mp1 reference point between MEC applications and MEC platform, which allows these applications to interact with the MEC system. Service management functionality includes registration/deregistration, discovery and event notifications. Application support functionality includes application start-up, registration and termination, traffic rules, DNS and time of day. It describes the information flows, required information, and specifies the necessary operations, data models and API definitions. + + ' 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, V3.1.1' - url: >- - https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/03.01.01_60/gs_MEC011v030101p.pdf -tags: - - name: appTrafficRules - - name: appDnsRules - - name: appSubscriptions - - name: appConfirmTermination - - name: appConfirmReady - - name: timing - - name: callbacks - - name: appRegistrations -jsonSchemaDialect: 'https://json-schema.org/draft/2020-12/schema' + url: https://forge.etsi.org/legal-matters + version: 3.1.1 servers: - - url: 'http://127.0.0.1:8081/mec_app_support/v2' - variables: {} - - url: 'https://127.0.0.1:8081/mec_app_support/v2' - variables: {} +- url: https://localhost:8081/mec_app_support/v1 paths: - '/applications/{appInstanceId}/traffic_rules': + /applications/{appInstanceId}/subscriptions: get: + summary: Retrieve information about a list of mecAppSupportSubscription resources for this subscriber. + description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains message content with all the subscriptions for the requestor. + operationId: ApplicationsSubscriptionsGETAppinstanceid 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 + - applicationSupport responses: '200': - description: >- - Upon success, a response message content containing an array of the - TrafficRules is returned. - headers: {} + description: Upon success, a response message content containing the list of links to the requested subscriptions is returned. content: application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TrafficRule' - description: '' - examples: - - - trafficRuleId: TrafficRule123 - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.127.4.100/32 - - 192.127.4.101/32 - dstAddress: - - 192.127.4.102/32 - - 192.127.4.103/32 - srcPort: - - '80' - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - - dstInterface: null - interfaceType: IP - tunnelInfo: tunnel - dstIpAddress: 20.1.1.1 - state: ACTIVE - contentMediaType: application/json - examples: - TrafficRules: - value: - - trafficRuleId: TrafficRule123 - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.127.4.100/32 - - 192.127.4.101/32 - dstAddress: - - 192.127.4.102/32 - - 192.127.4.103/32 - srcPort: - - '80' - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - - dstInterface: null - interfaceType: IP - tunnelInfo: tunnel - dstIpAddress: 20.1.1.1 - state: ACTIVE - - trafficRuleId: TrafficRule123 - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.127.4.104/32 - - 192.127.4.105/32 - dstAddress: - - 192.127.4.106/32 - - 192.127.4.107/32 - srcPort: - - '80' - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - - dstInterface: null - interfaceType: IP - tunnelInfo: tunnel - dstIpAddress: 20.1.1.2 - 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 + properties: + SubscriptionLinkList: + $ref: '#/components/schemas/SubscriptionLinkList' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' '403': - description: >- - Forbidden. The operation is not allowed given the current status of - the resource. - headers: {} + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + post: + summary: Create a mecAppSupportSubscription resource. + 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 application termination notifications. Upon success, the response contains message content describing the created subscription. ' + operationId: ApplicationsSubscriptionsPOSTAppinstanceid + tags: + - applicationSupport + requestBody: + description: Message content in the request contains a subscription to the MEC application termination notifications that is to be created. + required: true + content: + application/json: + schema: + type: object + properties: + AppTerminationNotificationSubscription: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + responses: + '201': + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription resource. content: - application/problem+json: + application/json: schema: - $ref: '#/components/schemas/ProblemDetails' + type: object + properties: + AppTerminationNotificationSubscription: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + '400': + $ref: '#/components/responses/400' '404': - description: >- - Not Found. It is used when a client provided a URI that cannot be - mapped to a valid resource URI. - headers: {} + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + callbacks: + notification: + '{$request.body#/callbackUri}': + post: + summary: Callback POST used to send a notification + description: Subscription notification + operationId: notificationPOST637029 + requestBody: + description: Subscription notification + required: true + content: + application/json: + schema: + type: object + properties: + subscriptionNotification: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + responses: + '204': + description: No content + '404': + description: Not found + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + /applications/{appInstanceId}/subscriptions/{subscriptionId}: + get: + summary: Retrieve information about a mecAppSupportSubscription resource for this subscriber. + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains message content with the subscription for the requestor. + operationId: ApplicationsSubscriptionsGETAppinstanceidSubscriptionid + tags: + - applicationSupport + responses: + '200': + description: Upon success, a response message content containing the requested subscription is returned. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - '/applications/{appInstanceId}/traffic_rules/{trafficRuleId}': - get: + properties: + AppTerminationNotificationSubscription: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: subscriptionId + in: path + required: true + description: The unique identifier of the subscriptionId. + schema: + type: string + delete: + summary: Delete a mecAppSupportSubscription resource. + description: This method deletes a mecAppSupportSubscription. This method is typically used in "Unsubscribing from event notifications" procedure as described in clause 5.2.6.3. Figure 7.2.4.3.5-1 shows the example message flows using DELETE method. + operationId: ApplicationsSubscriptionsDELETEAppinstanceidSubscriptionid 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 + - applicationSupport + responses: + '204': + $ref: '#/components/responses/204' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' 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 + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: subscriptionId + in: path + required: true + description: The unique identifier of the subscriptionId. + schema: + type: string + /timing/timing_caps: + get: + summary: Retrieve information about the mecTimingCaps resource. + description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query as described in clause 5.2.10.3. Figure 7.2.5.3.1-1 shows the example message flow for retrieving timing capabilities using GET method. + operationId: TimingTimingcapsGET + tags: + - applicationSupport responses: '200': - description: >- - Upon success, a response message content containing the TrafficRules - is returned. - headers: {} + description: It is used to indicate nonspecific success. The response message content contains a representation of the resource. content: application/json: schema: - $ref: '#/components/schemas/TrafficRule' - examples: - TrafficRule: - value: - trafficRuleId: TrafficRule123 - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.127.4.100/32 - - 192.127.4.101/32 - dstAddress: - - 192.127.4.102/32 - - 192.127.4.103/32 - srcPort: - - '80' - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - - dstInterface: null - interfaceType: IP - tunnelInfo: tunnel - dstIpAddress: 20.1.1.1 - state: ACTIVE + type: object + properties: + TimingCaps: + $ref: '#/components/schemas/TimingCaps' '400': - description: >- - Bad Request. It is used to indicate that incorrect parameters were - passed to the request. - headers: {} + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: [] + /timing/current_time: + get: + summary: Retrieve information about the mecCurrentTime resource. + description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure as described in clause 5.2.10.2. Figure 7.2.6.3.1-1 shows message flow for retrieving current time using GET method. + operationId: TimingCurrenttimeGET + tags: + - applicationSupport + responses: + '200': + description: It is used to indicate nonspecific success. The response message content contains a representation of the resource. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain + properties: + CurrentTime: + $ref: '#/components/schemas/CurrentTime' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' '403': - description: >- - Forbidden. The operation is not allowed given the current status of - the resource. - headers: {} + $ref: '#/components/responses/403' + parameters: [] + /applications/{appInstanceId}/traffic_rules: + get: + summary: Retrieve information about a list of mecTrafficRule resources for an application instance. + description: This method retrieves information about all the traffic rules associated with a MEC application instance. + operationId: ApplicationsTrafficrulesGETAppinstanceid + tags: + - applicationSupport + responses: + '200': + description: Upon success, a response message content containing an array of the TrafficRules is returned. content: - application/problem+json: + application/json: schema: - $ref: '#/components/schemas/ProblemDetails' + type: array + items: + $ref: '#/components/schemas/TrafficRule' + '400': + $ref: '#/components/responses/400' '404': - description: >- - Not Found. It is used when a client provided a URI that cannot be - mapped to a valid resource URI. - headers: {} + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + /applications/{appInstanceId}/traffic_rules/{trafficRuleId}: + get: + summary: Retrieve information about a mecTrafficRule resource. + description: This method retrieves information about a traffic rule associated with a MEC application instance. + operationId: ApplicationsTrafficrulesGETAppinstanceidTrafficruleid + tags: + - applicationSupport + responses: + '200': + description: Upon success, a response message content containing the TrafficRules is returned. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false + properties: + TrafficRule: + $ref: '#/components/schemas/TrafficRule' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: trafficRuleId + in: path + required: true + description: The unique identifier of the trafficRuleId. + schema: + type: string put: + summary: Update the information about a mecTrafficRule resource. + description: PUT HTTP method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in tables 7.2.8.3.2-1 and 7.2.8.3.2-2. + operationId: ApplicationsTrafficrulesPUTAppinstanceidTrafficruleid 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 + - applicationSupport requestBody: - description: >- - One or more updated attributes that are allowed to be changed are - included in the TrafficRule data structure in the message content of - the request. + description: "One or more updated attributes that are allowed to be changed (i.e.\_\"state\" or other attributes based on definition in clause 7.1.2.2) are included in the TrafficRule data structure in the message content of the request." + required: true content: application/json: schema: - $ref: '#/components/schemas/TrafficRule' - required: true + type: object + properties: + TrafficRule: + $ref: '#/components/schemas/TrafficRule' responses: '200': - description: >- - Upon success, a response message content containing data type - describing the updated TrafficRule is returned. - headers: {} + description: Upon success, a response message content containing data type describing the updated TrafficRule is returned. content: application/json: - schema: - $ref: '#/components/schemas/TrafficRule' - examples: - TrafficRule: - value: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.127.4.100/32 - - 192.127.4.101/32 - dstAddress: - - 192.127.4.102/32 - - 192.127.4.103/32 - srcPort: - - '80' - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - - dstInterface0: null - interfaceType: IP - tunnelInfo: tunnel - 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' + properties: + TrafficRule: + $ref: '#/components/schemas/TrafficRule' + '400': + $ref: '#/components/responses/400' '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 + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' '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': + $ref: '#/components/responses/412' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: trafficRuleId + in: path + required: true + description: The unique identifier of the trafficRuleId. + schema: + type: string + /applications/{appInstanceId}/dns_rules: get: + summary: Retrieve information about a list of mecDnsRule resources for an application instance. + description: This method retrieves information about all the DNS rules associated with a MEC application instance. + operationId: ApplicationsDnsrulesGETAppinstanceid 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 + - applicationSupport responses: '200': - description: >- - Upon success, a response message content containing an array of the - DnsRules is returned. - headers: {} + description: Upon success, a response message content containing an array of the DnsRules is returned. 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' + $ref: '#/components/responses/400' '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}': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + /applications/{appInstanceId}/dns_rules/{dnsRuleId}: get: + summary: Retrieve information about a mecDnsRule resource. + description: 'This method retrieves information about a DNS rule associated with a MEC application instance. ' + operationId: ApplicationsDnsrulesGETAppinstanceidDnsruleid 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 + - applicationSupport responses: '200': - description: >- - Upon success, a response message content containing the DnsRules is - returned. - headers: {} + description: Upon success, a response message content containing the DnsRules is returned. 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' + properties: + DnsRule: + $ref: '#/components/schemas/DnsRule' + '400': + $ref: '#/components/responses/400' '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 + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: dnsRuleId + in: path + required: true + description: The unique identifier of the dnsRuleId. + schema: + type: string put: + summary: Update the information about a mecDnsRule resource. + description: PUT HTTP method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in tables 7.2.10.3.2-1 and 7.2.10.3.2-2. + operationId: ApplicationsDnsrulesPUTAppinstanceidDnsruleid 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 + - applicationSupport requestBody: description: The updated "state" is included in the message content of the request. + required: true content: application/json: schema: - $ref: '#/components/schemas/DnsRule' - required: true + type: object + properties: + DnsRule: + $ref: '#/components/schemas/DnsRule' responses: '200': - description: >- - Upon success, a response message content containing data type - describing the updated DnsRule is returned. - headers: {} + description: Upon success, a response message content containing data type describing the updated DnsRule is returned. 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' + properties: + DnsRule: + $ref: '#/components/schemas/DnsRule' + '400': + $ref: '#/components/responses/400' '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 + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' '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 - message content with all the subscriptions for the requestor. - operationId: ApplicationsSubscriptions_GET + $ref: '#/components/responses/412' 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: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: dnsRuleId + in: path + required: true + description: The unique identifier of the dnsRuleId. + schema: + type: string + /applications/{appInstanceId}/confirm_termination: + post: + summary: Confirm the application level termination of an App instance. + description: 'Table 7.2.11.3.4-1: URI query parameters supported by the POST method on this resource' + operationId: ApplicationsConfirmterminationPOSTAppinstanceid + tags: + - applicationSupport + requestBody: + description: Message content in the request contains the operational action the application instance is responding to. + required: true + content: + application/json: + schema: + type: object + properties: + AppTerminationConfirmation: + $ref: '#/components/schemas/AppTerminationConfirmation' responses: - '200': - description: >- - Upon success, a response message content 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 + '401': + $ref: '#/components/responses/401' '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' + $ref: '#/components/responses/403' '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 + $ref: '#/components/responses/404' + '429': + $ref: '#/components/responses/429' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + /applications/{appInstanceId}/confirm_ready: post: + summary: Confirm the application instance is up and running. + description: The POST method may be used by the MEC application instance to notify the MEC platform that it is up and running. POST HTTP method shall support the URI query parameters, request and response data structures, and response codes, as specified in tables 7.2.12.3.4-1 and 7.2.12.3.4-2. + operationId: ApplicationsConfirmreadyPOSTAppinstanceid 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 message content - 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 + - applicationSupport requestBody: - description: >- - Message content in the request contains a subscription to the MEC - application termination notifications that is to be created. + description: Message content in the request contains the indication that the application instance is up and running. + required: true content: application/json: schema: - $ref: '#/components/schemas/AppTerminationNotificationSubscription' - required: true + type: object + properties: + AppReadyConfirmation: + $ref: '#/components/schemas/AppReadyConfirmation' 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 message content 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 message content 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: >- - Message content in the request contains the operational action the - application instance is responding to. - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationConfirmation' - required: false - responses: - '204': - description: >- - No Content. The request is acknowledged. The response message - content shall be empty. - 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 + $ref: '#/components/responses/401' '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' + $ref: '#/components/responses/403' '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 + $ref: '#/components/responses/404' '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 + $ref: '#/components/responses/429' 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: >- - Message content in the request contains the indication that the - application instance is up and running. - 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: [] + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string /registrations: post: + summary: Register the MEC application instance to the MEC platform. + description: 'The POST method may be used by the MEC application instance to request its registration to the MEC platform. Upon success, the response contains message content describing the created registration. ' + operationId: RegistrationsPOST tags: - - appRegistrations - summary: Create Registrantion - description: >- - The POST method may be used by the MEC application instance to request - its registration to the MEC platform. - operationId: ApplicationsRegistrations_POST - parameters: [] + - applicationSupport requestBody: - description: >- - The message content in the request contains the profile of the MEC - application instance, calling the MEC platform to register the MEC - application instance. + description: The message content in the request contains the profile of the MEC application instance, calling the MEC platform to register the MEC application instance. . + required: true content: application/json: schema: - $ref: '#/components/schemas/AppInfo' - required: false + type: object + properties: + AppInfo: + $ref: '#/components/schemas/AppInfo' responses: '201': - description: >- - Indicates successful resource creation for registration of the MEC - application instance to the MEC platform. - 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 + description: Indicates successful resource creation for registration of the MEC application instance to the MEC platform. The resource URI shall be returned in the HTTP Location header field. content: application/json: - schema: - $ref: '#/components/schemas/AppInfo' - '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 + properties: + AppInfo: + $ref: '#/components/schemas/AppInfo' + '400': + $ref: '#/components/responses/400' '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 + $ref: '#/components/responses/401' '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' + $ref: '#/components/responses/403' '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: [] - '/registrations/{appInstanceId}': + $ref: '#/components/responses/404' + parameters: [] + /registrations/{appInstanceId}: get: + summary: Retrieve information about the MEC application instance registration to the MEC platform. + description: The GET method may be used by the MEC application instance to retrieve information about the existing MEC application instance registration to the MEC platform. GET HTTP method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in tables 7.2.14.3.1-1 and 7.2.14.3.1-2. + operationId: RegistrationsGETAppinstanceid tags: - - appRegistrations - summary: Get Registration - description: >- - The GET method may be used by the MEC application instance to retrieve - information about the existing MEC application instance registration to - the MEC platform. - operationId: ApplicationsRegistration_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 + - applicationSupport responses: '200': - description: >- - Upon success, a response message content containing the requested - subscription is returned. - headers: {} + description: Upon success, a response message content containing the AppInfo is returned. content: application/json: - schema: - $ref: '#/components/schemas/AppInfo' - '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' + properties: + AppInfo: + $ref: '#/components/schemas/AppInfo' + '400': + $ref: '#/components/responses/400' '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 + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string put: + summary: Update the existing registration of that MEC application instance to the MEC platform. + description: The PUT method may be used by the MEC application instance to update its registration to the MEC platform. PUT HTTP method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in tables 7.2.14.3.2-1 and 7.2.14.3.2-2. + operationId: RegistrationsPUTAppinstanceid tags: - - appRegistrations - summary: Update Registration - description: >- - The PUT method may be used by the MEC application instance to update its - registration to the MEC platform. - operationId: ApplicationsRegistration_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 + - applicationSupport requestBody: - description: >- - Message content in the request contains the profile of the - application, calling the MEC platform to update the existing MEC - application instance registration. + description: Message content in the request contains the profile of the application, calling the MEC platform to update the existing MEC application instance registration. + required: true content: application/json: schema: - $ref: '#/components/schemas/AppInfo' - required: true + type: object + properties: + AppInfo: + $ref: '#/components/schemas/AppInfo' responses: '204': - description: No Content - headers: {} - content: {} - '400': - description: >- - Bad Request. It is used to indicate that incorrect parameters were - passed to the request. - headers: {} + description: Upon success, a response 204 No Content without any response message content is returned. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain + properties: {} + '400': + $ref: '#/components/responses/400' '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 + $ref: '#/components/responses/401' '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' + $ref: '#/components/responses/403' '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 + $ref: '#/components/responses/404' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string delete: + summary: Request deregistration of the application instance from the MEC platform. + description: "The DELETE method is used to cancel the existing MEC application instance registration. Cancellation can be made by deleting the resource that represents the existing MEC application instance registration. DELETE HTTP method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in tables\_7.2.14.3.5-1 and 7.2.14.3.5-2." + operationId: RegistrationsDELETEAppinstanceid tags: - - appRegistrations - summary: delete registration - description: >- - The DELETE method is used to cancel the existing MEC application - instance registration. - operationId: ApplicationsRegistration_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 + - applicationSupport responses: '204': - description: No Content - headers: {} - content: {} + $ref: '#/components/responses/204' '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 + $ref: '#/components/responses/400' '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 + $ref: '#/components/responses/401' '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' + $ref: '#/components/responses/403' '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/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 message - content 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 message - content 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: [] + $ref: '#/components/responses/404' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string components: schemas: - AppReadyConfirmation: - title: AppReadyConfirmation + ProblemDetails: + type: object + properties: + type: + type: string + format: uri + 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 + format: uint32 + description: The HTTP status code for this occurrence of the problem + detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem + instance: + type: string + format: uri + description: A URI reference that identifies the specific occurrence of the problem + TransportDescriptor: + x-etsi-ref: 6.2.1.19 + type: object + properties: + name: + description: The name of this transport. + type: string + description: + description: Human-readable description of this transport. + type: string + type: + description': Type of the transport, as defined in the TransportTypes type in ETSI GS MEC 011 [17]. + $ref: '#/components/schemas/TransportTypes' + protocol: + description: The name of the protocol used. Shall be set to "HTTP" for a REST API. + type: string + version: + description: The version of the protocol used. + type: string + security: + description': Information about the security used by the transport in ETSI GS MEC 011 [17]. + $ref: '#/components/schemas/SecurityInfo' + implSpecificInfo: + description: Additional implementation specific details of the transport. + type: object + required: + - name + - type + - protocol + - version + - security + SecurityInfo: + x-etsi-ref: 8.1.5.4 + type: object + properties: + oAuth2Info: + $ref: '#/components/schemas/OAuth2Info' + (extensions): + description: Extensions for alternative transport mechanisms. These extensions depend on the actual transport, and are out of scope of the present document. For instance, such extensions may be used to signal the necessary parameters for the client to use TLS-based authorization defined for alternative transports (see ETSI GS MEC 009 [5] for more information). + SerializerType: + x-etsi-ref: 8.1.6.3 + type: string + enum: + - JSON + - XML + - PROTOBUF3 + x-etsi-mec-extensible: true + x-etsi-mec-enumeration-table: + - value: JSON + description: Javascript object notation [9] + - value: XML + description: eXtensible Mark-up Language version 1.1 [10] + - value: PROTOBUF3 + description: Protocol buffers version 3 [i.3] + OAuth2Info: + description: Parameters related to use of OAuth 2.0. Shall be present in case OAuth 2.0 (see IETF RFC 6749 [13]) is supported to secure the provision of the service over the transport. + type: object + properties: + grantTypes: + description: "List of supported OAuth 2.0 grant types. Each entry shall be one of the following permitted values: \u2022 OAUTH2_AUTHORIZATION_CODE (Authorization code grant type) \u2022 OAUTH2_IMPLICIT_GRANT (Implicit grant type) \u2022 OAUTH2_RESOURCE_OWNER (Resource owner password credentials grant type) \u2022 OAUTH2_CLIENT_CREDENTIALS (Client credentials grant type) Only the value \"OAUTH2_CLIENT_CREDENTIALS\" is supported in the present document." + type: array + minItems: 0 + items: + type: string + enum: + - SEE_DESCRIPTION + tokenEndpoint: + description: The token endpoint. Shall be present unless the grant type is OAUTH2_IMPLICIT_GRANT. + type: string + format: uri required: - - indication + - grantTypes + TransportTypes: + x-etsi-ref: 8.1.6.4 + type: string + enum: + - REST_HTTP + - MB_TOPIC_BASED + - MB_ROUTING + - MB_PUBSUB + - RPC + - RPC_STREAMING + - WEBSOCKET + description: The enumeration TransportType represents types of transports. + x-etsi-mec-extensible: true + x-etsi-mec-enumeration-table: + - value: REST_HTTP + description: RESTful API using HTTP (as defined in IETF RFC 9110 [11]). + - value: MB_TOPIC_BASED + description: Topic-based message bus which routes messages to receivers based on subscriptions, if a pattern passed on subscription matches the topic of the message. EXAMPLE MQTT (see [i.4]). + - value: MB_ROUTING + description: Routing-based message bus which routes messages to receivers based on subscriptions, if a key passed on subscription is equal to the key of the message. + - value: MB_PUBSUB + description: Publish-subscribe based message bus which distributes messages to all subscribers. + - value: RPC + description: Remote procedure call. EXAMPLE GRPC (see [i.5]). + - value: RPC_STREAMING + description: Remote procedure call supporting streams of requests and responses. EXAMPLE GRPC (see [i.5]). + - value: WEBSOCKET + description: Websockets as defined in IETF RFC 6455 [12]. + AppProfile: + description: 'Can be mapped to EAS profile as defined in ETSI TS 129 558 [19]. + + ' + TransportDependency: + x-etsi-ref: 6.2.1.18 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. - AppInfo: - title: AppInfo + transport: + description': Information about the transport in this transport binding. + $ref: '#/components/schemas/TransportDescriptor' + serializers: + description: Information about the serializers in this transport binding, as defined in the SerializerType type in ETSI GS MEC 011 [17]. Support for at least one of the entries is required in conjunction with the transport. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/SerializerType' + labels: + description: Set of labels that allow to define groups of transport bindings. The mechanism of the grouping is defined below this table. + type: array + minItems: 1 + items: + type: string required: - - appName + - transport + - serializers + - labels + ServiceDependency: + x-etsi-ref: 6.2.1.17 type: object properties: - appName: - title: appName - type: string - description: >- - Name of the application. It shall be consistent with the appName in - the AppD, if an AppD is available. - examples: - - appName - appProvider: - title: appProvider + serName: + description: The name of the service, for example, RNIS, LocationService, AMS, etc. type: string - description: >- - Provider of the application. It shall be consistent with the - appProvider in the AppD, if an AppD is available. See note 1. - examples: - - appProvider1 - appCategory: + serCategory: + description': A Category reference of the service. $ref: '#/components/schemas/CategoryRef' - appDId: - title: appDId - type: string - description: >- - The application descriptor identifier. It is managed by the - application provider to identify the application descriptor in a - globally unique way. Shall be present if the application instance is - instantiated by the MEC Management. - examples: - - TODO - appInstanceId: - title: appInstanceId + version: + description: The version of the service. type: string - description: >- - Identifier of the application instance. Shall be present if the - application instance is instantiated by the MEC Management. - examples: - - ID1 - endpoint: - oneOf: - - $ref: '#/components/schemas/EndPointInfo.Uris' - - $ref: '#/components/schemas/EndPointInfo.Fqdn' - - $ref: '#/components/schemas/EndPointInfo.Addresses' - - $ref: '#/components/schemas/EndPointInfo.Alternative' - description: This type represents information about a transport endpoint - x-etsi-notes: "NOTE 1:\tIf appProfile is present, appProvider shall be consistent with provId provided in EAS profile data type, i.e. the same.\nNOTE 2:\tIf appProfile is present, endpoint shall refer to the same end point as endPt provided in EAS profile data type." - appServiceRequired: - title: appServiceRequired - type: array - items: - $ref: '#/components/schemas/ServiceDependency' - description: >- - Describes services a MEC application requires to run. - ServiceDependency is defined in ETSI GS MEC 010-2 [4]. It shall not - be provided if an AppD is available. - appServiceOptional: - title: appServiceOptional - type: array - items: - $ref: '#/components/schemas/ServiceDependency' - description: >- - Describes services a MEC application may use if available. - ServiceDependency is defined in ETSI GS MEC 010-2 [4]. It shall not - be provided if an AppD is available. - appFeatureRequired: - title: appFeatureRequired - type: array - items: - $ref: '#/components/schemas/FeatureDependency' - description: >- - Describes features a MEC application requires to run. - FeatureDependency is defined in ETSI GS MEC 010-2 [4]. It shall not - be provided if an AppD is available. - appFeatureOptional: - title: appFeatureOptional + serTransportDependencies: + description: Indicates transport and serialization format dependencies of consuming the service. Defaults to REST + JSON if absent. See note. type: array + minItems: 0 items: - $ref: '#/components/schemas/FeatureDependency' - description: >- - Describes features a MEC application may use if available. - FeatureDependency is defined in ETSI GS MEC 010-2 [4]. It shall not - be provided if an AppD is available. - isInsByMec: - type: boolean - description: >- - Indicate whether the application instance is instantiated by the MEC - Management. + $ref: '#/components/schemas/TransportDependency' + requestedPermissions: + description: 'Requested permissions regarding the access of the application to the service. See clause 7.2 of ETSI GS MEC 009 [4]. - Default to FALSE if absent. - examples: - - false - appProfile: - $ref: '#/components/schemas/AppProfile' - description: >- - This type represents the information provided by the MEC application - instance as part of the "application registration request" and - "application registration update" messages. - x-etsi-notes: "NOTE 1:\tIf appProfile is present, appProvider shall be consistent with provId provided in EAS profile data type, i.e. the same.\nNOTE 2:\tIf appProfile is present, endpoint shall refer to the same end point as endPt provided in EAS profile data type." - AppTerminationConfirmation: - title: AppTerminationConfirmation + The format of this attribute is left for the data model design stage.' required: - - operationAction + - serName + - version + x-etsi-notes: "NOTE:\tThis attribute indicates groups of transport bindings that a service-consuming MEC application supports for the consumption of the MEC service defined by this ServiceDependency structure. If at least one of the indicated groups is supported by the service it may be consumed by the application." + Uint32: + type: integer + format: uint32 + FeatureDependency: + x-etsi-ref: 6.2.1.8 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 + featureName: + description: The name of the feature, for example, UserApps, UEIdentity, etc. + type: string + version: + description: The version of the feature. + type: string required: - - subscription + - featureName + - version + SubscriptionLinkList: + x-etsi-ref: 6.2.2 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 + _links: + $ref: '#/components/schemas/_links' required: - - notificationType - - operationAction - - maxGracefulTimeout - - _links + - _links + LinkType: + x-etsi-ref: 6.3.2 type: object properties: - notificationType: + href: + description: URI referring to a resource 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 + format: uri required: - - subscriptionType - - callbackReference - - _links - - appInstanceId + - href + TrafficRule: + x-etsi-ref: 7.1.2.2 type: object properties: - subscriptionType: - type: string - description: Shall be set to AppTerminationNotificationSubscription. - examples: - - AppTerminationNotificationSubscription - callbackReference: + trafficRuleId: + description: Identify the traffic rule. 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: + filterType: 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: + enum: + - SEE_DESCRIPTION + description: 'Definition of filter per FLOW or PACKET. + + If FLOW, the filter matches upstream (e.g. UEEPC) packets and upstream (e.g. EPCUE) packets are handled in the same context.' + priority: + description: Priority of this traffic rule within the range 0 to 255. If traffic rules conflict, the one with higher priority take precedence. See note 1. 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: + trafficFilter: + description: The filter used to identify specific packets that need to be handled by the MEC host. + type: array + minItems: 1 + items: + $ref: '#/components/schemas/TrafficFilter' + action: type: string - description: Source address identifies the MAC address of the interface - examples: - - 02-00-00-00-00-00 - dstIpAddress: + enum: + - DUPLICATE_ENCAPSULATED + description: 'The action of the MEC host data plane when a packet matches the trafficFilter, the following actions are defined: + + DROP + + FORWARD_DECAPSULATED + + FORWARD_ENCAPSULATED + + PASSTHROUGH + + DUPLICATE_DECAPSULATED + + DUPLICATE_ENCAPSULATED' + dstInterface: + description: Describes the destination interface information. 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. See note 2. If the action is DROP, no value shall be provided. + $ref: '#/components/schemas/DestinationInterface' + state: 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 + enum: + - SEE_DESCRIPTION + description: 'Contains the traffic rule state: ACTIVE, INACTIVE. + + This attribute may be updated using HTTP PUT method.' required: - - dnsRuleId - - domainName - - ipAddressType - - ipAddress - - state + - trafficRuleId + - filterType + - priority + - trafficFilter + - action + - state + description: "|-\n NOTE 1:\tValue indicates the priority in descending order, i.e. with 0 as the highest priority and 255 as the lowest priority.\nNOTE 2:\tSome applications (like inline/tap) require two interfaces. The first interface in the case of inline/tap is on the client (e.g. UE) side and the second on the core network (e.g. EPC) side." + DnsRule: + x-etsi-ref: 7.1.2.3 type: object properties: dnsRuleId: + description: Identifies the DNS Rule. type: string - description: Identifies the DNS Rule - examples: - - dnsRule1 domainName: + description: FQDN resolved by the DNS rule. type: string - description: FQDN resolved by the DNS rule - examples: - - www.example.com ipAddressType: - $ref: '#/components/schemas/DnsRule.IpAddressType' + type: string + enum: + - SEE_DESCRIPTION + description: 'Specify the IP address type, value: IP_V6, IP_V4.' ipAddress: + description: IP address associated with the FQDN resolved by the DNS rule. type: string - description: IP address associated with the FQDN resolved by the DNS rule - examples: - - 192.0.2.0 ttl: + description: Time to live value, in seconds. 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. - x-etsi-notes: "NOTE:\tIf no ttl value is provided, the DnsRule shall not expire." - 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 + enum: + - SEE_DESCRIPTION + description: 'Contains the DNS rule state: ACTIVE, INACTIVE. This attribute may be updated using HTTP PUT method.' required: - - self + - dnsRuleId + - domainName + - ipAddressType + - ipAddress + - state + description: "|-\n NOTE:\tIf no ttl value is provided, the DnsRule shall not expire." + TimingCaps: + x-etsi-ref: 7.1.2.4 type: object properties: - self: - $ref: '#/components/schemas/LinkType' - subscriptions: + timeStamp: + type: array + items: + $ref: '#/components/schemas/TimeStamp' + ntpServers: + type: array + items: + $ref: '#/components/schemas/NtpServers' + ptpMasters: type: array items: - $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription' - description: The MEC application instance's subscriptions - description: Self-referring URI. - MecAppSuptApiSubscriptionLinkList.Subscription: - title: MecAppSuptApiSubscriptionLinkList.Subscription + $ref: '#/components/schemas/PtpMasters' required: - - href - - subscriptionType + - timeStamp + - ntpServers + - ptpMasters + CurrentTime: + x-etsi-ref: 7.1.2.5 type: object properties: - href: - type: string - description: URI referring to a resource - examples: - - /mecAppSuptApi/example - subscriptionType: + seconds: + description: The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC + type: integer + format: uint32 + nanoSeconds: + description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC + type: integer + format: uint32 + timeSourceStatus: type: string - description: Type of the subscription. The values are as defined in the "subscriptionType" attribute for each different Mp1 event subscription data type. - description: A link to a subscription. - MecAppSuptApiSubscriptionLinkList: - title: MecAppSuptApiSubscriptionLinkList + enum: + - source + description: 'Platform Time Source status with the following permitted values: + + TRACEABLE - time source is locked to the UTC time source + + NONTRACEABLE - time source is not locked to the UTC time source' 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 + - seconds + - nanoSeconds + - timeSourceStatus + AppInfo: + x-etsi-ref: 7.1.2.6 type: object properties: - type: + appName: + description: Name of the application. It shall be consistent with the appName in the AppD, if an AppD is available. type: string - description: >- - A URI reference according to IETF RFC 3986 that identifies the - problem type - title: + appProvider: + description: 'Provider of the application. It shall be consistent with the appProvider in the AppD, if an AppD is available. + + See note 1.' 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: + appCategory: + description: Category of the application. + $ref: '#/components/schemas/CategoryRef' + appDId: + description: The application descriptor identifier. It is managed by the application provider to identify the application descriptor in a globally unique way. Shall be present if the application instance is instantiated by the MEC Management. type: string - description: >- - A human-readable explanation specific to this occurrence of the - problem - instance: + appInstanceId: + description: Identifier of the application instance. Shall be present if the application instance is instantiated by the MEC Management. type: string - description: >- - A URI reference that identifies the specific occurrence of the - problem - Self: - title: Self + endpoint: + description: Endpoint information (e.g. URI, FQDN, IP address) of the application server, which is part of the application functionalities. Shall be present when isInsByMec is FALSE. See note 2. + $ref: '#/components/schemas/EndPointInfo' + appServiceRequired: + description: "Describes services a MEC application requires to run. ServiceDependency is defined in ETSI GS\_MEC\_0102\_[4]. It shall not be provided if an AppD is available." + type: array + minItems: 0 + items: + $ref: '#/components/schemas/ServiceDependency' + appServiceOptional: + description: "Describes services a MEC application may use if available. ServiceDependency is defined in ETSI GS\_MEC 010-2 [4]. It shall not be provided if an AppD is available." + type: array + minItems: 0 + items: + $ref: '#/components/schemas/ServiceDependency' + appFeatureRequired: + description: "Describes features a MEC application requires to run. FeatureDependency is defined in ETSI GS\_MEC\_0102\_[4]. It shall not be provided if an AppD is available." + type: array + minItems: 0 + items: + $ref: '#/components/schemas/FeatureDependency' + appFeatureOptional: + description: "Describes features a MEC application may use if available. FeatureDependency is defined in ETSI GS\_MEC 010-2 [4]. It shall not be provided if an AppD is available." + type: array + minItems: 0 + items: + $ref: '#/components/schemas/FeatureDependency' + isInsByMec: + description: 'Indicate whether the application instance is instantiated by the MEC Management. + + Default to FALSE if absent.' + type: boolean + appProfile: + description: Can be mapped to EAS profile as defined in ETSI TS 129 558 [19]. More information can be found in the informative Annex C. See note 1 and note 2. + $ref: '#/components/schemas/AppProfile' required: - - self + - appName + description: "|-\n NOTE 1:\tIf appProfile is present, appProvider shall be consistent with provId provided in EAS profile data type, i.e. the same.\nNOTE 2:\tIf appProfile is present, endpoint shall refer to the same end point as endPt provided in EAS profile data type." + AppTerminationNotificationSubscription: + x-etsi-ref: 7.1.3.2 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 + subscriptionType: + description: Shall be set to "AppTerminationNotificationSubscription". + type: string + callbackReference: + 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. + type: string + format: uri + _links: + $ref: '#/components/schemas/_links1' + appInstanceId: + description: It is used as the filtering criterion for the subscribed events. + type: string required: - - ntpServerAddrType - - ntpServerAddr - - minPollingInterval - - maxPollingInterval - - localPriority - - authenticationOption + - subscriptionType + - callbackReference + - appInstanceId + AppTerminationNotification: + x-etsi-ref: 7.1.4.2 type: object properties: - ntpServerAddrType: - $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType' - ntpServerAddr: + notificationType: + description: Shall be set to "AppTerminationNotification". 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: + operationAction: + type: string + enum: + - TERMINATING + description: 'Operation that is being performed on the MEC application instance: + + STOPPING + + TERMINATING' + maxGracefulTimeout: + description: Maximum non-zero timeout value in seconds for graceful termination or graceful stop of an application instance. type: integer - description: >- - Authentication key number. This configuration is valid and shall be - present if authenticationOption is set to SYMMETRIC_KEY - contentEncoding: int32 - examples: - - 1 - description: NTP server detail. - TimingCaps_PtpMasters: - title: TimingCaps_PtpMasters + format: uint32 + _links: + $ref: '#/components/schemas/_links2' required: - - ptpMasterIpAddress - - ptpMasterLocalPriority - - delayReqMaxRate + - notificationType + - operationAction + - maxGracefulTimeout + - _links + AppTerminationConfirmation: + x-etsi-ref: 7.1.4.3 type: object properties: - ptpMasterIpAddress: + operationAction: 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 + enum: + - SEE_DESCRIPTION + description: 'Operation that is being performed on the MEC application instance: + + STOPPPING + + TERMINATING + + The value shall match that sent in the corresponding AppTerminationNotification.' 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 + - operationAction + AppReadyConfirmation: + x-etsi-ref: 7.1.4.4 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. + indication: + description: 'Indication about the MEC application instance: + + READY' + type: string + required: + - indication TrafficFilter: - title: TrafficFilter + x-etsi-ref: 7.1.5.2 type: object properties: srcAddress: + 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.' type: array + minItems: 0 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: + 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.' type: array + minItems: 0 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: + description: A port or a range of ports. type: array + minItems: 0 items: type: string - description: A port or a range of ports dstPort: + description: A port or a range of ports. type: array + minItems: 0 items: type: string - description: A port or a range of ports protocol: + description: Specify the protocol of the traffic filter. type: array + minItems: 0 items: type: string - description: Specify the protocol of the traffic filter tag: + description: Used for tag based traffic rule. type: array + minItems: 0 items: type: string - description: Used for token based traffic rule srcTunnelAddress: + description: Used for GTP tunnel based traffic rule. type: array + minItems: 0 items: type: string - description: Used for GTP tunnel based traffic rule tgtTunnelAddress: + description: Used for GTP tunnel based traffic rule. type: array + minItems: 0 items: type: string - description: Used for GTP tunnel based traffic rule srcTunnelPort: + description: Used for GTP tunnel based traffic rule. type: array + minItems: 0 items: type: string - description: Used for GTP tunnel based traffic rule dstTunnelPort: + description: Used for GTP tunnel based traffic rule. type: array + minItems: 0 items: type: string - description: Used for GTP tunnel based traffic rule qCI: + description: Used to match all packets that have the same QCI. type: integer - description: >- - Used to match all packets that have the same Quality Class Indicator - (QCI). - contentEncoding: int32 - examples: - - 1 dSCP: + description: Used to match all IPv4 packets that have the same DSCP. type: integer - description: >- - Used to match all IPv4 packets that have the same Differentiated - Services Code Point (DSCP) - contentEncoding: int32 - examples: - - 0 tC: + description: Used to match all IPv6 packets that have the same 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 + DestinationInterface: + x-etsi-ref: 7.1.5.3 type: object properties: - trafficRuleId: + interfaceType: + type: string + enum: + - SEE_DESCRIPTION + description: Type of the interface, e.g. TUNNEL, MAC, IP, etc. + tunnelInfo: + description: Included only if the destination interface type is "tunnel". + $ref: '#/components/schemas/TunnelInfo' + srcMacAddress: + description: If the interface type is "MAC", source address identifies the MAC address of the interface. + type: string + dstMacAddress: + description: If the interface type is "MAC", destination address identifies the MAC address of the interface. Only used for dstInterface. + type: string + dstIpAddress: + description: If the interface type is "IP", destination address identifies the IP address of the remote destination. Only used for dstInterface. 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. - x-etsi-notes: "NOTE 1:\tValue indicates the priority in descending order, i.e. with 0 as the highest priority and 255 as the lowest priority.\nNOTE 2:\tSome applications (like inline/tap) require two interfaces. The first interface in the case of inline/tap is on the client (e.g. UE) side and the second on the core network (e.g. EPC) side." - 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 + - interfaceType + TunnelInfo: + x-etsi-ref: 7.1.5.4 type: object properties: tunnelType: - $ref: '#/components/schemas/TunnelInfo.TunnelType' - tunnelDstAddress: type: string + enum: + - SEE_DESCRIPTION + description: Type of the tunnel, e.g. GTP_U, GRE, etc. + tunnelDstAddress: description: Destination address of the tunnel - examples: - - '192.127.4.100/32' - tunnelSrcAddress: type: string + tunnelSrcAddress: description: Source address of the tunnel - examples: - - '192.127.4.101/32' - 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 - CategoryRef: - title: CategoryRef + type: string required: - - href - - id - - name - - version + - tunnelType + CategoryRef: + x-etsi-ref: 8.1.5.2 type: object properties: href: + description: Reference of the catalogue. type: string - description: Reference of the catalogue - examples: - - /example/catalogue1 + format: uri id: + description: Unique identifier of the category. type: string - description: Unique identifier of the category - examples: - - id12345 name: + description: Name of the category. type: string - description: >- - Name of the category, example values include RNI, Location & - Bandwidth Management - examples: - - RNI version: + description: Category version. type: string - description: Category version - examples: - - version1 - description: This type represents the category reference - EndPointInfo.Address: - title: EndPointInfo.Address - required: - - host - - port - type: object - properties: - host: - type: string - description: Host portion of the address - examples: - - 192.0.2.0 - port: - type: integer - description: Port portion of the address - contentEncoding: int32 - examples: - - 8080 - description: A IP address and port pair - EndPointInfo.Addresses: - title: EndPointInfo.Addresses - required: - - addresses - type: object - properties: - addresses: - type: array - items: - $ref: '#/components/schemas/EndPointInfo.Address' - description: >- - Entry point information of the service as one or more pairs of IP - address and port. See note. - description: This type represents information about a transport endpoint. - EndPointInfo.Alternative: - title: EndPointInfo.Alternative - required: - - alternative - type: object - properties: - alternative: - type: object - description: >- - Entry point information of the service in a format defined by an - implementation, or in an external specification. See note. - description: This type represents information about a transport endpoint. - EndPointInfo.Uris: - title: EndPointInfo.Uris required: - - uris + - href + - id + - name + - version + EndPointInfo: + x-etsi-ref: 8.1.5.3 type: object properties: uris: + description: Entry point information of the service as string, formatted according to URI syntax (see IETF RFC 3986 [8]). Shall be used for REST APIs. See note. type: array + minItems: 0 items: type: string - description: >- - Entry point information of the service as string, formatted - according to URI syntax - description: This type represents information about a transport endpoint. - EndPointInfo.Fqdn: - title: EndPointInfo.Fqdn - required: - - fqdn - type: object - properties: fqdn: - type: array - items: - type: string description: Fully Qualified Domain Name of the service. See note. - description: 'This type represents information about a transport endpoint. ' - - Not_specified: - description: 'Not_specified' - - ServiceDependency: - properties: - requestedPermissions: - description: >- - Requested permissions regarding the access of the application to the - service. See clause 8.2 of ETSI GS MEC 009 [4]. - - The format of this attribute is left for the data model design - stage. - items: - $ref: '#/components/schemas/Not_specified' - minItems: 0 type: array - serCategory: - $ref: '#/components/schemas/CategoryRef' - serName: - description: 'The name of the service, for example, RNIS, LocationService, etc.' - type: string - serTransportDependencies: - description: >- - Indicates transport and serialization format dependencies of - consuming the service. Defaults to REST + JSON if absent. See note. - items: - $ref: '#/components/schemas/TransportDependency' minItems: 0 - type: array - version: - description: The version of the service. - type: string - required: - - serName - - version - type: object - x-etsi-notes: "NOTE:\tThis attribute indicates groups of transport bindings that a service-consuming MEC application supports for the consumption of the MEC service defined by this ServiceDependency structure. If at least one of the indicated groups is supported by the service it may be consumed by the application." - TransportDependency: - properties: - labels: - description: >- - Set of labels that allow to define groups of transport bindings. The - mechanism of the grouping is defined below this table. items: type: string - minItems: 1 + addresses: type: array - serializers: - description: >- - Information about the serializers in this transport binding, as - defined in the SerializerType type in ETSI GS MEC 011 [i.4]. Support - for at least one of the entries is required in conjunction with the - transport. items: - $ref: '#/components/schemas/SerializerType' - minItems: 1 - type: array - transport: - $ref: '#/components/schemas/TransportDescriptor' - required: - - transport - - serializers - - labels + $ref: '#/components/schemas/Addresses' + alternative: + description: "Entry point information of the service in a format defined by an implementation, or in an external specification. See\_note." + type: object + description: "|-\n NOTE:\tExactly one of \"uris\", \"fqdn\", \"addresses\" or \"alternative\" shall be present." + Subscriptions: + description: The MEC application instance's subscriptions. type: object - TransportDescriptor: properties: - protocol: - description: >- - The name of the protocol used. Shall be set to "HTTP" for a REST - API. + href: + description: URI referring to the subscription. type: string - security: - $ref: '#/components/schemas/SecurityInfo' - type: - $ref: '#/components/schemas/TransportType' - version: - description: The version of the protocol used. + format: uri + subscriptionType: + description: Type of the subscription. The values are as defined in the "subscriptionType" attribute for each different Mp1 event subscription data type. type: string required: - - type - - protocol - - version - - security - type: object - SerializerType: - title: SerializerType - enum: - - JSON - - XML - - PROTOBUF3 - type: string - description: The enumeration represents types of serializers - examples: - - JSON - SecurityInfo: - title: SecurityInfo + - href + - subscriptionType + _links: + description: Object containing hyperlinks related to the resource. type: object properties: - oAuth2Info: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info' - description: This type represents security information related to a transport - SecurityInfo.OAuth2Info: - title: SecurityInfo.OAuth2Info + self: + description: Self-referring URI. + $ref: '#/components/schemas/LinkType' + subscriptions: + type: array + items: + $ref: '#/components/schemas/Subscriptions' required: - - grantTypes - - tokenEndpoint + - self + TimeStamp: + description: 0..1 type: object properties: - grantTypes: - maxItems: 4 - minItems: 1 + seconds: + description: '1' type: array + format: uint32 items: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantType' - description: List of supported OAuth 2.0 grant types. - tokenEndpoint: - type: string - description: The token endpoint - examples: - - /mecSerMgmtApi/security/TokenEndPoint - description: Parameters related to use of OAuth 2.0 - SecurityInfo.OAuth2Info.GrantType: - title: SecurityInfo.OAuth2Info.GrantType - enum: - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT_GRANT - - OAUTH2_RESOURCE_OWNER - - OAUTH2_CLIENT_CREDENTIALS - type: string - description: OAuth 2.0 grant type - examples: - - OAUTH2_CLIENT_CREDENTIALS - TransportType: - title: TransportType - enum: - - REST_HTTP - - MB_TOPIC_BASED - - MB_ROUTING - - MB_PUBSUB - - RPC - - RPC_STREAMING - - WEBSOCKET - type: string - description: The enumeration TransportType represents types of transports - examples: - - REST_HTTP - FeatureDependency: - properties: - featureName: - description: 'The name of the feature, for example, UserApps, UEIdentity, etc.' - type: string - version: - description: The version of the feature. - type: string + $ref: '#/components/schemas/Uint32' + nanoSeconds: + description: '1' + type: array + format: uint32 + items: + $ref: '#/components/schemas/Uint32' required: - - featureName - - version - type: object - AppProfile: + - seconds + - nanoSeconds + NtpServers: + description: 0..N type: object - required: - - easId - - endPt - - acIds - - scheds - - permLvl - - easFeats - - svcContSupp - - appLocs properties: - easId: - description: The identifier of the EAS - type: string - examples: - - appName - endPt: - description: The version of the feature. - oneOf: - - $ref: '#/components/schemas/EndPointInfo.Uris' - - $ref: '#/components/schemas/EndPointInfo.Fqdn' - - $ref: '#/components/schemas/EndPointInfo.Addresses' - - $ref: '#/components/schemas/EndPointInfo.Alternative' - acIds: + ntpServerAddrType: + description: '1' type: array items: type: string - minItems: 1 - description: Identities of the Application Clients that can be served by the EAS - provId: - type: string - description: Identifier of the ASP that provides the EAS. - examples: - - appProvider1 - type: - description: The category or type of EAS. - type: string - scheds: + ntpServerAddr: + description: '1' type: array items: type: string - minItems: 1 - description: The availability schedule of the EAS. - svcArea: - type: string - description: >- - The list of geographical and topological areas that the EAS serves. - ACs in the UE that are outside the area will not be served. - svcKpi: - type: string - description: Service characteristics provided by the EAS. - permLvl: + minPollingInterval: + description: '1' type: array + format: uint32 items: - type: string - minItems: 1 - description: level of service permissions supported by the EAS. - easFeats: + $ref: '#/components/schemas/Uint32' + maxPollingInterval: + description: '1' type: array + format: uint32 items: - type: string - minItems: 1 - description: Service features supported by the EAS. - svcContSupp: + $ref: '#/components/schemas/Uint32' + localPriority: + description: '1' + type: array + format: uint32 + items: + $ref: '#/components/schemas/Uint32' + authenticationOption: + description: '1' type: array items: type: string - minItems: 1 - description: The ACR scenarios supported by the EAS for service continuity. - appLocs: + authenticationKeyNum: + description: 0..1 + type: array + format: uint32 + items: + $ref: '#/components/schemas/Uint32' + required: + - ntpServerAddrType + - ntpServerAddr + - minPollingInterval + - maxPollingInterval + - localPriority + - authenticationOption + - authenticationKeyNum + PtpMasters: + description: 0..N + type: object + properties: + ptpMasterIpAddress: + description: '1' type: array items: type: string - minItems: 1 - description: >- - List of DNAI(s) and the N6 traffic information associated with the - EAS. - avlRep: - type: integer - description: >- - The period indicating to the EES, how often the EES needs to check - the EAS's availability after a successful registration. - contentEncoding: int32 - examples: - - 1577836800 - status: + ptpMasterLocalPriority: + description: '1' + type: array + format: uint32 + items: + $ref: '#/components/schemas/Uint32' + delayReqMaxRate: + description: '1' + type: array + format: uint32 + items: + $ref: '#/components/schemas/Uint32' + required: + - ptpMasterIpAddress + - ptpMasterLocalPriority + - delayReqMaxRate + _links1: + description: Object containing hyperlinks related to the resource. This shall only be included in the HTTP responses. + type: object + properties: + self: + description: Self-referring URI. + $ref: '#/components/schemas/LinkType' + required: + - self + _links2: + description: Object containing hyperlinks related to the resource. + type: object + properties: + subscription: + description: A link to the related subscription. + $ref: '#/components/schemas/LinkType' + confirmTermination: + description: Link to the task resource where to confirm termination/stop in case the application is ready to be terminated, or to be considered stopped by the MEC Platform, before expiry of the timeout. + $ref: '#/components/schemas/LinkType' + required: + - subscription + Addresses: + description: Entry point information of the service as one or more pairs of IP address and port. See note. + type: object + properties: + host: + description: Host portion of the address. type: string - description: 'EAS status information. ' - requestBodies: - AppTerminationNotification: + port: + description: Port portion of the address. + type: integer + required: + - host + - port + responses: + '200': + description: OK + '204': + description: No Content + '400': + description: 'Bad Request: used to indicate that incorrect parameters were passed to the request.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '401': + description: 'Unauthorized: used when the client did not submit credentials.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '403': + description: 'Forbidden: operation is not allowed given the current status of the resource.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: 'Not Found: used when a client provided a URI that cannot be mapped to a valid resource URI.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '409': + description: 'Conflict: The operation cannot be executed currently, due to a conflict with the state of the resource. .' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '412': + description: 'Precondition failed: used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '414': + description: 'URI Too Long: used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '429': + description: 'Too Many Requests: used when a rate limiter has triggered.' content: - application/json: + application/problem+json: schema: - $ref: '#/components/schemas/AppTerminationNotification' - required: true \ No newline at end of file + $ref: '#/components/schemas/ProblemDetails' + parameters: {} + diff --git a/MecServiceMgmtApi.yaml b/MecServiceMgmtApi.yaml index 5925d05ad3d18b4f3ebc771f6ab4c17944b15c8d..73a20feacb08f1dbdf0f536b2a83aaaa51ea3cb3 100644 --- a/MecServiceMgmtApi.yaml +++ b/MecServiceMgmtApi.yaml @@ -1,2118 +1,1081 @@ openapi: 3.1.0 +jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema info: - title: MEC Service Management API - description: The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI + contact: + url: https://forge.etsi.org/rep/mec/gs011-app-enablement-api + title: ETSI GS MEC 011 Edge Platform Application Enablement + description: 'The present document focuses on the functionalities enabled via the Mp1 reference point between MEC applications and MEC platform, which allows these applications to interact with the MEC system. Service management functionality includes registration/deregistration, discovery and event notifications. Application support functionality includes application start-up, registration and termination, traffic rules, DNS and time of day. It describes the information flows, required information, and specifies the necessary operations, data models and API definitions. + + ' license: name: BSD-3-Clause - url: 'https://forge.etsi.org/legal-matters' - contact: - email: cti_support@etsi.org + url: https://forge.etsi.org/legal-matters version: 3.1.1 -externalDocs: - description: 'ETSI GS MEC011 Application Enablement API, V3.1.1' - url: >- - https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/03.01.01_60/gs_MEC011v030101p.pdf -jsonSchemaDialect: 'https://json-schema.org/draft/2020-12/schema' servers: - - url: 'http://127.0.0.1:8081/mec_service_mgmt/v1' - variables: {} - - url: 'https://127.0.0.1:8081/mec_service_mgmt/v1' - variables: {} -tags: - - name: appSubscriptions - - name: appServices - - name: services - - name: transports - - name: callbacks - - name: individualMECservice +- url: https://localhost:8081/mec_service_mgmt/v1 paths: - '/applications/{appInstanceId}/subscriptions': + /services: get: + summary: Retrieve information about a list of mecService resources of an application instance. + description: This method retrieves information about a list of mecService resources. This method is typically used in "service availability query" procedure as described in clause 5.2.5. Figure 8.2.3.3.1-1 shows the example message flows using GET method. + operationId: ServicesGET 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 + - serviceManagement 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 + - $ref: '#/components/parameters/Query.Ser_instance_id' + - $ref: '#/components/parameters/Query.Ser_name' + - $ref: '#/components/parameters/Query.Ser_category_id' + - $ref: '#/components/parameters/Query.Scope_of_locality' + - $ref: '#/components/parameters/Query.Consumed_local_only' + - $ref: '#/components/parameters/Query.Is_local' responses: '200': - description: >- - Upon success, a response message content containing the list of - links to the requested subscriptions is returned. - headers: {} + description: Upon success, a response message content containing an array of the mecServices is returned. content: application/json: schema: - $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList' + type: array + items: + $ref: '#/components/schemas/ServiceInfo' '400': - description: >- - Bad Request. It is used to indicate that incorrect parameters were - passed to the request. - headers: {} + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '414': + $ref: '#/components/responses/414' + /services/{serviceId}: + get: + summary: Retrieve information about a mecService resource of an application instance. + description: This method retrieves information about a mecService resource. This method is typically used in "service availability query" procedure as described in clause 5.2.5. + operationId: ServicesGETServiceid + tags: + - serviceManagement + responses: + '200': + description: It is used to indicate nonspecific success. The response message content contains a representation of the resource. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain + properties: + ServiceInfo: + $ref: '#/components/schemas/ServiceInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' '403': - description: >- - Forbidden. The operation is not allowed given the current status of - the resource. - headers: {} + $ref: '#/components/responses/403' + parameters: + - name: serviceId + in: path + required: true + description: The unique identifier of the serviceId. + schema: + type: string + /transports: + get: + summary: Retrieve information about the available transports. + description: This method retrieves information about a list of available transports. This method is typically used by a service-producing application to discover transports provided by the MEC platform in the "transport information query" procedure as described in clause 5.2.9. Figure 8.2.5.3.1-1 shows the example message flows using GET method. + operationId: TransportsGET + tags: + - serviceManagement + responses: + '200': + description: Upon success, a response message content containing an array describing the available transports is returned. content: - application/problem+json: + application/json: schema: - $ref: '#/components/schemas/ProblemDetails' + type: array + items: + $ref: '#/components/schemas/TransportInfo' + '400': + $ref: '#/components/responses/400' '404': - description: >- - Not Found. It is used when a client provided a URI that cannot be - mapped to a valid resource URI. - headers: {} + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: [] + /applications/{appInstanceId}/services: + get: + summary: Retrieve information about a list of mecService resources of an application instance. + description: This method retrieves information about a list of mecService resources that is associated with an application instance. This method is typically used in "service availability query" procedure as described in clause 5.2.5. Figure 8.2.6.3.1-1 shows the example message flows using GET method. + operationId: ApplicationsServicesGETAppinstanceid + tags: + - serviceManagement + parameters: + - $ref: '#/components/parameters/Query.Ser_instance_id' + - $ref: '#/components/parameters/Query.Ser_name' + - $ref: '#/components/parameters/Query.Ser_category_id' + - $ref: '#/components/parameters/Query.Scope_of_locality' + - $ref: '#/components/parameters/Query.Consumed_local_only' + - $ref: '#/components/parameters/Query.Is_local' + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + responses: + '200': + description: Upon success, a response message content containing an array of the mecServices is returned. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false + type: array + items: + $ref: '#/components/schemas/ServiceInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '414': + $ref: '#/components/responses/414' post: + summary: Create a mecService resource of an application instance. + description: "This method is used to create a mecService resource that is associated with the application instance. This method is typically used in \"service availability update and new service registration\" procedure as described in clause 5.2.4. Figure\_8.2.6.3.4-1 shows the message flow." + operationId: ApplicationsServicesPOSTAppinstanceid 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 + - serviceManagement requestBody: - description: >- - Message content in the request contains a subscription to the MEC - application termination notifications that is to be created. + description: Message content in the request contains ServiceInfo to be created. + required: true content: application/json: schema: - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' - required: true + type: object + properties: + ServiceInfo: + $ref: '#/components/schemas/ServiceInfo' 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 + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource. content: application/json: - schema: - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' - '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' + properties: + ServiceInfo: + $ref: '#/components/schemas/ServiceInfo' + '400': + $ref: '#/components/responses/400' '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: - ServiceAvailailityNotification: - '{$request.body#/callbackReference}': - post: - description: >- - 'Represents the service availability information that is used - in the following cases - when the MEC platform announces the newly available - services to the authorized relevant MEC applications (e.g. the - applications that indicate the services as "optional" or - "required") that are subscribed to the corresponding service - availability notifications when the MEC platform notifies the - authorized relevant applications that are subscribed to the - corresponding service availability notifications about the - service availability changes.' - operationId: ServiceAvailabilityNotification_POST - summary: Create callback - tags: - - callbacks - requestBody: - $ref: '#/components/requestBodies/ServiceAvailabilityNotification' - responses: - '200': - description: >- - Expected responses from callback consumer, if it accepts the - callback - parameters: [] - '/applications/{appInstanceId}/subscriptions/{subscriptionId}': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + /applications/{appInstanceId}/services/{serviceId}: get: + summary: Retrieve information about a mecService resource of an application instance. + description: This method retrieves information about a mecService resource that is associated with an application instance. This method is typically used in "service availability query" procedure as described in clause 5.2.5. + operationId: ApplicationsServicesGETAppinstanceidServiceid tags: - - appSubscriptions - summary: Get subscription - description: >- - The GET method requests information about a subscription for this - requestor. Upon success, the response contains message content 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 + - serviceManagement responses: '200': - description: >- - Upon success, a response message content containing the requested - subscription is returned. - headers: {} + description: It is used to indicate nonspecific success. The response message content contains a representation of the resource. content: application/json: - schema: - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' - '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' + properties: + ServiceInfo: + $ref: '#/components/schemas/ServiceInfo' + '400': + $ref: '#/components/responses/400' '404': - description: >- - Not Found. It is used when a client provided a URI that cannot be - mapped to a valid resource URI. - headers: {} + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: serviceId + in: path + required: true + description: The unique identifier of the serviceId. + schema: + type: string + put: + summary: Update the information about a mecService resource of an application instance. + description: PUT HTTP method shall comply with the URI query parameters, request and response data structures, and response codes, as specified in tables 8.2.7.3.2-1 and 8.2.7.3.2-2. + operationId: ApplicationsServicesPUTAppinstanceidServiceid + tags: + - serviceManagement + requestBody: + description: One or more updated attributes that are allowed to be changed (i.e. "state" or other attributes based on definition in clause 8.1.2.2) are included in the ServiceInfo data structure in the message content of the request. + required: true + content: + application/json: + schema: + type: object + properties: + ServiceInfo: + $ref: '#/components/schemas/ServiceInfo' + responses: + '200': + description: Upon success, a response message content containing data type describing the updated ServiceInfo is returned. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false + properties: + ServiceInfo: + $ref: '#/components/schemas/ServiceInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + '412': + $ref: '#/components/responses/412' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: serviceId + in: path + required: true + description: The unique identifier of the serviceId. + schema: + type: string delete: + summary: Delete a mecService resource. + description: This method deletes a mecService resource. This method is typically used in the service deregistration procedure. Figure 8.2.7.3.5-1 shows the example message flows using DELETE method. + operationId: ApplicationsServicesDELETEAppinstanceidServiceid tags: - - appSubscriptions - summary: delete subscription - description: >- - This method deletes a mecSrvMgmtSubscription. 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 + - serviceManagement 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' + $ref: '#/components/responses/204' '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}/services': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: serviceId + in: path + required: true + description: The unique identifier of the serviceId. + schema: + type: string + /applications/{appInstanceId}/subscriptions: get: + summary: Retrieve information about a list of mecSrvMgmtSubscription resources for this subscriber. + description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains message content with all the subscriptions for the requestor. + operationId: ApplicationsSubscriptionsGETAppinstanceid tags: - - appServices - summary: get services - description: >- - This method retrieves information about a list of mecService resources. - This method is typically used in "service availability query" procedure - operationId: AppServices_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: ser_instance_id - in: query - description: >- - A MEC application instance may use multiple ser_instance_ids as an - input parameter to query the availability of a list of MEC service - instances. Either "ser_instance_id" or "ser_name" or - "ser_category_id" or none of them shall be present. - style: form - explode: true - schema: - type: array - items: - type: string - - name: ser_name - in: query - description: >- - A MEC application instance may use multiple ser_names as an input - parameter to query the availability of a list of MEC service - instances. Either "ser_instance_id" or "ser_name" or - "ser_category_id" or none of them shall be present. - style: form - explode: true - schema: - type: array - items: - type: string - - name: ser_category_id - in: query - description: >- - A MEC application instance may use ser_category_id as an input - parameter to query the availability of a list of MEC service - instances in a serCategory. Either "ser_instance_id" or "ser_name" - or "ser_category_id" or none of them shall be present. - style: form - explode: true - schema: - type: string - - name: consumed_local_only - in: query - description: >- - Indicate whether the service can only be consumed by the MEC - applications located in the same locality (as defined by - scopeOfLocality) as this service instance. - style: form - explode: true - schema: - type: boolean - - name: is_local - in: query - description: >- - Indicate whether the service is located in the same locality (as - defined by scopeOfLocality) as the consuming MEC application. - style: form - explode: true - schema: - type: boolean - - name: scope_of_locality - in: query - description: >- - A MEC application instance may use scope_of_locality as an input - parameter to query the availability of a list of MEC service - instances with a certain scope of locality. - style: form - explode: true - schema: - type: string + - serviceManagement responses: '200': - description: >- - It is used to indicate nonspecific success. The response message - content contains a representation of the resource. - headers: {} + description: Upon success, a response message content containing the list of links to the requested subscriptions is returned. content: application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ServiceInfo' - description: '' - examples: - - - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - addresses: - - host: 192.0.2.0 - port: 8080 - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - contentMediaType: application/json - examples: - ServiceInfoList: - value: - - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - addresses: - - host: 192.0.2.0 - port: 8080 - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - - serInstanceId: ServiceInstance345 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - addresses: - - host: 192.0.2.1 - port: 8080 - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - '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' + properties: + SubscriptionLinkList: + $ref: '#/components/schemas/SubscriptionLinkList' + '400': + $ref: '#/components/responses/400' '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 - '414': - description: >- - It is used to indicate that the server is refusing to process the - request because the request URI is longer than the server is willing - or able to process. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string post: + summary: Create a mecSrvMgmtSubscription resource. + 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 message content describing the created subscription. This method is typically used in "Subscribing to service availability event notifications" procedure as described in clause 5.2.6.2. Figure 8.2.8.3.4-1 shows the example message flows using POST method. + operationId: ApplicationsSubscriptionsPOSTAppinstanceid tags: - - appServices - summary: create service - description: >- - This method is used to create a mecService resource. This method is - typically used in "service availability update and new service - registration" procedure - operationId: AppServices_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 + - serviceManagement requestBody: - description: >- - New ServiceInfo with updated "state" is included as entity body of the - request + description: Message content in the request contains a subscription to the MEC service availability notifications that is to be created. + required: true content: application/json: schema: - oneOf: - - type: object - - type: object - description: >- - New ServiceInfo with updated "state" is included as entity body - of the request - contentMediaType: application/json - required: true + type: object + properties: + SerAvailabilityNotificationSubscription: + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' responses: '201': - description: >- - Upon success, the HTTP response shall include a Location HTTP header - that contains the resource URI of the created resource. - 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 + description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created subscription resource. content: application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - examples: - ServiceInfo: - value: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /mecSerMgmtApi/service/EntryPoint - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - '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' + properties: + SerAvailabilityNotificationSubscription: + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + '400': + $ref: '#/components/responses/400' '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}/services/{serviceId}': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + callbacks: + notification: + '{$request.body#/callbackUri}': + post: + summary: Callback POST used to send a notification + description: Subscription notification + operationId: notificationPOST739165 + requestBody: + description: Subscription notification + required: true + content: + application/json: + schema: + type: object + properties: + subscriptionNotification: + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + responses: + '204': + description: No content + '404': + description: Not found + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + /applications/{appInstanceId}/subscriptions/{subscriptionId}: get: + summary: Retrieve information about a mecSrvMgmtSubscription resource for this subscriber. + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains message content with the subscription for the requestor. + operationId: ApplicationsSubscriptionsGETAppinstanceidSubscriptionid tags: - - appServices - summary: get service - description: >- - This method retrieves information about a mecService resource. This - method is typically used in "service availability query" procedure - operationId: AppServicesServiceId_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: serviceId - in: path - description: Represents a MEC service instance (see note). - required: true - style: simple - schema: - type: string + - serviceManagement responses: '200': - description: >- - It is used to indicate nonspecific success. The response message - content contains a representation of the resource. - headers: {} + description: Upon success, a response message content containing the requested subscription is returned. content: application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - examples: - ServiceInfo: - value: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /mecSerMgmtApi/service/EntryPoint - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - '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 + properties: + SerAvailabilityNotificationSubscription: + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' '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' + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: subscriptionId + in: path + required: true + description: The unique identifier of the subscriptionId. + schema: + type: string + delete: + summary: Delete a mecSrvMgmtSubscription resource. + description: This method deletes a mecSrvMgmtSubscription. This method is typically used in "Unsubscribing from event notifications" procedure as described in clause 5.2.6.3. Figure 8.2.9.3.5-1 shows the example message flows using DELETE method. + operationId: ApplicationsSubscriptionsDELETEAppinstanceidSubscriptionid + tags: + - serviceManagement + responses: + '204': + $ref: '#/components/responses/204' '404': - description: >- - Not Found. It is used when a client provided a URI that cannot be - mapped to a valid resource URI. - headers: {} + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: + - name: appInstanceId + in: path + required: true + description: The unique identifier of the appInstanceId. + schema: + type: string + - name: subscriptionId + in: path + required: true + description: The unique identifier of the subscriptionId. + schema: + type: string + /resource_uri_allocated_by_MEC_platform: + get: + summary: Retrieve information about the liveness of a MEC service instance produced by an application instance + description: 'This method retrieves information about an "Individual mecServiceLiveness" resource. ' + operationId: ResourceuriallocatedbymecplatformGET + tags: + - serviceManagement + responses: + '200': + description: It is used to indicate nonspecific success. The response message content contains a representation of the resource. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - put: + properties: + ServiceLivenessInfo: + $ref: '#/components/schemas/ServiceLivenessInfo' + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' + '403': + $ref: '#/components/responses/403' + parameters: [] + patch: + summary: Send a "heartbeat" message related to a MEC service instance. + description: The MEC application instance that provides MEC service shall send a PATCH request to the resource URI representing the liveness of the service instance. + operationId: ResourceuriallocatedbymecplatformPATCH tags: - - appServices - summary: update service - description: This method updates the information about a mecService resource - operationId: AppServicesServiceId_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: serviceId - in: path - description: Represents a MEC service instance. (see note) - required: true - style: simple - schema: - type: string + - serviceManagement requestBody: - description: >- - New ServiceInfo with updated "state" is included as entity body of the - request + description: It contains an update of the liveness state. + required: true content: application/json: schema: - $ref: '#/components/schemas/ServiceInfo' - required: true + type: object + properties: + ServiceLivenessUpdate: + $ref: '#/components/schemas/ServiceLivenessUpdate' responses: '200': - description: >- - It is used to indicate nonspecific success. The response message - content contains a representation of the resource. - headers: {} + description: Upon success, a response message content is returned containing the updated liveness interval value of the service Instance. content: application/json: schema: - $ref: '#/components/schemas/ServiceInfo' - examples: - ServiceInfo: - value: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /mecSerMgmtApi/service/EntryPoint - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - '400': - description: >- - Bad Request. It is used to indicate that incorrect parameters were - passed to the request. - headers: {} + type: object + properties: + ServiceLivenessInfo: + $ref: '#/components/schemas/ServiceLivenessInfo' + '204': + description: Successful response sent when there is no need to provide a new liveness interval value to the service Instance. content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: + application/json: schema: type: object - description: Empty schema - contentMediaType: text/plain + properties: {} + '400': + $ref: '#/components/responses/400' + '404': + $ref: '#/components/responses/404' '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 + $ref: '#/components/responses/403' '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 - delete: - tags: - - appServices - summary: delete service - description: >- - This method deletes a mecService resource. This method is typically used - in the service deregistration procedure. - operationId: AppServicesServiceId_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: serviceId - in: path - description: Represents a MEC service instance. (see note) - 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: [] - /services: - get: - tags: - - services - summary: get services - description: >- - This method retrieves information about a list of mecService resources. - This method is typically used in "service availability query" procedure - operationId: Services_GET - parameters: - - name: ser_instance_id - in: query - description: >- - A MEC application instance may use multiple ser_instance_ids as an - input parameter to query the availability of a list of MEC service - instances. Either "ser_instance_id" or "ser_name" or - "ser_category_id" or none of them shall be present. - style: form - explode: true - schema: - type: array - items: - type: string - - name: ser_name - in: query - description: >- - A MEC application instance may use multiple ser_names as an input - parameter to query the availability of a list of MEC service - instances. Either "ser_instance_id" or "ser_name" or - "ser_category_id" or none of them shall be present. - style: form - explode: true - schema: - type: array - items: - type: string - - name: ser_category_id - in: query - description: >- - A MEC application instance may use ser_category_id as an input - parameter to query the availability of a list of MEC service - instances in a serCategory. Either "ser_instance_id" or "ser_name" - or "ser_category_id" or none of them shall be present. - style: form - explode: true - schema: - type: string - - name: consumed_local_only - in: query - description: >- - Indicate whether the service can only be consumed by the MEC - applications located in the same locality (as defined by - scopeOfLocality) as this service instance. - style: form - explode: true - schema: - type: boolean - - name: is_local - in: query - description: >- - Indicate whether the service is located in the same locality (as - defined by scopeOfLocality) as the consuming MEC application. - style: form - explode: true - schema: - type: boolean - - name: scope_of_locality - in: query - description: >- - A MEC application instance may use scope_of_locality as an input - parameter to query the availability of a list of MEC service - instances with a certain scope of locality. - style: form - explode: true - schema: - type: string - responses: - '200': - description: >- - It is used to indicate nonspecific success. The response message - content contains a representation of the resource. - headers: {} - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/ServiceInfo' - description: '' - examples: - - - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - addresses: - - host: 192.0.2.0 - port: 8080 - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - contentMediaType: application/json - examples: - ServiceInfoList: - value: - - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - addresses: - - host: 192.0.2.0 - port: 8080 - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - - serInstanceId: ServiceInstance345 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - addresses: - - host: 192.0.2.1 - port: 8080 - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - '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 - '414': - description: >- - It is used to indicate that the server is refusing to process the - request because the request URI is longer than the server is willing - or able to process. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - '/services/{serviceId}': - get: - tags: - - services - summary: get service - description: >- - This method retrieves information about a mecService resource. This - method is typically used in "service availability query" procedure - operationId: ServicesServiceId_GET - parameters: - - name: serviceId - in: path - description: Represents a MEC service instance. (see note) - required: true - style: simple - schema: - type: string - x-etsi-notes: "NOTE:\t serviceId corresponds to serInstanceId" - responses: - '200': - description: >- - It is used to indicate nonspecific success. The response message - content contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - examples: - ServiceInfo: - value: - serInstanceId: ServiceInstance123 - serName: ExampleService - serCategory: - href: catItem1 - id: id12345 - name: RNI - version: version1 - version: ServiceVersion1 - state: ACTIVE - transportInfo: - id: TransId12345 - name: REST - description: REST API - type: REST_HTTP - protocol: HTTP - version: '2.0' - endpoint: - uris: - - /mecSerMgmtApi/service/EntryPoint - security: - oAuth2Info: - grantTypes: - - OAUTH2_CLIENT_CREDENTIALS - tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint - serializer: JSON - _links: - self: - href: http://example.com/ - '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: [] - /transports: - get: - tags: - - transports - summary: Get transports - description: >- - This method retrieves information about a list of available transports. - This method is typically used by a service-producing application to - discover transports provided by the MEC platform in the "transport - information query" procedure - operationId: Transports_GET + $ref: '#/components/responses/412' parameters: [] - responses: - '200': - description: >- - It is used to indicate nonspecific success. The response messages - content contains a representation of the resource. - headers: {} - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TransportInfo' - description: '' - contentMediaType: application/json - '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: [] - /resource_uri_allocated_by_MEC_platform: - get: - tags: - - individualMECservice - summary: get mecServiceLiveness - description: >- - This method retrieves information about an "Individual - mecServiceLiveness" resource - operationId: get_individual_MEC_service - responses: - '200': - description: >- - It is used to indicate nonspecific success. The response message - content contains a representation of the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceLivenessInfo' - '400': - description: >- - It is used to indicate that incorrect parameters were passed to the - request. In the returned ProblemDetails structure, the "detail" - attribute should convey more information about the error. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '403': - description: >- - The operation is not allowed given the current status of the - resource. More information shall be provided in the "detail" - attribute of the "ProblemDetails" structure. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: >- - It is used when a client provided a URI that cannot be mapped to a - valid resource URI. In the returned ProblemDetails structure, the - "detail" attribute should convey more information about the error. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - patch: - tags: - - individualMECservice - summary: Update mecServiceLiveness - description: >- - This method updates a resource on top of the existing resource state - with partial changes described by the client. - operationId: patch_individual_MEC_service - requestBody: - description: It contains an update of the liveness state. - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceLivenessUpdate' - required: true - responses: - '200': - description: >- - Upon success, a response message content is returned containing the - updated liveness interval value of the service Instance. - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceLivenessInfo' - '204': - description: >- - Successful response sent when there is no need to provide a new - liveness interval value to the service Instance. - headers: {} - content: {} - '400': - description: >- - It is used to indicate that incorrect parameters were passed to the - request. In the returned ProblemDetails structure, the "detail" - attribute should convey more information about the error. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '403': - description: >- - The operation is not allowed given the current status of the - resource. More information shall be provided in the "detail" - attribute of the "ProblemDetails" structure. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: >- - It is used when a client provided a URI that cannot be mapped to a - valid resource URI. In the returned ProblemDetails structure, the - "detail" attribute should convey more information about the error. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '409': - description: >- - The operation is not allowed due to a conflict with the state of the - resource. The MEC platform shall respond with this code if the - service instance is in "INACTIVE" state. More information shall be - provided in the "detail" attribute of the "ProblemDetails" - structure. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '412': - description: >- - It is used when a condition has failed during conditional requests, - e.g. when using ETags to avoid write conflicts. In the returned - ProblemDetails structure, the "detail" attribute should convey more - information about the error. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' components: schemas: - CategoryRef: - title: CategoryRef + ProblemDetails: + type: object + properties: + type: + type: string + format: uri + 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 + format: uint32 + description: The HTTP status code for this occurrence of the problem + detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem + instance: + type: string + format: uri + description: A URI reference that identifies the specific occurrence of the problem + LocalityType: + type: string + enum: + - MEC_SYSTEM + - MEC_HOST + - NFVI_POP + - ZONE + - ZONE_GROUP + - NFVI_NODE + description: Enumeration representing types of locality. + SerializerType: + type: string + enum: + - JSON + - XML + - PROTOBUF3 + description: Enumeration representing types of serializers. + example: JSON + Not_specified: + type: string + description: Placeholder for unspecified type. Please update with the correct schema. This attribute refers to another document. Please see document number ETSI-MEC011-API for details. + TransportType: + type: string + enum: + - REST_HTTP + - MB_TOPIC_BASED + - MB_ROUTING + - MB_PUBSUB + - RPC + - RPC_STREAMING + - WEBSOCKET + description: Enumeration representing types of transports. + ServiceState: + type: string + enum: + - ACTIVE + - INACTIVE + - SUSPENDED + description: Enumeration representing possible states of a MEC service instance. + SerInstanceId: + description: Identifier of the service instance assigned by the MEPM/MEC platform. For the uniqueness of the identifier across the MEC system, UUID format [i.7] is recommended.Shall be absent in POST requests, and present otherwise + SerName: + description: The name of the service. This is how the service producing MEC application identifies the service instance it produces. + SubscriptionLinkList: + x-etsi-ref: 6.2.2 + type: object + properties: + _links: + $ref: '#/components/schemas/_links' required: - - href - - id - - name - - version + - _links + LinkType: + x-etsi-ref: 6.3.2 type: object properties: href: + description: URI referring to a resource type: string - description: Reference of the catalogue - examples: - - /example/catalogue1 + format: uri + required: + - href + ServiceInfo: + x-etsi-ref: 8.1.2.2 + type: object + properties: + serInstanceId: + description: 0..1 + $ref: '#/components/schemas/SerInstanceId' + serName: + description: '1' + $ref: '#/components/schemas/SerName' + serCategory: + description: 0..1 + $ref: '#/components/schemas/CategoryRef' + version: + description: '1' + type: string + state: + description: '1' + $ref: '#/components/schemas/ServiceState' + transportId: + description: Identifier of the platform-provided transport to be used by the service. Valid identifiers may be obtained using the "Transport information query" procedure. May be present in POST requests to signal the use of a platform-provided transport for the service, and shall be absent otherwise. See note 2. + type: string + transportInfo: + description: Information regarding the transport used by the service. May be present in POST requests to signal the use of an application-provided transport for the service, and shall be present otherwise. See note 2. + $ref: '#/components/schemas/TransportInfo' + serializer: + description: Indicate the supported serialization format of the service. + $ref: '#/components/schemas/SerializerType' + scopeOfLocality: + description: The scope of locality as expressed by "consumedLocalOnly" and "isLocal". If absent, defaults to MEC_HOST. See notes 3, 5 and 6. + $ref: '#/components/schemas/LocalityType' + consumedLocalOnly: + description: 'Indicate whether the service can only be consumed by the MEC applications located in the same locality (as defined by scopeOfLocality) as this service instance (TRUE) or not (FALSE). + + Default to TRUE if absent.' + type: boolean + isLocal: + description: 'Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application (TRUE) or not (FALSE). + + Default to TRUE if absent. See note 4.' + type: boolean + livenessInterval: + description: 'Interval (in seconds) between two consecutive "heartbeat" messages (see clause 8.2.10.3.3). + + If the service-producing application supports sending "heartbeat" messages, it shall include this attribute in the registration request. In this case, the application shall either set the value of this attribute to zero or shall use this attribute to propose a non-zero positive value for the liveness interval. + + If the application has provided this attribute in the request and the MEC platform requires "heartbeat" messages, the MEC platform shall return this attribute value in the HTTP responses. The MEC platform may use the value proposed in the request or may choose a different value. + + If the MEC platform does not require "heartbeat" messages for this service instance it shall omit the attribute in responses.' + type: integer + _links: + $ref: '#/components/schemas/_links1' + required: + - serName + - version + - state + - serializer + - _links + description: "|-\n NOTE 1:\tThe service category may be included in the application descriptor. It may be allocated by the operator or by the application developer.\nNOTE 2:\tEither transportId or transportInfo but not both shall be present in POST requests.\nNOTE 3:\tValues NFVI_POP, ZONE and NFVI_NODE are used when the service instance is deployed as a VNF.\nNOTE 4:\tThe isLocal is used only in service availability query response and service availability subscription/notification messages.\nNOTE 5:\tValue ZONE_GROUP can be used when the service instance is deployed as a VNF.\nNOTE 6:\tRegarding the value MEC_SYSTEM, if the service is running on the same MEC system as the MEC app, then it will be local to it." + TransportInfo: + x-etsi-ref: 8.1.2.3 + type: object + properties: id: + description: The identifier of this transport. type: string - description: Unique identifier of the category - examples: - - id12345 name: + description: The name of this transport. + type: string + description: + description: Human-readable description of this transport. + type: string + type: + description: Type of the transport. + $ref: '#/components/schemas/TransportType' + protocol: + description: The name of the protocol used. Shall be set to "HTTP" for a REST API. type: string - description: >- - Name of the category, example values include RNI, Location & - Bandwidth Management - examples: - - RNI version: + description: The version of the protocol used. type: string - description: Category version - examples: - - version1 - description: This type represents the category reference - EndPointInfo.Address: - title: EndPointInfo.Address + endpoint: + description: Information about the endpoint to access the transport. + $ref: '#/components/schemas/EndPointInfo' + security: + description: Information about the security used by the transport. + $ref: '#/components/schemas/SecurityInfo' + implSpecificInfo: + description: Additional implementation specific details of the transport. + type: object required: - - host - - port + - id + - name + - type + - protocol + - version + - endpoint + - security + ServiceLivenessInfo: + x-etsi-ref: 8.1.2.4 type: object properties: - host: - type: string - description: Host portion of the address - examples: - - 192.0.2.0 - port: + state: + description: Liveness state of the MEC service instance. The valid values are defined in clause 8.1.6.6. + $ref: '#/components/schemas/ServiceState' + timeStamp: + $ref: '#/components/schemas/TimeStamp' + interval: + description: The interval (in seconds) between two consecutive "heartbeat" messages (see clause 8.2.10.3.3) that MEC platform has determined. type: integer - description: Port portion of the address - contentEncoding: int32 - examples: - - 8080 - description: A IP address and port pair - EndPointInfo.Addresses: - title: EndPointInfo.Addresses required: - - addresses + - state + - timeStamp + - interval + ServiceLivenessUpdate: + x-etsi-ref: 8.1.2.5 type: object properties: - addresses: + state: + description: Update to the state of the MEC service instance to indicate that the service is still alive ("heartbeat" message). Shall be set to "ACTIVE". + $ref: '#/components/schemas/ServiceState' + required: + - state + SerAvailabilityNotificationSubscription: + x-etsi-ref: 8.1.3.2 + type: object + properties: + subscriptionType: + description: Shall be set to "SerAvailabilityNotificationSubscription". + type: string + callbackReference: + description: URI selected by the MEC application instance to receive notifications on the subscribed MEC service availability information. This shall be included in both the request and the response. + type: string + format: uri + _links: + $ref: '#/components/schemas/_links2' + filteringCriteria: + $ref: '#/components/schemas/FilteringCriteria' + required: + - subscriptionType + - callbackReference + description: "|-\n NOTE:\tThe attributes \"serInstanceIds\", \"serNames\" and \"serCategories\" provide mutually-exclusive alternatives to define a set of services. Only one of them may be present." + ServiceAvailabilityNotification: + x-etsi-ref: 8.1.4.2 + type: object + properties: + notificationType: + description: Shall be set to "SerAvailabilityNotification". + type: string + serviceReferences: type: array items: - $ref: '#/components/schemas/EndPointInfo.Address' - description: >- - Entry point information of the service as one or more pairs of IP - address and port. See note. - description: This type represents information about a transport endpoint. - EndPointInfo.Alternative: - title: EndPointInfo.Alternative + $ref: '#/components/schemas/ServiceReferences' + _links: + $ref: '#/components/schemas/_links3' required: - - alternative + - notificationType + - serviceReferences + - _links + CategoryRef: + x-etsi-ref: 8.1.5.2 type: object properties: - alternative: - type: object - description: >- - Entry point information of the service in a format defined by an - implementation, or in an external specification. See note. - description: This type represents information about a transport endpoint. - EndPointInfo.Uris: - title: EndPointInfo.Uris + href: + description: Reference of the catalogue. + type: string + format: uri + id: + description: Unique identifier of the category. + type: string + name: + description: Name of the category. + type: string + version: + description: Category version. + type: string required: - - uris + - href + - id + - name + - version + EndPointInfo: + x-etsi-ref: 8.1.5.3 type: object properties: uris: + description: Entry point information of the service as string, formatted according to URI syntax (see IETF RFC 3986 [8]). Shall be used for REST APIs. See note. type: array + minItems: 0 items: type: string - description: >- - Entry point information of the service as string, formatted - according to URI syntax - description: This type represents information about a transport endpoint. - EndPointInfo.Fqdn: - title: EndPointInfo.Fqdn - required: - - fqdn - type: object - properties: fqdn: + description: Fully Qualified Domain Name of the service. See note. type: array + minItems: 0 items: type: string - description: Fully Qualified Domain Name of the service. See note. - description: 'This type represents information about a transport endpoint. ' - LinkType: - title: LinkType + addresses: + type: array + items: + $ref: '#/components/schemas/Addresses' + alternative: + description: "Entry point information of the service in a format defined by an implementation, or in an external specification. See\_note." + type: object + description: "|-\n NOTE:\tExactly one of \"uris\", \"fqdn\", \"addresses\" or \"alternative\" shall be present." + SecurityInfo: + x-etsi-ref: 8.1.5.4 + type: object + properties: + oAuth2Info: + $ref: '#/components/schemas/OAuth2Info' + (extensions): + description: 'Extensions for alternative transport mechanisms. These extensions depend on the actual transport, and are out of scope of the present document. + + For instance, such extensions may be used to signal the necessary parameters for the client to use TLSbased authorization defined for alternative transports (see ETSI GS MEC 009 [5] for more information).' + type: array + minItems: 0 + items: + $ref: '#/components/schemas/Not_specified' + Subscriptions: + description: The MEC application instance's subscriptions. type: object properties: href: + description: URI referring to the subscription. + type: string + format: uri + subscriptionType: + description: Type of the subscription. The values are as defined in the "subscriptionType" attribute for each different Mp1 event subscription data type. type: string - description: URI referring to a resource - examples: - - /mecSerMgmtApi/example - description: >- - This type represents a type of link and may be referenced from data - structures - MecServiceMgmtApiSubscriptionLinkList.Links: - title: MecServiceMgmtApiSubscriptionLinkList.Links required: - - self + - href + - subscriptionType + _links: + description: Object containing hyperlinks related to the resource. type: object properties: self: + description: Self-referring URI. $ref: '#/components/schemas/LinkType' subscriptions: type: array items: - $ref: >- - #/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Subscription - description: The MEC application instance's subscriptions - description: Self-referring URI. - MecServiceMgmtApiSubscriptionLinkList.Subscription: - title: MecServiceMgmtApiSubscriptionLinkList.Subscription + $ref: '#/components/schemas/Subscriptions' required: - - href - - rel + - self + _links1: + description: Links to resources related to this resource. Shall be absent in HTTP requests. type: object properties: - href: - type: string - description: URI referring to a resource - examples: - - /mecSerMgmtApi/example - rel: - type: string - description: The value shall be se to SerAvailabilityNotificationSubscription. - description: A link to a subscription. - MecServiceMgmtApiSubscriptionLinkList: - title: MecServiceMgmtApiSubscriptionLinkList + self: + description: Link to this resource. Shall be present in HTTP responses. + $ref: '#/components/schemas/LinkType' + liveness: + description: Link to the "Individual mecServiceLiveness" resource where the MEC platform expects the service instance to send the liveness information. The structure of the URI of that resource is outside the scope of the present document. Shall be present in HTTP responses if the MEC platform requires "heartbeat" messages for this service instance and shall be absent otherwise. + $ref: '#/components/schemas/LinkType' required: - - _links + - self + TimeStamp: + description: The time when the last "heartbeat" message was received by MEC platform. type: object properties: - _links: - $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.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. - 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: + seconds: + description: The seconds part of the time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC. 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 - SecurityInfo.OAuth2Info.GrantType: - title: SecurityInfo.OAuth2Info.GrantType - enum: - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT_GRANT - - OAUTH2_RESOURCE_OWNER - - OAUTH2_CLIENT_CREDENTIALS - type: string - description: OAuth 2.0 grant type - examples: - - OAUTH2_CLIENT_CREDENTIALS - SecurityInfo.OAuth2Info: - title: SecurityInfo.OAuth2Info - required: - - grantTypes - - tokenEndpoint - type: object - properties: - grantTypes: - maxItems: 4 - minItems: 1 - type: array - items: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantType' - description: List of supported OAuth 2.0 grant types. - tokenEndpoint: - type: string - description: The token endpoint - examples: - - /mecSerMgmtApi/security/TokenEndPoint - description: Parameters related to use of OAuth 2.0 - SecurityInfo: - title: SecurityInfo - type: object - properties: - oAuth2Info: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info' - description: This type represents security information related to a transport - Self: - title: Self + format: uint32 + nanoSeconds: + description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC. + type: integer + format: uint32 required: - - self + - seconds + - nanoSeconds + _links2: + description: Object containing hyperlinks related to the resource. This shall only be included in the HTTP responses. type: object properties: self: + description: Self-referring URI. $ref: '#/components/schemas/LinkType' - description: Self-referring URI. - SerAvailabilityNotificationSubscription: - title: SerAvailabilityNotificationSubscription required: - - subscriptionType - - callbackReference - - _links - type: object - properties: - subscriptionType: - type: string - description: Shall be set to SerAvailabilityNotificationSubscription. - examples: - - SerAvailabilityNotificationSubscription - callbackReference: - type: string - description: >- - URI selected by the MEC application instance to receive - notifications on the subscribed MEC service availability - information. This shall be included in both the request and the - response. - _links: - $ref: '#/components/schemas/Self' - filteringCriteria: - $ref: >- - #/components/schemas/SerAvailabilityNotificationSubscription.FilteringCriteria - x-etsi-notes: "NOTE:\tThe attributes \"serInstanceIds\", \"serNames\" and \"serCategories\" provide mutually-exclusive alternatives to define a set of services. Only one of them may be present." - SerAvailabilityNotificationSubscription.FilteringCriteria: - title: SerAvailabilityNotificationSubscription.FilteringCriteria + - self + FilteringCriteria: + description: Filtering criteria to match services for which events are requested to be reported. If absent, matches all services. All child attributes are combined with the logical "AND" operation. type: object properties: serInstanceIds: + description: 'Identifiers of service instances about which to report events. + + See note.' type: array + minItems: 0 items: - type: string - description: Identifiers of service instances about which to report events. + $ref: '#/components/schemas/SerInstanceId' serNames: + description: 'Names of services about which to report events. + + See note.' type: array + minItems: 0 items: - type: string - description: Names of services about which to report events. + $ref: '#/components/schemas/SerName' serCategories: + description: 'Categories of services about which to report events. + + See note.' type: array + minItems: 0 items: $ref: '#/components/schemas/CategoryRef' - description: Categories of services about which to report events. states: + description: 'States of the services about which to report events. If the event is a state change, this filter represents the state after the change. ' type: array + minItems: 0 items: $ref: '#/components/schemas/ServiceState' - description: >- - States of the services about which to report events. If the event - is a state change, this filter represents the state after the - change. isLocal: + description: Restrict event reporting to whether the service is local to the MEC platform where the subscription is managed. type: boolean - description: >- - Indicate whether the service is located in the same locality (as - defined by scopeOfLocality) as the consuming MEC application. - examples: - - true - description: >- - Filtering criteria to match services for which events are requested to - be reported. If absent, matches all services. All child attributes are - combined with the logical "AND" operation. - ServiceAvailabilityNotification: - title: ServiceAvailabilityNotification - required: - - notificationType - - serviceReferences - - _links - type: object - properties: - notificationType: - type: string - description: Shall be set to SerAvailabilityNotificationSubscription. - examples: - - SerAvailabilityNotificationSubscription - serviceReferences: - type: array - items: - $ref: >- - #/components/schemas/ServiceAvailabilityNotification.ServiceReferences - description: '' - _links: - $ref: '#/components/schemas/Subscription' - description: This type represents the service availability information. - ServiceAvailabilityNotification.ServiceReferences: - title: ServiceAvailabilityNotification.ServiceReferences - required: - - serName - - serInstanceId - - state - - changeType + ServiceReferences: + description: List of links to services whose availability has changed. type: object properties: link: + description: Link to the resource representing the individual service. Shall be present unless "changeType"="REMOVED". $ref: '#/components/schemas/LinkType' serName: - type: string - description: >- - The name of the service. This is how the service producing MEC - application identifies the service instance it produces. - examples: - - ExampleService + description: Name of the service. + $ref: '#/components/schemas/SerName' serInstanceId: - type: string - description: Identifier of the service instance assigned by the MEC platform. - examples: - - ServiceInstance123 + description: Identifier of the service. + $ref: '#/components/schemas/SerInstanceId' state: + description: State of the service after the modification. $ref: '#/components/schemas/ServiceState' changeType: - $ref: '#/components/schemas/ServiceAvailabilityNotification.ChangeType' - description: List of links to services whose availability has changed. - ServiceAvailabilityNotification.ChangeType: - title: ServiceAvailabilityNotification.ChangeType - enum: - - ADDED - - REMOVED - - STATE_CHANGED - - ATTRIBUTES_CHANGED - type: string - description: |- - Type of the change. Valid values: - 1. ADDED: The service was newly added. - 2. REMOVED: The service was removed. - 3. STATE_CHANGED: Only the state of the service was changed. - 4. ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state. - examples: - - ADDED - SerializerType: - title: SerializerType - enum: - - JSON - - XML - - PROTOBUF3 - type: string - description: The enumeration represents types of serializers - examples: - - JSON - LocalityType: - title: LocalityType - enum: - - MEC_SYSTEM - - MEC_HOST - - NFVI_POP - - ZONE - - ZONE_GROUP - - NFVI_NODE - type: string - description: >- - The scope of locality as expressed by "consumedLocalOnly" and "isLocal". - If absent, defaults to MEC_HOST - examples: - - MEC_SYSTEM - ServiceState: - title: ServiceState - enum: - - ACTIVE - - INACTIVE - - SUSPENDED - type: string - description: This enumeration defines the possible states of a service. - examples: - - ACTIVE - ServiceInfo: - title: ServiceInfo - required: - - serName - - version - - state - - transportInfo - - serializer - type: object - properties: - serInstanceId: - type: string - description: Identifier of the service instance assigned by the MEC platform. - examples: - - ServiceInstance123 - serName: - type: string - description: >- - The name of the service. This is how the service producing MEC - application identifies the service instance it produces. - examples: - - ExampleService - serCategory: - $ref: '#/components/schemas/CategoryRef' - version: type: string - description: Service version - examples: - - ServiceVersion1 - state: - $ref: '#/components/schemas/ServiceState' - transportId: - type: string - description: >- - Identifier of the platform-provided transport to be used by the service. - Valid identifiers may be obtained using the "Transport information query" - procedure. May be present in POST requests to signal the use of a platform-provided - transport for the service, and shall be absent otherwise. See note 2. - examples: - - transportId1 - transportInfo: - $ref: '#/components/schemas/TransportInfo' - serializer: - $ref: '#/components/schemas/SerializerType' - scopeOfLocality: - $ref: '#/components/schemas/LocalityType' - consumedLocalOnly: - type: boolean - description: >- - Indicate whether the service can only be consumed by the MEC - applications located in the same locality (as defined by - scopeOfLocality) as this service instance. - examples: - - false - isLocal: - type: boolean - description: >- - Indicate whether the service is located in the same locality (as - defined by scopeOfLocality) as the consuming MEC application. - examples: - - true - livenessInterval: - type: integer - description: >- - Interval (in seconds) between two consecutive "heartbeat" messages - (see clause 8.2.10.3.3). If the service-producing application - supports sending "heartbeat" messages, it shall include this - attribute in the registration request. In this case, the application - shall either set the value of this attribute to zero or shall use - this attribute to propose a non-zero positive value for the liveness - interval. If the application has provided this attribute in the - request and the MEC platform requires "heartbeat" messages, the MEC - platform shall return this attribute value in the HTTP responses. - The MEC platform may use the value proposed in the request or may - choose a different value. If the MEC platform does not require - "heartbeat" messages for this service instance it shall omit the - attribute in responses. - _links: - type: object - required: - - self - properties: - self: - $ref: '#/components/schemas/LinkType' - liveness: - $ref: '#/components/schemas/LinkType' - description: This type represents the general information of a MEC service. - x-etsi-notes: "NOTE 1:\tThe service category may be included in the application descriptor. It may be allocated by the operator or by the application developer.\nNOTE 2:\tEither transportId or transportInfo but not both shall be present in POST requests.\nNOTE 3:\tValues NFVI_POP, ZONE and NFVI_NODE are used when the service instance is deployed as a VNF.\nNOTE 4:\tThe isLocal is used only in service availability query response and service availability subscription/notification messages.\nNOTE 5:\tValue ZONE_GROUP can be used when the service instance is deployed as a VNF.\nNOTE 6:\tRegarding the value MEC_SYSTEM, if the service is running on the same MEC system as the MEC app, then it will be local to it." - ServiceLivenessInfo: - type: object - required: - - state - - timeStamp - - interval - properties: - state: - $ref: '#/components/schemas/ServiceState' - timeStamp: - type: object - description: >- - The time when the last "heartbeat" message was received by MEC - platform - required: - - seconds - - nanoSeconds - properties: - seconds: - type: integer - nanoSeconds: - type: integer - interval: - type: integer - description: >- - The interval (in seconds) between two consecutive "heartbeat" - messages (see clause 8.2.10.3.3) that MEC platform has determined. - ServiceLivenessUpdate: - type: object + enum: + - SEE_DESCRIPTION + description: "Type of the change. \nValid values:\nADDED:\nThe service was newly added.\nREMOVED:\nThe service was removed.\nSTATE_CHANGED:\nOnly the state of the service was changed. \nATTRIBUTES_CHANGED:\nAt least one attribute of the service other than state was changed. The change may or may not include changing the state." required: - - state - properties: - state: - $ref: '#/components/schemas/ServiceState' - Subscription: - title: Subscription - required: - - subscription + - serName + - serInstanceId + - state + - changeType + _links3: + description: Object containing hyperlinks related to the resource. type: object properties: subscription: + description: A link to the related subscription. $ref: '#/components/schemas/LinkType' - description: A link to the related subscription - TransportInfo: - title: TransportInfo required: - - id - - name - - type - - protocol - - version - - endpoint - - security + - subscription + Addresses: + description: Entry point information of the service as one or more pairs of IP address and port. See note. type: object properties: - id: - type: string - description: The identifier of this transport - examples: - - TransId12345 - name: - type: string - description: The name of this transport - examples: - - REST - description: - type: string - description: Human-readable description of this transport - examples: - - REST API - type: - $ref: '#/components/schemas/TransportType' - protocol: + host: + description: Host portion of the address. type: string - description: The name of the protocol used. Shall be set to HTTP for a REST API. - examples: - - HTTP - version: + port: + description: Port portion of the address. + type: integer + required: + - host + - port + OAuth2Info: + description: Parameters related to use of OAuth 2.0. Shall be present in case OAuth 2.0 (see IETF RFC 6749 [13]) is supported to secure the provision of the service over the transport. + type: object + properties: + grantTypes: type: string - description: The version of the protocol used - examples: - - '2.0' - endpoint: - oneOf: - - $ref: '#/components/schemas/EndPointInfo.Uris' - - $ref: '#/components/schemas/EndPointInfo.Fqdn' - - $ref: '#/components/schemas/EndPointInfo.Addresses' - - $ref: '#/components/schemas/EndPointInfo.Alternative' - description: This type represents information about a transport endpoint - x-etsi-notes: "NOTE:\tExactly one of \"uris\", \"fqdn\", \"addresses\" or \"alternative\" shall be present." - security: - $ref: '#/components/schemas/SecurityInfo' - implSpecificInfo: + enum: + - SEE_DESCRIPTION + description: "List of supported OAuth 2.0 grant types.\nEach entry shall be one of the following permitted values:\nOAUTH2_AUTHORIZATION_CODE (Authorization code grant type)\nOAUTH2_IMPLICIT_GRANT\n\t(Implicit grant type)\nOAUTH2_RESOURCE_OWNER\n\t(Resource owner password credentials grant type)\nOAUTH2_CLIENT_CREDENTIALS\n\t(Client credentials grant type)\nOnly the value \"OAUTH2_CLIENT_CREDENTIALS\" is supported in the present document. " + tokenEndpoint: + description: The token endpoint. Shall be present unless the grant type is OAUTH2_IMPLICIT_GRANT. type: string - description: Additional implementation specific details of the transport - description: This type represents the general information of a MEC service. - TransportType: - title: TransportType - enum: - - REST_HTTP - - MB_TOPIC_BASED - - MB_ROUTING - - MB_PUBSUB - - RPC - - RPC_STREAMING - - WEBSOCKET - type: string - description: The enumeration TransportType represents types of transports - examples: - - REST_HTTP - requestBodies: - ServiceAvailabilityNotification: + format: uri + required: + - grantTypes + responses: + '200': + description: OK + '204': + description: No Content + '400': + description: 'Bad Request: used to indicate that incorrect parameters were passed to the request.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '401': + description: 'Unauthorized: used when the client did not submit credentials.' content: - application/json: + application/problem+json: schema: - $ref: '#/components/schemas/ServiceAvailabilityNotification' - required: true \ No newline at end of file + $ref: '#/components/schemas/ProblemDetails' + '403': + description: 'Forbidden: operation is not allowed given the current status of the resource.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: 'Not Found: used when a client provided a URI that cannot be mapped to a valid resource URI.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '409': + description: 'Conflict: The operation cannot be executed currently, due to a conflict with the state of the resource. .' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '412': + description: 'Precondition failed: used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '414': + description: 'URI Too Long: used to indicate that the server is refusing to process the request because the request URI is longer than the server is willing or able to process.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '429': + description: 'Too Many Requests: used when a rate limiter has triggered.' + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + parameters: + Query.Ser_instance_id: + description: 'A MEC application instance may use multiple ser_instance_ids as an input parameter to query the availability of a list of MEC service instances. ser_instance_id corresponds to serInstanceId defined in table 8.1.2.2-1. + + See note.' + name: ser_instance_id + in: query + required: false + x-exportParamName: Query.Ser_instance_id + schema: + type: array + items: + type: string + Query.Ser_name: + description: "A MEC application instance may use multiple ser_names as an input parameter to query the availability of a list of MEC service instances. ser_name corresponds to serName defined in table\_8.1.2.2-1.\nSee note." + name: ser_name + in: query + required: false + x-exportParamName: Query.Ser_name + schema: + type: array + items: + type: string + Query.Ser_category_id: + description: 'A MEC application instance may use ser_category_id as an input parameter to query the availability of a list of MEC service instances in a serCategory. ser_category_id corresponds to serCategory defined in table 8.1.2.2-1. + + See note.' + name: ser_category_id + in: query + required: false + x-exportParamName: Query.Ser_category_id + schema: + type: string + Query.Scope_of_locality: + description: A MEC application instance may use scope_of_locality as an input parameter to query the availability of a list of MEC service instances with a certain scope of locality, as defined in LocalityType in table 8.1.6.5-1. scope_of_locality corresponds to scopeOfLocality defined in table 8.1.2.2-1. + name: scope_of_locality + in: query + required: false + x-exportParamName: Query.Scope_of_locality + schema: + $ref: '#/components/schemas/LocalityType' + Query.Consumed_local_only: + description: A MEC application instance may use consumed_local_only as an input parameter to query the availability of a list of MEC service instances that can be consumed only locally. consumed_local_only corresponds to consumedLocalOnly defined in table 8.1.2.2-1. + name: consumed_local_only + in: query + required: false + x-exportParamName: Query.Consumed_local_only + schema: + type: boolean + Query.Is_local: + description: A MEC application instance may use is_local as an input parameter to query the availability of a list of MEC service instances in the local MEC host or in local and remote MEC hosts. is_local corresponds to isLocal defined in table 8.1.2.2-1. + name: is_local + in: query + required: false + x-exportParamName: Query.Is_local + schema: + type: boolean +