MecServiceMgmtApi.yaml 74.3 KB
Newer Older
        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
          description: >-
            It is used to indicate nonspecific success. The response message
            content contains a representation of the resource.
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ServiceInfo'
                description: ''
                examples:
                  - - serInstanceId: ServiceInstance123
                      serName: ExampleService
                      serCategory:
                        href: catItem1
                        id: id12345
                        name: RNI
                        version: version1
                      version: ServiceVersion1
                      state: ACTIVE
                      transportInfo:
                        id: TransId12345
                        name: REST
                        description: REST API
                        type: REST_HTTP
                        protocol: HTTP
                        version: '2.0'
                        endpoint:
                          addresses:
                            - host: 192.0.2.0
                              port: 8080
                        security:
                          oAuth2Info:
                            grantTypes:
                              - OAUTH2_CLIENT_CREDENTIALS
                            tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint
                      serializer: JSON
                      _links:
                        self:
                          href: http://example.com/
                contentMediaType: application/json
              examples:
                ServiceInfoList:
                  value:
                    - serInstanceId: ServiceInstance123
                      serName: ExampleService
                      serCategory:
                        href: catItem1
                        id: id12345
                        name: RNI
                        version: version1
                      version: ServiceVersion1
                      state: ACTIVE
                      transportInfo:
                        id: TransId12345
                        name: REST
                        description: REST API
                        type: REST_HTTP
                        protocol: HTTP
                        version: '2.0'
                        endpoint:
                          addresses:
                            - host: 192.0.2.0
                              port: 8080
                        security:
                          oAuth2Info:
                            grantTypes:
                              - OAUTH2_CLIENT_CREDENTIALS
                            tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint
                      serializer: JSON
                      _links:
                        self:
                          href: http://example.com/
                    - serInstanceId: ServiceInstance345
                      serName: ExampleService
                      serCategory:
                        href: catItem1
                        id: id12345
                        name: RNI
                        version: version1
                      version: ServiceVersion1
                      state: ACTIVE
                      transportInfo:
                        id: TransId12345
                        name: REST
                        description: REST API
                        type: REST_HTTP
                        protocol: HTTP
                        version: '2.0'
                        endpoint:
                          addresses:
                            - host: 192.0.2.1
                              port: 8080
                        security:
                          oAuth2Info:
                            grantTypes:
                              - OAUTH2_CLIENT_CREDENTIALS
                            tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint
                      serializer: JSON
                      _links:
                        self:
                          href: http://example.com/
          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
        '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}':
      summary: get service
      description: >-
        This method retrieves information about a mecService resource. This
        method is typically used in "service availability query" procedure
      operationId: ServicesServiceId_GET
      parameters:
        - name: serviceId
          in: path
          description: Represents a MEC service instance. (see note)
          required: true
          style: simple
          schema:
            type: string
          x-etsi-notes: "NOTE:\t serviceId corresponds to serInstanceId"
          description: >-
            It is used to indicate nonspecific success. The response message
            content contains a representation of the resource.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceInfo'
              examples:
                    serInstanceId: ServiceInstance123
                    serName: ExampleService
                    serCategory:
                      href: catItem1
                      id: id12345
                      name: RNI
                      version: version1
                    version: ServiceVersion1
                    state: ACTIVE
                    transportInfo:
                      id: TransId12345
                      name: REST
                      description: REST API
                      type: REST_HTTP
                      protocol: HTTP
                      version: '2.0'
                      endpoint:
                        uris:
                          - /mecSerMgmtApi/service/EntryPoint
                      security:
                        oAuth2Info:
                          grantTypes:
                            - OAUTH2_CLIENT_CREDENTIALS
                          tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint
                    serializer: JSON
                    _links:
                      self:
                        href: http://example.com/
          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: []
  /transports:
      summary: Get transports
      description: >-
        This method retrieves information about a list of available transports.
        This method is typically used by a service-producing application to
        discover transports provided by the MEC platform in the "transport
        information query" procedure
      operationId: Transports_GET
      parameters: []
          description: >-
            It is used to indicate nonspecific success. The response messages
            content contains a representation of the resource.
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TransportInfo'
                description: ''
                contentMediaType: application/json
          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: []
  /resource_uri_allocated_by_MEC_platform:
    get:
      tags:
        - individualMECservice
      summary: get mecServiceLiveness
      description: >-
        This method retrieves information about an "Individual
        mecServiceLiveness" resource
      operationId: get_individual_MEC_service
      responses:
        '200':
          description: >-
            It is used to indicate nonspecific success. The response message
            content contains a representation of the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceLivenessInfo'
        '400':
          description: >-
            It is used to indicate that incorrect parameters were passed to the
            request. In the returned ProblemDetails structure, the "detail"
            attribute should convey more information about the error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: >-
            The operation is not allowed given the current status of the
            resource. More information shall be provided in the "detail"
            attribute of the "ProblemDetails" structure.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: >-
            It is used when a client provided a URI that cannot be mapped to a
            valid resource URI. In the returned ProblemDetails structure, the
            "detail" attribute should convey more information about the error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
    patch:
      tags:
        - individualMECservice
      summary: Update mecServiceLiveness
      description: >-
        This method updates a resource on top of the existing resource state
        with partial changes described by the client.
      operationId: patch_individual_MEC_service
      requestBody:
        description: It contains an update of the liveness state.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServiceLivenessUpdate'
        required: true
      responses:
        '200':
          description: >-
            Upon success, a response message content is returned containing the
            updated liveness interval value of the service Instance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceLivenessInfo'
        '204':
          description: >-
            Successful response sent when there is no need to provide a new
            liveness interval value to the service Instance.
          description: >-
            It is used to indicate that incorrect parameters were passed to the
            request. In the returned ProblemDetails structure, the "detail"
            attribute should convey more information about the error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: >-
            The operation is not allowed given the current status of the
            resource. More information shall be provided in the "detail"
            attribute of the "ProblemDetails" structure.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: >-
            It is used when a client provided a URI that cannot be mapped to a
            valid resource URI. In the returned ProblemDetails structure, the
            "detail" attribute should convey more information about the error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '409':
          description: >-
            The operation is not allowed due to a conflict with the state of the
            resource. The MEC platform shall respond with this code if the
            service instance is in "INACTIVE" state. More information shall be
            provided in the "detail" attribute of the "ProblemDetails"
            structure.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '412':
          description: >-
            It is used when a condition has failed during conditional requests,
            e.g. when using ETags to avoid write conflicts. In the returned
            ProblemDetails structure, the "detail" attribute should convey more
            information about the error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
      title: CategoryRef
      type: object
          type: string
          description: Reference of the catalogue
          examples:
            - /example/catalogue1
          type: string
          description: Unique identifier of the category
          examples:
          type: string
          description: >-
            Name of the category, example values include RNI, Location &
            Bandwidth Management
          type: string
          description: Category version
          examples:
      description: This type represents the category reference
      title: EndPointInfo.Address
      type: object
          type: string
          description: Host portion of the address
          examples:
          type: integer
          description: Port portion of the address
          contentEncoding: int32
          examples:
      description: A IP address and port pair
      title: EndPointInfo.Addresses
      type: object
          type: array
          items:
            $ref: '#/components/schemas/EndPointInfo.Address'
          description: >-
            Entry point information of the service as one or more pairs of IP
            address and port. See note.
      description: This type represents information about a transport endpoint.
      title: EndPointInfo.Alternative
      type: object
      properties:
          description: >-
            Entry point information of the service in a format defined by an
            implementation, or in an external specification. See note.
      description: This type represents information about a transport endpoint.
      title: EndPointInfo.Uris
      type: object
          type: array
            type: string
          description: >-
            Entry point information of the service as string, formatted
            according to URI syntax
      description: This type represents information about a transport endpoint.
    EndPointInfo.Fqdn:
      title: EndPointInfo.Fqdn
      required:
        - fqdn
      type: object
      properties:
        fqdn:
          type: array
          items:
            type: string
          description: Fully Qualified Domain Name of the service. See note.
      description: 'This type represents information about a transport endpoint. '
      title: LinkType
        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
      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
      type: object
          type: string
          description: URI referring to a resource
          examples:
            - /mecSerMgmtApi/example
          description: The value shall be se to SerAvailabilityNotificationSubscription.
      description: A link to a subscription.
    MecServiceMgmtApiSubscriptionLinkList:
      title: MecServiceMgmtApiSubscriptionLinkList
      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.
      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
