MecServiceMgmtApi.yaml 64.3 KB
Newer Older
                  value:
                    serInstanceId: ServiceInstance123
                    serName: ExampleService
                    serCategory:
                      href: catItem1
                      id: id12345
                      name: RNI
                      version: version1
                    version: ServiceVersion1
                    state: ACTIVE
                    transportInfo:
                      id: TransId12345
                      name: REST
                      description: REST API
                      type: REST_HTTP
                      protocol: HTTP
                      version: '2.0'
                      endpoint:
                        uris:
                        - /mecSerMgmtApi/service/EntryPoint
                      security:
                        oAuth2Info:
                          grantTypes:
                          - OAUTH2_CLIENT_CREDENTIALS
                          tokenEndpoint: /mecSerMgmtApi/security/TokenEndPoint
                    serializer: JSON
          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:
      - 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 body 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 body 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'
        '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'
        '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'
    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 body is returned containing the updated liveness interval value of the service Instance.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceLivenessInfo'
        '204':
          description: Successful response sent when there is no need to provide a new liveness interval value to the service Instance.
          headers: {}
          content: {}
        '400':
          description: It is used to indicate that incorrect parameters were passed to the request. In the returned ProblemDetails structure, the "detail" attribute should convey more information about the error.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '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'
        '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'
        '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
      - href
      - id
      - name
      - version
      type: object
          type: string
          description: Reference of the catalogue
          examples:
          - /example/catalogue1
          type: string
          description: Unique identifier of the category
          examples:
          - id12345
          type: string
          description: Name of the category, example values include RNI, Location & Bandwidth Management
          examples:
          - RNI
          type: string
          description: Category version
          examples:
          - version1
      description: This type represents the category reference
      title: EndPointInfo.Address
      - host
      - port
      type: object
          type: string
          description: Host portion of the address
          examples:
          - 192.0.2.0
          type: integer
          description: Port portion of the address
          contentEncoding: int32
          examples:
          - 8080
      description: A IP address and port pair
      title: EndPointInfo.Addresses
      - addresses
      type: object
          type: array
          items:
            $ref: '#/components/schemas/EndPointInfo.Address'
          description: ''
      description: Entry point information of the service as one or more pairs of IP address and port
      title: EndPointInfo.Alternative
      - alternative
      type: object
      properties:
      description: Entry point information of the service in a format defined by an implementation, or in an external specification.
      title: EndPointInfo.Uris
      - uris
      type: object
          type: array
            type: string
          description: ''
      description: Entry point information of the service as string, formatted according to URI syntax
      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
      - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/LinkType'
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Subscription'
          description: The MEC application instance's subscriptions
      description: Self-referring URI.
    MecServiceMgmtApiSubscriptionLinkList.Subscription:
      title: MecServiceMgmtApiSubscriptionLinkList.Subscription
      - href
      - rel
      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
      - _links
      type: object
      properties:
        _links:
          $ref: '#/components/schemas/MecServiceMgmtApiSubscriptionLinkList.Links'
      description: This type represents a list of links related to currently existing subscriptions for a MEC application instance. This information is returned when sending a request to receive current subscriptions.
      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
      - 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'
    
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.
          examples:
          - true
      description: Filtering criteria to match services for which events are requested to be reported. If absent, matches all services. All child attributes are combined with the logical  "AND" operation.
    ServiceAvailabilityNotification:
      title: ServiceAvailabilityNotification
      - notificationType
      - serviceReferences
      - _links
      type: object
          type: string
          description: Shall be set to SerAvailabilityNotificationSubscription.
          examples:
          - SerAvailabilityNotificationSubscription
kharimza's avatar
kharimza committed
        serviceReferences:
kharimza's avatar
kharimza committed
            $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.
          examples:
          - ExampleService
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:\n  1. ADDED: The service was newly added.\n  2. REMOVED: The service was removed.\n  3. STATE_CHANGED: Only the state of the service was changed. \n  4. ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state."
      examples:
      - ADDED
    SerializerType:
      title: SerializerType
      - JSON
      - XML
      - PROTOBUF3
      description: The enumeration  represents types of serializers
      examples:
      - JSON
    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
      examples:
      - MEC_SYSTEM
    ServiceState:
      title: ServiceState
