From e6dcded9157c413067a26a4c5129ef3b5d82c42d Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 19 Nov 2021 12:31:17 +0100 Subject: [PATCH 1/4] OAS 3.1.0 first draft added. --- .../MecAppSupportApi.yaml-OpenApi31Yaml.yaml | 1664 +++++++++++++++++ .../MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml | 1606 ++++++++++++++++ 2 files changed, 3270 insertions(+) create mode 100644 OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml create mode 100644 OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml diff --git a/OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml b/OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml new file mode 100644 index 0000000..a6b40d3 --- /dev/null +++ b/OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml @@ -0,0 +1,1664 @@ +openapi: 3.1.0 +info: + title: MEC Application Support API + description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI + contact: + email: cti_support@etsi.org + version: '2.1.1' +jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema +servers: +- url: http://127.0.0.1:8081/mec_app_support/v1 + variables: {} +- url: https://127.0.0.1:8081/mec_app_support/v1 + variables: {} +paths: + /applications/{appInstanceId}/traffic_rules: + get: + tags: + - appTrafficRules + summary: ApplicationsTrafficRules_GET + description: This method retrieves information about all the traffic rules associated with a MEC application instance. + operationId: ApplicationsTrafficRules_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + type: array + items: + $ref: '#/components/schemas/TrafficRule' + description: '' + examples: + - - trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + contentMediaType: application/json + examples: + TrafficRules: + value: + - trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/traffic_rules/{trafficRuleId}: + get: + tags: + - appTrafficRules + summary: ApplicationsTrafficRule_GET + description: This method retrieves information about all the traffic rules associated with a MEC application instance. + operationId: ApplicationsTrafficRule_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: trafficRuleId + in: path + description: Represents a traffic rule. + required: true + style: simple + schema: + type: string + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + examples: + TrafficRule: + value: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + put: + tags: + - appTrafficRules + summary: ApplicationsTrafficRule_PUT + description: This method retrieves information about all the traffic rules associated with a MEC application instance. + operationId: ApplicationsTrafficRule_PUT + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: trafficRuleId + in: path + description: Represents a traffic rule. + required: true + style: simple + schema: + type: string + requestBody: + description: One or more updated attributes that are allowed to be changed + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + required: true + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + examples: + TrafficRule: + value: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '412': + description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/dns_rules: + get: + tags: + - appDnsRules + summary: ApplicationsDnsRules_GET + description: This method retrieves information about all the DNS rules associated with a MEC application instance. + operationId: ApplicationsDnsRules_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + type: array + items: + $ref: '#/components/schemas/DnsRule' + description: '' + examples: + - - dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + - dnsRuleId: DnsRule2 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.4 + ttl: 300 + state: INACTIVE + contentMediaType: application/json + examples: + DnsRules: + value: + - dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + - dnsRuleId: DnsRule2 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.4 + ttl: 300 + state: INACTIVE + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/dns_rules/{dnsRuleId}: + get: + tags: + - appDnsRules + summary: ApplicationsDnsRule_GET + description: This method retrieves information about a DNS rule associated with a MEC application instance. + operationId: ApplicationsDnsRule_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: dnsRuleId + in: path + description: Represents a DNS rule. + required: true + style: simple + schema: + type: string + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + examples: + DnsRule: + value: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + put: + tags: + - appDnsRules + summary: ApplicationsDnsRule_PUT + description: This method activates, de-activates or updates a traffic rule. + operationId: ApplicationsDnsRule_PUT + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: dnsRuleId + in: path + description: Represents a DNS rule. + required: true + style: simple + schema: + type: string + requestBody: + description: The updated state is included in the entity body of the request. + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + required: true + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + examples: + DnsRule: + value: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '412': + description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/subscriptions: + get: + tags: + - appSubscriptions + summary: ApplicationsSubscriptions_GET + description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. + operationId: ApplicationsSubscriptions_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + responses: + '200': + description: Upon success, a response body containing the list of links to the requested subscriptions is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList' + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + post: + tags: + - appSubscriptions + summary: ApplicationsSubscriptions_POST + description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. + operationId: ApplicationsSubscriptions_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: Entity body in the request contains a subscription to the MEC application termination notifications that is to be created. + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + required: true + responses: + '201': + description: Entity body in the request contains a subscription to the MEC service availability notifications that is to be created. + headers: + location: + description: The resource URI of the created resource + content: + text/plain: + schema: + type: string + description: The resource URI of the created resource + contentMediaType: text/plain + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/subscriptions/{subscriptionId}: + get: + tags: + - appSubscriptions + summary: ApplicationsSubscription_GET + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. + operationId: ApplicationsSubscription_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: subscriptionId + in: path + description: Represents a subscription to the notifications from the MEC platform. + required: true + style: simple + schema: + type: string + responses: + '200': + description: Upon success, a response body containing the requested subscription is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + delete: + tags: + - appSubscriptions + summary: ApplicationsSubscription_DELETE + 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: ApplicationsConfirmTermination_POST + description: This method is used to confirm the application level termination of an application instance. + operationId: ApplicationsConfirmTermination_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationConfirmation' + required: false + responses: + '204': + description: No Content + headers: {} + content: {} + '401': + description: Unauthorized. It is used when the client did not submit the appropriate credentials. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '409': + description: Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '429': + description: Too Many Requests. It is used when a rate limiter has triggered. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/confirm_ready: + post: + tags: + - appConfirmReady + summary: ApplicationsConfirmReady_POST + description: 'This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ' + operationId: ApplicationsConfirmReady_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AppReadyConfirmation' + required: false + responses: + '204': + description: No Content + headers: {} + content: {} + '401': + description: Unauthorized. It is used when the client did not submit the appropriate credentials. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '409': + description: Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '429': + description: Too Many Requests. It is used when a rate limiter has triggered. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /timing/timing_caps: + get: + tags: + - timing + summary: TimingCaps_GET + description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query + operationId: TimingCaps_GET + parameters: [] + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/TimingCaps' + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /timing/current_time: + get: + tags: + - timing + summary: TimingCurrentTime_GET + description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure + operationId: TimingCurrentTime_GET + parameters: [] + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CurrentTime' + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] +components: + schemas: + AppReadyConfirmation: + title: AppReadyConfirmation + required: + - indication + type: object + properties: + indication: + const: READY + type: string + description: Indication about the MEC application instance. + examples: + - READY + description: This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running. + AppTerminationConfirmation: + title: AppTerminationConfirmation + required: + - operationAction + type: object + properties: + operationAction: + $ref: '#/components/schemas/OperationActionType' + description: This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop. + AppTerminationNotification.Links: + title: AppTerminationNotification.Links + required: + - subscription + type: object + properties: + subscription: + $ref: '#/components/schemas/LinkType' + confirmTermination: + $ref: '#/components/schemas/LinkType.ConfirmTermination' + description: Object containing hyperlinks related to the resource. + AppTerminationNotification: + title: AppTerminationNotification + required: + - notificationType + - operationAction + - maxGracefulTimeout + - _links + type: object + properties: + notificationType: + type: string + description: Shall be set to AppTerminationNotification. + examples: + - AppTerminationNotification + operationAction: + $ref: '#/components/schemas/OperationActionType' + maxGracefulTimeout: + type: integer + description: Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. + contentEncoding: int32 + examples: + - 10 + _links: + $ref: '#/components/schemas/AppTerminationNotification.Links' + description: This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop. + AppTerminationNotificationSubscription: + title: AppTerminationNotificationSubscription + required: + - subscriptionType + - callbackReference + - _links + - appInstanceId + type: object + properties: + subscriptionType: + type: string + description: Shall be set to AppTerminationNotificationSubscription. + examples: + - AppTerminationNotificationSubscription + callbackReference: + type: string + description: URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information. This shall be included in both the request and the response. + _links: + $ref: '#/components/schemas/Self' + appInstanceId: + type: string + description: It is used as the filtering criterion for the subscribed events. + examples: + - ID1 + description: This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop. + CurrentTime: + title: CurrentTime + required: + - seconds + - nanoSeconds + - timeSourceStatus + type: object + properties: + seconds: + type: integer + description: The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC + contentEncoding: int32 + examples: + - 1577836800 + nanoSeconds: + type: integer + description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC + contentEncoding: int32 + examples: + - 0 + timeSourceStatus: + $ref: '#/components/schemas/TimeSourceStatus' + description: This type represents the information provided by the MEC platform in response to the Get Platform Time Request message. + DestinationInterface.InterfaceType: + title: DestinationInterface.InterfaceType + enum: + - TUNNEL + - MAC + - IP + type: string + description: Type of the interface + examples: + - TUNNEL + DestinationInterface: + title: DestinationInterface + required: + - interfaceType + type: object + properties: + interfaceType: + $ref: '#/components/schemas/DestinationInterface.InterfaceType' + tunnelInfo: + $ref: '#/components/schemas/TunnelInfo' + srcMacAddress: + type: string + description: Source address identifies the MAC address of the interface + examples: + - 02-00-00-00-00-00 + dstMacAddress: + type: string + description: Source address identifies the MAC address of the interface + examples: + - 02-00-00-00-00-00 + dstIpAddress: + type: string + description: IP address of the remote destination + examples: + - 192.0.2.0 + description: This type represents the destination interface. If the action is FORWARD_DECAPSULATED, FORWARD_ENCAPSULATED or PASSTHROUGH one value shall be provided. If the action is DUPLICATE_DECAPSULATED or DUPLICATE_ENCAPSULATED, two values shall be provided. If the action is DROP, no value shall be provided. + DnsRule.IpAddressType: + title: DnsRule.IpAddressType + enum: + - IP_V6 + - IP_V4 + type: string + description: IP address type + examples: + - IP_V6 + DnsRule.State: + title: DnsRule.State + enum: + - ACTIVE + - INACTIVE + type: string + description: DNS rule state. This attribute may be updated using HTTP PUT method + examples: + - ACTIVE + DnsRule: + title: DnsRule + required: + - dnsRuleId + - domainName + - ipAddressType + - ipAddress + - state + type: object + properties: + dnsRuleId: + type: string + description: Identifies the DNS Rule + examples: + - dnsRule1 + domainName: + type: string + description: FQDN resolved by the DNS rule + examples: + - www.example.com + ipAddressType: + $ref: '#/components/schemas/DnsRule.IpAddressType' + ipAddress: + type: string + description: IP address associated with the FQDN resolved by the DNS rule + examples: + - 192.0.2.0 + ttl: + type: integer + description: Time to live value + contentEncoding: int32 + state: + $ref: '#/components/schemas/DnsRule.State' + description: This type represents the general information of a DNS rule. + LinkType: + title: LinkType + type: object + properties: + href: + type: string + description: URI referring to a resource + examples: + - /mecAppSuptApi/example + description: This type represents a type of link and may be referenced from data structures + LinkType.ConfirmTermination: + title: LinkType.ConfirmTermination + type: object + properties: + href: + type: string + description: URI referring to a resource + examples: + - /mecAppSuptApi/example + description: Link to the task resource where to confirm termination in case the application is ready to be terminated before expiry of the timeout. + MecAppSuptApiSubscriptionLinkList.Links: + title: MecAppSuptApiSubscriptionLinkList.Links + required: + - self + type: object + properties: + self: + $ref: '#/components/schemas/LinkType' + subscriptions: + type: array + items: + $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription' + description: The MEC application instance's subscriptions + description: Self-referring URI. + MecAppSuptApiSubscriptionLinkList.Subscription: + title: MecAppSuptApiSubscriptionLinkList.Subscription + required: + - href + - rel + type: object + properties: + href: + type: string + description: URI referring to a resource + examples: + - /mecAppSuptApi/example + rel: + type: string + description: The values shall be set to AppTerminationNotificationSubscription. + description: A link to a subscription. + MecAppSuptApiSubscriptionLinkList: + title: MecAppSuptApiSubscriptionLinkList + required: + - _links + type: object + properties: + _links: + $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Links' + description: This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions. + OperationActionType: + title: OperationActionType + enum: + - STOPPING + - TERMINATING + type: string + description: Operation that is being performed on the MEC application instance. + examples: + - TERMINATING + ProblemDetails: + title: ProblemDetails + type: object + properties: + type: + type: string + description: A URI reference according to IETF RFC 3986 that identifies the problem type + title: + type: string + description: A short, human-readable summary of the problem type + status: + type: integer + description: The HTTP status code for this occurrence of the problem + contentEncoding: int32 + detail: + type: string + description: A human-readable explanation specific to this occurrence of the problem + instance: + type: string + description: A URI reference that identifies the specific occurrence of the problem + ReadyIndicationType: + title: ReadyIndicationType + const: READY + type: string + description: Indication about the MEC application instance. + examples: + - READY + Self: + title: Self + required: + - self + type: object + properties: + self: + $ref: '#/components/schemas/LinkType' + description: Self-referring URI. + TimingCaps.NtpServers.AuthenticationOption: + title: TimingCaps.NtpServers.AuthenticationOption + enum: + - NONE + - SYMMETRIC_KEY + - AUTO_KEY + type: string + description: NTP authentication option + examples: + - NONE + TimingCaps.NtpServers.NtpServerAddrType: + title: TimingCaps.NtpServers.NtpServerAddrType + enum: + - IP_ADDRESS + - DNS_NAME + type: string + description: Address type of NTP server + examples: + - IP_ADDRESS + TimingCaps.NtpServers: + title: TimingCaps.NtpServers + required: + - ntpServerAddrType + - ntpServerAddr + - minPollingInterval + - maxPollingInterval + - localPriority + - authenticationOption + - authenticationKeyNum + type: object + properties: + ntpServerAddrType: + $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType' + ntpServerAddr: + type: string + description: NTP server address + examples: + - 192.0.2.0 + minPollingInterval: + type: integer + description: Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17 + contentEncoding: int32 + examples: + - 3 + maxPollingInterval: + type: integer + description: Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17 + contentEncoding: int32 + examples: + - 17 + localPriority: + type: integer + description: NTP server local priority + contentEncoding: int32 + examples: + - 1 + authenticationOption: + $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationOption' + authenticationKeyNum: + type: integer + description: Authentication key number + contentEncoding: int32 + examples: + - 1 + description: NTP server detail. + TimingCaps_PtpMasters: + title: TimingCaps_PtpMasters + required: + - ptpMasterIpAddress + - ptpMasterLocalPriority + - delayReqMaxRate + type: object + properties: + ptpMasterIpAddress: + type: string + description: PTP Master IP Address + examples: + - 192.0.2.0 + ptpMasterLocalPriority: + type: integer + description: PTP Master local priority + contentEncoding: int32 + examples: + - 1 + delayReqMaxRate: + type: integer + description: Acceptable maximum rate of the Delay_Req messages in packets per second + contentEncoding: int32 + examples: + - 10 + description: NTP server detail. + TimingCaps.TimeStamp: + title: TimingCaps.TimeStamp + required: + - seconds + - nanoSeconds + type: object + properties: + seconds: + type: integer + description: The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC + contentEncoding: int32 + examples: + - 1577836800 + nanoSeconds: + type: integer + description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC + contentEncoding: int32 + examples: + - 0 + description: time + TimingCaps: + title: TimingCaps + type: object + properties: + timeStamp: + $ref: '#/components/schemas/TimingCaps.TimeStamp' + ntpServers: + type: array + items: + $ref: '#/components/schemas/TimingCaps.NtpServers' + description: Available NTP servers + ptpMasters: + type: array + items: + $ref: '#/components/schemas/TimingCaps_PtpMasters' + description: Available PTP Masters + description: This type represents the information provided by the MEC platform in response to the Timing capabilities Query message. + TrafficFilter: + title: TrafficFilter + type: object + properties: + srcAddress: + type: array + items: + type: string + description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. + dstAddress: + type: array + items: + type: string + description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. + srcPort: + type: array + items: + type: string + description: A port or a range of ports + dstPort: + type: array + items: + type: string + description: A port or a range of ports + protocol: + type: array + items: + type: string + description: Specify the protocol of the traffic filter + token: + type: array + items: + type: string + description: Used for token based traffic rule + srcTunnelAddress: + type: array + items: + type: string + description: Used for GTP tunnel based traffic rule + tgtTunnelAddress: + type: array + items: + type: string + description: Used for GTP tunnel based traffic rule + srcTunnelPort: + type: array + items: + type: string + description: Used for GTP tunnel based traffic rule + dstTunnelPort: + type: array + items: + type: string + description: Used for GTP tunnel based traffic rule + qCI: + type: integer + description: Used to match all packets that have the same Quality Class Indicator (QCI). + contentEncoding: int32 + examples: + - 1 + dSCP: + type: integer + description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP) + contentEncoding: int32 + examples: + - 0 + tC: + type: integer + description: Used to match all IPv6 packets that have the same Traffic Class. + contentEncoding: int32 + examples: + - 1 + description: This type represents the traffic filter. + TrafficRule.Action: + title: TrafficRule.Action + enum: + - DROP + - FORWARD_DECAPSULATED + - FORWARD_ENCAPSULATED + - PASSTHROUGH + - DUPLICATE_DECAPSULATED + - DUPLICATE_ENCAPSULATED + type: string + description: The action of the MEC host data plane when a packet matches the trafficFilter + examples: + - DROP + TrafficRule.FilterType: + title: TrafficRule.FilterType + enum: + - FLOW + - PACKET + type: string + description: Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context + examples: + - FLOW + TrafficRule.State: + title: TrafficRule.State + enum: + - ACTIVE + - INACTIVE + type: string + description: Contains the traffic rule state. This attribute may be updated using HTTP PUT method + examples: + - ACTIVE + TrafficRule: + title: TrafficRule + required: + - trafficRuleId + - filterType + - priority + - trafficFilter + - action + - state + type: object + properties: + trafficRuleId: + type: string + description: Identify the traffic rule. + examples: + - TrafficRule1 + filterType: + $ref: '#/components/schemas/TrafficRule.FilterType' + priority: + type: integer + description: Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence + contentEncoding: int32 + examples: + - 1 + trafficFilter: + type: array + items: + $ref: '#/components/schemas/TrafficFilter' + description: '' + action: + $ref: '#/components/schemas/TrafficRule.Action' + dstInterface: + $ref: '#/components/schemas/DestinationInterface' + state: + $ref: '#/components/schemas/TrafficRule.State' + description: This type represents the general information of a traffic rule. + TunnelInfo.TunnelType: + title: TunnelInfo.TunnelType + enum: + - GTP_U + - GRE + type: string + description: This type represents the tunnel information. + examples: + - GTP_U + TunnelInfo: + title: TunnelInfo + required: + - tunnelType + type: object + properties: + tunnelType: + $ref: '#/components/schemas/TunnelInfo.TunnelType' + tunnelDstAddress: + type: string + description: Destination address of the tunnel + examples: + - '?' + tunnelSrcAddress: + type: string + description: Source address of the tunnel + examples: + - '?' + description: This type represents the tunnel information. + TimeSourceStatus: + title: TimeSourceStatus + enum: + - TRACEABLE + - NONTRACEABLE + type: string + description: Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source + examples: + - TRACEABLE +security: +- {} +tags: +- name: appTrafficRules +- name: appDnsRules +- name: appSubscriptions +- name: appConfirmTermination +- name: appConfirmReady +- name: timing +- name: callbacks +externalDocs: + description: ETSI GS MEC011 Application Enablement API, V2.1.1 + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf diff --git a/OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml b/OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml new file mode 100644 index 0000000..96f5a8e --- /dev/null +++ b/OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml @@ -0,0 +1,1606 @@ +openapi: 3.1.0 +info: + title: MEC Service Management API + description: The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI + contact: + email: cti_support@etsi.org + version: '2.1.1' +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: {} +paths: + /applications/{appInstanceId}/subscriptions: + get: + tags: + - appSubscriptions + summary: ApplicationsSubscriptions_GET + description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. + operationId: ApplicationsSubscriptions_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + responses: + '200': + description: Upon success, a response body containing the list of links to the requested subscriptions is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList' + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + post: + tags: + - appSubscriptions + summary: ApplicationsSubscriptions_POST + description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. + operationId: ApplicationsSubscriptions_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: Entity body in the request contains a subscription to the MEC application termination notifications that is to be created. + content: + application/json: + schema: + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + required: true + responses: + '201': + description: Entity body in the request contains a subscription to the MEC service availability notifications that is to be created. + headers: + location: + description: The resource URI of the created resource + content: + text/plain: + schema: + type: string + description: The resource URI of the created resource + contentMediaType: text/plain + content: + application/json: + schema: + $ref: '#/components/schemas/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' + '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}/subscriptions/{subscriptionId}: + get: + tags: + - appSubscriptions + summary: ApplicationsSubscription_GET + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. + operationId: ApplicationsSubscription_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: subscriptionId + in: path + description: Represents a subscription to the notifications from the MEC platform. + required: true + style: simple + schema: + type: string + responses: + '200': + description: Upon success, a response body containing the requested subscription is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/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' + '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: ApplicationsSubscription_DELETE + 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 + 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}/services: + get: + tags: + - appServices + summary: AppServices_GET + 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 + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + 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 + 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 + '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 + post: + tags: + - appServices + summary: AppServices_POST + 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 + requestBody: + description: New ServiceInfo with updated "state" is included as entity body of the request + 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 + 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 + 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 + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/services/{serviceId}: + get: + tags: + - appServices + summary: AppServicesServiceId_GET + 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. + required: true + style: simple + schema: + type: string + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/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 + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + put: + tags: + - appServices + summary: AppServicesServiceId_PUT + 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. + required: true + style: simple + schema: + type: string + requestBody: + description: New ServiceInfo with updated "state" is included as entity body of the request + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceInfo' + required: true + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/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 + '400': + description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '403': + description: Forbidden. The operation is not allowed given the current status of the resource. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + '404': + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + '412': + description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + delete: + tags: + - appServices + summary: AppServicesServiceId_DELETE + 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. + 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: Services_GET + 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 body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + 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 + 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 + '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: ServicesServiceId_GET + 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. + required: true + style: simple + schema: + type: string + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/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 + '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: Transports_GET + 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 + parameters: [] + responses: + '200': + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + 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: [] +components: + schemas: + CategoryRef: + title: CategoryRef + required: + - href + - id + - name + - version + type: object + properties: + href: + type: string + description: Reference of the catalogue + examples: + - /example/catalogue1 + id: + type: string + description: Unique identifier of the category + examples: + - id12345 + name: + type: string + description: Name of the category, example values include RNI, Location & Bandwidth Management + examples: + - RNI + 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: + minItems: 0 + type: array + items: + $ref: '#/components/schemas/EndPointInfo.Address' + description: '' + description: Entry point information of the service as one or more pairs of IP address and port + 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. + EndPointInfo.Uris: + title: EndPointInfo.Uris + required: + - uris + type: object + properties: + uris: + minItems: 0 + type: array + items: + type: string + description: '' + description: Entry point information of the service as string, formatted according to URI syntax + LinkType: + title: LinkType + type: object + properties: + href: + 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 + type: object + properties: + self: + $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 + required: + - href + - rel + 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 + required: + - _links + 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: + 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 + required: + - self + type: object + properties: + self: + $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: + type: 'null' + not: + type: object + 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. + description: This type represents a subscription to the notifications from the MEC platform regarding the availability of a MEC service or a list of MEC services. + SerAvailabilityNotificationSubscription.FilteringCriteria: + title: SerAvailabilityNotificationSubscription.FilteringCriteria + type: object + properties: + serInstanceIds: + minItems: 0 + type: array + items: + type: string + description: Identifiers of service instances about which to report events. + serNames: + minItems: 0 + type: array + items: + type: string + description: Names of services about which to report events. + serCategories: + minItems: 0 + type: array + items: + $ref: '#/components/schemas/CategoryRef' + description: Categories of services about which to report events. + states: + minItems: 0 + type: array + 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: + 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 + type: object + properties: + link: + $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 + serInstanceId: + type: string + description: Identifier of the service instance assigned by the MEC platform. + examples: + - ServiceInstance123 + state: + $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:\n ADDED: The service was newly added.\n REMOVED: The service was removed.\n STATE_CHANGED: Only the state of the service was changed. \n 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 + type: string + description: This enumeration defines the possible states of a service. + examples: + - ACTIVE + ServiceInfo.Post: + title: ServiceInfo.Post + required: + - serName + - version + - state + - 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. + examples: + - Rest1 + 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 + description: This type represents the general information of a MEC service. + 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' + 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 + description: This type represents the general information of a MEC service. + Subscription: + title: Subscription + required: + - subscription + type: object + properties: + subscription: + $ref: '#/components/schemas/LinkType' + description: A link to the related subscription + TransportInfo: + title: TransportInfo + required: + - id + - name + - type + - protocol + - version + - endpoint + - security + 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: + type: string + description: The name of the protocol used. Shall be set to HTTP for a REST API. + examples: + - HTTP + version: + type: string + description: The version of the protocol used + examples: + - '2.0' + endpoint: + oneOf: + - $ref: '#/components/schemas/EndPointInfo.Uris' + - $ref: '#/components/schemas/EndPointInfo.Addresses' + - $ref: '#/components/schemas/EndPointInfo.Alternative' + description: This type represents information about a transport endpoint + security: + $ref: '#/components/schemas/SecurityInfo' + implSpecificInfo: + type: object + 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 +security: +- {} +tags: +- name: appSubscriptions +- name: appServices +- name: services +- name: transports +- name: callbacks +externalDocs: + description: ETSI GS MEC011 Application Enablement API, V2.1.1 + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf -- GitLab From 24964e5294937a006fb90ab4475b33f3105afc17 Mon Sep 17 00:00:00 2001 From: piscione Date: Mon, 22 Nov 2021 08:56:24 +0100 Subject: [PATCH 2/4] Replaced OAS3.0 files with OAS3.1 files. --- MecAppSupportApi.yaml | 2354 +++++++++------- MecServiceMgmtApi.yaml | 2362 ++++++++++------- .../MecAppSupportApi.yaml-OpenApi31Yaml.yaml | 1664 ------------ .../MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml | 1606 ----------- 4 files changed, 2669 insertions(+), 5317 deletions(-) delete mode 100644 OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml delete mode 100644 OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml diff --git a/MecAppSupportApi.yaml b/MecAppSupportApi.yaml index c39a7a1..a6b40d3 100644 --- a/MecAppSupportApi.yaml +++ b/MecAppSupportApi.yaml @@ -1,1370 +1,1664 @@ -openapi: 3.0.2 -servers: - - url: 'http://127.0.0.1:8081/mec_app_support/v1' - - url: 'https://127.0.0.1:8081/mec_app_support/v1' +openapi: 3.1.0 info: title: MEC Application Support API - version: 2.1.1 description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI - license: - name: BSD-3-Clause - url: 'https://forge.etsi.org/legal-matters' contact: email: cti_support@etsi.org -externalDocs: - description: 'ETSI GS MEC011 Application Enablement API, V2.1.1' - url: >- - https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf -tags: - - name: appTrafficRules - - name: appDnsRules - - name: appSubscriptions - - name: appConfirmTermination - - name: appConfirmReady - - name: timing - - name: callbacks + version: '2.1.1' +jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema +servers: +- url: http://127.0.0.1:8081/mec_app_support/v1 + variables: {} +- url: https://127.0.0.1:8081/mec_app_support/v1 + variables: {} paths: - '/applications/{appInstanceId}/traffic_rules': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' + /applications/{appInstanceId}/traffic_rules: get: - description: >- - This method retrieves information about all the traffic rules associated - with a MEC application instance. - operationId: ApplicationsTrafficRules_GET tags: - - appTrafficRules + - appTrafficRules + summary: ApplicationsTrafficRules_GET + description: This method retrieves information about all the traffic rules associated with a MEC application instance. + operationId: ApplicationsTrafficRules_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ApplicationsTrafficRules.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + type: array + items: + $ref: '#/components/schemas/TrafficRule' + description: '' + examples: + - - trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE + contentMediaType: application/json + examples: + TrafficRules: + value: + - trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '/applications/{appInstanceId}/traffic_rules/{trafficRuleId}': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' - - $ref: '#/components/parameters/Path.TrafficRuleId' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/traffic_rules/{trafficRuleId}: get: - description: >- - This method retrieves information about all the traffic rules associated - with a MEC application instance. - operationId: ApplicationsTrafficRule_GET tags: - - appTrafficRules + - appTrafficRules + summary: ApplicationsTrafficRule_GET + description: This method retrieves information about all the traffic rules associated with a MEC application instance. + operationId: ApplicationsTrafficRule_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: trafficRuleId + in: path + description: Represents a traffic rule. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ApplicationsTrafficRule.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + examples: + TrafficRule: + value: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false put: - description: >- - This method retrieves information about all the traffic rules associated - with a MEC application instance. - operationId: ApplicationsTrafficRule_PUT tags: - - appTrafficRules + - appTrafficRules + summary: ApplicationsTrafficRule_PUT + description: This method retrieves information about all the traffic rules associated with a MEC application instance. + operationId: ApplicationsTrafficRule_PUT + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: trafficRuleId + in: path + description: Represents a traffic rule. + required: true + style: simple + schema: + type: string + requestBody: + description: One or more updated attributes that are allowed to be changed + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + required: true responses: '200': - $ref: '#/components/responses/ApplicationsTrafficRule.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/TrafficRule' + examples: + TrafficRule: + value: + trafficRuleId: TrafficRule123 + serName: ExampleService + filterType: FLOW + priority: 1 + trafficFilter: + - srcAddress: + - 192.168.2.0/24 + - 192.168.3.0/24 + dstAddress: + - 192.127.4.100/32 + dstPort: + - '80' + action: FORWARD_DECAPSULATED + dstInterface: + interfaceType: IP + dstIpAddress: 20.1.1.1 + state: ACTIVE '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain '412': - $ref: '#/components/responses/Error.412' - requestBody: - $ref: '#/components/requestBodies/ApplicationsTrafficRule' - '/applications/{appInstanceId}/dns_rules': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' + description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/dns_rules: get: - description: >- - This method retrieves information about all the DNS rules associated - with a MEC application instance. - operationId: ApplicationsDnsRules_GET tags: - - appDnsRules + - appDnsRules + summary: ApplicationsDnsRules_GET + description: This method retrieves information about all the DNS rules associated with a MEC application instance. + operationId: ApplicationsDnsRules_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ApplicationsDnsRules.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + 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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '/applications/{appInstanceId}/dns_rules/{dnsRuleId}': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' - - $ref: '#/components/parameters/Path.DnsRuleId' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /applications/{appInstanceId}/dns_rules/{dnsRuleId}: get: - description: >- - This method retrieves information about a DNS rule associated with a - MEC application instance. - operationId: ApplicationsDnsRule_GET tags: - - appDnsRules + - appDnsRules + summary: ApplicationsDnsRule_GET + description: This method retrieves information about a DNS rule associated with a MEC application instance. + operationId: ApplicationsDnsRule_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: dnsRuleId + in: path + description: Represents a DNS rule. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ApplicationsDnsRule.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + examples: + DnsRule: + value: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false put: - description: 'This method activates, de-activates or updates a traffic rule.' - operationId: ApplicationsDnsRule_PUT tags: - - appDnsRules + - appDnsRules + summary: ApplicationsDnsRule_PUT + description: This method activates, de-activates or updates a traffic rule. + operationId: ApplicationsDnsRule_PUT + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: dnsRuleId + in: path + description: Represents a DNS rule. + required: true + style: simple + schema: + type: string + requestBody: + description: The updated state is included in the entity body of the request. + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + required: true responses: '200': - $ref: '#/components/responses/ApplicationsDnsRule.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/DnsRule' + examples: + DnsRule: + value: + dnsRuleId: DnsRule1 + domainName: www.example.com + ipAddressType: IP_V4 + ipAddress: 146.241.7.3 + ttl: 300 + state: ACTIVE '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain '412': - $ref: '#/components/responses/Error.412' - requestBody: - $ref: '#/components/requestBodies/ApplicationsDnsRule' - '/applications/{appInstanceId}/subscriptions': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' + 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: - 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 tags: - - appSubscriptions + - appSubscriptions + summary: ApplicationsSubscriptions_GET + description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. + operationId: ApplicationsSubscriptions_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ApplicationsSubscriptions.200' + description: Upon success, a response body containing the list of links to the requested subscriptions is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList' '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false post: - 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 tags: - - appSubscriptions + - appSubscriptions + summary: ApplicationsSubscriptions_POST + description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. + operationId: ApplicationsSubscriptions_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: Entity body in the request contains a subscription to the MEC application termination notifications that is to be created. + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' + required: true responses: '201': - $ref: '#/components/responses/ApplicationsSubscriptions.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - requestBody: - $ref: '#/components/requestBodies/ApplicationsSubscriptions' - callbacks: - appTerminationNotification: - $ref: '#/components/callbacks/AppTerminationNotification' - '/applications/{appInstanceId}/subscriptions/{subscriptionId}': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' - - $ref: '#/components/parameters/Path.SubscriptionId' + 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}/subscriptions/{subscriptionId}: get: - description: >- - The GET method requests information about a subscription for this - requestor. Upon success, the response contains entity body with the - subscription for the requestor. - operationId: ApplicationsSubscription_GET tags: - - appSubscriptions + - appSubscriptions + summary: ApplicationsSubscription_GET + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. + operationId: ApplicationsSubscription_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: subscriptionId + in: path + description: Represents a subscription to the notifications from the MEC platform. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ApplicationsSubscription.200' + description: Upon success, a response body containing the requested subscription is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationNotificationSubscription' '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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: - description: >- - This method deletes a mecAppSuptApiSubscription. This method is typically used - in "Unsubscribing from service availability event notifications" - procedure. - operationId: ApplicationsSubscription_DELETE tags: - - appSubscriptions + - appSubscriptions + summary: ApplicationsSubscription_DELETE + 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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '/applications/{appInstanceId}/confirm_termination': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' + 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: - description: >- - This method is used to confirm the application level termination - of an application instance. - operationId: ApplicationsConfirmTermination_POST tags: - - appConfirmTermination + - appConfirmTermination + summary: ApplicationsConfirmTermination_POST + description: This method is used to confirm the application level termination of an application instance. + operationId: ApplicationsConfirmTermination_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationConfirmation' + required: false responses: '204': description: No Content - - + headers: {} + content: {} '401': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.429' - requestBody: - $ref: '#/components/requestBodies/ApplicationsConfirmTermination' - '/applications/{appInstanceId}/confirm_ready': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' + 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: - 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 tags: - - appConfirmReady + - appConfirmReady + summary: ApplicationsConfirmReady_POST + description: 'This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ' + operationId: ApplicationsConfirmReady_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AppReadyConfirmation' + required: false responses: '204': description: No Content + headers: {} + content: {} '401': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.429' - requestBody: - $ref: '#/components/requestBodies/ApplicationsConfirmReady' - '/timing/timing_caps': + description: Too Many Requests. It is used when a rate limiter has triggered. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] + /timing/timing_caps: get: - description: >- - This method retrieves the information of the platform's timing - capabilities which corresponds to the timing capabilities query - operationId: TimingCaps_GET tags: - - timing + - timing + summary: TimingCaps_GET + 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': - $ref: '#/components/responses/TimingCaps.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/TimingCaps' '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '/timing/current_time': + 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: - description: >- - This method retrieves the information of the platform's current time - which corresponds to the get platform time procedure - operationId: TimingCurrentTime_GET tags: - - timing + - timing + summary: TimingCurrentTime_GET + 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': - $ref: '#/components/responses/TimingCurrentTime.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CurrentTime' '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] components: schemas: - Empty: - description: Empty schema AppReadyConfirmation: - description: >- - This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running. - type: object + title: AppReadyConfirmation required: - - indication + - indication + type: object properties: indication: - $ref: '#/components/schemas/ReadyIndicationType' + const: READY + type: string + description: Indication about the MEC application instance. + examples: + - READY + description: This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running. AppTerminationConfirmation: - 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. - type: object + title: AppTerminationConfirmation required: - - operationAction + - operationAction + type: object properties: operationAction: $ref: '#/components/schemas/OperationActionType' + description: This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop. AppTerminationNotification.Links: - description: >- - Object containing hyperlinks related to the resource. - type: object + title: AppTerminationNotification.Links required: - - subscription + - subscription + type: object properties: subscription: $ref: '#/components/schemas/LinkType' confirmTermination: $ref: '#/components/schemas/LinkType.ConfirmTermination' - AppTerminationNotification.MaxGracefulTimeout: - description: >- - Maximum timeout value in seconds for graceful termination or graceful - stop of an application instance. - type: integer - format: uint32 - example: 10 - AppTerminationNotification.NotificationType: - description: Shall be set to AppTerminationNotification. - type: string - example: 'AppTerminationNotification' + description: Object containing hyperlinks related to the resource. AppTerminationNotification: - description: >- - This type represents the information that the MEC platform - notifies the subscribed application instance about the corresponding - application instance termination/stop. - type: object + title: AppTerminationNotification required: - - notificationType - - operationAction - - maxGracefulTimeout - - _links + - notificationType + - operationAction + - maxGracefulTimeout + - _links + type: object properties: notificationType: - $ref: '#/components/schemas/AppTerminationNotification.NotificationType' + type: string + description: Shall be set to AppTerminationNotification. + examples: + - AppTerminationNotification operationAction: $ref: '#/components/schemas/OperationActionType' maxGracefulTimeout: - $ref: '#/components/schemas/AppTerminationNotification.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' - AppTerminationNotificationSubscription.AppInstanceId: - description: It is used as the filtering criterion for the subscribed events. - type: string - example: 'ID1' - AppTerminationNotificationSubscription.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 + description: This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop. AppTerminationNotificationSubscription: - description: >- - This type represents the information that the MEC platform - notifies the subscribed application instance about the corresponding - application instance termination/stop. - type: object + title: AppTerminationNotificationSubscription required: - - subscriptionType - - callbackReference - - _links - - appInstanceId + - subscriptionType + - callbackReference + - _links + - appInstanceId + type: object properties: subscriptionType: - $ref: >- - #/components/schemas/AppTerminationNotificationSubscription.SubscriptionType + type: string + description: Shall be set to AppTerminationNotificationSubscription. + examples: + - AppTerminationNotificationSubscription callbackReference: - $ref: >- - #/components/schemas/AppTerminationNotificationSubscription.CallbackReference + type: string + description: URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information. This shall be included in both the request and the response. _links: $ref: '#/components/schemas/Self' appInstanceId: - $ref: >- - #/components/schemas/AppTerminationNotificationSubscription.AppInstanceId - AppTerminationNotificationSubscription.SubscriptionType: - description: Shall be set to AppTerminationNotificationSubscription. - type: string - example: 'AppTerminationNotificationSubscription' + 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: - description: >- - This type represents the information provided by the MEC - platform in response to the Get Platform Time Request message. - type: object + title: CurrentTime required: - - nanoSeconds - - seconds - - timeSourceStatus + - seconds + - nanoSeconds + - timeSourceStatus + type: object properties: seconds: type: integer - format: uint32 - description: >- - The seconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 1577836800 + 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 - format: uint32 - description: >- - The nanoseconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 0 + 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: - type: string - enum: - - TRACEABLE - - NONTRACEABLE - 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 - example: 'TRACEABLE' + $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: - description: Type of the interface - type: string + title: DestinationInterface.InterfaceType enum: - - TUNNEL - - MAC - - IP - example: 'TUNNEL' - DestinationInterface.IpAddress: - description: IP address of the remote destination - type: string - example: '192.0.2.0' - DestinationInterface.MacAddress: - description: Source address identifies the MAC address of the interface + - TUNNEL + - MAC + - IP type: string - example: '02-00-00-00-00-00' + description: Type of the interface + examples: + - TUNNEL DestinationInterface: - 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. - type: object + title: DestinationInterface required: - - interfaceType + - interfaceType + type: object properties: interfaceType: $ref: '#/components/schemas/DestinationInterface.InterfaceType' tunnelInfo: $ref: '#/components/schemas/TunnelInfo' srcMacAddress: - $ref: '#/components/schemas/DestinationInterface.MacAddress' + type: string + description: Source address identifies the MAC address of the interface + examples: + - 02-00-00-00-00-00 dstMacAddress: - $ref: '#/components/schemas/DestinationInterface.MacAddress' + type: string + description: Source address identifies the MAC address of the interface + examples: + - 02-00-00-00-00-00 dstIpAddress: - $ref: '#/components/schemas/DestinationInterface.IpAddress' - DnsRule.DomainName: - description: FQDN resolved by the DNS rule - type: string - example: 'www.example.com' - DnsRule.Id: - description: Identifies the DNS Rule - type: string - example: 'dnsRule1' - DnsRule.IpAddress: - description: IP address associated with the FQDN resolved by the DNS rule - type: string - example: '192.0.2.0' + 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: - description: IP address type - type: string + title: DnsRule.IpAddressType enum: - - IP_V6 - - IP_V4 - example: 'IP_V6' - DnsRule.State: - description: DNS rule state. This attribute may be updated using HTTP PUT method + - IP_V6 + - IP_V4 type: string + description: IP address type + examples: + - IP_V6 + DnsRule.State: + title: DnsRule.State enum: - - ACTIVE - - INACTIVE - example: 'ACTIVE' - DnsRule.Ttl: - description: Time to live value - type: integer - format: uint32 - example: '?' + - ACTIVE + - INACTIVE + type: string + description: DNS rule state. This attribute may be updated using HTTP PUT method + examples: + - ACTIVE DnsRule: - description: This type represents the general information of a DNS rule. - type: object + title: DnsRule required: - - dnsRuleId - - domainName - - ipAddressType - - ipAddress - - state + - dnsRuleId + - domainName + - ipAddressType + - ipAddress + - state + type: object properties: dnsRuleId: - $ref: '#/components/schemas/DnsRule.Id' + type: string + description: Identifies the DNS Rule + examples: + - dnsRule1 domainName: - $ref: '#/components/schemas/DnsRule.DomainName' + type: string + description: FQDN resolved by the DNS rule + examples: + - www.example.com ipAddressType: $ref: '#/components/schemas/DnsRule.IpAddressType' ipAddress: - $ref: '#/components/schemas/DnsRule.IpAddress' + type: string + description: IP address associated with the FQDN resolved by the DNS rule + examples: + - 192.0.2.0 ttl: - $ref: '#/components/schemas/DnsRule.Ttl' + type: integer + description: Time to live value + contentEncoding: int32 state: $ref: '#/components/schemas/DnsRule.State' + description: This type represents the general information of a DNS rule. LinkType: - description: This type represents a type of link and may be referenced from data structures + title: LinkType type: object properties: - href: - $ref: '#/components/schemas/Href' + 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: - description: >- - Link to the task resource where to confirm termination in case the - application is ready to be terminated before expiry of the timeout. + title: LinkType.ConfirmTermination type: object properties: - href: - $ref: '#/components/schemas/Href' - Href: - description: URI referring to a resource - type: string - format: uri - example: '/mecAppSuptApi/example' + 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: - description: Self-referring URI. - type: object + title: MecAppSuptApiSubscriptionLinkList.Links required: - - self + - self + type: object properties: self: $ref: '#/components/schemas/LinkType' subscriptions: - description: The MEC application instance's subscriptions type: array items: $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription' + description: The MEC application instance's subscriptions + description: Self-referring URI. MecAppSuptApiSubscriptionLinkList.Subscription: - description: A link to a subscription. - type: object + title: MecAppSuptApiSubscriptionLinkList.Subscription required: - - href - - rel + - href + - rel + type: object properties: href: - $ref: '#/components/schemas/Href' + type: string + description: URI referring to a resource + examples: + - /mecAppSuptApi/example rel: - description: >- - The values shall be set to AppTerminationNotificationSubscription. type: string + description: The values shall be set to AppTerminationNotificationSubscription. + description: A link to a subscription. MecAppSuptApiSubscriptionLinkList: - 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. - type: object + title: MecAppSuptApiSubscriptionLinkList required: - - _links + - _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: - description: Operation that is being performed on the MEC application instance. - type: string + title: OperationActionType enum: - - STOPPING - - TERMINATING - example: 'TERMINATING' + - STOPPING + - TERMINATING + type: string + description: Operation that is being performed on the MEC application instance. + examples: + - TERMINATING ProblemDetails: + title: ProblemDetails type: object properties: type: - $ref: '#/components/schemas/Problem.type' + type: string + description: A URI reference according to IETF RFC 3986 that identifies the problem type title: - $ref: '#/components/schemas/Problem.title' + type: string + description: A short, human-readable summary of the problem type status: - $ref: '#/components/schemas/Problem.status' + type: integer + description: The HTTP status code for this occurrence of the problem + contentEncoding: int32 detail: - $ref: '#/components/schemas/Problem.detail' + type: string + description: A human-readable explanation specific to this occurrence of the problem instance: - $ref: '#/components/schemas/Problem.instance' - Problem.detail: - type: string - description: A human-readable explanation specific to this occurrence of the problem - Problem.instance: - type: string - format: uri - description: A URI reference that identifies the specific occurrence of the problem - Problem.status: - type: integer - format: uint32 - description: The HTTP status code for this occurrence of the problem - Problem.title: - type: string - description: 'A short, human-readable summary of the problem type' - Problem.type: - type: string - format: uri - description: >- - A URI reference according to IETF RFC 3986 that identifies the problem - type + type: string + description: A URI reference that identifies the specific occurrence of the problem ReadyIndicationType: - description: Indication about the MEC application instance. + title: ReadyIndicationType + const: READY type: string - enum: - - READY - example: 'READY' + description: Indication about the MEC application instance. + examples: + - READY Self: - description: Self-referring URI. - type: object + title: Self required: - - self + - self + type: object properties: self: $ref: '#/components/schemas/LinkType' - readOnly: true - TimingCaps.NtpServers.AuthenticationKeyNum: - description: Authentication key number - type: integer - format: uint32 - example: 1 + description: Self-referring URI. TimingCaps.NtpServers.AuthenticationOption: - description: NTP authentication option - type: string + title: TimingCaps.NtpServers.AuthenticationOption enum: - - NONE - - SYMMETRIC_KEY - - AUTO_KEY - example: 'NONE' - TimingCaps.NtpServers.DelayReqMaxRate: - description: Acceptable maximum rate of the Delay_Req messages in packets per second - type: integer - format: uint32 - example: 10 - TimingCaps.NtpServers.LocalPriority: - description: NTP server local priority - type: integer - format: uint32 - example: 1 - TimingCaps.NtpServers.MaxPollingInterval: - description: >- - Maximum poll interval for NTP messages, in seconds as a power of two. - Range 3...17 - type: integer - format: uint32 - example: 17 - TimingCaps.NtpServers.MinPollingInterval: - description: >- - Minimum poll interval for NTP messages, in seconds as a power of two. - Range 3...17 - type: integer - format: uint32 - example: 3 - TimingCaps.NtpServers.NtpServerAddr: - description: NTP server address + - NONE + - SYMMETRIC_KEY + - AUTO_KEY type: string - example: '192.0.2.0' + description: NTP authentication option + examples: + - NONE TimingCaps.NtpServers.NtpServerAddrType: - description: Address type of NTP server - type: string + title: TimingCaps.NtpServers.NtpServerAddrType enum: - - IP_ADDRESS - - DNS_NAME - example: 'IP_ADDRESS' - TimingCaps.NtpServers_PtpMasterIpAddress: - description: PTP Master IP Address + - IP_ADDRESS + - DNS_NAME type: string - example: '192.0.2.0' - TimingCaps.NtpServers_PtpMasterLocalPriority: - description: PTP Master local priority - type: integer - format: uint32 - example: 1 + description: Address type of NTP server + examples: + - IP_ADDRESS TimingCaps.NtpServers: - description: NTP server detail. - type: object + title: TimingCaps.NtpServers required: - - ntpServerAddrType - - ntpServerAddr - - minPollingInterval - - maxPollingInterval - - localPriority - - authenticationOption - - authenticationKeyNum + - ntpServerAddrType + - ntpServerAddr + - minPollingInterval + - maxPollingInterval + - localPriority + - authenticationOption + - authenticationKeyNum + type: object properties: ntpServerAddrType: $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType' ntpServerAddr: - $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddr' + type: string + description: NTP server address + examples: + - 192.0.2.0 minPollingInterval: - $ref: '#/components/schemas/TimingCaps.NtpServers.MinPollingInterval' + type: integer + description: Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17 + contentEncoding: int32 + examples: + - 3 maxPollingInterval: - $ref: '#/components/schemas/TimingCaps.NtpServers.MaxPollingInterval' + type: integer + description: Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17 + contentEncoding: int32 + examples: + - 17 localPriority: - $ref: '#/components/schemas/TimingCaps.NtpServers.LocalPriority' + type: integer + description: NTP server local priority + contentEncoding: int32 + examples: + - 1 authenticationOption: $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationOption' authenticationKeyNum: - $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationKeyNum' - TimingCaps_PtpMasters: + type: integer + description: Authentication key number + contentEncoding: int32 + examples: + - 1 description: NTP server detail. - type: object + TimingCaps_PtpMasters: + title: TimingCaps_PtpMasters required: - - ptpMasterIpAddress - - ptpMasterLocalPriority - - delayReqMaxRate + - ptpMasterIpAddress + - ptpMasterLocalPriority + - delayReqMaxRate + type: object properties: ptpMasterIpAddress: - $ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterIpAddress' + type: string + description: PTP Master IP Address + examples: + - 192.0.2.0 ptpMasterLocalPriority: - $ref: '#/components/schemas/TimingCaps.NtpServers_PtpMasterLocalPriority' + type: integer + description: PTP Master local priority + contentEncoding: int32 + examples: + - 1 delayReqMaxRate: - $ref: '#/components/schemas/TimingCaps.NtpServers.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: - description: time - type: object + title: TimingCaps.TimeStamp required: - - nanoSeconds - - seconds + - seconds + - nanoSeconds + type: object properties: seconds: type: integer - format: uint32 - description: >- - The seconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 1577836800 + 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 - format: uint32 - description: >- - The nanoseconds part of the time. Time is defined as Unix-time since - January 1, 1970, 00:00:00 UTC - example: 0 + 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: - description: >- - This type represents the information provided by the MEC - platform in response to the Timing capabilities Query message. + title: TimingCaps type: object properties: timeStamp: $ref: '#/components/schemas/TimingCaps.TimeStamp' ntpServers: - description: Available NTP servers type: array items: $ref: '#/components/schemas/TimingCaps.NtpServers' + description: Available NTP servers ptpMasters: - description: Available PTP Masters type: array items: $ref: '#/components/schemas/TimingCaps_PtpMasters' - TrafficFilter.Address: - description: Identify the traffic ip address. - type: string - example: '192.168.1.1' - TrafficFilter.DSCP: - description: >- - Used to match all IPv4 packets that have the same Differentiated - Services Code Point (DSCP) - type: integer - format: uint32 - example: 0 - TrafficFilter.Port: - description: A port - type: string - example: '8080' - TrafficFilter.Protocol: - description: Protocol of the traffic filter - type: string - example: '?' - TrafficFilter.QCI: - description: >- - Used to match all packets that have the same Quality Class Indicator - (QCI). - type: integer - format: uint32 - example: 1 - TrafficFilter.TC: - description: Used to match all IPv6 packets that have the same Traffic Class. - type: integer - format: uint32 - example: 1 - TrafficFilter.Token: - description: Used for token based traffic rule - type: string - example: '?' - TrafficFilter.TunnelAddress: - description: Used for GTP tunnel based traffic rule - type: string - example: '?' - TrafficFilter.TunnelPort: - description: Used for GTP tunnel based traffic rule - type: string - example: '?' + description: Available PTP Masters + description: This type represents the information provided by the MEC platform in response to the Timing capabilities Query message. TrafficFilter: - description: This type represents the traffic filter. + title: TrafficFilter 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 items: - $ref: '#/components/schemas/TrafficFilter.Address' + 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 items: - $ref: '#/components/schemas/TrafficFilter.Address' + 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 items: - $ref: '#/components/schemas/TrafficFilter.Port' - dstPort: + type: string description: A port or a range of ports + dstPort: type: array items: - $ref: '#/components/schemas/TrafficFilter.Port' + type: string + description: A port or a range of ports protocol: - description: Specify the protocol of the traffic filter type: array items: - $ref: '#/components/schemas/TrafficFilter.Protocol' + type: string + description: Specify the protocol of the traffic filter token: - description: Used for token based traffic rule type: array items: - $ref: '#/components/schemas/TrafficFilter.Token' + type: string + description: Used for token based traffic rule srcTunnelAddress: - description: Used for GTP tunnel based traffic rule type: array items: - $ref: '#/components/schemas/TrafficFilter.TunnelAddress' - tgtTunnelAddress: + type: string description: Used for GTP tunnel based traffic rule + tgtTunnelAddress: type: array items: - $ref: '#/components/schemas/TrafficFilter.TunnelAddress' - srcTunnelPort: + type: string description: Used for GTP tunnel based traffic rule + srcTunnelPort: type: array items: - $ref: '#/components/schemas/TrafficFilter.TunnelPort' - dstTunnelPort: + type: string description: Used for GTP tunnel based traffic rule + dstTunnelPort: type: array items: - $ref: '#/components/schemas/TrafficFilter.TunnelPort' + type: string + description: Used for GTP tunnel based traffic rule qCI: - $ref: '#/components/schemas/TrafficFilter.QCI' + type: integer + description: Used to match all packets that have the same Quality Class Indicator (QCI). + contentEncoding: int32 + examples: + - 1 dSCP: - $ref: '#/components/schemas/TrafficFilter.DSCP' + type: integer + description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP) + contentEncoding: int32 + examples: + - 0 tC: - $ref: '#/components/schemas/TrafficFilter.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: - description: >- - The action of the MEC host data plane when a packet matches the trafficFilter - - type: string + title: TrafficRule.Action enum: - - DROP - - FORWARD_DECAPSULATED - - FORWARD_ENCAPSULATED - - PASSTHROUGH - - DUPLICATE_DECAPSULATED - - DUPLICATE_ENCAPSULATED - example: 'DROP' - TrafficRule.FilterType: - 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 + - 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 - example: FLOW - TrafficRule.Id: - description: Identify the traffic rule. + - FLOW + - PACKET type: string - example: 'TrafficRule1' - TrafficRule_Priority: - description: >- - Priority of this traffic rule. If traffic rule conflicts, the one with - higher priority take precedence - type: integer - format: uint32 - example: 1 + 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: - description: Contains the traffic rule state. This attribute may be updated using HTTP PUT method - type: string + title: TrafficRule.State enum: - - ACTIVE - - INACTIVE - example: 'ACTIVE' + - ACTIVE + - INACTIVE + type: string + description: Contains the traffic rule state. This attribute may be updated using HTTP PUT method + examples: + - ACTIVE TrafficRule: - description: This type represents the general information of a traffic rule. - type: object + title: TrafficRule required: - - trafficRuleId - - filterType - - priority - - trafficFilter - - action - - state + - trafficRuleId + - filterType + - priority + - trafficFilter + - action + - state + type: object properties: trafficRuleId: - $ref: '#/components/schemas/TrafficRule.Id' + type: string + description: Identify the traffic rule. + examples: + - TrafficRule1 filterType: $ref: '#/components/schemas/TrafficRule.FilterType' priority: - $ref: '#/components/schemas/TrafficRule_Priority' + type: integer + description: Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence + contentEncoding: int32 + examples: + - 1 trafficFilter: type: array items: $ref: '#/components/schemas/TrafficFilter' + description: '' action: $ref: '#/components/schemas/TrafficRule.Action' dstInterface: $ref: '#/components/schemas/DestinationInterface' state: $ref: '#/components/schemas/TrafficRule.State' - TunnelInfo.TunnelDstAddress: - description: Destination address of the tunnel - type: string - example: '?' - TunnelInfo.TunnelSrcAddress: - description: Source address of the tunnel - type: string - example: '?' + description: This type represents the general information of a traffic rule. TunnelInfo.TunnelType: - description: This type represents the tunnel information. - type: string + title: TunnelInfo.TunnelType enum: - - GTP_U - - GRE - example: 'GTP_U' - TunnelInfo: + - GTP_U + - GRE + type: string description: This type represents the tunnel information. - type: object + examples: + - GTP_U + TunnelInfo: + title: TunnelInfo required: - - tunnelType + - tunnelType + type: object properties: tunnelType: $ref: '#/components/schemas/TunnelInfo.TunnelType' tunnelDstAddress: - $ref: '#/components/schemas/TunnelInfo.TunnelDstAddress' - tunnelSrcAddress: - $ref: '#/components/schemas/TunnelInfo.TunnelSrcAddress' - parameters: - Path.AppInstanceId: - name: appInstanceId - description: >- - Represents a MEC application instance. Note that the - appInstanceId is allocated by the MEC platform manager. - in: path - required: true - schema: - type: string - Path.DnsRuleId: - name: dnsRuleId - description: Represents a DNS rule. - in: path - required: true - schema: - type: string - Path.SubscriptionId: - name: subscriptionId - description: >- - Represents a subscription to the notifications from the MEC - platform. - in: path - required: true - schema: - type: string - Path.TrafficRuleId: - name: trafficRuleId - description: Represents a traffic rule. - in: path - required: true - schema: - type: string - responses: - ApplicationsDnsRules.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - type: array - minItems: 0 - items: - $ref: '#/components/schemas/DnsRule' - examples: - DnsRules: - $ref: '#/components/examples/DnsRules' - links: - getIndividualMeDNSRule: - $ref: '#/components/links/GetIndividualMeDNSRule' - putIndividualMeDNSRule: - $ref: '#/components/links/PutIndividualMeDNSRule' - ApplicationsDnsRule.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/DnsRule' - examples: - DnsRule: - $ref: '#/components/examples/DnsRule' - ApplicationsSubscriptions.200: - description: >- - Upon success, a response body containing the list of links to the - requested subscriptions is returned. - content: - application/json: - schema: - $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList' - links: - getIndividualmecAppSuptApiSubscriptionLinkList: - $ref: '#/components/links/GetIndividualmecAppSuptApiSubscriptionLinkList' - delIndividualmecAppSuptApiSubscriptionLinkList: - $ref: '#/components/links/DelIndividualmecAppSuptApiSubscriptionLinkList' - ApplicationsSubscriptions.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 - schema: - type: string - format: uri - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationNotificationSubscription' - links: - getIndividualmecAppSuptApiSubscription: - $ref: '#/components/links/GetIndividualmecAppSuptApiSubscription' - delIndividualmecAppSuptApiSubscription: - $ref: '#/components/links/DelIndividualmecAppSuptApiSubscription' - ApplicationsSubscription.200: - description: >- - Upon success, a response body containing the requested subscription - is returned. - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationNotificationSubscription' - ApplicationsTrafficRules.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - type: array - minItems: 0 - items: - $ref: '#/components/schemas/TrafficRule' + type: string + description: Destination address of the tunnel examples: - TrafficRules: - $ref: '#/components/examples/TrafficRules' - links: - getIndividualMeTrafficRule: - $ref: '#/components/links/GetIndividualMeTrafficRule' - putIndividualMeTrafficRule: - $ref: '#/components/links/PutIndividualMeTrafficRule' - ApplicationsTrafficRule.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/TrafficRule' + - '?' + tunnelSrcAddress: + type: string + description: Source address of the tunnel examples: - TrafficRule: - $ref: '#/components/examples/TrafficRule' - TimingCurrentTime.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/CurrentTime' - TimingCaps.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/TimingCaps' - Error.400: - description: >- - Bad Request. - It is used to indicate that incorrect parameters were passed to the request. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.401: - description: >- - Unauthorized. - It is used when the client did not submit the appropriate credentials. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.403: - description: >- - Forbidden. - The operation is not allowed given the current status of the resource. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - Error.404: - description: >- - Not Found. - It is 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' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.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. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.412: - description: >- - Precondition Failed. - It is used when a condition has failed during conditional requests, - e.g. when using ETags to avoid write conflicts. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.429: - description: >- - Too Many Requests. - It is used when a rate limiter has triggered. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - requestBodies: - ApplicationsConfirmReady: - content: - application/json: - schema: - $ref: '#/components/schemas/AppReadyConfirmation' - ApplicationsConfirmTermination: - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationConfirmation' - ApplicationsDnsRule: - content: - application/json: - schema: - $ref: '#/components/schemas/DnsRule' - description: The updated state is included in the entity body of the request. - required: true - ApplicationsSubscriptions: - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationNotificationSubscription' - description: >- - Entity body in the request contains a subscription to the MEC - application termination notifications that is to be created. - required: true - ApplicationsTrafficRule: - content: - application/json: - schema: - $ref: '#/components/schemas/TrafficRule' - description: One or more updated attributes that are allowed to be changed - required: true - AppTerminationNotification: - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationNotification' - required: true - callbacks: - AppTerminationNotification: - '{$request.body#/callbackReference}': - 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 - requestBody: - $ref: '#/components/requestBodies/AppTerminationNotification' - responses: - '200': - description: Expected responses from callback consumer, if it accepts the callback - links: - GetIndividualMeDNSRule: - operationId: ApplicationsDnsRule_GET - description: The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}` - parameters: - dnsRuleId: '$response.body#/dnsRuleId' - PutIndividualMeDNSRule: - operationId: ApplicationsDnsRule_PUT - description: The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}` - parameters: - dnsRuleId: '$response.body#/dnsRuleId' - GetIndividualMeTrafficRule: - operationId: ApplicationsTrafficRule_GET - description: The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}` - parameters: - trafficRuleId: '$response.body#/trafficRuleId' - PutIndividualMeTrafficRule: - operationId: ApplicationsTrafficRule_PUT - description: The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}` - parameters: - trafficRuleId: '$response.body#/trafficRuleId' - GetIndividualmecAppSuptApiSubscription: - operationId: ApplicationsSubscription_GET - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_app_support\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - DelIndividualmecAppSuptApiSubscription: - operationId: ApplicationsSubscription_DELETE - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_app_support\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - GetIndividualmecAppSuptApiSubscriptionLinkList: - operationId: ApplicationsSubscription_GET - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_app_support\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - DelIndividualmecAppSuptApiSubscriptionLinkList: - operationId: ApplicationsSubscription_DELETE - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_app_support\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - examples: - DnsRule: - value: - dnsRuleId: 'DnsRule1' - domainName: 'www.example.com' - ipAddressType: 'IP_V4' - ipAddress: '146.241.7.3' - ttl: 300 - state: 'ACTIVE' - 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' - TrafficRule: - value: - trafficRuleId: 'TrafficRule123' - serName: 'ExampleService' - filterType: 'FLOW' - priority: 1 - trafficFilter: - - srcAddress: - - '192.168.2.0/24' - - '192.168.3.0/24' - dstAddress: - - '192.127.4.100/32' - dstPort: - - '80' - action: 'FORWARD_DECAPSULATED' - dstInterface: - interfaceType: 'IP' - dstIpAddress: '20.1.1.1' - state: 'ACTIVE' - TrafficRules: - value: - - trafficRuleId: 'TrafficRule123' - serName: 'ExampleService' - filterType: 'FLOW' - priority: 1 - trafficFilter: - - srcAddress: - - '192.168.2.0/24' - - '192.168.3.0/24' - dstAddress: - - '192.127.4.100/32' - dstPort: - - '80' - action: 'FORWARD_DECAPSULATED' - dstInterface: - interfaceType: 'IP' - dstIpAddress: '20.1.1.1' - state: 'ACTIVE' + - '?' + 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 +security: +- {} +tags: +- name: appTrafficRules +- name: appDnsRules +- name: appSubscriptions +- name: appConfirmTermination +- name: appConfirmReady +- name: timing +- name: callbacks +externalDocs: + description: ETSI GS MEC011 Application Enablement API, V2.1.1 + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf diff --git a/MecServiceMgmtApi.yaml b/MecServiceMgmtApi.yaml index 99661ea..96f5a8e 100644 --- a/MecServiceMgmtApi.yaml +++ b/MecServiceMgmtApi.yaml @@ -1,714 +1,1461 @@ -openapi: 3.0.2 -servers: - - url: 'http://127.0.0.1:8081/mec_service_mgmt/v1' - - url: 'https://127.0.0.1:8081/mec_service_mgmt/v1' +openapi: 3.1.0 info: title: MEC Service Management API - version: 2.1.1 description: The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI - license: - name: BSD-3-Clause - url: 'https://forge.etsi.org/legal-matters' contact: email: cti_support@etsi.org -externalDocs: - description: 'ETSI GS MEC011 Application Enablement API, V2.1.1' - url: >- - https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf -tags: - - name: appSubscriptions - - name: appServices - - name: services - - name: transports - - name: callbacks + version: '2.1.1' +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: {} paths: - '/services': + /applications/{appInstanceId}/subscriptions: get: - description: >- - This method retrieves information about a list of mecService resources. - This method is typically used in "service availability query" procedure - operationId: Services_GET tags: - - services + - appSubscriptions + summary: ApplicationsSubscriptions_GET + description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. + operationId: ApplicationsSubscriptions_GET parameters: - - $ref: '#/components/parameters/Query.Ser_instance_id' - - $ref: '#/components/parameters/Query.Ser_name' - - $ref: '#/components/parameters/Query.Ser_category_id' - - $ref: '#/components/parameters/Query.Consumed_local_only' - - $ref: '#/components/parameters/Query.Is_local' - - $ref: '#/components/parameters/Query.LocalityType' + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/Services.200' + description: Upon success, a response body containing the list of links to the requested subscriptions is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList' '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '414': - $ref: '#/components/responses/Error.414' - '/services/{serviceId}': - parameters: - - $ref: '#/components/parameters/Path.ServiceId' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + post: + tags: + - appSubscriptions + summary: ApplicationsSubscriptions_POST + description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. + operationId: ApplicationsSubscriptions_POST + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + requestBody: + description: Entity body in the request contains a subscription to the MEC application termination notifications that is to be created. + content: + application/json: + schema: + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' + required: true + responses: + '201': + description: Entity body in the request contains a subscription to the MEC service availability notifications that is to be created. + headers: + location: + description: The resource URI of the created resource + content: + text/plain: + schema: + type: string + description: The resource URI of the created resource + contentMediaType: text/plain + content: + application/json: + schema: + $ref: '#/components/schemas/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' + '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}/subscriptions/{subscriptionId}: get: - description: >- - This method retrieves information about a mecService resource. This - method is typically used in "service availability query" procedure - operationId: ServicesServiceId_GET tags: - - services + - appSubscriptions + summary: ApplicationsSubscription_GET + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. + operationId: ApplicationsSubscription_GET + parameters: + - name: appInstanceId + in: path + description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. + required: true + style: simple + schema: + type: string + - name: subscriptionId + in: path + description: Represents a subscription to the notifications from the MEC platform. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ServicesServiceId.200' + description: Upon success, a response body containing the requested subscription is returned. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' '400': - $ref: '#/components/responses/Error.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: ApplicationsSubscription_DELETE + 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 + responses: + '204': + description: No Content + headers: {} + content: {} '403': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '/applications/{appInstanceId}/services': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' + 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: get: - description: >- - This method retrieves information about a list of mecService resources. - This method is typically used in "service availability query" procedure - operationId: AppServices_GET tags: - - appServices + - appServices + summary: AppServices_GET + 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: - - $ref: '#/components/parameters/Query.Ser_instance_id' - - $ref: '#/components/parameters/Query.Ser_name' - - $ref: '#/components/parameters/Query.Ser_category_id' - - $ref: '#/components/parameters/Query.Consumed_local_only' - - $ref: '#/components/parameters/Query.Is_local' - - $ref: '#/components/parameters/Query.LocalityType' + - 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 responses: '200': - $ref: '#/components/responses/Services.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + 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 + 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 '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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 post: - 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 tags: - - appServices + - appServices + summary: AppServices_POST + 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 + requestBody: + description: New ServiceInfo with updated "state" is included as entity body of the request + 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 responses: '201': - $ref: '#/components/responses/Services.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 + 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 '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - requestBody: - $ref: '#/components/requestBodies/Services.Post' - '/applications/{appInstanceId}/services/{serviceId}': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' - - $ref: '#/components/parameters/Path.ServiceId' + 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}: get: - description: >- - This method retrieves information about a mecService resource. This - method is typically used in "service availability query" procedure - operationId: AppServicesServiceId_GET tags: - - appServices + - appServices + summary: AppServicesServiceId_GET + 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. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ServicesServiceId.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/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 '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false put: + tags: + - appServices + summary: AppServicesServiceId_PUT description: This method updates the information about a mecService resource operationId: AppServicesServiceId_PUT - tags: - - appServices + 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. + required: true + style: simple + schema: + type: string + requestBody: + description: New ServiceInfo with updated "state" is included as entity body of the request + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceInfo' + required: true responses: '200': - $ref: '#/components/responses/ServicesServiceId.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/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 '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain '412': - $ref: '#/components/responses/Error.412' - requestBody: - $ref: '#/components/requestBodies/ServicesServiceId' + 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: - description: >- - This method deletes a mecService resource. This method is typically used in the service deregistration procedure. - operationId: AppServicesServiceId_DELETE tags: - - appServices + - appServices + summary: AppServicesServiceId_DELETE + 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. + required: true + style: simple + schema: + type: string responses: '204': description: No Content + headers: {} + content: {} '403': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '/applications/{appInstanceId}/subscriptions': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' + 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: - 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 tags: - - appSubscriptions + - services + summary: Services_GET + 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': - $ref: '#/components/responses/ApplicationsSubscriptions.200' - '400': - $ref: '#/components/responses/Error.400' - '403': - $ref: '#/components/responses/Error.403' - '404': - $ref: '#/components/responses/Error.404' - post: - 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 - tags: - - appSubscriptions - responses: - '201': - $ref: '#/components/responses/ApplicationsSubscriptions.201' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + 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 + 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 '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - requestBody: - $ref: '#/components/requestBodies/ApplicationsSubscriptions' - callbacks: - serviceAvailabilityNotification: - $ref: '#/components/callbacks/ServiceAvailabilityNotification' - '/applications/{appInstanceId}/subscriptions/{subscriptionId}': - parameters: - - $ref: '#/components/parameters/Path.AppInstanceId' - - $ref: '#/components/parameters/Path.SubscriptionId' + 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: - description: >- - The GET method requests information about a subscription for this - requestor. Upon success, the response contains entity body with the - subscription for the requestor. - operationId: ApplicationsSubscription_GET tags: - - appSubscriptions + - services + summary: ServicesServiceId_GET + 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. + required: true + style: simple + schema: + type: string responses: '200': - $ref: '#/components/responses/ApplicationsSubscription.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/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 '400': - $ref: '#/components/responses/Error.400' - '403': - $ref: '#/components/responses/Error.403' - '404': - $ref: '#/components/responses/Error.404' - delete: - description: >- - This method deletes a mecSrvMgmtSubscription. This method is typically used - in "Unsubscribing from service availability event notifications" - procedure. - operationId: ApplicationsSubscription_DELETE - tags: - - appSubscriptions - responses: - '204': - description: No Content + 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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' - '/transports': + 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: - 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 tags: - - transports + - transports + summary: Transports_GET + 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 + parameters: [] responses: '200': - $ref: '#/components/responses/Transports.200' + description: It is used to indicate nonspecific success. The response body contains a representation of the resource. + headers: {} + content: + application/json: + schema: + minItems: 0 + type: array + items: + $ref: '#/components/schemas/TransportInfo' + description: '' + contentMediaType: application/json '400': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.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': - $ref: '#/components/responses/Error.404' + description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. + headers: {} + content: + application/problem+json: + schema: + $ref: '#/components/schemas/ProblemDetails' + text/plain: + schema: + type: object + description: Empty schema + contentMediaType: text/plain + deprecated: false + parameters: [] components: schemas: - Empty: - description: Empty schema - CategoryRef.Href: - description: Reference of the catalogue - type: string - format: uri - example: '/example/catalogue1' - CategoryRef.Id: - description: Unique identifier of the category - type: string - example: 'id12345' - CategoryRef.Name: - description: Name of the category, example values include RNI, Location & Bandwidth Management - type: string - example: 'RNI' - CategoryRef.Version: - description: Category version - type: string - example: 'version1' CategoryRef: - description: This type represents the category reference - type: object + title: CategoryRef required: - - href - - id - - name - - version + - href + - id + - name + - version + type: object properties: href: - $ref: '#/components/schemas/CategoryRef.Href' + type: string + description: Reference of the catalogue + examples: + - /example/catalogue1 id: - $ref: '#/components/schemas/CategoryRef.Id' + type: string + description: Unique identifier of the category + examples: + - id12345 name: - $ref: '#/components/schemas/CategoryRef.Name' + type: string + description: Name of the category, example values include RNI, Location & Bandwidth Management + examples: + - RNI version: - $ref: '#/components/schemas/CategoryRef.Version' - CategoryRefs: - description: Categories of services about which to report events. - type: array - minItems: 0 - items: - $ref: '#/components/schemas/CategoryRef' - EndPointInfo.Address.Host: - description: Host portion of the address - type: string - example: '192.0.2.0' - EndPointInfo.Address_Port: - description: Port portion of the address - type: integer - format: uint32 - example: 8080 + type: string + description: Category version + examples: + - version1 + description: This type represents the category reference EndPointInfo.Address: - description: A IP address and port pair - type: object + title: EndPointInfo.Address required: - - host - - port + - host + - port + type: object properties: host: - $ref: '#/components/schemas/EndPointInfo.Address.Host' + type: string + description: Host portion of the address + examples: + - 192.0.2.0 port: - $ref: '#/components/schemas/EndPointInfo.Address_Port' + type: integer + description: Port portion of the address + contentEncoding: int32 + examples: + - 8080 + description: A IP address and port pair EndPointInfo.Addresses: - description: >- - Entry point information of the service as one or more pairs of IP - address and port - type: object + title: EndPointInfo.Addresses required: - - addresses + - addresses + type: object properties: addresses: - type: array minItems: 0 + type: array items: $ref: '#/components/schemas/EndPointInfo.Address' + description: '' + description: Entry point information of the service as one or more pairs of IP address and port EndPointInfo.Alternative: - description: >- - Entry point information of the service in a format defined by an - implementation, or in an external specification. - type: object + title: EndPointInfo.Alternative required: - - alternative - properties: + - alternative + type: object + properties: alternative: type: object - EndPointInfo.Uri: - description: Entry point information of the service - type: string - format: uri - example: '/mecSerMgmtApi/service/EntryPoint' + description: Entry point information of the service in a format defined by an implementation, or in an external specification. EndPointInfo.Uris: - description: >- - Entry point information of the service as string, formatted according to - URI syntax - type: object + title: EndPointInfo.Uris required: - - uris + - uris + type: object properties: uris: - type: array minItems: 0 + type: array items: - $ref: '#/components/schemas/EndPointInfo.Uri' + type: string + description: '' + description: Entry point information of the service as string, formatted according to URI syntax LinkType: - description: This type represents a type of link and may be referenced from data structures + title: LinkType type: object properties: - href: - $ref: '#/components/schemas/Href' - Href: - description: URI referring to a resource - type: string - format: uri - example: '/mecSerMgmtApi/example' + href: + 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: - description: Self-referring URI. - type: object + title: MecServiceMgmtApiSubscriptionLinkList.Links required: - - self + - self + type: object properties: self: $ref: '#/components/schemas/LinkType' subscriptions: - description: The MEC application instance's subscriptions type: array items: $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Subscription' + description: The MEC application instance's subscriptions + description: Self-referring URI. MecServiceMgmtApiSubscriptionLinkList.Subscription: - description: A link to a subscription. - type: object + title: MecServiceMgmtApiSubscriptionLinkList.Subscription required: - - href - - rel + - href + - rel + type: object properties: href: - $ref: '#/components/schemas/Href' + type: string + description: URI referring to a resource + examples: + - /mecSerMgmtApi/example rel: - description: >- - The value shall be se to SerAvailabilityNotificationSubscription. type: string + description: The value shall be se to SerAvailabilityNotificationSubscription. + description: A link to a subscription. MecServiceMgmtApiSubscriptionLinkList: - 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. - type: object + title: MecServiceMgmtApiSubscriptionLinkList required: - - _links + - _links + 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: - $ref: '#/components/schemas/Problem.type' + type: string + description: A URI reference according to IETF RFC 3986 that identifies the problem type title: - $ref: '#/components/schemas/Problem.title' + type: string + description: A short, human-readable summary of the problem type status: - $ref: '#/components/schemas/Problem.status' + type: integer + description: The HTTP status code for this occurrence of the problem + contentEncoding: int32 detail: - $ref: '#/components/schemas/Problem.detail' + type: string + description: A human-readable explanation specific to this occurrence of the problem instance: - $ref: '#/components/schemas/Problem.instance' - Problem.detail: - type: string - description: A human-readable explanation specific to this occurrence of the problem - Problem.instance: - type: string - format: uri - description: A URI reference that identifies the specific occurrence of the problem - Problem.status: - type: integer - format: uint32 - description: The HTTP status code for this occurrence of the problem - Problem.title: - type: string - description: 'A short, human-readable summary of the problem type' - Problem.type: - type: string - format: uri - description: >- - A URI reference according to IETF RFC 3986 that identifies the problem - type + type: string + description: A URI reference that identifies the specific occurrence of the problem SecurityInfo.OAuth2Info.GrantType: - description: OAuth 2.0 grant type - type: string + title: SecurityInfo.OAuth2Info.GrantType enum: - - OAUTH2_AUTHORIZATION_CODE - - OAUTH2_IMPLICIT_GRANT - - OAUTH2_RESOURCE_OWNER - - OAUTH2_CLIENT_CREDENTIALS - example: 'OAUTH2_CLIENT_CREDENTIALS' - SecurityInfo.OAuth2Info.GrantTypes: - description: >- - List of supported OAuth 2.0 grant types. - type: array - minItems: 1 - maxItems: 4 - items: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantType' - SecurityInfo.OAuth2Info.TokenEndpoint: - description: The token endpoint + - OAUTH2_AUTHORIZATION_CODE + - OAUTH2_IMPLICIT_GRANT + - OAUTH2_RESOURCE_OWNER + - OAUTH2_CLIENT_CREDENTIALS type: string - format: uri - example: '/mecSerMgmtApi/security/TokenEndPoint' + description: OAuth 2.0 grant type + examples: + - OAUTH2_CLIENT_CREDENTIALS SecurityInfo.OAuth2Info: - description: Parameters related to use of OAuth 2.0 + title: SecurityInfo.OAuth2Info required: - - grantTypes - - tokenEndpoint + - grantTypes + - tokenEndpoint + type: object properties: grantTypes: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes' + maxItems: 4 + minItems: 1 + type: array + items: + $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantType' + description: List of supported OAuth 2.0 grant types. tokenEndpoint: - $ref: '#/components/schemas/SecurityInfo.OAuth2Info.TokenEndpoint' - type: object + type: string + description: The token endpoint + examples: + - /mecSerMgmtApi/security/TokenEndPoint + description: Parameters related to use of OAuth 2.0 SecurityInfo: - description: This type represents security information related to a transport + title: SecurityInfo type: object properties: oAuth2Info: $ref: '#/components/schemas/SecurityInfo.OAuth2Info' + description: This type represents security information related to a transport Self: - description: Self-referring URI. - type: object + title: Self required: - - self + - self + type: object properties: self: $ref: '#/components/schemas/LinkType' - readOnly: true - SerAvailabilityNotificationSubscription.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 + description: Self-referring URI. SerAvailabilityNotificationSubscription: - description: >- - This type represents a subscription to the notifications from the - MEC platform regarding the availability of a MEC service or a - list of MEC services. - type: object + title: SerAvailabilityNotificationSubscription required: - - subscriptionType - - callbackReference - - _links + - subscriptionType + - callbackReference + - _links + type: object properties: subscriptionType: - $ref: >- - #/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType + type: string + description: Shall be set to SerAvailabilityNotificationSubscription. + examples: + - SerAvailabilityNotificationSubscription callbackReference: - $ref: >- - #/components/schemas/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 + type: 'null' + not: + type: object + 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. + description: This type represents a subscription to the notifications from the MEC platform regarding the availability of a MEC service or a list of MEC services. SerAvailabilityNotificationSubscription.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. + title: SerAvailabilityNotificationSubscription.FilteringCriteria type: object - not: - required: [serInstanceIds, serNames, serCategories] properties: serInstanceIds: - $ref: '#/components/schemas/SerInstanceIds' + minItems: 0 + type: array + items: + type: string + description: Identifiers of service instances about which to report events. serNames: - $ref: '#/components/schemas/SerNames' + minItems: 0 + type: array + items: + type: string + description: Names of services about which to report events. serCategories: - $ref: '#/components/schemas/CategoryRefs' + minItems: 0 + type: array + items: + $ref: '#/components/schemas/CategoryRef' + description: Categories of services about which to report events. states: - $ref: '#/components/schemas/ServiceStates' - isLocal: - $ref: '#/components/schemas/ServiceInfo.IsLocal' - SerAvailabilityNotificationSubscription.SubscriptionType: - description: Shall be set to SerAvailabilityNotificationSubscription. - type: string - example: 'SerAvailabilityNotificationSubscription' + minItems: 0 + type: array + 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: + 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: - description: >- - This type represents the service availability information. - type: object + title: ServiceAvailabilityNotification required: - - notificationType - - serviceReferences - - _links + - notificationType + - serviceReferences + - _links + type: object properties: notificationType: - $ref: >- - #/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType + type: string + description: Shall be set to SerAvailabilityNotificationSubscription. + examples: + - SerAvailabilityNotificationSubscription serviceReferences: type: array - items: + items: $ref: '#/components/schemas/ServiceAvailabilityNotification.ServiceReferences' + description: '' _links: $ref: '#/components/schemas/Subscription' + description: This type represents the service availability information. ServiceAvailabilityNotification.ServiceReferences: - description: List of links to services whose availability has changed. - type: object + title: ServiceAvailabilityNotification.ServiceReferences required: - - serName - - serInstanceId - - state - - changeType + - serName + - serInstanceId + - state + - changeType + type: object properties: - link: + link: $ref: '#/components/schemas/LinkType' - serName: - $ref: '#/components/schemas/ServiceInfo.SerName' + 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 serInstanceId: - $ref: '#/components/schemas/ServiceInfo.SerInstanceId' + type: string + description: Identifier of the service instance assigned by the MEC platform. + examples: + - ServiceInstance123 state: $ref: '#/components/schemas/ServiceState' changeType: $ref: '#/components/schemas/ServiceAvailabilityNotification.ChangeType' + description: List of links to services whose availability has changed. ServiceAvailabilityNotification.ChangeType: - description: >- - Type of the change. Valid values: - ADDED: The service was newly added. - REMOVED: The service was removed. - STATE_CHANGED: Only the state of the service was changed. - ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state. - type: string + title: ServiceAvailabilityNotification.ChangeType enum: - - ADDED - - REMOVED - - STATE_CHANGED - - ATTRIBUTES_CHANGED - SerializerType: - description: The enumeration represents types of serializers + - ADDED + - REMOVED + - STATE_CHANGED + - ATTRIBUTES_CHANGED type: string + description: "Type of the change. Valid values:\n ADDED: The service was newly added.\n REMOVED: The service was removed.\n STATE_CHANGED: Only the state of the service was changed. \n 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 - example: 'JSON' - LocalityType: - description: The scope of locality as expressed by "consumedLocalOnly" and "isLocal". If absent, defaults to MEC_HOST + - 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 - example: 'MEC_SYSTEM' - ServiceState: - description: This enumeration defines the possible states of a service. + - 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 - example: 'ACTIVE' - ServiceStates: - 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' - ServiceInfo.SerInstanceId: - description: >- - Identifier of the service instance assigned by the MEC platform. + - ACTIVE + - INACTIVE type: string - readOnly: true - example: 'ServiceInstance123' - SerInstanceIds: - description: Identifiers of service instances about which to report events. - type: array - minItems: 0 - items: - $ref: '#/components/schemas/ServiceInfo.SerInstanceId' - ServiceInfo.SerName: - description: >- - The name of the service. This is how the service producing MEC - application identifies the service instance it produces. - type: string - example: 'ExampleService' - SerNames: - description: Names of services about which to report events. - type: array - minItems: 0 - items: - $ref: '#/components/schemas/ServiceInfo.SerName' - ServiceInfo.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. - type: string - writeOnly: true - example: 'Rest1' - ServiceInfo.Version: - description: Service version - type: string - example: 'ServiceVersion1' - ServiceInfo.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. - type: boolean - example: false - ServiceInfo.IsLocal: - description: >- - Indicate whether the service is located in the same locality (as defined - by scopeOfLocality) as the consuming MEC application. - type: boolean - example: true + description: This enumeration defines the possible states of a service. + examples: + - ACTIVE ServiceInfo.Post: - description: This type represents the general information of a MEC service. - type: object + title: ServiceInfo.Post required: - - serName - - version - - state - - serializer - oneOf: - - required: [transportId] - - required: [transportInfo] + - serName + - version + - state + - serializer + type: object properties: serInstanceId: - $ref: '#/components/schemas/ServiceInfo.SerInstanceId' + type: string + description: Identifier of the service instance assigned by the MEC platform. + examples: + - ServiceInstance123 serName: - $ref: '#/components/schemas/ServiceInfo.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: - $ref: '#/components/schemas/ServiceInfo.Version' + type: string + description: Service version + examples: + - ServiceVersion1 state: $ref: '#/components/schemas/ServiceState' transportId: - $ref: '#/components/schemas/ServiceInfo.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. + examples: + - Rest1 transportInfo: $ref: '#/components/schemas/TransportInfo' serializer: @@ -716,27 +1463,43 @@ components: scopeOfLocality: $ref: '#/components/schemas/LocalityType' consumedLocalOnly: - $ref: '#/components/schemas/ServiceInfo.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: - $ref: '#/components/schemas/ServiceInfo.IsLocal' - ServiceInfo: + 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: This type represents the general information of a MEC service. - type: object + ServiceInfo: + title: ServiceInfo required: - - serName - - version - - state - - transportInfo - - serializer + - serName + - version + - state + - transportInfo + - serializer + type: object properties: serInstanceId: - $ref: '#/components/schemas/ServiceInfo.SerInstanceId' + type: string + description: Identifier of the service instance assigned by the MEC platform. + examples: + - ServiceInstance123 serName: - $ref: '#/components/schemas/ServiceInfo.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: - $ref: '#/components/schemas/ServiceInfo.Version' + type: string + description: Service version + examples: + - ServiceVersion1 state: $ref: '#/components/schemas/ServiceState' transportInfo: @@ -746,533 +1509,98 @@ components: scopeOfLocality: $ref: '#/components/schemas/LocalityType' consumedLocalOnly: - $ref: '#/components/schemas/ServiceInfo.ConsumedLocalOnly' - isLocal: - $ref: '#/components/schemas/ServiceInfo.IsLocal' + 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 + description: This type represents the general information of a MEC service. Subscription: - description: A link to the related subscription - type: object + title: Subscription required: - - subscription + - subscription + type: object properties: subscription: $ref: '#/components/schemas/LinkType' - TransportInfo.Description: - description: Human-readable description of this transport - type: string - example: 'REST API' - TransportInfo.Id: - description: The identifier of this transport - type: string - example: 'TransId12345' - TransportInfo.ImplSpecificInfo: - description: Additional implementation specific details of the transport - type: object - TransportInfo.Name: - description: The name of this transport - type: string - example: 'REST' - TransportInfo.Protocol: - description: The name of the protocol used. Shall be set to HTTP for a REST API. - type: string - example: 'HTTP' - TransportInfo.Version: - description: The version of the protocol used - type: string - example: '2.0' + description: A link to the related subscription TransportInfo: - description: This type represents the general information of a MEC service. - type: object + title: TransportInfo required: - - id - - name - - type - - protocol - - version - - endpoint - - security + - id + - name + - type + - protocol + - version + - endpoint + - security + type: object properties: id: - $ref: '#/components/schemas/TransportInfo.Id' + type: string + description: The identifier of this transport + examples: + - TransId12345 name: - $ref: '#/components/schemas/TransportInfo.Name' + type: string + description: The name of this transport + examples: + - REST description: - $ref: '#/components/schemas/TransportInfo.Description' + type: string + description: Human-readable description of this transport + examples: + - REST API type: $ref: '#/components/schemas/TransportType' protocol: - $ref: '#/components/schemas/TransportInfo.Protocol' + type: string + description: The name of the protocol used. Shall be set to HTTP for a REST API. + examples: + - HTTP version: - $ref: '#/components/schemas/TransportInfo.Version' + type: string + description: The version of the protocol used + examples: + - '2.0' endpoint: - description: This type represents information about a transport endpoint - type: object oneOf: - - $ref: '#/components/schemas/EndPointInfo.Uris' - - $ref: '#/components/schemas/EndPointInfo.Addresses' - - $ref: '#/components/schemas/EndPointInfo.Alternative' + - $ref: '#/components/schemas/EndPointInfo.Uris' + - $ref: '#/components/schemas/EndPointInfo.Addresses' + - $ref: '#/components/schemas/EndPointInfo.Alternative' + description: This type represents information about a transport endpoint security: $ref: '#/components/schemas/SecurityInfo' implSpecificInfo: - $ref: '#/components/schemas/TransportInfo.ImplSpecificInfo' + type: object + description: Additional implementation specific details of the transport + description: This type represents the general information of a MEC service. TransportType: - description: The enumeration TransportType represents types of transports - type: string + title: TransportType enum: - - REST_HTTP - - MB_TOPIC_BASED - - MB_ROUTING - - MB_PUBSUB - - RPC - - RPC_STREAMING - - WEBSOCKET - example: 'REST_HTTP' - parameters: - Path.AppInstanceId: - name: appInstanceId - description: >- - Represents a MEC application instance. Note that the - appInstanceId is allocated by the MEC platform manager. - in: path - required: true - schema: - type: string - Path.SubscriptionId: - name: subscriptionId - description: >- - Represents a subscription to the notifications from the MEC - platform. - in: path - required: true - schema: - type: string - Path.ServiceId: - name: serviceId - description: Represents a MEC service instance. - in: path - required: true - schema: - type: string - Query.Ser_category_id: - name: 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. Either "ser_instance_id" or "ser_name" or - "ser_category_id" or none of them shall be present. - in: query - required: false - schema: - type: string - Query.Ser_instance_id: - name: 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. Either "ser_instance_id" or "ser_name" or - "ser_category_id" or none of them shall be present. - in: query - required: false - schema: - type: array - items: - type: string - Query.Ser_name: - name: 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. Either "ser_instance_id" or "ser_name" or - "ser_category_id" or none of them shall be present. - in: query - required: false - schema: - type: array - items: - type: string - Query.LocalityType: - name: 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. - in: query - required: false - schema: - type: string - Query.Is_local: - name: is_local - description: >- - Indicate whether the service is located in the same locality (as - defined by scopeOfLocality) as the consuming MEC application. - in: query - required: false - schema: - type: boolean - Query.Consumed_local_only: - name: consumed_local_only - 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. - in: query - required: false - schema: - type: boolean - responses: - ApplicationsSubscriptions.200: - description: >- - Upon success, a response body containing the list of links to the - requested subscriptions is returned. - content: - application/json: - schema: - $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList' - links: - getIndividualmecSerMgmtApiSubscriptionLinkList: - $ref: '#/components/links/GetIndividualmecSerMgmtApiSubscriptionLinkList' - delIndividualmecSerMgmtApiSubscriptionLinkList: - $ref: '#/components/links/DelIndividualmecSerMgmtApiSubscriptionLinkList' - ApplicationsSubscriptions.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 - schema: - type: string - format: uri - content: - application/json: - schema: - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' - links: - getIndividualmecSerMgmtApiSubscription: - $ref: '#/components/links/GetIndividualmecSerMgmtApiSubscription' - delIndividualmecSerMgmtApiSubscription: - $ref: '#/components/links/DelIndividualmecSerMgmtApiSubscription' - ApplicationsSubscription.200: - description: >- - Upon success, a response body containing the requested subscription - is returned. - content: - application/json: - schema: - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' - Services.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - type: array - minItems: 0 - items: - $ref: '#/components/schemas/ServiceInfo' - examples: - ServiceInfoList: - $ref: '#/components/examples/ServiceInfoList' - links: - getIndividualmecService: - $ref: '#/components/links/GetIndividualmecService' - putIndividualmecService: - $ref: '#/components/links/PutIndividualmecService' - Services.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 - schema: - type: string - format: uri - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - examples: - ServiceInfo: - $ref: '#/components/examples/ServiceInfo' - links: - getIndividualmecService: - $ref: '#/components/links/GetIndividualmecService' - putIndividualmecService: - $ref: '#/components/links/PutIndividualmecService' - ServicesServiceId.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - examples: - ServiceInfo: - $ref: '#/components/examples/ServiceInfo' - Transports.200: - description: >- - It is used to indicate nonspecific success. The response body - contains a representation of the resource. - content: - application/json: - schema: - type: array - minItems: 0 - items: - $ref: '#/components/schemas/TransportInfo' - links: - getTransportInfo: - $ref: '#/components/links/GetTransportInfo' - Error.400: - description: >- - Bad Request. - It is used to indicate that incorrect parameters were passed to the request. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.401: - description: >- - Unauthorized. - It is used when the client did not submit the appropriate credentials. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.403: - description: >- - Forbidden. - The operation is not allowed given the current status of the resource. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - Error.404: - description: >- - Not Found. - It is 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' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.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. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.412: - description: >- - Precondition Failed. - It is used when a condition has failed during conditional requests, - e.g. when using ETags to avoid write conflicts. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.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. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - Error.429: - description: >- - Too Many Requests. - It is used when a rate limiter has triggered. - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - $ref: '#/components/schemas/Empty' - requestBodies: - ApplicationsSubscriptions: - content: - application/json: - schema: - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' - description: >- - Entity body in the request contains a subscription to the MEC - application termination notifications that is to be created. - required: true - Services: - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - description: >- - New ServiceInfo with updated "state" is included as entity body of the - request - required: true - Services.Post: - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceInfo.Post' - description: >- - New ServiceInfo with updated "state" is included as entity body of the - request - required: true - ServicesServiceId: - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - description: >- - New ServiceInfo with updated "state" is included as entity body of the - request - required: true - ServiceAvailabilityNotification: - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceAvailabilityNotification' - required: true - callbacks: - ServiceAvailabilityNotification: - '{$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 - tags: - - callbacks - requestBody: - $ref: '#/components/requestBodies/ServiceAvailabilityNotification' - responses: - '200': - description: Expected responses from callback consumer, if it accepts the callback - links: - GetIndividualmecService: - operationId: ServicesServiceId_GET - description: The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}` - parameters: - serviceId: '$response.body#/serviceId' - PutIndividualmecService: - operationId: ServicesServiceId_PUT - description: The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}` - parameters: - serviceId: '$response.body#/serviceId' - GetTransportInfo: - operationId: AppServices_POST - description: The `id` value returned in the response can be used as the `transportId` parameter in `POST /applications/{appInstanceId}/services`. The first transport is provided as the link as wildcards are not supported - parameters: - transportId: '$response.body#/0/id' - GetIndividualmecSerMgmtApiSubscription: - operationId: ApplicationsSubscription_GET - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_service_mgmt\/v1\/applications\/.*\/subscriptions\/.*\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - DelIndividualmecSerMgmtApiSubscription: - operationId: ApplicationsSubscription_DELETE - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_service_mgmt\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - GetIndividualmecSerMgmtApiSubscriptionLinkList: - operationId: ApplicationsSubscription_GET - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_service_mgmt\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - DelIndividualmecSerMgmtApiSubscriptionLinkList: - operationId: ApplicationsSubscription_DELETE - description: The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}` - parameters: - description: regex = \/mec_service_mgmt\/v1\/applications\/.*\/subscriptions\/(.*);subscriptionId = href.match(regex)[1];// where "href" is an attribute within the subscription attribute within the _links attribute - subscriptionId: 'TBC' - 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' - 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' + - 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 +security: +- {} +tags: +- name: appSubscriptions +- name: appServices +- name: services +- name: transports +- name: callbacks +externalDocs: + description: ETSI GS MEC011 Application Enablement API, V2.1.1 + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf diff --git a/OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml b/OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml deleted file mode 100644 index a6b40d3..0000000 --- a/OAS3.1.0/MecAppSupportApi.yaml-OpenApi31Yaml.yaml +++ /dev/null @@ -1,1664 +0,0 @@ -openapi: 3.1.0 -info: - title: MEC Application Support API - description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI - contact: - email: cti_support@etsi.org - version: '2.1.1' -jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema -servers: -- url: http://127.0.0.1:8081/mec_app_support/v1 - variables: {} -- url: https://127.0.0.1:8081/mec_app_support/v1 - variables: {} -paths: - /applications/{appInstanceId}/traffic_rules: - get: - tags: - - appTrafficRules - summary: ApplicationsTrafficRules_GET - description: This method retrieves information about all the traffic rules associated with a MEC application instance. - operationId: ApplicationsTrafficRules_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - minItems: 0 - type: array - items: - $ref: '#/components/schemas/TrafficRule' - description: '' - examples: - - - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - contentMediaType: application/json - examples: - TrafficRules: - value: - - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /applications/{appInstanceId}/traffic_rules/{trafficRuleId}: - get: - tags: - - appTrafficRules - summary: ApplicationsTrafficRule_GET - description: This method retrieves information about all the traffic rules associated with a MEC application instance. - operationId: ApplicationsTrafficRule_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - - name: trafficRuleId - in: path - description: Represents a traffic rule. - required: true - style: simple - schema: - type: string - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/TrafficRule' - examples: - TrafficRule: - value: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - put: - tags: - - appTrafficRules - summary: ApplicationsTrafficRule_PUT - description: This method retrieves information about all the traffic rules associated with a MEC application instance. - operationId: ApplicationsTrafficRule_PUT - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - - name: trafficRuleId - in: path - description: Represents a traffic rule. - required: true - style: simple - schema: - type: string - requestBody: - description: One or more updated attributes that are allowed to be changed - content: - application/json: - schema: - $ref: '#/components/schemas/TrafficRule' - required: true - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/TrafficRule' - examples: - TrafficRule: - value: - trafficRuleId: TrafficRule123 - serName: ExampleService - filterType: FLOW - priority: 1 - trafficFilter: - - srcAddress: - - 192.168.2.0/24 - - 192.168.3.0/24 - dstAddress: - - 192.127.4.100/32 - dstPort: - - '80' - action: FORWARD_DECAPSULATED - dstInterface: - interfaceType: IP - dstIpAddress: 20.1.1.1 - state: ACTIVE - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '412': - description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /applications/{appInstanceId}/dns_rules: - get: - tags: - - appDnsRules - summary: ApplicationsDnsRules_GET - description: This method retrieves information about all the DNS rules associated with a MEC application instance. - operationId: ApplicationsDnsRules_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - minItems: 0 - type: array - items: - $ref: '#/components/schemas/DnsRule' - description: '' - examples: - - - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE - - dnsRuleId: DnsRule2 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.4 - ttl: 300 - state: INACTIVE - contentMediaType: application/json - examples: - DnsRules: - value: - - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE - - dnsRuleId: DnsRule2 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.4 - ttl: 300 - state: INACTIVE - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /applications/{appInstanceId}/dns_rules/{dnsRuleId}: - get: - tags: - - appDnsRules - summary: ApplicationsDnsRule_GET - description: This method retrieves information about a DNS rule associated with a MEC application instance. - operationId: ApplicationsDnsRule_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - - name: dnsRuleId - in: path - description: Represents a DNS rule. - required: true - style: simple - schema: - type: string - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/DnsRule' - examples: - DnsRule: - value: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - put: - tags: - - appDnsRules - summary: ApplicationsDnsRule_PUT - description: This method activates, de-activates or updates a traffic rule. - operationId: ApplicationsDnsRule_PUT - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - - name: dnsRuleId - in: path - description: Represents a DNS rule. - required: true - style: simple - schema: - type: string - requestBody: - description: The updated state is included in the entity body of the request. - content: - application/json: - schema: - $ref: '#/components/schemas/DnsRule' - required: true - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/DnsRule' - examples: - DnsRule: - value: - dnsRuleId: DnsRule1 - domainName: www.example.com - ipAddressType: IP_V4 - ipAddress: 146.241.7.3 - ttl: 300 - state: ACTIVE - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '412': - description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /applications/{appInstanceId}/subscriptions: - get: - tags: - - appSubscriptions - summary: ApplicationsSubscriptions_GET - description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. - operationId: ApplicationsSubscriptions_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - responses: - '200': - description: Upon success, a response body containing the list of links to the requested subscriptions is returned. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList' - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - post: - tags: - - appSubscriptions - summary: ApplicationsSubscriptions_POST - description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. - operationId: ApplicationsSubscriptions_POST - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - requestBody: - description: Entity body in the request contains a subscription to the MEC application termination notifications that is to be created. - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationNotificationSubscription' - required: true - responses: - '201': - description: Entity body in the request contains a subscription to the MEC service availability notifications that is to be created. - headers: - location: - description: The resource URI of the created resource - content: - text/plain: - schema: - type: string - description: The resource URI of the created resource - contentMediaType: text/plain - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationNotificationSubscription' - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /applications/{appInstanceId}/subscriptions/{subscriptionId}: - get: - tags: - - appSubscriptions - summary: ApplicationsSubscription_GET - description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. - operationId: ApplicationsSubscription_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - - name: subscriptionId - in: path - description: Represents a subscription to the notifications from the MEC platform. - required: true - style: simple - schema: - type: string - responses: - '200': - description: Upon success, a response body containing the requested subscription is returned. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationNotificationSubscription' - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - delete: - tags: - - appSubscriptions - summary: ApplicationsSubscription_DELETE - 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: ApplicationsConfirmTermination_POST - description: This method is used to confirm the application level termination of an application instance. - operationId: ApplicationsConfirmTermination_POST - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - requestBody: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/AppTerminationConfirmation' - required: false - responses: - '204': - description: No Content - headers: {} - content: {} - '401': - description: Unauthorized. It is used when the client did not submit the appropriate credentials. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '409': - description: Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '429': - description: Too Many Requests. It is used when a rate limiter has triggered. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /applications/{appInstanceId}/confirm_ready: - post: - tags: - - appConfirmReady - summary: ApplicationsConfirmReady_POST - description: 'This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ' - operationId: ApplicationsConfirmReady_POST - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - requestBody: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/AppReadyConfirmation' - required: false - responses: - '204': - description: No Content - headers: {} - content: {} - '401': - description: Unauthorized. It is used when the client did not submit the appropriate credentials. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '409': - description: Conflict. The operation cannot be executed currently, due to a conflict with the state of the resource. Typically, this is because the application instance resource is in NOT_INSTANTIATED state. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '429': - description: Too Many Requests. It is used when a rate limiter has triggered. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /timing/timing_caps: - get: - tags: - - timing - summary: TimingCaps_GET - description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query - operationId: TimingCaps_GET - parameters: [] - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/TimingCaps' - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /timing/current_time: - get: - tags: - - timing - summary: TimingCurrentTime_GET - description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure - operationId: TimingCurrentTime_GET - parameters: [] - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/CurrentTime' - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] -components: - schemas: - AppReadyConfirmation: - title: AppReadyConfirmation - required: - - indication - type: object - properties: - indication: - const: READY - type: string - description: Indication about the MEC application instance. - examples: - - READY - description: This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running. - AppTerminationConfirmation: - title: AppTerminationConfirmation - required: - - operationAction - type: object - properties: - operationAction: - $ref: '#/components/schemas/OperationActionType' - description: This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop. - AppTerminationNotification.Links: - title: AppTerminationNotification.Links - required: - - subscription - type: object - properties: - subscription: - $ref: '#/components/schemas/LinkType' - confirmTermination: - $ref: '#/components/schemas/LinkType.ConfirmTermination' - description: Object containing hyperlinks related to the resource. - AppTerminationNotification: - title: AppTerminationNotification - required: - - notificationType - - operationAction - - maxGracefulTimeout - - _links - type: object - properties: - notificationType: - type: string - description: Shall be set to AppTerminationNotification. - examples: - - AppTerminationNotification - operationAction: - $ref: '#/components/schemas/OperationActionType' - maxGracefulTimeout: - type: integer - description: Maximum timeout value in seconds for graceful termination or graceful stop of an application instance. - contentEncoding: int32 - examples: - - 10 - _links: - $ref: '#/components/schemas/AppTerminationNotification.Links' - description: This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop. - AppTerminationNotificationSubscription: - title: AppTerminationNotificationSubscription - required: - - subscriptionType - - callbackReference - - _links - - appInstanceId - type: object - properties: - subscriptionType: - type: string - description: Shall be set to AppTerminationNotificationSubscription. - examples: - - AppTerminationNotificationSubscription - callbackReference: - type: string - description: URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information. This shall be included in both the request and the response. - _links: - $ref: '#/components/schemas/Self' - appInstanceId: - type: string - description: It is used as the filtering criterion for the subscribed events. - examples: - - ID1 - description: This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop. - CurrentTime: - title: CurrentTime - required: - - seconds - - nanoSeconds - - timeSourceStatus - type: object - properties: - seconds: - type: integer - description: The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC - contentEncoding: int32 - examples: - - 1577836800 - nanoSeconds: - type: integer - description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC - contentEncoding: int32 - examples: - - 0 - timeSourceStatus: - $ref: '#/components/schemas/TimeSourceStatus' - description: This type represents the information provided by the MEC platform in response to the Get Platform Time Request message. - DestinationInterface.InterfaceType: - title: DestinationInterface.InterfaceType - enum: - - TUNNEL - - MAC - - IP - type: string - description: Type of the interface - examples: - - TUNNEL - DestinationInterface: - title: DestinationInterface - required: - - interfaceType - type: object - properties: - interfaceType: - $ref: '#/components/schemas/DestinationInterface.InterfaceType' - tunnelInfo: - $ref: '#/components/schemas/TunnelInfo' - srcMacAddress: - type: string - description: Source address identifies the MAC address of the interface - examples: - - 02-00-00-00-00-00 - dstMacAddress: - type: string - description: Source address identifies the MAC address of the interface - examples: - - 02-00-00-00-00-00 - dstIpAddress: - type: string - description: IP address of the remote destination - examples: - - 192.0.2.0 - description: This type represents the destination interface. If the action is FORWARD_DECAPSULATED, FORWARD_ENCAPSULATED or PASSTHROUGH one value shall be provided. If the action is DUPLICATE_DECAPSULATED or DUPLICATE_ENCAPSULATED, two values shall be provided. If the action is DROP, no value shall be provided. - DnsRule.IpAddressType: - title: DnsRule.IpAddressType - enum: - - IP_V6 - - IP_V4 - type: string - description: IP address type - examples: - - IP_V6 - DnsRule.State: - title: DnsRule.State - enum: - - ACTIVE - - INACTIVE - type: string - description: DNS rule state. This attribute may be updated using HTTP PUT method - examples: - - ACTIVE - DnsRule: - title: DnsRule - required: - - dnsRuleId - - domainName - - ipAddressType - - ipAddress - - state - type: object - properties: - dnsRuleId: - type: string - description: Identifies the DNS Rule - examples: - - dnsRule1 - domainName: - type: string - description: FQDN resolved by the DNS rule - examples: - - www.example.com - ipAddressType: - $ref: '#/components/schemas/DnsRule.IpAddressType' - ipAddress: - type: string - description: IP address associated with the FQDN resolved by the DNS rule - examples: - - 192.0.2.0 - ttl: - type: integer - description: Time to live value - contentEncoding: int32 - state: - $ref: '#/components/schemas/DnsRule.State' - description: This type represents the general information of a DNS rule. - LinkType: - title: LinkType - type: object - properties: - href: - type: string - description: URI referring to a resource - examples: - - /mecAppSuptApi/example - description: This type represents a type of link and may be referenced from data structures - LinkType.ConfirmTermination: - title: LinkType.ConfirmTermination - type: object - properties: - href: - type: string - description: URI referring to a resource - examples: - - /mecAppSuptApi/example - description: Link to the task resource where to confirm termination in case the application is ready to be terminated before expiry of the timeout. - MecAppSuptApiSubscriptionLinkList.Links: - title: MecAppSuptApiSubscriptionLinkList.Links - required: - - self - type: object - properties: - self: - $ref: '#/components/schemas/LinkType' - subscriptions: - type: array - items: - $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription' - description: The MEC application instance's subscriptions - description: Self-referring URI. - MecAppSuptApiSubscriptionLinkList.Subscription: - title: MecAppSuptApiSubscriptionLinkList.Subscription - required: - - href - - rel - type: object - properties: - href: - type: string - description: URI referring to a resource - examples: - - /mecAppSuptApi/example - rel: - type: string - description: The values shall be set to AppTerminationNotificationSubscription. - description: A link to a subscription. - MecAppSuptApiSubscriptionLinkList: - title: MecAppSuptApiSubscriptionLinkList - required: - - _links - type: object - properties: - _links: - $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Links' - description: This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions. - OperationActionType: - title: OperationActionType - enum: - - STOPPING - - TERMINATING - type: string - description: Operation that is being performed on the MEC application instance. - examples: - - TERMINATING - ProblemDetails: - title: ProblemDetails - type: object - properties: - type: - type: string - description: A URI reference according to IETF RFC 3986 that identifies the problem type - title: - type: string - description: A short, human-readable summary of the problem type - status: - type: integer - description: The HTTP status code for this occurrence of the problem - contentEncoding: int32 - detail: - type: string - description: A human-readable explanation specific to this occurrence of the problem - instance: - type: string - description: A URI reference that identifies the specific occurrence of the problem - ReadyIndicationType: - title: ReadyIndicationType - const: READY - type: string - description: Indication about the MEC application instance. - examples: - - READY - Self: - title: Self - required: - - self - type: object - properties: - self: - $ref: '#/components/schemas/LinkType' - description: Self-referring URI. - TimingCaps.NtpServers.AuthenticationOption: - title: TimingCaps.NtpServers.AuthenticationOption - enum: - - NONE - - SYMMETRIC_KEY - - AUTO_KEY - type: string - description: NTP authentication option - examples: - - NONE - TimingCaps.NtpServers.NtpServerAddrType: - title: TimingCaps.NtpServers.NtpServerAddrType - enum: - - IP_ADDRESS - - DNS_NAME - type: string - description: Address type of NTP server - examples: - - IP_ADDRESS - TimingCaps.NtpServers: - title: TimingCaps.NtpServers - required: - - ntpServerAddrType - - ntpServerAddr - - minPollingInterval - - maxPollingInterval - - localPriority - - authenticationOption - - authenticationKeyNum - type: object - properties: - ntpServerAddrType: - $ref: '#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType' - ntpServerAddr: - type: string - description: NTP server address - examples: - - 192.0.2.0 - minPollingInterval: - type: integer - description: Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17 - contentEncoding: int32 - examples: - - 3 - maxPollingInterval: - type: integer - description: Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17 - contentEncoding: int32 - examples: - - 17 - localPriority: - type: integer - description: NTP server local priority - contentEncoding: int32 - examples: - - 1 - authenticationOption: - $ref: '#/components/schemas/TimingCaps.NtpServers.AuthenticationOption' - authenticationKeyNum: - type: integer - description: Authentication key number - contentEncoding: int32 - examples: - - 1 - description: NTP server detail. - TimingCaps_PtpMasters: - title: TimingCaps_PtpMasters - required: - - ptpMasterIpAddress - - ptpMasterLocalPriority - - delayReqMaxRate - type: object - properties: - ptpMasterIpAddress: - type: string - description: PTP Master IP Address - examples: - - 192.0.2.0 - ptpMasterLocalPriority: - type: integer - description: PTP Master local priority - contentEncoding: int32 - examples: - - 1 - delayReqMaxRate: - type: integer - description: Acceptable maximum rate of the Delay_Req messages in packets per second - contentEncoding: int32 - examples: - - 10 - description: NTP server detail. - TimingCaps.TimeStamp: - title: TimingCaps.TimeStamp - required: - - seconds - - nanoSeconds - type: object - properties: - seconds: - type: integer - description: The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC - contentEncoding: int32 - examples: - - 1577836800 - nanoSeconds: - type: integer - description: The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC - contentEncoding: int32 - examples: - - 0 - description: time - TimingCaps: - title: TimingCaps - type: object - properties: - timeStamp: - $ref: '#/components/schemas/TimingCaps.TimeStamp' - ntpServers: - type: array - items: - $ref: '#/components/schemas/TimingCaps.NtpServers' - description: Available NTP servers - ptpMasters: - type: array - items: - $ref: '#/components/schemas/TimingCaps_PtpMasters' - description: Available PTP Masters - description: This type represents the information provided by the MEC platform in response to the Timing capabilities Query message. - TrafficFilter: - title: TrafficFilter - type: object - properties: - srcAddress: - type: array - items: - type: string - description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. - dstAddress: - type: array - items: - type: string - description: An IP address or a range of IP address. For IPv4, the IP address could be an IP address plus mask, or an individual IP address, or a range of IP addresses. For IPv6, the IP address could be an IP prefix, or a range of IP prefixes. - srcPort: - type: array - items: - type: string - description: A port or a range of ports - dstPort: - type: array - items: - type: string - description: A port or a range of ports - protocol: - type: array - items: - type: string - description: Specify the protocol of the traffic filter - token: - type: array - items: - type: string - description: Used for token based traffic rule - srcTunnelAddress: - type: array - items: - type: string - description: Used for GTP tunnel based traffic rule - tgtTunnelAddress: - type: array - items: - type: string - description: Used for GTP tunnel based traffic rule - srcTunnelPort: - type: array - items: - type: string - description: Used for GTP tunnel based traffic rule - dstTunnelPort: - type: array - items: - type: string - description: Used for GTP tunnel based traffic rule - qCI: - type: integer - description: Used to match all packets that have the same Quality Class Indicator (QCI). - contentEncoding: int32 - examples: - - 1 - dSCP: - type: integer - description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP) - contentEncoding: int32 - examples: - - 0 - tC: - type: integer - description: Used to match all IPv6 packets that have the same Traffic Class. - contentEncoding: int32 - examples: - - 1 - description: This type represents the traffic filter. - TrafficRule.Action: - title: TrafficRule.Action - enum: - - DROP - - FORWARD_DECAPSULATED - - FORWARD_ENCAPSULATED - - PASSTHROUGH - - DUPLICATE_DECAPSULATED - - DUPLICATE_ENCAPSULATED - type: string - description: The action of the MEC host data plane when a packet matches the trafficFilter - examples: - - DROP - TrafficRule.FilterType: - title: TrafficRule.FilterType - enum: - - FLOW - - PACKET - type: string - description: Definition of filter per FLOW or PACKET. If flow the filter match UE->EPC packet and the reverse packet is handled in the same context - examples: - - FLOW - TrafficRule.State: - title: TrafficRule.State - enum: - - ACTIVE - - INACTIVE - type: string - description: Contains the traffic rule state. This attribute may be updated using HTTP PUT method - examples: - - ACTIVE - TrafficRule: - title: TrafficRule - required: - - trafficRuleId - - filterType - - priority - - trafficFilter - - action - - state - type: object - properties: - trafficRuleId: - type: string - description: Identify the traffic rule. - examples: - - TrafficRule1 - filterType: - $ref: '#/components/schemas/TrafficRule.FilterType' - priority: - type: integer - description: Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence - contentEncoding: int32 - examples: - - 1 - trafficFilter: - type: array - items: - $ref: '#/components/schemas/TrafficFilter' - description: '' - action: - $ref: '#/components/schemas/TrafficRule.Action' - dstInterface: - $ref: '#/components/schemas/DestinationInterface' - state: - $ref: '#/components/schemas/TrafficRule.State' - description: This type represents the general information of a traffic rule. - TunnelInfo.TunnelType: - title: TunnelInfo.TunnelType - enum: - - GTP_U - - GRE - type: string - description: This type represents the tunnel information. - examples: - - GTP_U - TunnelInfo: - title: TunnelInfo - required: - - tunnelType - type: object - properties: - tunnelType: - $ref: '#/components/schemas/TunnelInfo.TunnelType' - tunnelDstAddress: - type: string - description: Destination address of the tunnel - examples: - - '?' - tunnelSrcAddress: - type: string - description: Source address of the tunnel - examples: - - '?' - description: This type represents the tunnel information. - TimeSourceStatus: - title: TimeSourceStatus - enum: - - TRACEABLE - - NONTRACEABLE - type: string - description: Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source - examples: - - TRACEABLE -security: -- {} -tags: -- name: appTrafficRules -- name: appDnsRules -- name: appSubscriptions -- name: appConfirmTermination -- name: appConfirmReady -- name: timing -- name: callbacks -externalDocs: - description: ETSI GS MEC011 Application Enablement API, V2.1.1 - url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf diff --git a/OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml b/OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml deleted file mode 100644 index 96f5a8e..0000000 --- a/OAS3.1.0/MecServiceMgmtApi.yaml-OpenApi31Yaml.yaml +++ /dev/null @@ -1,1606 +0,0 @@ -openapi: 3.1.0 -info: - title: MEC Service Management API - description: The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI - contact: - email: cti_support@etsi.org - version: '2.1.1' -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: {} -paths: - /applications/{appInstanceId}/subscriptions: - get: - tags: - - appSubscriptions - summary: ApplicationsSubscriptions_GET - description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. - operationId: ApplicationsSubscriptions_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - responses: - '200': - description: Upon success, a response body containing the list of links to the requested subscriptions is returned. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList' - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - post: - tags: - - appSubscriptions - summary: ApplicationsSubscriptions_POST - description: The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription. - operationId: ApplicationsSubscriptions_POST - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - requestBody: - description: Entity body in the request contains a subscription to the MEC application termination notifications that is to be created. - content: - application/json: - schema: - $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' - required: true - responses: - '201': - description: Entity body in the request contains a subscription to the MEC service availability notifications that is to be created. - headers: - location: - description: The resource URI of the created resource - content: - text/plain: - schema: - type: string - description: The resource URI of the created resource - contentMediaType: text/plain - content: - application/json: - schema: - $ref: '#/components/schemas/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' - '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}/subscriptions/{subscriptionId}: - get: - tags: - - appSubscriptions - summary: ApplicationsSubscription_GET - description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. - operationId: ApplicationsSubscription_GET - parameters: - - name: appInstanceId - in: path - description: Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager. - required: true - style: simple - schema: - type: string - - name: subscriptionId - in: path - description: Represents a subscription to the notifications from the MEC platform. - required: true - style: simple - schema: - type: string - responses: - '200': - description: Upon success, a response body containing the requested subscription is returned. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/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' - '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: ApplicationsSubscription_DELETE - 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 - 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}/services: - get: - tags: - - appServices - summary: AppServices_GET - 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 - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - minItems: 0 - 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 - 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 - '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 - post: - tags: - - appServices - summary: AppServices_POST - 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 - requestBody: - description: New ServiceInfo with updated "state" is included as entity body of the request - 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 - 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 - 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 - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - parameters: [] - /applications/{appInstanceId}/services/{serviceId}: - get: - tags: - - appServices - summary: AppServicesServiceId_GET - 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. - required: true - style: simple - schema: - type: string - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/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 - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - put: - tags: - - appServices - summary: AppServicesServiceId_PUT - 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. - required: true - style: simple - schema: - type: string - requestBody: - description: New ServiceInfo with updated "state" is included as entity body of the request - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceInfo' - required: true - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/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 - '400': - description: Bad Request. It is used to indicate that incorrect parameters were passed to the request. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '403': - description: Forbidden. The operation is not allowed given the current status of the resource. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - '404': - description: Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - '412': - description: Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts. - headers: {} - content: - application/problem+json: - schema: - $ref: '#/components/schemas/ProblemDetails' - text/plain: - schema: - type: object - description: Empty schema - contentMediaType: text/plain - deprecated: false - delete: - tags: - - appServices - summary: AppServicesServiceId_DELETE - 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. - 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: Services_GET - 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 body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - minItems: 0 - 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 - 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 - '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: ServicesServiceId_GET - 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. - required: true - style: simple - schema: - type: string - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - $ref: '#/components/schemas/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 - '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: Transports_GET - 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 - parameters: [] - responses: - '200': - description: It is used to indicate nonspecific success. The response body contains a representation of the resource. - headers: {} - content: - application/json: - schema: - minItems: 0 - 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: [] -components: - schemas: - CategoryRef: - title: CategoryRef - required: - - href - - id - - name - - version - type: object - properties: - href: - type: string - description: Reference of the catalogue - examples: - - /example/catalogue1 - id: - type: string - description: Unique identifier of the category - examples: - - id12345 - name: - type: string - description: Name of the category, example values include RNI, Location & Bandwidth Management - examples: - - RNI - 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: - minItems: 0 - type: array - items: - $ref: '#/components/schemas/EndPointInfo.Address' - description: '' - description: Entry point information of the service as one or more pairs of IP address and port - 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. - EndPointInfo.Uris: - title: EndPointInfo.Uris - required: - - uris - type: object - properties: - uris: - minItems: 0 - type: array - items: - type: string - description: '' - description: Entry point information of the service as string, formatted according to URI syntax - LinkType: - title: LinkType - type: object - properties: - href: - 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 - type: object - properties: - self: - $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 - required: - - href - - rel - 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 - required: - - _links - 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: - 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 - required: - - self - type: object - properties: - self: - $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: - type: 'null' - not: - type: object - 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. - description: This type represents a subscription to the notifications from the MEC platform regarding the availability of a MEC service or a list of MEC services. - SerAvailabilityNotificationSubscription.FilteringCriteria: - title: SerAvailabilityNotificationSubscription.FilteringCriteria - type: object - properties: - serInstanceIds: - minItems: 0 - type: array - items: - type: string - description: Identifiers of service instances about which to report events. - serNames: - minItems: 0 - type: array - items: - type: string - description: Names of services about which to report events. - serCategories: - minItems: 0 - type: array - items: - $ref: '#/components/schemas/CategoryRef' - description: Categories of services about which to report events. - states: - minItems: 0 - type: array - 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: - 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 - type: object - properties: - link: - $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 - serInstanceId: - type: string - description: Identifier of the service instance assigned by the MEC platform. - examples: - - ServiceInstance123 - state: - $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:\n ADDED: The service was newly added.\n REMOVED: The service was removed.\n STATE_CHANGED: Only the state of the service was changed. \n 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 - type: string - description: This enumeration defines the possible states of a service. - examples: - - ACTIVE - ServiceInfo.Post: - title: ServiceInfo.Post - required: - - serName - - version - - state - - 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. - examples: - - Rest1 - 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 - description: This type represents the general information of a MEC service. - 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' - 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 - description: This type represents the general information of a MEC service. - Subscription: - title: Subscription - required: - - subscription - type: object - properties: - subscription: - $ref: '#/components/schemas/LinkType' - description: A link to the related subscription - TransportInfo: - title: TransportInfo - required: - - id - - name - - type - - protocol - - version - - endpoint - - security - 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: - type: string - description: The name of the protocol used. Shall be set to HTTP for a REST API. - examples: - - HTTP - version: - type: string - description: The version of the protocol used - examples: - - '2.0' - endpoint: - oneOf: - - $ref: '#/components/schemas/EndPointInfo.Uris' - - $ref: '#/components/schemas/EndPointInfo.Addresses' - - $ref: '#/components/schemas/EndPointInfo.Alternative' - description: This type represents information about a transport endpoint - security: - $ref: '#/components/schemas/SecurityInfo' - implSpecificInfo: - type: object - 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 -security: -- {} -tags: -- name: appSubscriptions -- name: appServices -- name: services -- name: transports -- name: callbacks -externalDocs: - description: ETSI GS MEC011 Application Enablement API, V2.1.1 - url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf -- GitLab From 3447b434bdbd3f937a3c9a70dc0f8769e75b2bf1 Mon Sep 17 00:00:00 2001 From: piscione Date: Fri, 26 Nov 2021 13:11:06 +0100 Subject: [PATCH 3/4] Updated specifications: fix on examples, callback and minor. --- MecAppSupportApi.yaml | 81 ++++++++++++++----------- MecServiceMgmtApi.yaml | 131 +++++++++++++++++------------------------ 2 files changed, 103 insertions(+), 109 deletions(-) diff --git a/MecAppSupportApi.yaml b/MecAppSupportApi.yaml index a6b40d3..21013fe 100644 --- a/MecAppSupportApi.yaml +++ b/MecAppSupportApi.yaml @@ -1,10 +1,24 @@ openapi: 3.1.0 info: title: MEC Application Support API + version: '2.1.1' description: The ETSI MEC ISG MEC011 MEC Application Support API described using OpenAPI + license: + name: BSD-3-Clause + url: 'https://forge.etsi.org/legal-matters' contact: email: cti_support@etsi.org - version: '2.1.1' +externalDocs: + description: ETSI GS MEC011 Application Enablement API, V2.1.1 + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf +tags: +- name: appTrafficRules +- name: appDnsRules +- name: appSubscriptions +- name: appConfirmTermination +- name: appConfirmReady +- name: timing +- name: callbacks jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema servers: - url: http://127.0.0.1:8081/mec_app_support/v1 @@ -16,7 +30,6 @@ paths: get: tags: - appTrafficRules - summary: ApplicationsTrafficRules_GET description: This method retrieves information about all the traffic rules associated with a MEC application instance. operationId: ApplicationsTrafficRules_GET parameters: @@ -115,7 +128,7 @@ paths: get: tags: - appTrafficRules - summary: ApplicationsTrafficRule_GET + description: This method retrieves information about all the traffic rules associated with a MEC application instance. operationId: ApplicationsTrafficRule_GET parameters: @@ -196,7 +209,7 @@ paths: put: tags: - appTrafficRules - summary: ApplicationsTrafficRule_PUT + description: This method retrieves information about all the traffic rules associated with a MEC application instance. operationId: ApplicationsTrafficRule_PUT parameters: @@ -298,7 +311,6 @@ paths: get: tags: - appDnsRules - summary: ApplicationsDnsRules_GET description: This method retrieves information about all the DNS rules associated with a MEC application instance. operationId: ApplicationsDnsRules_GET parameters: @@ -387,7 +399,6 @@ paths: get: tags: - appDnsRules - summary: ApplicationsDnsRule_GET description: This method retrieves information about a DNS rule associated with a MEC application instance. operationId: ApplicationsDnsRule_GET parameters: @@ -457,7 +468,6 @@ paths: put: tags: - appDnsRules - summary: ApplicationsDnsRule_PUT description: This method activates, de-activates or updates a traffic rule. operationId: ApplicationsDnsRule_PUT parameters: @@ -548,7 +558,6 @@ paths: get: tags: - appSubscriptions - summary: ApplicationsSubscriptions_GET description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. operationId: ApplicationsSubscriptions_GET parameters: @@ -602,7 +611,6 @@ paths: post: tags: - appSubscriptions - summary: ApplicationsSubscriptions_POST 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: @@ -668,12 +676,28 @@ paths: 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 + 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: ApplicationsSubscription_GET + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. operationId: ApplicationsSubscription_GET parameters: @@ -734,7 +758,7 @@ paths: delete: tags: - appSubscriptions - summary: ApplicationsSubscription_DELETE + description: This method deletes a mecAppSuptApiSubscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. operationId: ApplicationsSubscription_DELETE parameters: @@ -782,7 +806,7 @@ paths: post: tags: - appConfirmTermination - summary: ApplicationsConfirmTermination_POST + description: This method is used to confirm the application level termination of an application instance. operationId: ApplicationsConfirmTermination_POST parameters: @@ -866,7 +890,7 @@ paths: post: tags: - appConfirmReady - summary: ApplicationsConfirmReady_POST + description: 'This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ' operationId: ApplicationsConfirmReady_POST parameters: @@ -950,7 +974,7 @@ paths: get: tags: - timing - summary: TimingCaps_GET + description: This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query operationId: TimingCaps_GET parameters: [] @@ -999,7 +1023,7 @@ paths: get: tags: - timing - summary: TimingCurrentTime_GET + description: This method retrieves the information of the platform's current time which corresponds to the get platform time procedure operationId: TimingCurrentTime_GET parameters: [] @@ -1328,13 +1352,6 @@ components: instance: type: string description: A URI reference that identifies the specific occurrence of the problem - ReadyIndicationType: - title: ReadyIndicationType - const: READY - type: string - description: Indication about the MEC application instance. - examples: - - READY Self: title: Self required: @@ -1649,16 +1666,14 @@ components: description: Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source examples: - TRACEABLE + + requestBodies: + AppTerminationNotification: + content: + application/json: + schema: + $ref: '#/components/schemas/AppTerminationNotification' + required: true + security: - {} -tags: -- name: appTrafficRules -- name: appDnsRules -- name: appSubscriptions -- name: appConfirmTermination -- name: appConfirmReady -- name: timing -- name: callbacks -externalDocs: - description: ETSI GS MEC011 Application Enablement API, V2.1.1 - url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf diff --git a/MecServiceMgmtApi.yaml b/MecServiceMgmtApi.yaml index 96f5a8e..855bbab 100644 --- a/MecServiceMgmtApi.yaml +++ b/MecServiceMgmtApi.yaml @@ -2,21 +2,34 @@ openapi: 3.1.0 info: title: MEC Service Management API description: The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI + license: + name: BSD-3-Clause + url: 'https://forge.etsi.org/legal-matters' contact: email: cti_support@etsi.org version: '2.1.1' +externalDocs: + description: ETSI GS MEC011 Application Enablement API, V2.1.1 + url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.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 + paths: /applications/{appInstanceId}/subscriptions: get: tags: - appSubscriptions - summary: ApplicationsSubscriptions_GET + description: The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor. operationId: ApplicationsSubscriptions_GET parameters: @@ -70,7 +83,7 @@ paths: post: tags: - appSubscriptions - summary: ApplicationsSubscriptions_POST + 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: @@ -88,6 +101,7 @@ paths: schema: $ref: '#/components/schemas/SerAvailabilityNotificationSubscription' required: true + responses: '201': description: Entity body in the request contains a subscription to the MEC service availability notifications that is to be created. @@ -136,12 +150,36 @@ paths: 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 + 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}: get: tags: - appSubscriptions - summary: ApplicationsSubscription_GET + description: The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor. operationId: ApplicationsSubscription_GET parameters: @@ -202,7 +240,7 @@ paths: delete: tags: - appSubscriptions - summary: ApplicationsSubscription_DELETE + description: This method deletes a mecSrvMgmtSubscription. This method is typically used in "Unsubscribing from service availability event notifications" procedure. operationId: ApplicationsSubscription_DELETE parameters: @@ -250,7 +288,6 @@ paths: get: tags: - appServices - summary: AppServices_GET 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: @@ -423,7 +460,6 @@ paths: post: tags: - appServices - summary: AppServices_POST 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: @@ -526,7 +562,6 @@ paths: get: tags: - appServices - summary: AppServicesServiceId_GET description: This method retrieves information about a mecService resource. This method is typically used in "service availability query" procedure operationId: AppServicesServiceId_GET parameters: @@ -615,7 +650,6 @@ paths: put: tags: - appServices - summary: AppServicesServiceId_PUT description: This method updates the information about a mecService resource operationId: AppServicesServiceId_PUT parameters: @@ -723,7 +757,6 @@ paths: delete: tags: - appServices - summary: AppServicesServiceId_DELETE description: 'This method deletes a mecService resource. This method is typically used in the service deregistration procedure. ' operationId: AppServicesServiceId_DELETE parameters: @@ -771,7 +804,7 @@ paths: get: tags: - services - summary: Services_GET + 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: @@ -939,7 +972,7 @@ paths: get: tags: - services - summary: ServicesServiceId_GET + description: This method retrieves information about a mecService resource. This method is typically used in "service availability query" procedure operationId: ServicesServiceId_GET parameters: @@ -1023,7 +1056,7 @@ paths: get: tags: - transports - summary: Transports_GET + 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 parameters: [] @@ -1294,11 +1327,8 @@ components: _links: $ref: '#/components/schemas/Self' filteringCriteria: - type: 'null' - not: - type: object - 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. - description: This type represents a subscription to the notifications from the MEC platform regarding the availability of a MEC service or a list of MEC services. + $ref: '#/components/schemas/SerAvailabilityNotificationSubscription.FilteringCriteria' + SerAvailabilityNotificationSubscription.FilteringCriteria: title: SerAvailabilityNotificationSubscription.FilteringCriteria type: object @@ -1423,56 +1453,6 @@ components: description: This enumeration defines the possible states of a service. examples: - ACTIVE - ServiceInfo.Post: - title: ServiceInfo.Post - required: - - serName - - version - - state - - 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. - examples: - - Rest1 - 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 - description: This type represents the general information of a MEC service. ServiceInfo: title: ServiceInfo required: @@ -1593,14 +1573,13 @@ components: description: The enumeration TransportType represents types of transports examples: - REST_HTTP + requestBodies: + ServiceAvailabilityNotification: + content: + application/json: + schema: + $ref: '#/components/schemas/ServiceAvailabilityNotification' + required: true security: - {} -tags: -- name: appSubscriptions -- name: appServices -- name: services -- name: transports -- name: callbacks -externalDocs: - description: ETSI GS MEC011 Application Enablement API, V2.1.1 - url: https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.pdf + -- GitLab From 71600e80dd79cc7db67f9b9daabe28b3e350f557 Mon Sep 17 00:00:00 2001 From: piscione Date: Thu, 2 Dec 2021 19:36:20 +0100 Subject: [PATCH 4/4] Update JSON version of OAS3.1.0. --- MecAppSupportApi.json | 2829 ++++++++++++++++++++++++--------------- MecServiceMgmtApi.json | 2892 ++++++++++++++++++++++++---------------- 2 files changed, 3469 insertions(+), 2252 deletions(-) diff --git a/MecAppSupportApi.json b/MecAppSupportApi.json index 1ec6978..5c09128 100644 --- a/MecAppSupportApi.json +++ b/MecAppSupportApi.json @@ -1,13 +1,5 @@ { - "openapi": "3.0.2", - "servers": [ - { - "url": "http://127.0.0.1:8081/mec_app_support/v1" - }, - { - "url": "https://127.0.0.1:8081/mec_app_support/v1" - } - ], + "openapi": "3.1.0", "info": { "title": "MEC Application Support API", "version": "2.1.1", @@ -47,441 +39,1607 @@ "name": "callbacks" } ], + "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema", + "servers": [ + { + "url": "http://127.0.0.1:8081/mec_app_support/v1", + "variables": {} + }, + { + "url": "https://127.0.0.1:8081/mec_app_support/v1", + "variables": {} + } + ], "paths": { "/applications/{appInstanceId}/traffic_rules": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - } - ], "get": { - "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.", - "operationId": "ApplicationsTrafficRules_GET", "tags": [ "appTrafficRules" ], + "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.", + "operationId": "ApplicationsTrafficRules_GET", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsTrafficRules.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "minItems": 0, + "type": "array", + "items": { + "$ref": "#/components/schemas/TrafficRule" + }, + "description": "", + "examples": [ + [ + { + "trafficRuleId": "TrafficRule123", + "serName": "ExampleService", + "filterType": "FLOW", + "priority": 1, + "trafficFilter": [ + { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + "80" + ] + } + ], + "action": "FORWARD_DECAPSULATED", + "dstInterface": { + "interfaceType": "IP", + "dstIpAddress": "20.1.1.1" + }, + "state": "ACTIVE" + } + ] + ], + "contentMediaType": "application/json" + }, + "examples": { + "TrafficRules": { + "value": [ + { + "trafficRuleId": "TrafficRule123", + "serName": "ExampleService", + "filterType": "FLOW", + "priority": 1, + "trafficFilter": [ + { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + "80" + ] + } + ], + "action": "FORWARD_DECAPSULATED", + "dstInterface": { + "interfaceType": "IP", + "dstIpAddress": "20.1.1.1" + }, + "state": "ACTIVE" + } + ] + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } - } + }, + "deprecated": false + }, + "parameters": [] }, "/applications/{appInstanceId}/traffic_rules/{trafficRuleId}": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - }, - { - "$ref": "#/components/parameters/Path.TrafficRuleId" - } - ], "get": { - "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.", - "operationId": "ApplicationsTrafficRule_GET", "tags": [ "appTrafficRules" ], + "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.", + "operationId": "ApplicationsTrafficRule_GET", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "trafficRuleId", + "in": "path", + "description": "Represents a traffic rule.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsTrafficRule.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TrafficRule" + }, + "examples": { + "TrafficRule": { + "value": { + "trafficRuleId": "TrafficRule123", + "serName": "ExampleService", + "filterType": "FLOW", + "priority": 1, + "trafficFilter": [ + { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + "80" + ] + } + ], + "action": "FORWARD_DECAPSULATED", + "dstInterface": { + "interfaceType": "IP", + "dstIpAddress": "20.1.1.1" + }, + "state": "ACTIVE" + } + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } + }, + "deprecated": false }, "put": { - "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.", - "operationId": "ApplicationsTrafficRule_PUT", "tags": [ "appTrafficRules" ], + "description": "This method retrieves information about all the traffic rules associated with a MEC application instance.", + "operationId": "ApplicationsTrafficRule_PUT", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "trafficRuleId", + "in": "path", + "description": "Represents a traffic rule.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "One or more updated attributes that are allowed to be changed", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TrafficRule" + } + } + }, + "required": true + }, "responses": { "200": { - "$ref": "#/components/responses/ApplicationsTrafficRule.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TrafficRule" + }, + "examples": { + "TrafficRule": { + "value": { + "trafficRuleId": "TrafficRule123", + "serName": "ExampleService", + "filterType": "FLOW", + "priority": 1, + "trafficFilter": [ + { + "srcAddress": [ + "192.168.2.0/24", + "192.168.3.0/24" + ], + "dstAddress": [ + "192.127.4.100/32" + ], + "dstPort": [ + "80" + ] + } + ], + "action": "FORWARD_DECAPSULATED", + "dstInterface": { + "interfaceType": "IP", + "dstIpAddress": "20.1.1.1" + }, + "state": "ACTIVE" + } + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } }, "412": { - "$ref": "#/components/responses/Error.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" + } + } + } } }, - "requestBody": { - "$ref": "#/components/requestBodies/ApplicationsTrafficRule" - } - } + "deprecated": false + }, + "parameters": [] }, "/applications/{appInstanceId}/dns_rules": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - } - ], "get": { - "description": "This method retrieves information about all the DNS rules associated with a MEC application instance.", - "operationId": "ApplicationsDnsRules_GET", "tags": [ "appDnsRules" ], + "description": "This method retrieves information about all the DNS rules associated with a MEC application instance.", + "operationId": "ApplicationsDnsRules_GET", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsDnsRules.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "minItems": 0, + "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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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}": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - }, - { - "$ref": "#/components/parameters/Path.DnsRuleId" - } - ], "get": { - "description": "This method retrieves information about a DNS rule associated with a MEC application instance.", - "operationId": "ApplicationsDnsRule_GET", "tags": [ "appDnsRules" ], + "description": "This method retrieves information about a DNS rule associated with a MEC application instance.", + "operationId": "ApplicationsDnsRule_GET", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "dnsRuleId", + "in": "path", + "description": "Represents a DNS rule.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsDnsRule.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DnsRule" + }, + "examples": { + "DnsRule": { + "value": { + "dnsRuleId": "DnsRule1", + "domainName": "www.example.com", + "ipAddressType": "IP_V4", + "ipAddress": "146.241.7.3", + "ttl": 300, + "state": "ACTIVE" + } + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } + }, + "deprecated": false }, "put": { - "description": "This method activates, de-activates or updates a traffic rule.", - "operationId": "ApplicationsDnsRule_PUT", "tags": [ "appDnsRules" ], + "description": "This method activates, de-activates or updates a traffic rule.", + "operationId": "ApplicationsDnsRule_PUT", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "dnsRuleId", + "in": "path", + "description": "Represents a DNS rule.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "The updated state is included in the entity body of the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DnsRule" + } + } + }, + "required": true + }, "responses": { "200": { - "$ref": "#/components/responses/ApplicationsDnsRule.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DnsRule" + }, + "examples": { + "DnsRule": { + "value": { + "dnsRuleId": "DnsRule1", + "domainName": "www.example.com", + "ipAddressType": "IP_V4", + "ipAddress": "146.241.7.3", + "ttl": 300, + "state": "ACTIVE" + } + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } }, "412": { - "$ref": "#/components/responses/Error.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" + } + } + } } }, - "requestBody": { - "$ref": "#/components/requestBodies/ApplicationsDnsRule" - } - } + "deprecated": false + }, + "parameters": [] }, "/applications/{appInstanceId}/subscriptions": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - } - ], "get": { - "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", "tags": [ "appSubscriptions" ], + "description": "The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor.", + "operationId": "ApplicationsSubscriptions_GET", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsSubscriptions.200" + "description": "Upon success, a response body containing the list of links to the requested subscriptions is returned.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList" + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } + }, + "deprecated": false }, "post": { - "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", "tags": [ "appSubscriptions" ], + "description": "The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription.", + "operationId": "ApplicationsSubscriptions_POST", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Entity body in the request contains a subscription to the MEC application termination notifications that is to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription" + } + } + }, + "required": true + }, "responses": { "201": { - "$ref": "#/components/responses/ApplicationsSubscriptions.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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" + } + } + } } }, - "requestBody": { - "$ref": "#/components/requestBodies/ApplicationsSubscriptions" - }, + "deprecated": false, "callbacks": { - "appTerminationNotification": { - "$ref": "#/components/callbacks/AppTerminationNotification" + "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" + ], + "requestBody": { + "$ref": "#/components/requestBodies/AppTerminationNotification" + }, + "responses": { + "200": { + "description": "Expected responses from callback consumer, if it accepts the callback" + } + } + } + } } } - } + }, + "parameters": [] }, "/applications/{appInstanceId}/subscriptions/{subscriptionId}": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - }, - { - "$ref": "#/components/parameters/Path.SubscriptionId" - } - ], "get": { - "description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.", - "operationId": "ApplicationsSubscription_GET", "tags": [ "appSubscriptions" ], + "description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.", + "operationId": "ApplicationsSubscription_GET", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "subscriptionId", + "in": "path", + "description": "Represents a subscription to the notifications from the MEC platform.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsSubscription.200" + "description": "Upon success, a response body containing the requested subscription is returned.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppTerminationNotificationSubscription" + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "description": "This method deletes a mecAppSuptApiSubscription. This method is typically used in \"Unsubscribing from service availability event notifications\" procedure.", - "operationId": "ApplicationsSubscription_DELETE", "tags": [ "appSubscriptions" ], - "responses": { - "204": { - "description": "No Content" - }, - "403": { - "$ref": "#/components/responses/Error.403" - }, - "404": { - "$ref": "#/components/responses/Error.404" + "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": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - } - ], "post": { - "description": "This method is used to confirm the application level termination of an application instance.", - "operationId": "ApplicationsConfirmTermination_POST", "tags": [ "appConfirmTermination" ], + "description": "This method is used to confirm the application level termination of an application instance.", + "operationId": "ApplicationsConfirmTermination_POST", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppTerminationConfirmation" + } + } + }, + "required": false + }, "responses": { "204": { - "description": "No Content" + "description": "No Content", + "headers": {}, + "content": {} }, "401": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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" + } + } + } } }, - "requestBody": { - "$ref": "#/components/requestBodies/ApplicationsConfirmTermination" - } - } + "deprecated": false + }, + "parameters": [] }, "/applications/{appInstanceId}/confirm_ready": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - } - ], "post": { - "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", "tags": [ "appConfirmReady" ], + "description": "This method may be used by the MEC application instance to notify the MEC platform that it is up and running. ", + "operationId": "ApplicationsConfirmReady_POST", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AppReadyConfirmation" + } + } + }, + "required": false + }, "responses": { "204": { - "description": "No Content" + "description": "No Content", + "headers": {}, + "content": {} }, "401": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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" + } + } + } } }, - "requestBody": { - "$ref": "#/components/requestBodies/ApplicationsConfirmReady" - } - } + "deprecated": false + }, + "parameters": [] }, "/timing/timing_caps": { "get": { - "description": "This method retrieves the information of the platform's timing capabilities which corresponds to the timing capabilities query", - "operationId": "TimingCaps_GET", "tags": [ "timing" ], + "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": { - "$ref": "#/components/responses/TimingCaps.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TimingCaps" + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "description": "This method retrieves the information of the platform's current time which corresponds to the get platform time procedure", - "operationId": "TimingCurrentTime_GET", "tags": [ "timing" ], + "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": { - "$ref": "#/components/responses/TimingCurrentTime.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrentTime" + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } - } + }, + "deprecated": false + }, + "parameters": [] } }, "components": { "schemas": { - "Empty": { - "description": "Empty schema" - }, "AppReadyConfirmation": { - "description": "This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running.", - "type": "object", + "title": "AppReadyConfirmation", "required": [ "indication" ], + "type": "object", "properties": { "indication": { - "$ref": "#/components/schemas/ReadyIndicationType" + "const": "READY", + "type": "string", + "description": "Indication about the MEC application instance.", + "examples": [ + "READY" + ] } - } + }, + "description": "This type represents the information that the MEC application instance indicates to the MEC platform that it is up and running." }, "AppTerminationConfirmation": { - "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.", - "type": "object", + "title": "AppTerminationConfirmation", "required": [ "operationAction" ], + "type": "object", "properties": { "operationAction": { "$ref": "#/components/schemas/OperationActionType" } - } + }, + "description": "This type represents the information that the MEC application instance provides to the MEC platform when informing it that the application has completed its application level related terminate/stop actions, e.g. retention of application state in the case of stop." }, "AppTerminationNotification.Links": { - "description": "Object containing hyperlinks related to the resource.", - "type": "object", + "title": "AppTerminationNotification.Links", "required": [ "subscription" ], + "type": "object", "properties": { "subscription": { "$ref": "#/components/schemas/LinkType" @@ -489,140 +1647,127 @@ "confirmTermination": { "$ref": "#/components/schemas/LinkType.ConfirmTermination" } - } - }, - "AppTerminationNotification.MaxGracefulTimeout": { - "description": "Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.", - "type": "integer", - "format": "uint32", - "example": 10 - }, - "AppTerminationNotification.NotificationType": { - "description": "Shall be set to AppTerminationNotification.", - "type": "string", - "example": "AppTerminationNotification" + }, + "description": "Object containing hyperlinks related to the resource." }, "AppTerminationNotification": { - "description": "This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop.", - "type": "object", + "title": "AppTerminationNotification", "required": [ "notificationType", "operationAction", "maxGracefulTimeout", "_links" ], + "type": "object", "properties": { "notificationType": { - "$ref": "#/components/schemas/AppTerminationNotification.NotificationType" + "type": "string", + "description": "Shall be set to AppTerminationNotification.", + "examples": [ + "AppTerminationNotification" + ] }, "operationAction": { "$ref": "#/components/schemas/OperationActionType" }, "maxGracefulTimeout": { - "$ref": "#/components/schemas/AppTerminationNotification.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" } - } - }, - "AppTerminationNotificationSubscription.AppInstanceId": { - "description": "It is used as the filtering criterion for the subscribed events.", - "type": "string", - "example": "ID1" - }, - "AppTerminationNotificationSubscription.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" + }, + "description": "This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop." }, "AppTerminationNotificationSubscription": { - "description": "This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop.", - "type": "object", + "title": "AppTerminationNotificationSubscription", "required": [ "subscriptionType", "callbackReference", "_links", "appInstanceId" ], + "type": "object", "properties": { "subscriptionType": { - "$ref": "#/components/schemas/AppTerminationNotificationSubscription.SubscriptionType" + "type": "string", + "description": "Shall be set to AppTerminationNotificationSubscription.", + "examples": [ + "AppTerminationNotificationSubscription" + ] }, "callbackReference": { - "$ref": "#/components/schemas/AppTerminationNotificationSubscription.CallbackReference" + "type": "string", + "description": "URI selected by the MEC application instance to receive notifications on the subscribed MEC application instance management information. This shall be included in both the request and the response." }, "_links": { "$ref": "#/components/schemas/Self" }, "appInstanceId": { - "$ref": "#/components/schemas/AppTerminationNotificationSubscription.AppInstanceId" + "type": "string", + "description": "It is used as the filtering criterion for the subscribed events.", + "examples": [ + "ID1" + ] } - } - }, - "AppTerminationNotificationSubscription.SubscriptionType": { - "description": "Shall be set to AppTerminationNotificationSubscription.", - "type": "string", - "example": "AppTerminationNotificationSubscription" + }, + "description": "This type represents the information that the MEC platform notifies the subscribed application instance about the corresponding application instance termination/stop." }, "CurrentTime": { - "description": "This type represents the information provided by the MEC platform in response to the Get Platform Time Request message.", - "type": "object", + "title": "CurrentTime", "required": [ - "nanoSeconds", "seconds", + "nanoSeconds", "timeSourceStatus" ], + "type": "object", "properties": { "seconds": { "type": "integer", - "format": "uint32", "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 1577836800 + "contentEncoding": "int32", + "examples": [ + 1577836800 + ] }, "nanoSeconds": { "type": "integer", - "format": "uint32", "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 0 + "contentEncoding": "int32", + "examples": [ + 0 + ] }, "timeSourceStatus": { - "type": "string", - "enum": [ - "TRACEABLE", - "NONTRACEABLE" - ], - "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", - "example": "TRACEABLE" + "$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": { - "description": "Type of the interface", - "type": "string", + "title": "DestinationInterface.InterfaceType", "enum": [ "TUNNEL", "MAC", "IP" ], - "example": "TUNNEL" - }, - "DestinationInterface.IpAddress": { - "description": "IP address of the remote destination", - "type": "string", - "example": "192.0.2.0" - }, - "DestinationInterface.MacAddress": { - "description": "Source address identifies the MAC address of the interface", "type": "string", - "example": "02-00-00-00-00-00" + "description": "Type of the interface", + "examples": [ + "TUNNEL" + ] }, "DestinationInterface": { - "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.", - "type": "object", + "title": "DestinationInterface", "required": [ "interfaceType" ], + "type": "object", "properties": { "interfaceType": { "$ref": "#/components/schemas/DestinationInterface.InterfaceType" @@ -631,58 +1776,55 @@ "$ref": "#/components/schemas/TunnelInfo" }, "srcMacAddress": { - "$ref": "#/components/schemas/DestinationInterface.MacAddress" + "type": "string", + "description": "Source address identifies the MAC address of the interface", + "examples": [ + "02-00-00-00-00-00" + ] }, "dstMacAddress": { - "$ref": "#/components/schemas/DestinationInterface.MacAddress" + "type": "string", + "description": "Source address identifies the MAC address of the interface", + "examples": [ + "02-00-00-00-00-00" + ] }, "dstIpAddress": { - "$ref": "#/components/schemas/DestinationInterface.IpAddress" + "type": "string", + "description": "IP address of the remote destination", + "examples": [ + "192.0.2.0" + ] } - } - }, - "DnsRule.DomainName": { - "description": "FQDN resolved by the DNS rule", - "type": "string", - "example": "www.example.com" - }, - "DnsRule.Id": { - "description": "Identifies the DNS Rule", - "type": "string", - "example": "dnsRule1" - }, - "DnsRule.IpAddress": { - "description": "IP address associated with the FQDN resolved by the DNS rule", - "type": "string", - "example": "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": { - "description": "IP address type", - "type": "string", + "title": "DnsRule.IpAddressType", "enum": [ "IP_V6", "IP_V4" ], - "example": "IP_V6" + "type": "string", + "description": "IP address type", + "examples": [ + "IP_V6" + ] }, "DnsRule.State": { - "description": "DNS rule state. This attribute may be updated using HTTP PUT method", - "type": "string", + "title": "DnsRule.State", "enum": [ "ACTIVE", "INACTIVE" ], - "example": "ACTIVE" - }, - "DnsRule.Ttl": { - "description": "Time to live value", - "type": "integer", - "format": "uint32", - "example": "?" + "type": "string", + "description": "DNS rule state. This attribute may be updated using HTTP PUT method", + "examples": [ + "ACTIVE" + ] }, "DnsRule": { - "description": "This type represents the general information of a DNS rule.", - "type": "object", + "title": "DnsRule", "required": [ "dnsRuleId", "domainName", @@ -690,240 +1832,205 @@ "ipAddress", "state" ], + "type": "object", "properties": { "dnsRuleId": { - "$ref": "#/components/schemas/DnsRule.Id" + "type": "string", + "description": "Identifies the DNS Rule", + "examples": [ + "dnsRule1" + ] }, "domainName": { - "$ref": "#/components/schemas/DnsRule.DomainName" + "type": "string", + "description": "FQDN resolved by the DNS rule", + "examples": [ + "www.example.com" + ] }, "ipAddressType": { "$ref": "#/components/schemas/DnsRule.IpAddressType" }, "ipAddress": { - "$ref": "#/components/schemas/DnsRule.IpAddress" + "type": "string", + "description": "IP address associated with the FQDN resolved by the DNS rule", + "examples": [ + "192.0.2.0" + ] }, "ttl": { - "$ref": "#/components/schemas/DnsRule.Ttl" + "type": "integer", + "description": "Time to live value", + "contentEncoding": "int32" }, "state": { "$ref": "#/components/schemas/DnsRule.State" } - } + }, + "description": "This type represents the general information of a DNS rule." }, "LinkType": { - "description": "This type represents a type of link and may be referenced from data structures", + "title": "LinkType", "type": "object", "properties": { "href": { - "$ref": "#/components/schemas/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": { - "description": "Link to the task resource where to confirm termination in case the application is ready to be terminated before expiry of the timeout.", + "title": "LinkType.ConfirmTermination", "type": "object", "properties": { "href": { - "$ref": "#/components/schemas/Href" + "type": "string", + "description": "URI referring to a resource", + "examples": [ + "/mecAppSuptApi/example" + ] } - } - }, - "Href": { - "description": "URI referring to a resource", - "type": "string", - "format": "uri", - "example": "/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": { - "description": "Self-referring URI.", - "type": "object", + "title": "MecAppSuptApiSubscriptionLinkList.Links", "required": [ "self" ], + "type": "object", "properties": { "self": { "$ref": "#/components/schemas/LinkType" }, "subscriptions": { - "description": "The MEC application instance's subscriptions", "type": "array", "items": { "$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription" - } + }, + "description": "The MEC application instance's subscriptions" } - } + }, + "description": "Self-referring URI." }, "MecAppSuptApiSubscriptionLinkList.Subscription": { - "description": "A link to a subscription.", - "type": "object", + "title": "MecAppSuptApiSubscriptionLinkList.Subscription", "required": [ "href", "rel" ], + "type": "object", "properties": { "href": { - "$ref": "#/components/schemas/Href" + "type": "string", + "description": "URI referring to a resource", + "examples": [ + "/mecAppSuptApi/example" + ] }, "rel": { - "description": "The values shall be set to AppTerminationNotificationSubscription.", - "type": "string" + "type": "string", + "description": "The values shall be set to AppTerminationNotificationSubscription." } - } + }, + "description": "A link to a subscription." }, "MecAppSuptApiSubscriptionLinkList": { - "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.", - "type": "object", + "title": "MecAppSuptApiSubscriptionLinkList", "required": [ "_links" ], + "type": "object", "properties": { "_links": { "$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList.Links" } - } + }, + "description": "This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions." }, "OperationActionType": { - "description": "Operation that is being performed on the MEC application instance.", - "type": "string", + "title": "OperationActionType", "enum": [ "STOPPING", "TERMINATING" ], - "example": "TERMINATING" + "type": "string", + "description": "Operation that is being performed on the MEC application instance.", + "examples": [ + "TERMINATING" + ] }, "ProblemDetails": { + "title": "ProblemDetails", "type": "object", "properties": { "type": { - "$ref": "#/components/schemas/Problem.type" + "type": "string", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type" }, "title": { - "$ref": "#/components/schemas/Problem.title" + "type": "string", + "description": "A short, human-readable summary of the problem type" }, "status": { - "$ref": "#/components/schemas/Problem.status" + "type": "integer", + "description": "The HTTP status code for this occurrence of the problem", + "contentEncoding": "int32" }, "detail": { - "$ref": "#/components/schemas/Problem.detail" + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem" }, "instance": { - "$ref": "#/components/schemas/Problem.instance" + "type": "string", + "description": "A URI reference that identifies the specific occurrence of the problem" } } }, - "Problem.detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem" - }, - "Problem.instance": { - "type": "string", - "format": "uri", - "description": "A URI reference that identifies the specific occurrence of the problem" - }, - "Problem.status": { - "type": "integer", - "format": "uint32", - "description": "The HTTP status code for this occurrence of the problem" - }, - "Problem.title": { - "type": "string", - "description": "A short, human-readable summary of the problem type" - }, - "Problem.type": { - "type": "string", - "format": "uri", - "description": "A URI reference according to IETF RFC 3986 that identifies the problem type" - }, - "ReadyIndicationType": { - "description": "Indication about the MEC application instance.", - "type": "string", - "enum": [ - "READY" - ], - "example": "READY" - }, "Self": { - "description": "Self-referring URI.", - "type": "object", + "title": "Self", "required": [ "self" ], + "type": "object", "properties": { "self": { "$ref": "#/components/schemas/LinkType" } }, - "readOnly": true - }, - "TimingCaps.NtpServers.AuthenticationKeyNum": { - "description": "Authentication key number", - "type": "integer", - "format": "uint32", - "example": 1 + "description": "Self-referring URI." }, "TimingCaps.NtpServers.AuthenticationOption": { - "description": "NTP authentication option", - "type": "string", + "title": "TimingCaps.NtpServers.AuthenticationOption", "enum": [ "NONE", "SYMMETRIC_KEY", "AUTO_KEY" ], - "example": "NONE" - }, - "TimingCaps.NtpServers.DelayReqMaxRate": { - "description": "Acceptable maximum rate of the Delay_Req messages in packets per second", - "type": "integer", - "format": "uint32", - "example": 10 - }, - "TimingCaps.NtpServers.LocalPriority": { - "description": "NTP server local priority", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TimingCaps.NtpServers.MaxPollingInterval": { - "description": "Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17", - "type": "integer", - "format": "uint32", - "example": 17 - }, - "TimingCaps.NtpServers.MinPollingInterval": { - "description": "Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17", - "type": "integer", - "format": "uint32", - "example": 3 - }, - "TimingCaps.NtpServers.NtpServerAddr": { - "description": "NTP server address", "type": "string", - "example": "192.0.2.0" - }, + "description": "NTP authentication option", + "examples": [ + "NONE" + ] + }, "TimingCaps.NtpServers.NtpServerAddrType": { - "description": "Address type of NTP server", - "type": "string", + "title": "TimingCaps.NtpServers.NtpServerAddrType", "enum": [ "IP_ADDRESS", "DNS_NAME" ], - "example": "IP_ADDRESS" - }, - "TimingCaps.NtpServers_PtpMasterIpAddress": { - "description": "PTP Master IP Address", "type": "string", - "example": "192.0.2.0" - }, - "TimingCaps.NtpServers_PtpMasterLocalPriority": { - "description": "PTP Master local priority", - "type": "integer", - "format": "uint32", - "example": 1 + "description": "Address type of NTP server", + "examples": [ + "IP_ADDRESS" + ] }, "TimingCaps.NtpServers": { - "description": "NTP server detail.", - "type": "object", + "title": "TimingCaps.NtpServers", "required": [ "ntpServerAddrType", "ntpServerAddr", @@ -933,231 +2040,245 @@ "authenticationOption", "authenticationKeyNum" ], + "type": "object", "properties": { "ntpServerAddrType": { "$ref": "#/components/schemas/TimingCaps.NtpServers.NtpServerAddrType" }, "ntpServerAddr": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.NtpServerAddr" + "type": "string", + "description": "NTP server address", + "examples": [ + "192.0.2.0" + ] }, "minPollingInterval": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.MinPollingInterval" + "type": "integer", + "description": "Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17", + "contentEncoding": "int32", + "examples": [ + 3 + ] }, "maxPollingInterval": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.MaxPollingInterval" + "type": "integer", + "description": "Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17", + "contentEncoding": "int32", + "examples": [ + 17 + ] }, "localPriority": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.LocalPriority" + "type": "integer", + "description": "NTP server local priority", + "contentEncoding": "int32", + "examples": [ + 1 + ] }, "authenticationOption": { "$ref": "#/components/schemas/TimingCaps.NtpServers.AuthenticationOption" }, "authenticationKeyNum": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.AuthenticationKeyNum" + "type": "integer", + "description": "Authentication key number", + "contentEncoding": "int32", + "examples": [ + 1 + ] } - } + }, + "description": "NTP server detail." }, "TimingCaps_PtpMasters": { - "description": "NTP server detail.", - "type": "object", + "title": "TimingCaps_PtpMasters", "required": [ "ptpMasterIpAddress", "ptpMasterLocalPriority", "delayReqMaxRate" ], + "type": "object", "properties": { "ptpMasterIpAddress": { - "$ref": "#/components/schemas/TimingCaps.NtpServers_PtpMasterIpAddress" + "type": "string", + "description": "PTP Master IP Address", + "examples": [ + "192.0.2.0" + ] }, "ptpMasterLocalPriority": { - "$ref": "#/components/schemas/TimingCaps.NtpServers_PtpMasterLocalPriority" + "type": "integer", + "description": "PTP Master local priority", + "contentEncoding": "int32", + "examples": [ + 1 + ] }, "delayReqMaxRate": { - "$ref": "#/components/schemas/TimingCaps.NtpServers.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": { - "description": "time", - "type": "object", + "title": "TimingCaps.TimeStamp", "required": [ - "nanoSeconds", - "seconds" + "seconds", + "nanoSeconds" ], + "type": "object", "properties": { "seconds": { "type": "integer", - "format": "uint32", "description": "The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 1577836800 + "contentEncoding": "int32", + "examples": [ + 1577836800 + ] }, "nanoSeconds": { "type": "integer", - "format": "uint32", "description": "The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC", - "example": 0 + "contentEncoding": "int32", + "examples": [ + 0 + ] } - } + }, + "description": "time" }, "TimingCaps": { - "description": "This type represents the information provided by the MEC platform in response to the Timing capabilities Query message.", + "title": "TimingCaps", "type": "object", "properties": { "timeStamp": { "$ref": "#/components/schemas/TimingCaps.TimeStamp" }, "ntpServers": { - "description": "Available NTP servers", "type": "array", "items": { "$ref": "#/components/schemas/TimingCaps.NtpServers" - } + }, + "description": "Available NTP servers" }, "ptpMasters": { - "description": "Available PTP Masters", "type": "array", "items": { "$ref": "#/components/schemas/TimingCaps_PtpMasters" - } + }, + "description": "Available PTP Masters" } - } - }, - "TrafficFilter.Address": { - "description": "Identify the traffic ip address.", - "type": "string", - "example": "192.168.1.1" - }, - "TrafficFilter.DSCP": { - "description": "Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP)", - "type": "integer", - "format": "uint32", - "example": 0 - }, - "TrafficFilter.Port": { - "description": "A port", - "type": "string", - "example": "8080" - }, - "TrafficFilter.Protocol": { - "description": "Protocol of the traffic filter", - "type": "string", - "example": "?" - }, - "TrafficFilter.QCI": { - "description": "Used to match all packets that have the same Quality Class Indicator (QCI).", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TrafficFilter.TC": { - "description": "Used to match all IPv6 packets that have the same Traffic Class.", - "type": "integer", - "format": "uint32", - "example": 1 - }, - "TrafficFilter.Token": { - "description": "Used for token based traffic rule", - "type": "string", - "example": "?" - }, - "TrafficFilter.TunnelAddress": { - "description": "Used for GTP tunnel based traffic rule", - "type": "string", - "example": "?" - }, - "TrafficFilter.TunnelPort": { - "description": "Used for GTP tunnel based traffic rule", - "type": "string", - "example": "?" + }, + "description": "This type represents the information provided by the MEC platform in response to the Timing capabilities Query message." }, "TrafficFilter": { - "description": "This type represents the traffic filter.", + "title": "TrafficFilter", "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", "items": { - "$ref": "#/components/schemas/TrafficFilter.Address" - } + "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", "items": { - "$ref": "#/components/schemas/TrafficFilter.Address" - } + "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", "items": { - "$ref": "#/components/schemas/TrafficFilter.Port" - } + "type": "string" + }, + "description": "A port or a range of ports" }, "dstPort": { - "description": "A port or a range of ports", "type": "array", "items": { - "$ref": "#/components/schemas/TrafficFilter.Port" - } + "type": "string" + }, + "description": "A port or a range of ports" }, "protocol": { - "description": "Specify the protocol of the traffic filter", "type": "array", "items": { - "$ref": "#/components/schemas/TrafficFilter.Protocol" - } + "type": "string" + }, + "description": "Specify the protocol of the traffic filter" }, "token": { - "description": "Used for token based traffic rule", "type": "array", "items": { - "$ref": "#/components/schemas/TrafficFilter.Token" - } + "type": "string" + }, + "description": "Used for token based traffic rule" }, "srcTunnelAddress": { - "description": "Used for GTP tunnel based traffic rule", "type": "array", "items": { - "$ref": "#/components/schemas/TrafficFilter.TunnelAddress" - } + "type": "string" + }, + "description": "Used for GTP tunnel based traffic rule" }, "tgtTunnelAddress": { - "description": "Used for GTP tunnel based traffic rule", "type": "array", "items": { - "$ref": "#/components/schemas/TrafficFilter.TunnelAddress" - } + "type": "string" + }, + "description": "Used for GTP tunnel based traffic rule" }, "srcTunnelPort": { - "description": "Used for GTP tunnel based traffic rule", "type": "array", "items": { - "$ref": "#/components/schemas/TrafficFilter.TunnelPort" - } + "type": "string" + }, + "description": "Used for GTP tunnel based traffic rule" }, "dstTunnelPort": { - "description": "Used for GTP tunnel based traffic rule", "type": "array", "items": { - "$ref": "#/components/schemas/TrafficFilter.TunnelPort" - } + "type": "string" + }, + "description": "Used for GTP tunnel based traffic rule" }, "qCI": { - "$ref": "#/components/schemas/TrafficFilter.QCI" + "type": "integer", + "description": "Used to match all packets that have the same Quality Class Indicator (QCI).", + "contentEncoding": "int32", + "examples": [ + 1 + ] }, "dSCP": { - "$ref": "#/components/schemas/TrafficFilter.DSCP" + "type": "integer", + "description": "Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP)", + "contentEncoding": "int32", + "examples": [ + 0 + ] }, "tC": { - "$ref": "#/components/schemas/TrafficFilter.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": { - "description": "The action of the MEC host data plane when a packet matches the trafficFilter\n ", - "type": "string", + "title": "TrafficRule.Action", "enum": [ "DROP", "FORWARD_DECAPSULATED", @@ -1166,40 +2287,38 @@ "DUPLICATE_DECAPSULATED", "DUPLICATE_ENCAPSULATED" ], - "example": "DROP" + "type": "string", + "description": "The action of the MEC host data plane when a packet matches the trafficFilter", + "examples": [ + "DROP" + ] }, "TrafficRule.FilterType": { - "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", - "type": "string", + "title": "TrafficRule.FilterType", "enum": [ "FLOW", "PACKET" ], - "example": "FLOW" - }, - "TrafficRule.Id": { - "description": "Identify the traffic rule.", "type": "string", - "example": "TrafficRule1" - }, - "TrafficRule_Priority": { - "description": "Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence", - "type": "integer", - "format": "uint32", - "example": 1 + "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": { - "description": "Contains the traffic rule state. This attribute may be updated using HTTP PUT method", - "type": "string", + "title": "TrafficRule.State", "enum": [ "ACTIVE", "INACTIVE" ], - "example": "ACTIVE" + "type": "string", + "description": "Contains the traffic rule state. This attribute may be updated using HTTP PUT method", + "examples": [ + "ACTIVE" + ] }, "TrafficRule": { - "description": "This type represents the general information of a traffic rule.", - "type": "object", + "title": "TrafficRule", "required": [ "trafficRuleId", "filterType", @@ -1208,21 +2327,32 @@ "action", "state" ], + "type": "object", "properties": { "trafficRuleId": { - "$ref": "#/components/schemas/TrafficRule.Id" + "type": "string", + "description": "Identify the traffic rule.", + "examples": [ + "TrafficRule1" + ] }, "filterType": { "$ref": "#/components/schemas/TrafficRule.FilterType" }, "priority": { - "$ref": "#/components/schemas/TrafficRule_Priority" + "type": "integer", + "description": "Priority of this traffic rule. If traffic rule conflicts, the one with higher priority take precedence", + "contentEncoding": "int32", + "examples": [ + 1 + ] }, "trafficFilter": { "type": "array", "items": { "$ref": "#/components/schemas/TrafficFilter" - } + }, + "description": "" }, "action": { "$ref": "#/components/schemas/TrafficRule.Action" @@ -1233,397 +2363,62 @@ "state": { "$ref": "#/components/schemas/TrafficRule.State" } - } - }, - "TunnelInfo.TunnelDstAddress": { - "description": "Destination address of the tunnel", - "type": "string", - "example": "?" - }, - "TunnelInfo.TunnelSrcAddress": { - "description": "Source address of the tunnel", - "type": "string", - "example": "?" + }, + "description": "This type represents the general information of a traffic rule." }, "TunnelInfo.TunnelType": { - "description": "This type represents the tunnel information.", - "type": "string", + "title": "TunnelInfo.TunnelType", "enum": [ "GTP_U", "GRE" ], - "example": "GTP_U" + "type": "string", + "description": "This type represents the tunnel information.", + "examples": [ + "GTP_U" + ] }, "TunnelInfo": { - "description": "This type represents the tunnel information.", - "type": "object", + "title": "TunnelInfo", "required": [ "tunnelType" ], + "type": "object", "properties": { "tunnelType": { "$ref": "#/components/schemas/TunnelInfo.TunnelType" }, "tunnelDstAddress": { - "$ref": "#/components/schemas/TunnelInfo.TunnelDstAddress" + "type": "string", + "description": "Destination address of the tunnel", + "examples": [ + "?" + ] }, "tunnelSrcAddress": { - "$ref": "#/components/schemas/TunnelInfo.TunnelSrcAddress" - } - } - } - }, - "parameters": { - "Path.AppInstanceId": { - "name": "appInstanceId", - "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "Path.DnsRuleId": { - "name": "dnsRuleId", - "description": "Represents a DNS rule.", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "Path.SubscriptionId": { - "name": "subscriptionId", - "description": "Represents a subscription to the notifications from the MEC platform.", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "Path.TrafficRuleId": { - "name": "trafficRuleId", - "description": "Represents a traffic rule.", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - }, - "responses": { - "ApplicationsDnsRules.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 0, - "items": { - "$ref": "#/components/schemas/DnsRule" - } - }, - "examples": { - "DnsRules": { - "$ref": "#/components/examples/DnsRules" - } - } - } - }, - "links": { - "getIndividualMeDNSRule": { - "$ref": "#/components/links/GetIndividualMeDNSRule" - }, - "putIndividualMeDNSRule": { - "$ref": "#/components/links/PutIndividualMeDNSRule" - } - } - }, - "ApplicationsDnsRule.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DnsRule" - }, - "examples": { - "DnsRule": { - "$ref": "#/components/examples/DnsRule" - } - } - } - } - }, - "ApplicationsSubscriptions.200": { - "description": "Upon success, a response body containing the list of links to the requested subscriptions is returned.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MecAppSuptApiSubscriptionLinkList" - } - } - }, - "links": { - "getIndividualmecAppSuptApiSubscriptionLinkList": { - "$ref": "#/components/links/GetIndividualmecAppSuptApiSubscriptionLinkList" - }, - "delIndividualmecAppSuptApiSubscriptionLinkList": { - "$ref": "#/components/links/DelIndividualmecAppSuptApiSubscriptionLinkList" - } - } - }, - "ApplicationsSubscriptions.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", - "schema": { - "type": "string", - "format": "uri" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppTerminationNotificationSubscription" - } - } - }, - "links": { - "getIndividualmecAppSuptApiSubscription": { - "$ref": "#/components/links/GetIndividualmecAppSuptApiSubscription" - }, - "delIndividualmecAppSuptApiSubscription": { - "$ref": "#/components/links/DelIndividualmecAppSuptApiSubscription" - } - } - }, - "ApplicationsSubscription.200": { - "description": "Upon success, a response body containing the requested subscription is returned.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppTerminationNotificationSubscription" - } - } - } - }, - "ApplicationsTrafficRules.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 0, - "items": { - "$ref": "#/components/schemas/TrafficRule" - } - }, - "examples": { - "TrafficRules": { - "$ref": "#/components/examples/TrafficRules" - } - } + "type": "string", + "description": "Source address of the tunnel", + "examples": [ + "?" + ] } }, - "links": { - "getIndividualMeTrafficRule": { - "$ref": "#/components/links/GetIndividualMeTrafficRule" - }, - "putIndividualMeTrafficRule": { - "$ref": "#/components/links/PutIndividualMeTrafficRule" - } - } - }, - "ApplicationsTrafficRule.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TrafficRule" - }, - "examples": { - "TrafficRule": { - "$ref": "#/components/examples/TrafficRule" - } - } - } - } - }, - "TimingCurrentTime.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CurrentTime" - } - } - } + "description": "This type represents the tunnel information." }, - "TimingCaps.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TimingCaps" - } - } - } - }, - "Error.400": { - "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.401": { - "description": "Unauthorized. It is used when the client did not submit the appropriate credentials.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.403": { - "description": "Forbidden. The operation is not allowed given the current status of the resource. ", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "Error.404": { - "description": "Not Found. It is 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" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.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.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.412": { - "description": "Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.429": { - "description": "Too Many Requests. It is used when a rate limiter has triggered.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } + "TimeSourceStatus": { + "title": "TimeSourceStatus", + "enum": [ + "TRACEABLE", + "NONTRACEABLE" + ], + "type": "string", + "description": "Platform Time Source status. 1 = TRACEABLE - time source is locked to the UTC time source. 2 = NONTRACEABLE - time source is not locked to the UTC time source", + "examples": [ + "TRACEABLE" + ] } }, "requestBodies": { - "ApplicationsConfirmReady": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppReadyConfirmation" - } - } - } - }, - "ApplicationsConfirmTermination": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppTerminationConfirmation" - } - } - } - }, - "ApplicationsDnsRule": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DnsRule" - } - } - }, - "description": "The updated state is included in the entity body of the request.", - "required": true - }, - "ApplicationsSubscriptions": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AppTerminationNotificationSubscription" - } - } - }, - "description": "Entity body in the request contains a subscription to the MEC application termination notifications that is to be created.", - "required": true - }, - "ApplicationsTrafficRule": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TrafficRule" - } - } - }, - "description": "One or more updated attributes that are allowed to be changed", - "required": true - }, "AppTerminationNotification": { "content": { "application/json": { @@ -1634,179 +2429,9 @@ }, "required": true } - }, - "callbacks": { - "AppTerminationNotification": { - "{$request.body#/callbackReference}": { - "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" - ], - "requestBody": { - "$ref": "#/components/requestBodies/AppTerminationNotification" - }, - "responses": { - "200": { - "description": "Expected responses from callback consumer, if it accepts the callback" - } - } - } - } - } - }, - "links": { - "GetIndividualMeDNSRule": { - "operationId": "ApplicationsDnsRule_GET", - "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `GET /applications/{appInstanceId}/dns_rules/{dnsRuleId}`", - "parameters": { - "dnsRuleId": "$response.body#/dnsRuleId" - } - }, - "PutIndividualMeDNSRule": { - "operationId": "ApplicationsDnsRule_PUT", - "description": "The `dnsRuleId` value returned in the response can be used as the `dnsRuleId` parameter in `PUT /applications/{appInstanceId}/dns_rules/{dnsRuleId}`", - "parameters": { - "dnsRuleId": "$response.body#/dnsRuleId" - } - }, - "GetIndividualMeTrafficRule": { - "operationId": "ApplicationsTrafficRule_GET", - "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `GET /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`", - "parameters": { - "trafficRuleId": "$response.body#/trafficRuleId" - } - }, - "PutIndividualMeTrafficRule": { - "operationId": "ApplicationsTrafficRule_PUT", - "description": "The `trafficRuleId` value returned in the response can be used as the `trafficRuleId` parameter in `PUT /applications/{appInstanceId}/traffic_rules/{trafficRuleId}`", - "parameters": { - "trafficRuleId": "$response.body#/trafficRuleId" - } - }, - "GetIndividualmecAppSuptApiSubscription": { - "operationId": "ApplicationsSubscription_GET", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_app_support\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - }, - "DelIndividualmecAppSuptApiSubscription": { - "operationId": "ApplicationsSubscription_DELETE", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_app_support\\/v1\\/applications\\/.*\\/subscriptions\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - }, - "GetIndividualmecAppSuptApiSubscriptionLinkList": { - "operationId": "ApplicationsSubscription_GET", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_app_support\\/v1\\/applications\\/.*\\/subscriptions\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - }, - "DelIndividualmecAppSuptApiSubscriptionLinkList": { - "operationId": "ApplicationsSubscription_DELETE", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_app_support\\/v1\\/applications\\/.*\\/subscriptions\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - } - }, - "examples": { - "DnsRule": { - "value": { - "dnsRuleId": "DnsRule1", - "domainName": "www.example.com", - "ipAddressType": "IP_V4", - "ipAddress": "146.241.7.3", - "ttl": 300, - "state": "ACTIVE" - } - }, - "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" - } - ] - }, - "TrafficRule": { - "value": { - "trafficRuleId": "TrafficRule123", - "serName": "ExampleService", - "filterType": "FLOW", - "priority": 1, - "trafficFilter": [ - { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - "80" - ] - } - ], - "action": "FORWARD_DECAPSULATED", - "dstInterface": { - "interfaceType": "IP", - "dstIpAddress": "20.1.1.1" - }, - "state": "ACTIVE" - } - }, - "TrafficRules": { - "value": [ - { - "trafficRuleId": "TrafficRule123", - "serName": "ExampleService", - "filterType": "FLOW", - "priority": 1, - "trafficFilter": [ - { - "srcAddress": [ - "192.168.2.0/24", - "192.168.3.0/24" - ], - "dstAddress": [ - "192.127.4.100/32" - ], - "dstPort": [ - "80" - ] - } - ], - "action": "FORWARD_DECAPSULATED", - "dstInterface": { - "interfaceType": "IP", - "dstIpAddress": "20.1.1.1" - }, - "state": "ACTIVE" - } - ] - } } - } + }, + "security": [ + {} + ] } \ No newline at end of file diff --git a/MecServiceMgmtApi.json b/MecServiceMgmtApi.json index fab08a9..d9e11f1 100644 --- a/MecServiceMgmtApi.json +++ b/MecServiceMgmtApi.json @@ -1,16 +1,7 @@ { - "openapi": "3.0.2", - "servers": [ - { - "url": "http://127.0.0.1:8081/mec_service_mgmt/v1" - }, - { - "url": "https://127.0.0.1:8081/mec_service_mgmt/v1" - } - ], + "openapi": "3.1.0", "info": { "title": "MEC Service Management API", - "version": "2.1.1", "description": "The ETSI MEC ISG MEC011 MEC Service Management API described using OpenAPI", "license": { "name": "BSD-3-Clause", @@ -18,12 +9,24 @@ }, "contact": { "email": "cti_support@etsi.org" - } + }, + "version": "2.1.1" }, "externalDocs": { "description": "ETSI GS MEC011 Application Enablement API, V2.1.1", "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/011/02.01.01_60/gs_MEC011v020101p.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" @@ -42,685 +45,1879 @@ } ], "paths": { - "/services": { + "/applications/{appInstanceId}/subscriptions": { "get": { - "description": "This method retrieves information about a list of mecService resources. This method is typically used in \"service availability query\" procedure", - "operationId": "Services_GET", "tags": [ - "services" + "appSubscriptions" ], + "description": "The GET method may be used to request information about all subscriptions for this requestor. Upon success, the response contains entity body with all the subscriptions for the requestor.", + "operationId": "ApplicationsSubscriptions_GET", "parameters": [ { - "$ref": "#/components/parameters/Query.Ser_instance_id" - }, - { - "$ref": "#/components/parameters/Query.Ser_name" - }, - { - "$ref": "#/components/parameters/Query.Ser_category_id" - }, - { - "$ref": "#/components/parameters/Query.Consumed_local_only" - }, - { - "$ref": "#/components/parameters/Query.Is_local" - }, - { - "$ref": "#/components/parameters/Query.LocalityType" + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/Services.200" + "description": "Upon success, a response body containing the list of links to the requested subscriptions is returned.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MecServiceMgmtApiSubscriptionLinkList" + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" - }, - "414": { - "$ref": "#/components/responses/Error.414" + "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" + } + } + } } - } - } - }, - "/services/{serviceId}": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.ServiceId" - } - ], - "get": { - "description": "This method retrieves information about a mecService resource. This method is typically used in \"service availability query\" procedure", - "operationId": "ServicesServiceId_GET", + }, + "deprecated": false + }, + "post": { "tags": [ - "services" + "appSubscriptions" + ], + "description": "The POST method may be used to create a new subscription. One example use case is to create a new subscription to the MEC service availability notifications. Upon success, the response contains entity body describing the created subscription.", + "operationId": "ApplicationsSubscriptions_POST", + "parameters": [ + { + "name": "appInstanceId", + "in": "path", + "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } ], + "requestBody": { + "description": "Entity body in the request contains a subscription to the MEC application termination notifications that is to be created.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" + } + } + }, + "required": true + }, "responses": { - "200": { - "$ref": "#/components/responses/ServicesServiceId.200" + "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/SerAvailabilityNotificationSubscription" + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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\n when the MEC platform announces the newly available\nservices 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", + "tags": [ + "callbacks" + ], + "requestBody": { + "$ref": "#/components/requestBodies/ServiceAvailabilityNotification" + }, + "responses": { + "200": { + "description": "Expected responses from callback consumer, if it accepts the callback" + } + } + } + } } } - } + }, + "parameters": [] }, - "/applications/{appInstanceId}/services": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - } - ], + "/applications/{appInstanceId}/subscriptions/{subscriptionId}": { "get": { - "description": "This method retrieves information about a list of mecService resources. This method is typically used in \"service availability query\" procedure", - "operationId": "AppServices_GET", "tags": [ - "appServices" + "appSubscriptions" ], + "description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.", + "operationId": "ApplicationsSubscription_GET", "parameters": [ { - "$ref": "#/components/parameters/Query.Ser_instance_id" - }, - { - "$ref": "#/components/parameters/Query.Ser_name" - }, - { - "$ref": "#/components/parameters/Query.Ser_category_id" - }, - { - "$ref": "#/components/parameters/Query.Consumed_local_only" - }, - { - "$ref": "#/components/parameters/Query.Is_local" + "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.LocalityType" + "name": "subscriptionId", + "in": "path", + "description": "Represents a subscription to the notifications from the MEC platform.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "$ref": "#/components/responses/Services.200" + "description": "Upon success, a response body containing the requested subscription is returned.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" - }, - "414": { - "$ref": "#/components/responses/Error.414" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } + }, + "deprecated": false }, - "post": { - "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", + "delete": { "tags": [ - "appServices" + "appSubscriptions" ], - "responses": { - "201": { - "$ref": "#/components/responses/Services.201" + "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" + } }, - "400": { - "$ref": "#/components/responses/Error.400" + { + "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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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" + } + } + } } }, - "requestBody": { - "$ref": "#/components/requestBodies/Services.Post" - } - } + "deprecated": false + }, + "parameters": [] }, - "/applications/{appInstanceId}/services/{serviceId}": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - }, - { - "$ref": "#/components/parameters/Path.ServiceId" - } - ], + "/applications/{appInstanceId}/services": { "get": { - "description": "This method retrieves information about a mecService resource. This method is typically used in \"service availability query\" procedure", - "operationId": "AppServicesServiceId_GET", "tags": [ "appServices" ], - "responses": { - "200": { - "$ref": "#/components/responses/ServicesServiceId.200" + "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" + } }, - "400": { - "$ref": "#/components/responses/Error.400" + { + "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" + } + } }, - "403": { - "$ref": "#/components/responses/Error.403" + { + "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" + } + } }, - "404": { - "$ref": "#/components/responses/Error.404" + { + "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" + } } - } - }, - "put": { - "description": "This method updates the information about a mecService resource", - "operationId": "AppServicesServiceId_PUT", - "tags": [ - "appServices" ], "responses": { "200": { - "$ref": "#/components/responses/ServicesServiceId.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "minItems": 0, + "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" + } + ] + ], + "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" + } + ] + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } }, - "412": { - "$ref": "#/components/responses/Error.412" - } + "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" + } + } + } + } }, - "requestBody": { - "$ref": "#/components/requestBodies/ServicesServiceId" - } + "deprecated": false }, - "delete": { - "description": "This method deletes a mecService resource. This method is typically used in the service deregistration procedure. ", - "operationId": "AppServicesServiceId_DELETE", + "post": { "tags": [ "appServices" ], + "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" + } + } + ], + "requestBody": { + "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", + "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 + }, "responses": { - "204": { - "description": "No Content" + "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" + } + } + } + } + }, + "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" + } + } + } + } + } + }, + "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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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}/subscriptions": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" - } - ], + "/applications/{appInstanceId}/services/{serviceId}": { "get": { - "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", "tags": [ - "appSubscriptions" + "appServices" + ], + "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.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsSubscriptions.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/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" + } + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } + }, + "deprecated": false }, - "post": { - "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", + "put": { "tags": [ - "appSubscriptions" + "appServices" ], - "responses": { - "201": { - "$ref": "#/components/responses/ApplicationsSubscriptions.201" - }, - "400": { - "$ref": "#/components/responses/Error.400" - }, - "403": { - "$ref": "#/components/responses/Error.403" + "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" + } }, - "404": { - "$ref": "#/components/responses/Error.404" + { + "name": "serviceId", + "in": "path", + "description": "Represents a MEC service instance.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } } - }, + ], "requestBody": { - "$ref": "#/components/requestBodies/ApplicationsSubscriptions" - }, - "callbacks": { - "serviceAvailabilityNotification": { - "$ref": "#/components/callbacks/ServiceAvailabilityNotification" - } - } - } - }, - "/applications/{appInstanceId}/subscriptions/{subscriptionId}": { - "parameters": [ - { - "$ref": "#/components/parameters/Path.AppInstanceId" + "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ServiceInfo" + } + } + }, + "required": true }, - { - "$ref": "#/components/parameters/Path.SubscriptionId" - } - ], - "get": { - "description": "The GET method requests information about a subscription for this requestor. Upon success, the response contains entity body with the subscription for the requestor.", - "operationId": "ApplicationsSubscription_GET", - "tags": [ - "appSubscriptions" - ], "responses": { "200": { - "$ref": "#/components/responses/ApplicationsSubscription.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/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" + } + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" + "description": "Not Found. It is used when a client provided a URI that cannot be mapped to a valid resource URI.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } + }, + "412": { + "description": "Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.", + "headers": {}, + "content": { + "application/problem+json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + }, + "text/plain": { + "schema": { + "type": "object", + "description": "Empty schema", + "contentMediaType": "text/plain" + } + } + } } - } + }, + "deprecated": false }, "delete": { - "description": "This method deletes a mecSrvMgmtSubscription. This method is typically used in \"Unsubscribing from service availability event notifications\" procedure.", - "operationId": "ApplicationsSubscription_DELETE", "tags": [ - "appSubscriptions" + "appServices" + ], + "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.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } ], "responses": { "204": { - "description": "No Content" + "description": "No Content", + "headers": {}, + "content": {} }, "403": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { + "/services": { "get": { - "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", "tags": [ - "transports" + "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": { - "$ref": "#/components/responses/Transports.200" + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "minItems": 0, + "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" + } + ] + ], + "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" + } + ] + } + } + } + } }, "400": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.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": { - "$ref": "#/components/responses/Error.404" - } - } - } - } - }, - "components": { - "schemas": { - "Empty": { - "description": "Empty schema" - }, - "CategoryRef.Href": { - "description": "Reference of the catalogue", - "type": "string", - "format": "uri", - "example": "/example/catalogue1" - }, - "CategoryRef.Id": { - "description": "Unique identifier of the category", - "type": "string", - "example": "id12345" + "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 }, - "CategoryRef.Name": { - "description": "Name of the category, example values include RNI, Location & Bandwidth Management", - "type": "string", - "example": "RNI" + "parameters": [] + }, + "/services/{serviceId}": { + "get": { + "tags": [ + "services" + ], + "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.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/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" + } + } + } + } + } + }, + "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 }, - "CategoryRef.Version": { - "description": "Category version", - "type": "string", - "example": "version1" + "parameters": [] + }, + "/transports": { + "get": { + "tags": [ + "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", + "parameters": [], + "responses": { + "200": { + "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", + "headers": {}, + "content": { + "application/json": { + "schema": { + "minItems": 0, + "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": [] + } + }, + "components": { + "schemas": { "CategoryRef": { - "description": "This type represents the category reference", - "type": "object", + "title": "CategoryRef", "required": [ "href", "id", "name", "version" ], + "type": "object", "properties": { "href": { - "$ref": "#/components/schemas/CategoryRef.Href" + "type": "string", + "description": "Reference of the catalogue", + "examples": [ + "/example/catalogue1" + ] }, "id": { - "$ref": "#/components/schemas/CategoryRef.Id" + "type": "string", + "description": "Unique identifier of the category", + "examples": [ + "id12345" + ] }, "name": { - "$ref": "#/components/schemas/CategoryRef.Name" + "type": "string", + "description": "Name of the category, example values include RNI, Location & Bandwidth Management", + "examples": [ + "RNI" + ] }, "version": { - "$ref": "#/components/schemas/CategoryRef.Version" + "type": "string", + "description": "Category version", + "examples": [ + "version1" + ] } - } - }, - "CategoryRefs": { - "description": "Categories of services about which to report events.", - "type": "array", - "minItems": 0, - "items": { - "$ref": "#/components/schemas/CategoryRef" - } - }, - "EndPointInfo.Address.Host": { - "description": "Host portion of the address", - "type": "string", - "example": "192.0.2.0" - }, - "EndPointInfo.Address_Port": { - "description": "Port portion of the address", - "type": "integer", - "format": "uint32", - "example": 8080 + }, + "description": "This type represents the category reference" }, "EndPointInfo.Address": { - "description": "A IP address and port pair", - "type": "object", + "title": "EndPointInfo.Address", "required": [ "host", "port" ], + "type": "object", "properties": { "host": { - "$ref": "#/components/schemas/EndPointInfo.Address.Host" + "type": "string", + "description": "Host portion of the address", + "examples": [ + "192.0.2.0" + ] }, "port": { - "$ref": "#/components/schemas/EndPointInfo.Address_Port" + "type": "integer", + "description": "Port portion of the address", + "contentEncoding": "int32", + "examples": [ + 8080 + ] } - } + }, + "description": "A IP address and port pair" }, "EndPointInfo.Addresses": { - "description": "Entry point information of the service as one or more pairs of IP address and port", - "type": "object", + "title": "EndPointInfo.Addresses", "required": [ "addresses" ], + "type": "object", "properties": { "addresses": { - "type": "array", "minItems": 0, + "type": "array", "items": { "$ref": "#/components/schemas/EndPointInfo.Address" - } + }, + "description": "" } - } + }, + "description": "Entry point information of the service as one or more pairs of IP address and port" }, "EndPointInfo.Alternative": { - "description": "Entry point information of the service in a format defined by an implementation, or in an external specification.", - "type": "object", + "title": "EndPointInfo.Alternative", "required": [ "alternative" ], + "type": "object", "properties": { "alternative": { "type": "object" } - } - }, - "EndPointInfo.Uri": { - "description": "Entry point information of the service", - "type": "string", - "format": "uri", - "example": "/mecSerMgmtApi/service/EntryPoint" + }, + "description": "Entry point information of the service in a format defined by an implementation, or in an external specification." }, "EndPointInfo.Uris": { - "description": "Entry point information of the service as string, formatted according to URI syntax", - "type": "object", + "title": "EndPointInfo.Uris", "required": [ "uris" ], + "type": "object", "properties": { "uris": { - "type": "array", "minItems": 0, + "type": "array", "items": { - "$ref": "#/components/schemas/EndPointInfo.Uri" - } + "type": "string" + }, + "description": "" } - } + }, + "description": "Entry point information of the service as string, formatted according to URI syntax" }, "LinkType": { - "description": "This type represents a type of link and may be referenced from data structures", + "title": "LinkType", "type": "object", "properties": { "href": { - "$ref": "#/components/schemas/Href" + "type": "string", + "description": "URI referring to a resource", + "examples": [ + "/mecSerMgmtApi/example" + ] } - } - }, - "Href": { - "description": "URI referring to a resource", - "type": "string", - "format": "uri", - "example": "/mecSerMgmtApi/example" + }, + "description": "This type represents a type of link and may be referenced from data structures" }, "MecServiceMgmtApiSubscriptionLinkList.Links": { - "description": "Self-referring URI.", - "type": "object", + "title": "MecServiceMgmtApiSubscriptionLinkList.Links", "required": [ "self" ], + "type": "object", "properties": { "self": { "$ref": "#/components/schemas/LinkType" }, "subscriptions": { - "description": "The MEC application instance's subscriptions", "type": "array", "items": { "$ref": "#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Subscription" - } + }, + "description": "The MEC application instance's subscriptions" } - } + }, + "description": "Self-referring URI." }, "MecServiceMgmtApiSubscriptionLinkList.Subscription": { - "description": "A link to a subscription.", - "type": "object", + "title": "MecServiceMgmtApiSubscriptionLinkList.Subscription", "required": [ "href", "rel" ], + "type": "object", "properties": { "href": { - "$ref": "#/components/schemas/Href" + "type": "string", + "description": "URI referring to a resource", + "examples": [ + "/mecSerMgmtApi/example" + ] }, "rel": { - "description": "The value shall be se to SerAvailabilityNotificationSubscription.", - "type": "string" + "type": "string", + "description": "The value shall be se to SerAvailabilityNotificationSubscription." } - } + }, + "description": "A link to a subscription." }, "MecServiceMgmtApiSubscriptionLinkList": { - "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.", - "type": "object", + "title": "MecServiceMgmtApiSubscriptionLinkList", "required": [ "_links" ], + "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": { - "$ref": "#/components/schemas/Problem.type" + "type": "string", + "description": "A URI reference according to IETF RFC 3986 that identifies the problem type" }, "title": { - "$ref": "#/components/schemas/Problem.title" + "type": "string", + "description": "A short, human-readable summary of the problem type" }, "status": { - "$ref": "#/components/schemas/Problem.status" + "type": "integer", + "description": "The HTTP status code for this occurrence of the problem", + "contentEncoding": "int32" }, "detail": { - "$ref": "#/components/schemas/Problem.detail" + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem" }, "instance": { - "$ref": "#/components/schemas/Problem.instance" + "type": "string", + "description": "A URI reference that identifies the specific occurrence of the problem" } } }, - "Problem.detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem" - }, - "Problem.instance": { - "type": "string", - "format": "uri", - "description": "A URI reference that identifies the specific occurrence of the problem" - }, - "Problem.status": { - "type": "integer", - "format": "uint32", - "description": "The HTTP status code for this occurrence of the problem" - }, - "Problem.title": { - "type": "string", - "description": "A short, human-readable summary of the problem type" - }, - "Problem.type": { - "type": "string", - "format": "uri", - "description": "A URI reference according to IETF RFC 3986 that identifies the problem type" - }, "SecurityInfo.OAuth2Info.GrantType": { - "description": "OAuth 2.0 grant type", - "type": "string", + "title": "SecurityInfo.OAuth2Info.GrantType", "enum": [ "OAUTH2_AUTHORIZATION_CODE", "OAUTH2_IMPLICIT_GRANT", "OAUTH2_RESOURCE_OWNER", "OAUTH2_CLIENT_CREDENTIALS" ], - "example": "OAUTH2_CLIENT_CREDENTIALS" - }, - "SecurityInfo.OAuth2Info.GrantTypes": { - "description": "List of supported OAuth 2.0 grant types.", - "type": "array", - "minItems": 1, - "maxItems": 4, - "items": { - "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantType" - } - }, - "SecurityInfo.OAuth2Info.TokenEndpoint": { - "description": "The token endpoint", "type": "string", - "format": "uri", - "example": "/mecSerMgmtApi/security/TokenEndPoint" + "description": "OAuth 2.0 grant type", + "examples": [ + "OAUTH2_CLIENT_CREDENTIALS" + ] }, "SecurityInfo.OAuth2Info": { - "description": "Parameters related to use of OAuth 2.0", + "title": "SecurityInfo.OAuth2Info", "required": [ "grantTypes", "tokenEndpoint" ], + "type": "object", "properties": { "grantTypes": { - "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantTypes" + "maxItems": 4, + "minItems": 1, + "type": "array", + "items": { + "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.GrantType" + }, + "description": "List of supported OAuth 2.0 grant types." }, "tokenEndpoint": { - "$ref": "#/components/schemas/SecurityInfo.OAuth2Info.TokenEndpoint" + "type": "string", + "description": "The token endpoint", + "examples": [ + "/mecSerMgmtApi/security/TokenEndPoint" + ] } }, - "type": "object" + "description": "Parameters related to use of OAuth 2.0" }, "SecurityInfo": { - "description": "This type represents security information related to a transport", + "title": "SecurityInfo", "type": "object", "properties": { "oAuth2Info": { "$ref": "#/components/schemas/SecurityInfo.OAuth2Info" } - } + }, + "description": "This type represents security information related to a transport" }, "Self": { - "description": "Self-referring URI.", - "type": "object", + "title": "Self", "required": [ "self" ], + "type": "object", "properties": { "self": { "$ref": "#/components/schemas/LinkType" } }, - "readOnly": true - }, - "SerAvailabilityNotificationSubscription.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" + "description": "Self-referring URI." }, "SerAvailabilityNotificationSubscription": { - "description": "This type represents a subscription to the notifications from the MEC platform regarding the availability of a MEC service or a list of MEC services.", - "type": "object", + "title": "SerAvailabilityNotificationSubscription", "required": [ "subscriptionType", "callbackReference", "_links" ], + "type": "object", "properties": { "subscriptionType": { - "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType" + "type": "string", + "description": "Shall be set to SerAvailabilityNotificationSubscription.", + "examples": [ + "SerAvailabilityNotificationSubscription" + ] }, "callbackReference": { - "$ref": "#/components/schemas/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" @@ -731,79 +1928,106 @@ } }, "SerAvailabilityNotificationSubscription.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.", + "title": "SerAvailabilityNotificationSubscription.FilteringCriteria", "type": "object", - "not": { - "required": [ - "serInstanceIds", - "serNames", - "serCategories" - ] - }, "properties": { "serInstanceIds": { - "$ref": "#/components/schemas/SerInstanceIds" + "minItems": 0, + "type": "array", + "items": { + "type": "string" + }, + "description": "Identifiers of service instances about which to report events." }, "serNames": { - "$ref": "#/components/schemas/SerNames" + "minItems": 0, + "type": "array", + "items": { + "type": "string" + }, + "description": "Names of services about which to report events." }, "serCategories": { - "$ref": "#/components/schemas/CategoryRefs" + "minItems": 0, + "type": "array", + "items": { + "$ref": "#/components/schemas/CategoryRef" + }, + "description": "Categories of services about which to report events." }, "states": { - "$ref": "#/components/schemas/ServiceStates" + "minItems": 0, + "type": "array", + "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": { - "$ref": "#/components/schemas/ServiceInfo.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 + ] } - } - }, - "SerAvailabilityNotificationSubscription.SubscriptionType": { - "description": "Shall be set to SerAvailabilityNotificationSubscription.", - "type": "string", - "example": "SerAvailabilityNotificationSubscription" + }, + "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": { - "description": "This type represents the service availability information.", - "type": "object", + "title": "ServiceAvailabilityNotification", "required": [ "notificationType", "serviceReferences", "_links" ], + "type": "object", "properties": { "notificationType": { - "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription.SubscriptionType" + "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": { - "description": "List of links to services whose availability has changed.", - "type": "object", + "title": "ServiceAvailabilityNotification.ServiceReferences", "required": [ "serName", "serInstanceId", "state", "changeType" ], + "type": "object", "properties": { "link": { "$ref": "#/components/schemas/LinkType" }, "serName": { - "$ref": "#/components/schemas/ServiceInfo.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" + ] }, "serInstanceId": { - "$ref": "#/components/schemas/ServiceInfo.SerInstanceId" + "type": "string", + "description": "Identifier of the service instance assigned by the MEC platform.", + "examples": [ + "ServiceInstance123" + ] }, "state": { "$ref": "#/components/schemas/ServiceState" @@ -811,31 +2035,38 @@ "changeType": { "$ref": "#/components/schemas/ServiceAvailabilityNotification.ChangeType" } - } + }, + "description": "List of links to services whose availability has changed." }, "ServiceAvailabilityNotification.ChangeType": { - "description": "Type of the change. Valid values:\n ADDED: The service was newly added.\n REMOVED: The service was removed.\n STATE_CHANGED: Only the state of the service was changed. \n ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state.", - "type": "string", + "title": "ServiceAvailabilityNotification.ChangeType", "enum": [ "ADDED", "REMOVED", "STATE_CHANGED", "ATTRIBUTES_CHANGED" + ], + "type": "string", + "description": "Type of the change. Valid values:\n ADDED: The service was newly added.\n REMOVED: The service was removed.\n STATE_CHANGED: Only the state of the service was changed. \n 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": { - "description": "The enumeration represents types of serializers", - "type": "string", + "title": "SerializerType", "enum": [ "JSON", "XML", "PROTOBUF3" ], - "example": "JSON" + "type": "string", + "description": "The enumeration represents types of serializers", + "examples": [ + "JSON" + ] }, "LocalityType": { - "description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST", - "type": "string", + "title": "LocalityType", "enum": [ "MEC_SYSTEM", "MEC_HOST", @@ -844,133 +2075,26 @@ "ZONE_GROUP", "NFVI_NODE" ], - "example": "MEC_SYSTEM" + "type": "string", + "description": "The scope of locality as expressed by \"consumedLocalOnly\" and \"isLocal\". If absent, defaults to MEC_HOST", + "examples": [ + "MEC_SYSTEM" + ] }, "ServiceState": { - "description": "This enumeration defines the possible states of a service.", - "type": "string", + "title": "ServiceState", "enum": [ "ACTIVE", "INACTIVE" ], - "example": "ACTIVE" - }, - "ServiceStates": { - "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" - } - }, - "ServiceInfo.SerInstanceId": { - "description": "Identifier of the service instance assigned by the MEC platform.", - "type": "string", - "readOnly": true, - "example": "ServiceInstance123" - }, - "SerInstanceIds": { - "description": "Identifiers of service instances about which to report events.", - "type": "array", - "minItems": 0, - "items": { - "$ref": "#/components/schemas/ServiceInfo.SerInstanceId" - } - }, - "ServiceInfo.SerName": { - "description": "The name of the service. This is how the service producing MEC application identifies the service instance it produces.", - "type": "string", - "example": "ExampleService" - }, - "SerNames": { - "description": "Names of services about which to report events.", - "type": "array", - "minItems": 0, - "items": { - "$ref": "#/components/schemas/ServiceInfo.SerName" - } - }, - "ServiceInfo.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.", - "type": "string", - "writeOnly": true, - "example": "Rest1" - }, - "ServiceInfo.Version": { - "description": "Service version", "type": "string", - "example": "ServiceVersion1" - }, - "ServiceInfo.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.", - "type": "boolean", - "example": false - }, - "ServiceInfo.IsLocal": { - "description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.", - "type": "boolean", - "example": true - }, - "ServiceInfo.Post": { - "description": "This type represents the general information of a MEC service.", - "type": "object", - "required": [ - "serName", - "version", - "state", - "serializer" - ], - "oneOf": [ - { - "required": [ - "transportId" - ] - }, - { - "required": [ - "transportInfo" - ] - } - ], - "properties": { - "serInstanceId": { - "$ref": "#/components/schemas/ServiceInfo.SerInstanceId" - }, - "serName": { - "$ref": "#/components/schemas/ServiceInfo.SerName" - }, - "serCategory": { - "$ref": "#/components/schemas/CategoryRef" - }, - "version": { - "$ref": "#/components/schemas/ServiceInfo.Version" - }, - "state": { - "$ref": "#/components/schemas/ServiceState" - }, - "transportId": { - "$ref": "#/components/schemas/ServiceInfo.TransportId" - }, - "transportInfo": { - "$ref": "#/components/schemas/TransportInfo" - }, - "serializer": { - "$ref": "#/components/schemas/SerializerType" - }, - "scopeOfLocality": { - "$ref": "#/components/schemas/LocalityType" - }, - "consumedLocalOnly": { - "$ref": "#/components/schemas/ServiceInfo.ConsumedLocalOnly" - }, - "isLocal": { - "$ref": "#/components/schemas/ServiceInfo.IsLocal" - } - } + "description": "This enumeration defines the possible states of a service.", + "examples": [ + "ACTIVE" + ] }, "ServiceInfo": { - "description": "This type represents the general information of a MEC service.", - "type": "object", + "title": "ServiceInfo", "required": [ "serName", "version", @@ -978,18 +2102,31 @@ "transportInfo", "serializer" ], + "type": "object", "properties": { "serInstanceId": { - "$ref": "#/components/schemas/ServiceInfo.SerInstanceId" + "type": "string", + "description": "Identifier of the service instance assigned by the MEC platform.", + "examples": [ + "ServiceInstance123" + ] }, "serName": { - "$ref": "#/components/schemas/ServiceInfo.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": { - "$ref": "#/components/schemas/ServiceInfo.Version" + "type": "string", + "description": "Service version", + "examples": [ + "ServiceVersion1" + ] }, "state": { "$ref": "#/components/schemas/ServiceState" @@ -1004,57 +2141,37 @@ "$ref": "#/components/schemas/LocalityType" }, "consumedLocalOnly": { - "$ref": "#/components/schemas/ServiceInfo.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": { - "$ref": "#/components/schemas/ServiceInfo.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 + ] } - } + }, + "description": "This type represents the general information of a MEC service." }, "Subscription": { - "description": "A link to the related subscription", - "type": "object", + "title": "Subscription", "required": [ "subscription" ], + "type": "object", "properties": { "subscription": { "$ref": "#/components/schemas/LinkType" } - } - }, - "TransportInfo.Description": { - "description": "Human-readable description of this transport", - "type": "string", - "example": "REST API" - }, - "TransportInfo.Id": { - "description": "The identifier of this transport", - "type": "string", - "example": "TransId12345" - }, - "TransportInfo.ImplSpecificInfo": { - "description": "Additional implementation specific details of the transport", - "type": "object" - }, - "TransportInfo.Name": { - "description": "The name of this transport", - "type": "string", - "example": "REST" - }, - "TransportInfo.Protocol": { - "description": "The name of the protocol used. Shall be set to HTTP for a REST API.", - "type": "string", - "example": "HTTP" - }, - "TransportInfo.Version": { - "description": "The version of the protocol used", - "type": "string", - "example": "2.0" + }, + "description": "A link to the related subscription" }, "TransportInfo": { - "description": "This type represents the general information of a MEC service.", - "type": "object", + "title": "TransportInfo", "required": [ "id", "name", @@ -1064,28 +2181,47 @@ "endpoint", "security" ], + "type": "object", "properties": { "id": { - "$ref": "#/components/schemas/TransportInfo.Id" + "type": "string", + "description": "The identifier of this transport", + "examples": [ + "TransId12345" + ] }, "name": { - "$ref": "#/components/schemas/TransportInfo.Name" + "type": "string", + "description": "The name of this transport", + "examples": [ + "REST" + ] }, "description": { - "$ref": "#/components/schemas/TransportInfo.Description" + "type": "string", + "description": "Human-readable description of this transport", + "examples": [ + "REST API" + ] }, "type": { "$ref": "#/components/schemas/TransportType" }, "protocol": { - "$ref": "#/components/schemas/TransportInfo.Protocol" + "type": "string", + "description": "The name of the protocol used. Shall be set to HTTP for a REST API.", + "examples": [ + "HTTP" + ] }, "version": { - "$ref": "#/components/schemas/TransportInfo.Version" + "type": "string", + "description": "The version of the protocol used", + "examples": [ + "2.0" + ] }, "endpoint": { - "description": "This type represents information about a transport endpoint", - "type": "object", "oneOf": [ { "$ref": "#/components/schemas/EndPointInfo.Uris" @@ -1096,19 +2232,21 @@ { "$ref": "#/components/schemas/EndPointInfo.Alternative" } - ] + ], + "description": "This type represents information about a transport endpoint" }, "security": { "$ref": "#/components/schemas/SecurityInfo" }, "implSpecificInfo": { - "$ref": "#/components/schemas/TransportInfo.ImplSpecificInfo" + "type": "object", + "description": "Additional implementation specific details of the transport" } - } + }, + "description": "This type represents the general information of a MEC service." }, "TransportType": { - "description": "The enumeration TransportType represents types of transports", - "type": "string", + "title": "TransportType", "enum": [ "REST_HTTP", "MB_TOPIC_BASED", @@ -1118,408 +2256,14 @@ "RPC_STREAMING", "WEBSOCKET" ], - "example": "REST_HTTP" - } - }, - "parameters": { - "Path.AppInstanceId": { - "name": "appInstanceId", - "description": "Represents a MEC application instance. Note that the appInstanceId is allocated by the MEC platform manager.", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "Path.SubscriptionId": { - "name": "subscriptionId", - "description": "Represents a subscription to the notifications from the MEC platform.", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "Path.ServiceId": { - "name": "serviceId", - "description": "Represents a MEC service instance.", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - }, - "Query.Ser_category_id": { - "name": "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. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - "Query.Ser_instance_id": { - "name": "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. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", - "in": "query", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Query.Ser_name": { - "name": "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. Either \"ser_instance_id\" or \"ser_name\" or \"ser_category_id\" or none of them shall be present.", - "in": "query", - "required": false, - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Query.LocalityType": { - "name": "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.", - "in": "query", - "required": false, - "schema": { - "type": "string" - } - }, - "Query.Is_local": { - "name": "is_local", - "description": "Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.", - "in": "query", - "required": false, - "schema": { - "type": "boolean" - } - }, - "Query.Consumed_local_only": { - "name": "consumed_local_only", - "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.", - "in": "query", - "required": false, - "schema": { - "type": "boolean" - } - } - }, - "responses": { - "ApplicationsSubscriptions.200": { - "description": "Upon success, a response body containing the list of links to the requested subscriptions is returned.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MecServiceMgmtApiSubscriptionLinkList" - } - } - }, - "links": { - "getIndividualmecSerMgmtApiSubscriptionLinkList": { - "$ref": "#/components/links/GetIndividualmecSerMgmtApiSubscriptionLinkList" - }, - "delIndividualmecSerMgmtApiSubscriptionLinkList": { - "$ref": "#/components/links/DelIndividualmecSerMgmtApiSubscriptionLinkList" - } - } - }, - "ApplicationsSubscriptions.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", - "schema": { - "type": "string", - "format": "uri" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" - } - } - }, - "links": { - "getIndividualmecSerMgmtApiSubscription": { - "$ref": "#/components/links/GetIndividualmecSerMgmtApiSubscription" - }, - "delIndividualmecSerMgmtApiSubscription": { - "$ref": "#/components/links/DelIndividualmecSerMgmtApiSubscription" - } - } - }, - "ApplicationsSubscription.200": { - "description": "Upon success, a response body containing the requested subscription is returned.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" - } - } - } - }, - "Services.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 0, - "items": { - "$ref": "#/components/schemas/ServiceInfo" - } - }, - "examples": { - "ServiceInfoList": { - "$ref": "#/components/examples/ServiceInfoList" - } - } - } - }, - "links": { - "getIndividualmecService": { - "$ref": "#/components/links/GetIndividualmecService" - }, - "putIndividualmecService": { - "$ref": "#/components/links/PutIndividualmecService" - } - } - }, - "Services.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", - "schema": { - "type": "string", - "format": "uri" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceInfo" - }, - "examples": { - "ServiceInfo": { - "$ref": "#/components/examples/ServiceInfo" - } - } - } - }, - "links": { - "getIndividualmecService": { - "$ref": "#/components/links/GetIndividualmecService" - }, - "putIndividualmecService": { - "$ref": "#/components/links/PutIndividualmecService" - } - } - }, - "ServicesServiceId.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceInfo" - }, - "examples": { - "ServiceInfo": { - "$ref": "#/components/examples/ServiceInfo" - } - } - } - } - }, - "Transports.200": { - "description": "It is used to indicate nonspecific success. The response body contains a representation of the resource.", - "content": { - "application/json": { - "schema": { - "type": "array", - "minItems": 0, - "items": { - "$ref": "#/components/schemas/TransportInfo" - } - } - } - }, - "links": { - "getTransportInfo": { - "$ref": "#/components/links/GetTransportInfo" - } - } - }, - "Error.400": { - "description": "Bad Request. It is used to indicate that incorrect parameters were passed to the request.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.401": { - "description": "Unauthorized. It is used when the client did not submit the appropriate credentials.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.403": { - "description": "Forbidden. The operation is not allowed given the current status of the resource. ", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "Error.404": { - "description": "Not Found. It is 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" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.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.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.412": { - "description": "Precondition Failed. It is used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.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.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } - }, - "Error.429": { - "description": "Too Many Requests. It is used when a rate limiter has triggered.", - "content": { - "application/problem+json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/Empty" - } - } - } + "type": "string", + "description": "The enumeration TransportType represents types of transports", + "examples": [ + "REST_HTTP" + ] } }, "requestBodies": { - "ApplicationsSubscriptions": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SerAvailabilityNotificationSubscription" - } - } - }, - "description": "Entity body in the request contains a subscription to the MEC application termination notifications that is to be created.", - "required": true - }, - "Services": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceInfo" - } - } - }, - "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", - "required": true - }, - "Services.Post": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceInfo.Post" - } - } - }, - "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", - "required": true - }, - "ServicesServiceId": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ServiceInfo" - } - } - }, - "description": "New ServiceInfo with updated \"state\" is included as entity body of the request", - "required": true - }, "ServiceAvailabilityNotification": { "content": { "application/json": { @@ -1530,161 +2274,9 @@ }, "required": true } - }, - "callbacks": { - "ServiceAvailabilityNotification": { - "{$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\n services to the authorized relevant MEC applications (e.g. \n the applications that indicate the services as \"optional\" \n or \"required\") that are subscribed to the corresponding \n service availability notifications\n- 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", - "tags": [ - "callbacks" - ], - "requestBody": { - "$ref": "#/components/requestBodies/ServiceAvailabilityNotification" - }, - "responses": { - "200": { - "description": "Expected responses from callback consumer, if it accepts the callback" - } - } - } - } - } - }, - "links": { - "GetIndividualmecService": { - "operationId": "ServicesServiceId_GET", - "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `GET /services/{serviceId}`", - "parameters": { - "serviceId": "$response.body#/serviceId" - } - }, - "PutIndividualmecService": { - "operationId": "ServicesServiceId_PUT", - "description": "The `serviceId` value returned in the response can be used as the `serviceId` parameter in `PUT /services/{serviceId}`", - "parameters": { - "serviceId": "$response.body#/serviceId" - } - }, - "GetTransportInfo": { - "operationId": "AppServices_POST", - "description": "The `id` value returned in the response can be used as the `transportId` parameter in `POST /applications/{appInstanceId}/services`. The first transport is provided as the link as wildcards are not supported", - "parameters": { - "transportId": "$response.body#/0/id" - } - }, - "GetIndividualmecSerMgmtApiSubscription": { - "operationId": "ApplicationsSubscription_GET", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_service_mgmt\\/v1\\/applications\\/.*\\/subscriptions\\/.*\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - }, - "DelIndividualmecSerMgmtApiSubscription": { - "operationId": "ApplicationsSubscription_DELETE", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_service_mgmt\\/v1\\/applications\\/.*\\/subscriptions\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - }, - "GetIndividualmecSerMgmtApiSubscriptionLinkList": { - "operationId": "ApplicationsSubscription_GET", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `GET /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_service_mgmt\\/v1\\/applications\\/.*\\/subscriptions\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - }, - "DelIndividualmecSerMgmtApiSubscriptionLinkList": { - "operationId": "ApplicationsSubscription_DELETE", - "description": "The `subscriptionId` value returned in the response can be used as the `subscriptionId` parameter in `DELETE /applications/{appInstanceId}/subscriptions/{subscriptionId}`", - "parameters": { - "description": "regex = \\/mec_service_mgmt\\/v1\\/applications\\/.*\\/subscriptions\\/(.*);subscriptionId = href.match(regex)[1];// where \"href\" is an attribute within the subscription attribute within the _links attribute", - "subscriptionId": "TBC" - } - } - }, - "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" - } - }, - "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" - } - ] - } } - } -} + }, + "security": [ + {} + ] +} \ No newline at end of file -- GitLab