kharimza's avatar
kharimza committed
    SecurityInfo.OAuth2Info.GrantType:
      title: SecurityInfo.OAuth2Info.GrantType
        - OAUTH2_AUTHORIZATION_CODE
        - OAUTH2_IMPLICIT_GRANT
        - OAUTH2_RESOURCE_OWNER
        - OAUTH2_CLIENT_CREDENTIALS
      description: OAuth 2.0 grant type
      examples:
        - OAUTH2_CLIENT_CREDENTIALS
      title: SecurityInfo.OAuth2Info
        - grantTypes
        - tokenEndpoint
      type: object
          maxItems: 4
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/SecurityInfo.OAuth2Info.GrantType'
          description: List of supported OAuth 2.0 grant types.
          type: string
          description: The token endpoint
          examples:
            - /mecSerMgmtApi/security/TokenEndPoint
      description: Parameters related to use of OAuth 2.0
      title: SecurityInfo
      type: object
      properties:
        oAuth2Info:
          $ref: '#/components/schemas/SecurityInfo.OAuth2Info'
      description: This type represents security information related to a transport
      title: Self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
      description: Self-referring URI.
    SerAvailabilityNotificationSubscription:
      title: SerAvailabilityNotificationSubscription
        - subscriptionType
        - callbackReference
        - _links
      type: object
          type: string
          description: Shall be set to SerAvailabilityNotificationSubscription.
          examples:
            - SerAvailabilityNotificationSubscription
          type: string
          description: >-
            URI selected by the MEC application instance to receive
            notifications on the subscribed MEC service availability
            information. This shall be included in both the request and the
            response.
        _links:
          $ref: '#/components/schemas/Self'
        filteringCriteria:
          $ref: >-
            #/components/schemas/SerAvailabilityNotificationSubscription.FilteringCriteria
      x-etsi-notes: "NOTE:\tThe attributes \"serInstanceIds\", \"serNames\" and \"serCategories\" provide mutually-exclusive alternatives to define a set of services. Only one of them may be present."
