MecAppSupportApi.yaml 58.5 KB
Newer Older
openapi: 3.1.0
Walter Featherstone's avatar
Walter Featherstone committed
  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: {}
  /applications/{appInstanceId}/traffic_rules:
Walter Featherstone's avatar
Walter Featherstone committed
    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
Walter Featherstone's avatar
Walter Featherstone committed
      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
Walter Featherstone's avatar
Walter Featherstone committed
        '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
Walter Featherstone's avatar
Walter Featherstone committed
        '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'
Walter Featherstone's avatar
Walter Featherstone committed
        '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}:
Walter Featherstone's avatar
Walter Featherstone committed
    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
Walter Featherstone's avatar
Walter Featherstone committed
      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
Walter Featherstone's avatar
Walter Featherstone committed
        '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
Walter Featherstone's avatar
Walter Featherstone committed
        '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'
Walter Featherstone's avatar
Walter Featherstone committed
        '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
Walter Featherstone's avatar
Walter Featherstone committed
    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
Walter Featherstone's avatar
Walter Featherstone committed
      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
Walter Featherstone's avatar
Walter Featherstone committed
        '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
Walter Featherstone's avatar
Walter Featherstone committed
        '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'
Walter Featherstone's avatar
Walter Featherstone committed
        '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
Walter Featherstone's avatar
Walter Featherstone committed
        '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:
      - 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
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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}:
      - 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
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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
      - 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
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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
          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:
      - 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'
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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
      - 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:
          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'
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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}:
      - 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'
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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
      - 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: {}
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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:
      - 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:
Walter Featherstone's avatar
Walter Featherstone committed
        '204':
          description: No Content
          headers: {}
          content: {}
Walter Featherstone's avatar
Walter Featherstone committed
        '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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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
Walter Featherstone's avatar
Walter Featherstone committed
        '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
Walter Featherstone's avatar
Walter Featherstone committed
        '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:
Walter Featherstone's avatar
Walter Featherstone committed
    post:
      - 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:
Walter Featherstone's avatar
Walter Featherstone committed
        '204':
          description: No Content
          headers: {}
          content: {}
Walter Featherstone's avatar
Walter Featherstone committed
        '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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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
Walter Featherstone's avatar
Walter Featherstone committed
        '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
Walter Featherstone's avatar
Walter Featherstone committed
        '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:
      - 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'
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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:
      - 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'
          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
          description: Forbidden. The operation is not allowed given the current status of the resource.
          headers: {}
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
          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: []
Walter Featherstone's avatar
Walter Featherstone committed
    AppReadyConfirmation:
      title: AppReadyConfirmation
Walter Featherstone's avatar
Walter Featherstone committed
      required:
      - indication
      type: object
Walter Featherstone's avatar
Walter Featherstone committed
      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.
Walter Featherstone's avatar
Walter Featherstone committed
    AppTerminationConfirmation:
      title: AppTerminationConfirmation
Walter Featherstone's avatar
Walter Featherstone committed
      required:
      - operationAction
      type: object
Walter Featherstone's avatar
Walter Featherstone committed
      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.
Walter Featherstone's avatar
Walter Featherstone committed
    AppTerminationNotification.Links:
      title: AppTerminationNotification.Links
Walter Featherstone's avatar
Walter Featherstone committed
      required:
      - subscription
      type: object
Walter Featherstone's avatar
Walter Featherstone committed
      properties:
        subscription:
          $ref: '#/components/schemas/LinkType'
        confirmTermination:
          $ref: '#/components/schemas/LinkType.ConfirmTermination'
      description: Object containing hyperlinks related to the resource.
      title: AppTerminationNotification
      - notificationType
      - operationAction
      - maxGracefulTimeout
      - _links
      type: object
          type: string
          description: Shall be set to AppTerminationNotification.
          examples:
          - AppTerminationNotification