kharimza's avatar
kharimza committed
      enum:
      - ACTIVE
      - INACTIVE
      description: This enumeration defines the possible states of a service.
      examples:
      - ACTIVE
    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.
          examples:
          - ExampleService
        serCategory:
          $ref: '#/components/schemas/CategoryRef'
        version:
          type: string
          description: Service version
          examples:
          - ServiceVersion1
kharimza's avatar
kharimza committed
          $ref: '#/components/schemas/ServiceState'
        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.
          examples:
          - false
        isLocal:
          type: boolean
          description: Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.
          examples:
          - true
        livenessInterval:
          type: integer
          description: Interval (in seconds) between two consecutive "heartbeat" messages (see clause 8.2.10.3.3).
                      If the service-producing application supports sending "heartbeat" messages, it shall include this attribute in the registration request. In this case, the application shall either set the value of this attribute to zero or shall use this attribute to propose a non-zero positive value for the liveness interval.
                      If the application has provided this attribute in the request and the MEC platform requires "heartbeat" messages, the MEC platform shall return this attribute value in the HTTP responses. The MEC platform may use the value proposed in the request or may choose a different value.
                      If the MEC platform does not require "heartbeat" messages for this service instance it shall omit the attribute in responses.
        _links:
          type: object
          required:
            - self
          properties:
            self:
              $ref: '#/components/schemas/LinkType'
            liveness:
              $ref: '#/components/schemas/LinkType'     
      description: This type represents the general information of a MEC service.
    
    ServiceLivenessInfo:
      type: object
      required:
        - state
        - timeStamp
        - interval
      properties:
        state:
          $ref: '#/components/schemas/ServiceState'
        timeStamp:
          type: object
          description: The time when the last "heartbeat" message was received by MEC platform
          required:
            - seconds
            - nanoSeconds
          properties:
            seconds:
              type: integer
            nanoSeconds:
              type: integer            
        interval:
          type: integer
          description: The interval (in seconds) between two consecutive "heartbeat" messages (see clause 8.2.10.3.3) that MEC platform has determined.
  
    ServiceLivenessUpdate:
      type: object
      required:
        - state
      properties:
        state:
          $ref: '#/components/schemas/ServiceState'


      title: Subscription
      - subscription
      type: object
      properties:
        subscription:
          $ref: '#/components/schemas/LinkType'
      description: A link to the related subscription
      title: TransportInfo
      - id
      - name
      - type
      - protocol
      - version
      - endpoint
      - security
      type: object
          type: string
          description: The identifier of this transport
          examples:
          - TransId12345
          type: string
          description: The name of this transport
          examples:
          - REST
          type: string
          description: Human-readable description of this transport
          examples:
          - REST API
kharimza's avatar
kharimza committed
          $ref: '#/components/schemas/TransportType'
          type: string
          description: The name of the protocol used. Shall be set to HTTP for a REST API.
          examples:
          - HTTP
          type: string
          description: The version of the protocol used
          examples:
          - '2.0'
          - $ref: '#/components/schemas/EndPointInfo.Uris'
          - $ref: '#/components/schemas/EndPointInfo.Addresses'
          - $ref: '#/components/schemas/EndPointInfo.Alternative'
          description: This type represents information about a transport endpoint
        security:
          $ref: '#/components/schemas/SecurityInfo'
        implSpecificInfo:
          type: object
          description: Additional implementation specific details of the transport
      description: This type represents the general information of a MEC service.
kharimza's avatar
kharimza committed
    TransportType:
      title: TransportType
      - REST_HTTP
      - MB_TOPIC_BASED
      - MB_ROUTING
      - MB_PUBSUB
      - RPC
      - RPC_STREAMING
      - WEBSOCKET
      type: string
      description: The enumeration TransportType represents types of transports
      examples:
      - REST_HTTP
  requestBodies:
    ServiceAvailabilityNotification:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceAvailabilityNotification'
      required: true