kharimza's avatar
kharimza committed
    SerAvailabilityNotificationSubscription.FilteringCriteria:
      title: SerAvailabilityNotificationSubscription.FilteringCriteria
kharimza's avatar
kharimza committed
      type: object
      properties:
        serInstanceIds:
          type: array
          items:
            type: string
          description: Identifiers of service instances about which to report events.
kharimza's avatar
kharimza committed
        serNames:
          type: array
          items:
            type: string
          description: Names of services about which to report events.
kharimza's avatar
kharimza committed
        serCategories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryRef'
          description: Categories of services about which to report events.
kharimza's avatar
kharimza committed
        states:
          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.
            - 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
        - notificationType
        - serviceReferences
        - _links
      type: object
          type: string
          description: Shall be set to SerAvailabilityNotificationSubscription.
          examples:
            - SerAvailabilityNotificationSubscription
kharimza's avatar
kharimza committed
        serviceReferences:
            $ref: >-
              #/components/schemas/ServiceAvailabilityNotification.ServiceReferences
          description: ''
        _links:
          $ref: '#/components/schemas/Subscription'
      description: This type represents the service availability information.
kharimza's avatar
kharimza committed
    ServiceAvailabilityNotification.ServiceReferences:
      title: ServiceAvailabilityNotification.ServiceReferences
kharimza's avatar
kharimza committed
      required:
        - serName
        - serInstanceId
        - state
        - changeType
      type: object
kharimza's avatar
kharimza committed
      properties:
kharimza's avatar
kharimza committed
          $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.
kharimza's avatar
kharimza committed
        serInstanceId:
          type: string
          description: Identifier of the service instance assigned by the MEC platform.
          examples:
            - ServiceInstance123
kharimza's avatar
kharimza committed
        state:
          $ref: '#/components/schemas/ServiceState'
        changeType:
          $ref: '#/components/schemas/ServiceAvailabilityNotification.ChangeType'
      description: List of links to services whose availability has changed.
kharimza's avatar
kharimza committed
    ServiceAvailabilityNotification.ChangeType:
      title: ServiceAvailabilityNotification.ChangeType
kharimza's avatar
kharimza committed
      enum:
        - ADDED
        - REMOVED
        - STATE_CHANGED
        - ATTRIBUTES_CHANGED
      description: |-
        Type of the change. Valid values:
          1. ADDED: The service was newly added.
          2. REMOVED: The service was removed.
          3. STATE_CHANGED: Only the state of the service was changed. 
          4. ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state.
    SerializerType:
      title: SerializerType
      description: The enumeration  represents types of serializers
      examples:
    LocalityType:
      title: LocalityType
        - MEC_SYSTEM
        - MEC_HOST
        - NFVI_POP
        - ZONE
        - ZONE_GROUP
        - NFVI_NODE
kharimza's avatar
kharimza committed
      type: string
      description: >-
        The scope of locality as expressed by "consumedLocalOnly" and "isLocal".
        If absent, defaults to MEC_HOST
    ServiceState:
      title: ServiceState
kharimza's avatar
kharimza committed
      enum:
        - ACTIVE
        - INACTIVE
        - SUSPENDED
      description: This enumeration defines the possible states of a service.
      examples:
    ServiceInfo:
      title: ServiceInfo
        - serName
        - version
        - state
        - transportInfo
        - serializer
      type: object
          type: string
          description: Identifier of the service instance assigned by the MEC platform.
          examples:
            - ServiceInstance123
          type: string
          description: >-
            The name of the service. This is how the service producing MEC
            application identifies the service instance it produces.
        serCategory:
          $ref: '#/components/schemas/CategoryRef'
        version:
          type: string
          description: Service version
          examples:
            - ServiceVersion1
kharimza's avatar
kharimza committed
          $ref: '#/components/schemas/ServiceState'
        transportId:
          type: string
          description: >-
            Identifier of the platform-provided transport to be used by the service. 
            Valid identifiers may be obtained using the "Transport information query" 
            procedure. May be present in POST requests to signal the use of a platform-provided 
            transport for the service, and shall be absent otherwise. See note 2.
          examples:
            - transportId1
        transportInfo:
          $ref: '#/components/schemas/TransportInfo'
        serializer:
kharimza's avatar
kharimza committed
          $ref: '#/components/schemas/SerializerType'
kharimza's avatar
kharimza committed
          $ref: '#/components/schemas/LocalityType'
          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.
        isLocal:
          type: boolean
          description: >-
            Indicate whether the service is located in the same locality (as
            defined by scopeOfLocality) as the consuming MEC application.
          description: >-
            Interval (in seconds) between two consecutive "heartbeat" messages
            (see clause 8.2.10.3.3). If the service-producing application
            supports sending "heartbeat" messages, it shall include this
            attribute in the registration request. In this case, the application
            shall either set the value of this attribute to zero or shall use
            this attribute to propose a non-zero positive value for the liveness
            interval. If the application has provided this attribute in the
            request and the MEC platform requires "heartbeat" messages, the MEC
            platform shall return this attribute value in the HTTP responses.
            The MEC platform may use the value proposed in the request or may
            choose a different value. If the MEC platform does not require
            "heartbeat" messages for this service instance it shall omit the
            attribute in responses.
        _links:
          type: object
          required:
            - self
          properties:
            self:
              $ref: '#/components/schemas/LinkType'
            liveness:
              $ref: '#/components/schemas/LinkType'
      description: This type represents the general information of a MEC service.