Walter Featherstone's avatar
Walter Featherstone committed
        operationAction:
          $ref: '#/components/schemas/OperationActionType'
          type: integer
          description: Maximum timeout value in seconds for graceful termination or graceful stop of an application instance.
          contentEncoding: int32
          examples:
          - 10
Walter Featherstone's avatar
Walter Featherstone committed
          $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.
      title: AppTerminationNotificationSubscription
      - subscriptionType
      - callbackReference
      - _links
      - appInstanceId
      type: object
          type: string
          description: Shall be set to AppTerminationNotificationSubscription.
          examples:
          - AppTerminationNotificationSubscription
          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.
      title: CurrentTime
      - seconds
      - nanoSeconds
      - timeSourceStatus
      type: object
          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
          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
          $ref: '#/components/schemas/TimeSourceStatus'
      description: This type represents the information provided by the MEC platform in response to the Get Platform Time Request message.
      title: DestinationInterface.InterfaceType
      description: Type of the interface
      examples:
      - TUNNEL
      title: DestinationInterface
      - 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
          type: string
          description: Source address identifies the MAC address of the interface
          examples:
          - 02-00-00-00-00-00
          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.
      title: DnsRule.IpAddressType
      description: IP address type
      examples:
      - IP_V6
    DnsRule.State:
      title: DnsRule.State
      - ACTIVE
      - INACTIVE
      type: string
      description: DNS rule state. This attribute may be updated using HTTP PUT method
      examples:
      - ACTIVE
      title: DnsRule
      - dnsRuleId
      - domainName
      - ipAddressType
      - ipAddress
      - state
      type: object
          type: string
          description: Identifies the DNS Rule
          examples:
          - dnsRule1
          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
          type: integer
          description: Time to live value
          contentEncoding: int32
      description: This type represents the general information of a DNS rule.
Walter Featherstone's avatar
Walter Featherstone committed
    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
Walter Featherstone's avatar
Walter Featherstone committed
    LinkType.ConfirmTermination:
      title: LinkType.ConfirmTermination
        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.
Walter Featherstone's avatar
Walter Featherstone committed
    MecAppSuptApiSubscriptionLinkList.Links:
      title: MecAppSuptApiSubscriptionLinkList.Links
      - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
Walter Featherstone's avatar
Walter Featherstone committed
        subscriptions:
Walter Featherstone's avatar
Walter Featherstone committed
            $ref: '#/components/schemas/MecAppSuptApiSubscriptionLinkList.Subscription'
          description: The MEC application instance's subscriptions
      description: Self-referring URI.
Walter Featherstone's avatar
Walter Featherstone committed
    MecAppSuptApiSubscriptionLinkList.Subscription:
      title: MecAppSuptApiSubscriptionLinkList.Subscription
      - href
      - rel
      type: object
          type: string
          description: URI referring to a resource
          examples:
          - /mecAppSuptApi/example
          description: The values shall be set to AppTerminationNotificationSubscription.
      description: A link to a subscription.
Walter Featherstone's avatar
Walter Featherstone committed
    MecAppSuptApiSubscriptionLinkList:
      title: MecAppSuptApiSubscriptionLinkList
      - _links
      type: object
Walter Featherstone's avatar
Walter Featherstone committed
          $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.
Walter Featherstone's avatar
Walter Featherstone committed
    OperationActionType:
      title: OperationActionType
Walter Featherstone's avatar
Walter Featherstone committed
      enum:
      - STOPPING
      - TERMINATING
      type: string
      description: Operation that is being performed on the MEC application instance.
      examples:
      - TERMINATING
      title: ProblemDetails
          type: string
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
          type: string
          description: A short, human-readable summary of the problem type
          type: integer
          description: The HTTP status code for this occurrence of the problem
          contentEncoding: int32
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
          type: string
          description: A URI reference that identifies the specific occurrence of the problem
