MecServiceMgmtApi.yaml 57.4 KB
Newer Older
                      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
      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:
                minItems: 0
                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: []
      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:
          minItems: 0
          type: array
          items:
            type: string
          description: Identifiers of service instances about which to report events.
kharimza's avatar
kharimza committed
        serNames:
          minItems: 0
          type: array
          items:
            type: string
          description: Names of services about which to report events.
kharimza's avatar
kharimza committed
        serCategories:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/CategoryRef'
          description: Categories of services about which to report events.
kharimza's avatar
kharimza committed
        states:
          minItems: 0
          type: array
          items:
            $ref: '#/components/schemas/ServiceState'
          description: States of the services about which to report events. If the event is  a state change, this filter represents the state after the change.
        isLocal:
          type: boolean
          description: Indicate whether the service is located in the same locality (as defined by scopeOfLocality) as the consuming MEC application.
          examples:
          - true
      description: Filtering criteria to match services for which events are requested to be reported. If absent, matches all services. All child attributes are combined with the logical  "AND" operation.
    ServiceAvailabilityNotification:
      title: ServiceAvailabilityNotification
      - 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  ADDED: The service was newly added.\n  REMOVED: The service was removed.\n  STATE_CHANGED: Only the state of the service was changed. \n  ATTRIBUTES_CHANGED: At least one attribute of the service other than state was changed. The change may or may not include changing the state."
      examples:
      - ADDED
    SerializerType:
      title: SerializerType
      - 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
      description: This type represents the general information of a MEC service.
      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