Walter Featherstone's avatar
Walter Featherstone committed
    ReadyIndicationType:
      title: ReadyIndicationType
      const: READY
      description: Indication about the MEC application instance.
      examples:
      - READY
      title: Self
      - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
      description: Self-referring URI.
      title: TimingCaps.NtpServers.AuthenticationOption
      - NONE
      - SYMMETRIC_KEY
      - AUTO_KEY
      description: NTP authentication option
      examples:
      - NONE
      title: TimingCaps.NtpServers.NtpServerAddrType
      - IP_ADDRESS
      - DNS_NAME
      description: Address type of NTP server
      examples:
      - IP_ADDRESS
      title: TimingCaps.NtpServers
      - 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
          type: integer
          description: Minimum poll interval for NTP messages, in seconds as a power of two. Range 3...17
          contentEncoding: int32
          examples:
          - 3
          type: integer
          description: Maximum poll interval for NTP messages, in seconds as a power of two. Range 3...17
          contentEncoding: int32
          examples:
          - 17
          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
    TimingCaps_PtpMasters:
      title: TimingCaps_PtpMasters
      - ptpMasterIpAddress
      - ptpMasterLocalPriority
      - delayReqMaxRate
      type: object
          type: string
          description: PTP Master IP Address
          examples:
          - 192.0.2.0
          type: integer
          description: PTP Master local priority
          contentEncoding: int32
          examples:
          - 1
          type: integer
          description: Acceptable maximum rate of the Delay_Req messages in packets per second
          contentEncoding: int32
          examples:
          - 10
      description: NTP server detail.
      title: TimingCaps.TimeStamp
      - seconds
      - nanoSeconds
      type: object
          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
          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
      title: TimingCaps
      type: object
      properties:
        timeStamp:
          $ref: '#/components/schemas/TimingCaps.TimeStamp'
        ntpServers:
          type: array
          items:
            $ref: '#/components/schemas/TimingCaps.NtpServers'
          description: Available NTP servers
            $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.
      title: TrafficFilter
            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.
            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.
            type: string
            type: string
          description: A port or a range of ports
            type: string
          description: Specify the protocol of the traffic filter
            type: string
          description: Used for token based traffic rule
            type: string
          description: Used for GTP tunnel based traffic rule
        tgtTunnelAddress:
            type: string
          description: Used for GTP tunnel based traffic rule
        srcTunnelPort:
            type: string
          description: Used for GTP tunnel based traffic rule
        dstTunnelPort:
            type: string
          description: Used for GTP tunnel based traffic rule
          type: integer
          description: Used to match all packets that have the same Quality Class Indicator (QCI).
          contentEncoding: int32
          examples:
          - 1
          type: integer
          description: Used to match all IPv4 packets that have the same Differentiated Services Code Point (DSCP)
          contentEncoding: int32
          examples:
          - 0
          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.
      title: TrafficRule.Action
      - DROP
      - FORWARD_DECAPSULATED
      - FORWARD_ENCAPSULATED
      - PASSTHROUGH
      - DUPLICATE_DECAPSULATED
      - DUPLICATE_ENCAPSULATED
      description: The action of the MEC host data plane when a packet matches the trafficFilter
      examples:
      - DROP
    TrafficRule.FilterType:
      title: 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
      examples:
      - FLOW
      title: TrafficRule.State
      - ACTIVE
      - INACTIVE
      type: string
      description: Contains the traffic rule state. This attribute may be updated using HTTP PUT method
      examples:
      - ACTIVE
      title: TrafficRule
      - trafficRuleId
      - filterType
      - priority
      - trafficFilter
      - action
      - state
      type: object
          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
          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.
      title: TunnelInfo.TunnelType
      - GTP_U
      - GRE
      type: string
      description: This type represents the tunnel information.
      examples:
      - GTP_U
    TunnelInfo:
      title: TunnelInfo
      - tunnelType
      type: object
      properties:
        tunnelType:
          $ref: '#/components/schemas/TunnelInfo.TunnelType'
        tunnelDstAddress:
          type: string
          description: Destination address of the tunnel
          - '?'
        tunnelSrcAddress:
          type: string
          description: Source address of the tunnel
          - '?'
      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