Update OpenAPI files to version v020201

Automatically generated OpenAPI files from specification version v020201

Merge request reports

Loading
+322 −365
Changes for BwManagementApi.yaml: 322 added lines, 365 removed lines.
Original line number Diff line number Diff line
openapi: 3.1.0
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
info:
  contact:
    url: https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api
  title: 'ETSI GS MEC 015 Bandwidth Management API'
  version: 2.2.1
  description: The ETSI MEC ISG Bandwidth Management API described using OpenAPI.
  title: ETSI GS MEC 015 Multi-access Traffic Steering APIs
  description: The present document focuses on the Multi-access Traffic Steering multi-access edge service. It describes the related application policy information including authorization and access control, information flows, required information and service aggregation patterns. The present document specifies the necessary API with the data model and data format.
  license:
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'

externalDocs:
  description: ETSI GS MEC015 V2.2.1 Traffic Management APIs
  url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/015/02.02.01_60/gs_MEC015v020201p.pdf'

    url: https://forge.etsi.org/legal-matters
  version: 2.2.1
servers:
  - url: 'https://localhost/bwm/v1'

tags:
- name: "bwm"

- url: https://localhost/bwm/v1
paths:
  /bw_allocations:
  /bw_allocations/{allocationId}:
    get:
      summary: Retrieve information about a specific bandwidthAllocation.
      description: "This method retrieves information about a bandwidthAllocation resource. This method is typically used in \"Get configured bandwidth allocation from Bandwidth Management Service\" procedure as described in clause\_6.2.5."
      operationId: BwallocationsGETAllocationid
      tags:
      - "bwm"
      summary: "Retrieve information about a list of bandwidthAllocation resources"
      description: "Retrieves information about a list of bandwidthAllocation resources. Typically used in 'Get configured bandwidth allocation from Bandwidth Management Service' procedure as described in clause 6.2.5."
      operationId: "bandwidthAllocationListGET"
      parameters:
        - $ref: '#/components/parameters/Query.app_instance_id'
        - $ref: '#/components/parameters/Query.app_name'
        - $ref: '#/components/parameters/Query.session_id'
      - bwm
      responses:
        "200":
          description: "Upon success, a response body containing an array of the bandwidthAllocations is returned."
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/BwInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
          $ref: '#/components/responses/404'
    post:
      tags:
      - "bwm"
      summary: "Create a bandwidthAllocation resource"
      description: "Used to create a bandwidthAllocation resource. Typically used in 'Register to Bandwidth Management Service' procedure as described in clause 6.2.1."
      operationId: "bandwidthAllocationPOST"
      parameters: []
      requestBody:
        description: "Entity body in the request contains BwInfo to be created."
        required: true
        '200':
          description: It is used to indicate nonspecific success. The response body contains a representation of the resource.
          content:
            application/json:
              schema:
                type: object
                properties:
                  BwInfo:
                    $ref: '#/components/schemas/BwInfo'
      responses:
        "201":
          description: "Upon success, the HTTP response shall include a 'Location' HTTP header that contains the resource URI of the created resource."
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BwInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
  /bw_allocations/{allocationId}:
    get:
      tags:
      - "bwm"
      summary: "Retrieve information about a specific bandwidthAllocation"
      description: "Retrieves information about a bandwidthAllocation resource. Typically used in 'Get configured bandwidth allocation from Bandwidth Management Service' procedure as described in clause 6.2.5."
      operationId: "bandwidthAllocationGET"
        '403':
          $ref: '#/components/responses/403'
      parameters:
        - $ref: '#/components/parameters/Path.allocationId'
      responses:
        "200":
          description: "Used to indicate nonspecific success. The response body contains a representation of the resource."
          content:
            application/json:
      - name: allocationId
        in: path
        required: true
        description: The unique identifier of the allocationId.
        schema:
                $ref: "#/components/schemas/BwInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
          $ref: '#/components/responses/404'
          type: string
    put:
      summary: Update the information about a specific bandwidthAllocation.
      description: "This method updates the information about a bandwidthAllocation resource. As specified in ETSI GS\_MEC\_009\_[6], the PUT HTTP method has \"replace\" semantics."
      operationId: BwallocationsPUTAllocationid
      tags:
      - "bwm"
      summary: "Update the information about a specific bandwidthAllocation"
      description: "Updates the information about a bandwidthAllocation resource. As specified in ETSI GS MEC 009 [6], the PUT HTTP method has 'replace' semantics."
      operationId: "bandwidthAllocationPUT"
      - bwm
      requestBody:
        description: "BwInfo with updated information is included as entity body of the request."
        description: BwInfo with updated information is included as entity body of the request.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                BwInfo:
                  $ref: '#/components/schemas/BwInfo'
      parameters:
        - $ref: '#/components/parameters/Path.allocationId'
      responses:
        "200":
          description: "Used to indicate nonspecific success. The response body contains a representation of the resource."
        '200':
          description: Upon success, a response body containing data type describing the updated BwInfo is returned.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BwInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
                type: object
                properties:
                  BwInfo:
                    $ref: '#/components/schemas/BwInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
        "412":
        '403':
          $ref: '#/components/responses/403'
        '412':
          $ref: '#/components/responses/412'
      parameters:
      - name: allocationId
        in: path
        required: true
        description: The unique identifier of the allocationId.
        schema:
          type: string
    patch:
      summary: Modify the information about a specific existing bandwidthAllocation by sending updates on the data structure.
      description: 'This method updates the information about a bandwidthAllocation resource. As specified in ETSI GS MEC 009 [6], the PATCH HTTP method updates a resource on top of the existing resource state by just including the changes ("deltas") in the request body. '
      operationId: BwallocationsPATCHAllocationid
      tags:
      - "bwm"
      summary: "Modify the information about a specific existing bandwidthAllocation by sending updates on the data structure"
      description: "Updates the information about a bandwidthAllocation resource. As specified in ETSI GS MEC 009 [6], the PATCH HTTP method updates a resource on top of the existing resource state by just including the changes ('deltas') in the request body."
      operationId: "bandwidthAllocationPATCH"
      - bwm
      requestBody:
        description: "Description of the changes to instruct the server how to modify the resource representation."
        description: Description of the changes to instruct the server how to modify the resource representation. .
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                BwInfoDeltas:
                  $ref: '#/components/schemas/BwInfoDeltas'
      parameters:
        - $ref: '#/components/parameters/Path.allocationId'
      responses:
        "200":
          description: "Used to indicate nonspecific success. The response body contains a representation of the resource."
        '200':
          description: Upon success, a response body containing data type describing the updated BwInfo is returned.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BwInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
                type: object
                properties:
                  BwInfo:
                    $ref: '#/components/schemas/BwInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
        "412":
        '403':
          $ref: '#/components/responses/403'
        '412':
          $ref: '#/components/responses/412'
      parameters:
      - name: allocationId
        in: path
        required: true
        description: The unique identifier of the allocationId.
        schema:
          type: string
    delete:
      summary: Remove a specific bandwidthAllocation.
      description: DELETE method is typically used in "Unregister from Bandwidth Management Service" procedure as described in clause 6.2.3.
      operationId: BwallocationsDELETEAllocationid
      tags:
      - "bwm"
      summary: "Remove a specific bandwidthAllocation"
      description: "Used in 'Unregister from Bandwidth Management Service' procedure as described in clause 6.2.3."
      operationId: "bandwidthAllocationDELETE"
      parameters:
        - $ref: '#/components/parameters/Path.allocationId'
      - bwm
      responses:
        "204":
        '204':
          $ref: '#/components/responses/204'
        "403":
          $ref: '#/components/responses/403'
        "404":
        '404':
          $ref: '#/components/responses/404'
components:
  responses:
    "204":
      description: "Upon success, a response 204 No Content without any response body is returned."
    "400":
      description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
      content:
        application/problem+json:
        '403':
          $ref: '#/components/responses/403'
      parameters:
      - name: allocationId
        in: path
        required: true
        description: The unique identifier of the allocationId.
        schema:
            $ref: '#/components/schemas/ProblemDetails'
    "403":
      description: 'Forbidden :  operation is not allowed given the current status of the resource.'
          type: string
  /bw_allocations:
    get:
      summary: Retrieve information about a list of bandwidthAllocation resources.
      description: This method retrieves information about a list of bandwidthAllocation resources. This method is typically used in "Get configured bandwidth allocation from Bandwidth Management Service" procedure as described in clause 6.2.5.
      operationId: BwallocationsGET
      tags:
      - bwm
      parameters:
      - $ref: '#/components/parameters/Query.App_instance_id'
      - $ref: '#/components/parameters/Query.App_name'
      - $ref: '#/components/parameters/Query.Session_id'
      responses:
        '200':
          description: Upon success, a response body containing an array of the bandwidthAllocations is returned.
          content:
        application/problem+json:
            application/json:
              schema:
            $ref: '#/components/schemas/ProblemDetails'
    "404":
      description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
                type: array
                items:
                  $ref: '#/components/schemas/BwInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
        '403':
          $ref: '#/components/responses/403'
    post:
      summary: Create a bandwidthAllocation resource.
      description: This method is used to create a bandwidthAllocation resource. This method is typically used in "Register to Bandwidth Management Service" procedure as described in clause 6.2.1.
      operationId: BwallocationsPOST
      tags:
      - bwm
      requestBody:
        description: Entity body in the request contains BwInfo to be created.
        required: true
        content:
        application/problem+json:
          application/json:
            schema:
            $ref: '#/components/schemas/ProblemDetails'
    "412":
      description: 'Precondition failed :  used when a condition has failed during conditional requests, e.g. when
        using ETags to avoid write conflicts when using PUT'
              type: object
              properties:
                BwInfo:
                  $ref: '#/components/schemas/BwInfo'
      responses:
        '201':
          description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource.
          content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  parameters:
    Path.allocationId:
      name: allocationId
      in: "path"
      description: "Represents a bandwidth allocation instance"
      required: true
            application/json:
              schema:
                type: object
                properties:
                  BwInfo:
                    $ref: '#/components/schemas/BwInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
        '403':
          $ref: '#/components/responses/403'
      parameters: []
components:
  schemas:
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
    Query.app_instance_id:
      name: app_instance_id
      in: "query"
      description: "A MEC application instance may use multiple app_instance_ids as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_instance_id corresponds to appInsId defined in table 7.2.2-1. See note."
      required: false
      schema:
        type: array
        items:
          format: uri
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
        title:
          type: string
    Query.app_name:
      name: app_name
      in: "query"
      description: "A MEC application instance may use multiple app_names as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_name corresponds to appName defined in table 7.2.2-1. See note."
      required: false
      schema:
        type: array
        items:
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          format: uint32
          description: The HTTP status code for this occurrence of the problem
        detail:
          type: string
    Query.session_id:
      name: session_id
      in: "query"
      description: "A MEC application instance may use session_id as an input parameter to query the bandwidth allocation of a list of sessions. session_id corresponds to allocationId defined in table 7.2.2-1. See note."
      required: false
      schema:
        type: array
        items:
          description: A human-readable explanation specific to this occurrence of the problem
        instance:
          type: string
  schemas:
          format: uri
          description: A URI reference that identifies the specific occurrence of the problem
    BwInfo:
      title: BwInfo
      x-etsi-ref: 7.2.2
      type: object
      properties:
        allocationId:
          description: Bandwidth allocation instance identifier
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        appName:
          description: Name of the application 
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        allocationDirection:
          description: 'The direction of the requested BW allocation:
            00 = Downlink (towards the UE)
            01 = Uplink (towards the application/session)
            10 = Symmetrical'
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        timeStamp:
          $ref: '#/components/schemas/TimeStamp'
        appInsId:
          description: Application instance identifier
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        fixedAllocation:
          description: Size of requested fixed BW allocation in [bps]
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        fixedBWPriority:
          description: Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
          enum:
          - SEE_DESCRIPTION
        appName:
          description: Name of the application
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Enum
        requestType:
          type: integer
          description: 'Numeric value (0 - 255) corresponding to specific type of consumer as following:

            0 = APPLICATION_SPECIFIC_BW_ALLOCATION

            1 = SESSION_SPECIFIC_BW_ALLOCATION'
          type: integer
          enum:
          - 0
          - 1
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Enum_inlined
        sessionFilter:
          title: sessionFilter
          description: Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
          items:
            type: object
            properties:
              dstAddress:
                description: Destination address identity of session. The string for an  IPv4 address shall
                  be formatted in the "dotted decimal" notation as defined in IETF RFC 1166 [10]. The string
                  for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in
                  CIDR notation [12] used to provide the routing prefix 
                type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
              dstPort:
                description: Destination port identity of session
                items:
                  type: string
                minItems: 0
          type: array
                x-etsi-mec-cardinality: 0..N
                x-etsi-mec-origin-type: String
              protocol:
                description: Protocol number
          items:
            $ref: '#/components/schemas/SessionFilter'
        fixedBWPriority:
          type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
              sourceIp:
                description: Source address identity of session. The string for an IPv4 address shall be
                  formatted in the "dotted decimal" notation as defined in IETF RFC 1166 [10]. The string for 
                  an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with in CIDR
                  notation [12] used to provide the routing prefix
          description: Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
          enum:
          - SEE_DESCRIPTION
        fixedAllocation:
          description: Size of requested fixed BW allocation in [bps]
          type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
              sourcePort:
                description: Source port identity of session
                items:
        allocationDirection:
          description: 'The direction of the requested BW allocation:

            00 = Downlink (towards the UE)

            01 = Uplink (towards the application/session)

            10 = Symmetrical'
          type: string
                minItems: 0
                type: array
                x-etsi-mec-cardinality: 0..N
                x-etsi-mec-origin-type: String
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: Structure (inlined)
        timeStamp:
          title: timeStamp
          description: Time stamp to indicate when the corresponding information elements are sent
          properties:
            nanoSeconds:
              description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
              format: uint32
              type: integer
              x-etsi-mec-cardinality: '1'
              x-etsi-mec-origin-type: Uint32
            seconds:
              format: uint32
              type: integer
              description: The seconds part of the Time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC
              x-etsi-mec-cardinality: '1'
              x-etsi-mec-origin-type: Uint32
          required:
          - seconds
          - nanoSeconds
          type: object
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Structure (inlined)
      required:
      - appInsId
      - requestType
      - fixedAllocation
      - allocationDirection
      type: object
      x-etsi-ref: 7.2.2
    BwInfoDeltas:
      title: BwInfoDeltas
      x-etsi-ref: 7.2.3
      type: object
      properties:
        allocationId:
          description: Bandwidth allocation instance identifier
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        allocationDirection:
          description: 'The direction of the requested BW allocation:
            00 = Downlink (towards the UE)
            01 = Uplink (towards the application/session)
            10 = Symmetrical'
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        appInsId:
          description: Application instance identifier
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        fixedAllocation:
          description: Size of requested fixed BW allocation in [bps]
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        fixedBWPriority:
          description: Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
          enum:
          - SEE DESCRIPTION
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Enum_inlined
        requestType:
          type: integer
          description: 'Numeric value (0 - 255) corresponding to specific type of consumer as following:

            0 = APPLICATION_SPECIFIC_BW_ALLOCATION

            1 = SESSION_SPECIFIC_BW_ALLOCATION'
          type: integer
          enum:
          - 0
          - 1
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Enum_inlined
        sessionFilter:
          title: sessionFilter
          description: Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
          type: array
          items:
            $ref: '#/components/schemas/SessionFilter1'
        fixedBWPriority:
          type: string
          description: Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
          enum:
          - SEE_DESCRIPTION
        fixedAllocation:
          description: Size of requested fixed BW allocation in [bps]
          type: string
        allocationDirection:
          description: 'The direction of the requested BW allocation:

            00 = Downlink (towards the UE)

            01 = Uplink (towards the application/session)

            10 = Symmetrical'
          type: string
      required:
      - allocationId
      - appInsId
      - requestType
    TimeStamp:
      description: Time stamp to indicate when the corresponding information elements are sent
      type: object
      properties:
        seconds:
          description: The seconds part of the Time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC
          type: integer
          format: uint32
        nanoSeconds:
          description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
          type: integer
          format: uint32
      required:
      - seconds
      - nanoSeconds
    SessionFilter:
      description: Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter, the request shall be rejected
      type: object
      minItems: 0
      properties:
        sourceIp:
          description: "Source address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC\_1166\_[10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC\_5952\_[11], with in CIDR notation [12] used to provide the routing prefix"
          type: string
        sourcePort:
          description: Source port identity of session
          type: string
        dstAddress:
                description: Destination address identity of session. The string for an IPv4 address shall
                  be formatted in the "dotted decimal" notation as defined in IETF RFC 1166 [10]. The string
                  for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with
                  in CIDR notation [12] used to provide the routing prefix
          description: "Destination address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC\_1166\_[10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC\_5952\_[11], with in CIDR notation [12] used to provide the routing prefix"
          type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
        dstPort:
          description: Destination port identity of session
                items:
          type: string
                minItems: 0
                type: array
                x-etsi-mec-cardinality: 0..N
                x-etsi-mec-origin-type: String
        protocol:
          description: Protocol number
          type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
    SessionFilter1:
      description: Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter, the request shall be rejected
      type: object
      minItems: 0
      properties:
        sourceIp:
                description: Source address identity of session. The string for an IPv4 address shall be
                  formatted in the "dotted decimal" notation as defined in IETF RFC 1166 [10]. The string
                  for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], with
                  in CIDR notation [12] used to provide the routing prefix
          description: "Source address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC\_1166\_[10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF\_RFC\_5952\_[11], with in CIDR notation [12] used to provide the routing prefix"
          type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
        sourcePort:
          description: 'Source port identity of session '
                items:
          type: string
                minItems: 0
                type: array
                x-etsi-mec-cardinality: 0..N
                x-etsi-mec-origin-type: String
          minItems: 0
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: Structure (inlined)
      required:
      - allocationId
      - appInsId
      - requestType
      type: object
      x-etsi-ref: 7.2.3
    ProblemDetails:
      title: ProblemDetails
      properties:
        detail:
          description: A human-readable explanation specific to this occurrence of the problem
        dstAddress:
          description: "Destination address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC\_1166\_[10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF\_RFC\_5952\_[11], with in CIDR notation [12] used to provide the routing prefix"
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        instance:
          description: A URI reference that identifies the specific occurrence of the problem
          format: uri
        dstPort:
          description: Destination port identity of session
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
        status:
          description: The HTTP status code for this occurrence of the problem
          format: uint32
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Uint32
        title:
          description: A short, human-readable summary of the problem type
        protocol:
          description: Protocol number
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        type:
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
          format: uri
  responses:
    '200':
      description: OK
    '204':
      description: No Content
    '400':
      description: 'Bad Request: used to indicate that incorrect parameters were passed to the request.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '403':
      description: 'Forbidden: operation is not allowed given the current status of the resource.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '404':
      description: 'Not Found: used when a client provided a URI that cannot be mapped to a valid resource URI.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '412':
      description: 'Precondition failed: used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  parameters:
    Query.App_instance_id:
      description: 'A MEC application instance may use multiple app_instance_ids as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_instance_id corresponds to appInsId defined in table 7.2.2-1.

        See note.'
      name: app_instance_id
      in: query
      required: false
      x-exportParamName: Query.App_instance_id
      schema:
        type: array
        items:
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
      type: object
 No newline at end of file
    Query.App_name:
      description: 'A MEC application instance may use multiple app_names as an input parameter to query the bandwidth allocation of a list of MEC application instances. app_name corresponds to appName defined in table 7.2.2-1.

        See note.'
      name: app_name
      in: query
      required: false
      x-exportParamName: Query.App_name
      schema:
        type: array
        items:
          type: string
    Query.Session_id:
      description: 'A MEC application instance may use session_id as an input parameter to query the bandwidth allocation of a list of sessions. session_id corresponds to allocationId defined in table 7.2.2-1.

        See note.'
      name: session_id
      in: query
      required: false
      x-exportParamName: Query.Session_id
      schema:
        type: array
        items:
          type: string
+383 −406
Changes for TrafficSteeringApi.yaml: 383 added lines, 406 removed lines.
Original line number Diff line number Diff line
openapi: 3.1.0
jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
info:
  contact:
    url: https://forge.etsi.org/rep/mec/gs015-bandwith-mgmt-api
  title: 'ETSI GS MEC 015 Multi-access Traffic Steering APIs'
  version: 2.2.1
  title: ETSI GS MEC 015 Multi-access Traffic Steering APIs
  description: The present document focuses on the Multi-access Traffic Steering multi-access edge service. It describes the related application policy information including authorization and access control, information flows, required information and service aggregation patterns. The present document specifies the necessary API with the data model and data format.
  license:
    name: BSD-3-Clause
    url: 'https://forge.etsi.org/legal-matters'

externalDocs:
  description: ETSI GS MEC015 V2.2.1 Traffic Management APIs
  url: 'https://www.etsi.org/deliver/etsi_gs/MEC/001_099/015/02.02.01_60/gs_MEC015v020201p.pdf'

    url: https://forge.etsi.org/legal-matters
  version: 2.2.1
servers:
  - url: 'https://localhost/mts/v1'

tags:
- name: "mts"

- url: https://localhost/mts/v1
paths:
  /mts_capability_info:
    get:
      summary: Retrieve the MTS capability information.
      description: The GET method is used to query information about the MTS information. This method is typically used in the "Get MTS service Info from the MTS Service" procedure as described in clause 6.2.6.
      operationId: MtscapabilityinfoGET
      tags:
      - "mts"
      summary: "Retrieve the MTS capability informations"
      description: "Used to query information about the MTS information. Typically used in the 'Get MTS service Info from the MTS Service' procedure as described in clause 6.2.6."
      operationId: "mtsCapabilityInfoGET"
      parameters: []
      - mts
      responses:
        "200":
          description: "Upon success, a response body containing the MTS capability information is returned."
        '200':
          description: Upon success, a response body containing the MTS capability information is returned.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MtsCapabilityInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
                type: object
                properties:
                  MtsCapabilityInfo:
                    $ref: '#/components/schemas/MtsCapabilityInfo'
        '400':
          $ref: '#/components/responses/400'
        '403':
          $ref: '#/components/responses/403'
        "404":
        '404':
          $ref: '#/components/responses/404'
  /mts_sessions:
      parameters: []
  /mts_sessions/{sessionId}:
    get:
      summary: Retrieve information about specific MTS session.
      description: This method retrieves information about an individual MTS session. This method is typically used in the "Get configured MTS Session Info from the MTS Service" procedure as described in clause 6.2.10.
      operationId: MtssessionsGETSessionid
      tags:
      - "mts"
      summary: "Retrieve information about a list of MTS sessions"
      description: "Retrieves information about a list of MTS sessions. Typically used in the 'Get configured MTS Session Info from the MTS Service' procedure as described in clause 6.2.10."
      operationId: "mtsSessionsListGET"
      parameters:
      - $ref: '#/components/parameters/Query.app_instance_id'
      - $ref: '#/components/parameters/Query.app_name'
      - $ref: '#/components/parameters/Query.session_id'
      - mts
      responses:
        "200":
          description: "Upon success, a response body containing an array of the MTS sessions is returned."
        '200':
          description: It is used to indicate nonspecific success. The response body contains a representation of the resource.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: "#/components/schemas/MtsSessionInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
                type: object
                properties:
                  MtsSessionInfo:
                    $ref: '#/components/schemas/MtsSessionInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
    post:
        '403':
          $ref: '#/components/responses/403'
      parameters:
      - name: sessionId
        in: path
        required: true
        description: The unique identifier of the sessionId.
        schema:
          type: string
    put:
      summary: Update the information about specific MTS session.
      description: 'This method updates the information about an individual MTS session. As specified in ETSI GS MEC 009 [6], the PUT HTTP method has "replace" semantics. '
      operationId: MtssessionsPUTSessionid
      tags:
      - "mts"
      summary: "Create a MTS session"
      description: "Used to create a MTS session. This method is typically used in 'Register application to the MTS Service' procedure as described in clause 6.2.7."
      operationId: "mtsSessionPOST"
      parameters: []
      - mts
      requestBody:
        description: "Entity body in the request contains MtsSessionInfo to be created."
        description: MtsSessionInfo with updated information is included as entity body of the request.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                MtsSessionInfo:
                  $ref: '#/components/schemas/MtsSessionInfo'
      responses:
        "201":
          description: "Upon success, the HTTP response shall include a 'Location' HTTP header that contains the resource URI of the created resource."
        '200':
          description: Upon success, a response body containing data type describing the updated MtsSessionInfo is returned.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MtsSessionInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
                type: object
                properties:
                  MtsSessionInfo:
                    $ref: '#/components/schemas/MtsSessionInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
        '403':
          $ref: '#/components/responses/403'
        "404":
        '412':
          $ref: '#/components/responses/412'
      parameters:
      - name: sessionId
        in: path
        required: true
        description: The unique identifier of the sessionId.
        schema:
          type: string
    delete:
      summary: Remove specific MTS session.
      description: DELETE method is typically used in "Unregister from the MTS Service" procedure as described in clause 6.2.8.
      operationId: MtssessionsDELETESessionid
      tags:
      - mts
      responses:
        '204':
          $ref: '#/components/responses/204'
        '404':
          $ref: '#/components/responses/404'
  /mts_sessions/{sessionId}:
        '403':
          $ref: '#/components/responses/403'
      parameters:
      - name: sessionId
        in: path
        required: true
        description: The unique identifier of the sessionId.
        schema:
          type: string
  /mts_sessions:
    get:
      summary: Retrieve information about a list of MTS sessions.
      description: This method retrieves information about a list of MTS sessions. This method is typically used in the "Get configured MTS Session Info from the MTS Service" procedure as described in clause 6.2.10.
      operationId: MtssessionsGET
      tags:
      - "mts"
      summary: "Retrieve information about specific MTS session"
      description: "Retrieves information about an individual MTS session. Typically used in the 'Get configured MTS Session Info from the MTS Service' procedure as described in clause 6.2.10."
      operationId: "mtsSessionGET"
      - mts
      parameters:
      - $ref: '#/components/parameters/Path.sessionId'
      - $ref: '#/components/parameters/Query.App_instance_id'
      - $ref: '#/components/parameters/Query.App_name'
      - $ref: '#/components/parameters/Query.Session_id'
      responses:
        "200":
          description: "Used to indicate nonspecific success. The response body contains a representation of the resource."
        '200':
          description: Upon success, a response body containing an array of the MTS sessions is returned.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MtsSessionInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
                type: array
                items:
                  $ref: '#/components/schemas/MtsSessionInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
    put:
        '403':
          $ref: '#/components/responses/403'
    post:
      summary: Create a MTS session.
      description: This method is used to create a MTS session. This method is typically used in "Register application to the MTS Service" procedure as described in clause 6.2.7.
      operationId: MtssessionsPOST
      tags:
      - "mts"
      summary: "Update the information about specific MTS session"
      description: "Updates the information about an individual MTS session. As specified in ETSI GS MEC 009 [6], the PUT HTTP method has 'replace' semantics. "
      operationId: "mtsSessionPUT"
      parameters:
      - $ref: '#/components/parameters/Path.sessionId'
      - mts
      requestBody:
        description: "MtsSessionInfo with updated information is included as entity body of the request."
        description: Entity body in the request contains MtsSessionInfo to be created.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                MtsSessionInfo:
                  $ref: '#/components/schemas/MtsSessionInfo'
      responses:
        "200":
          description: "Used to indicate nonspecific success. The response body contains a representation of the resource."
        '201':
          description: Upon success, the HTTP response shall include a "Location" HTTP header that contains the resource URI of the created resource.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/MtsSessionInfo"
        "400":
          $ref: "#/components/responses/400"
        "403":
          $ref: '#/components/responses/403'
        "404":
                type: object
                properties:
                  MtsSessionInfo:
                    $ref: '#/components/schemas/MtsSessionInfo'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404'
        "412":
          $ref: '#/components/responses/412'
    delete:
      tags:
      - "mts"
      summary: "Remove specific MTS session"
      description: "DELETE method is typically used in 'Unregister from the MTS Service' procedure as described in clause 6.2.8."
      operationId: "mtsSessionDELETE"
      parameters:
      - $ref: '#/components/parameters/Path.sessionId'
      responses:
        "204":
          $ref: '#/components/responses/204'
        "403":
        '403':
          $ref: '#/components/responses/403'
        "404":
          $ref: '#/components/responses/404'
      parameters: []
components:
  responses:
    "204":
      description: "Upon success, a response 204 No Content without any response body is returned."
    "400":
      description: 'Bad Request : used to indicate that incorrect parameters were passed to the request.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    "403":
      description: 'Forbidden :  operation is not allowed given the current status of the resource.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    "404":
      description: 'Not Found :  used when a client provided a URI that cannot be mapped to a valid resource URI.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    "412":
      description: 'Precondition failed :  used when a condition has failed during conditional requests, e.g. when
        using ETags to avoid write conflicts when using PUT'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  parameters:
    Path.sessionId:
      name: sessionId
      in: "path"
      description: "Represents a MTS session instance"
      required: true
      schema:
  schemas:
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
    Query.app_instance_id:
      name: app_instance_id
      in: "query"
      description: "A MEC application instance may use multiple app_instance_ids as an input parameter to query the MTS session of a list of MEC application instances. app_instance_id corresponds to appInsId defined in table 7.2.5-1. See note."
      required: false
      schema:
          format: uri
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
        title:
          type: string
          description: A short, human-readable summary of the problem type
        status:
          type: integer
          format: uint32
          description: The HTTP status code for this occurrence of the problem
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem
        instance:
          type: string
          format: uri
          description: A URI reference that identifies the specific occurrence of the problem
    Uint32:
      type: integer
      format: uint32
    Unit32:
      type: integer
      format: int32
      minimum: 0
      maximum: 2147483647
    MtsCapabilityInfo:
      x-etsi-ref: 7.2.4
      type: object
      properties:
        timeStamp:
          $ref: '#/components/schemas/TimeStamp'
        mtsAccessInfo:
          type: array
          items:
          type: string
    Query.app_name:
      name: app_name
      in: "query"
      description: "A MEC application instance may use multiple app_names as an input parameter to query the MTS session of a list of MEC application instances. app_name corresponds to appName defined in table 7.2.5-1. See note."
      required: false
      schema:
            $ref: '#/components/schemas/MtsAccessInfo'
        mtsMode:
          description: 'Numeric value corresponding to a specific MTS operation supported by the TMS

            0 = low cost, i.e. using the unmetered access network connection whenever it is available

            1 = low latency, i.e. using the access network connection with lower latency

            2 = high throughput, i.e. using the access network connection with higher throughput, or/and multiple access network connection simultaneously if supported

            3 = redundancy, i.e. sending duplicated (redundancy) packets over multiple access network connections for highreliability and low-latency applications

            4 = QoS, i.e. performing MTS based on the specific QoS requirements from the app'
          type: array
          format: uint32
          minItems: 1
          items:
            $ref: '#/components/schemas/Uint32'
      required:
      - mtsAccessInfo
      - mtsMode
      description: "|-\n  NOTE:\tA metered connection is a network connection that has a maximum data usage in a specific period, e.g.\_per hour/day/week/month. The user may get billed extra charges if they go over the allotted amount."
    MtsSessionInfo:
      x-etsi-ref: 7.2.5
      type: object
      properties:
        sessionId:
          description: MTS session instance identifier
          type: string
    Query.session_id:
      name: session_id
      in: "query"
      description: "A MEC application instance may use session_id as an input parameter to query the information of a list of MTS sessions. session_id corresponds to sessionId defined in table 7.2.5-1. See note."
      required: false
      schema:
        timeStamp:
          $ref: '#/components/schemas/TimeStamp1'
        appInsId:
          description: Application instance identifier
          type: string
        appName:
          description: Name of the application
          type: string
        requestType:
          type: integer
          description: 'Numeric value (0 - 255) corresponding to specific type of consumer as following:

            0 = APPLICATION_SPECIFIC_MTS_SESSION

            1 = FLOW_SPECIFIC_MTS_SESSION'
          enum:
          - 0
          - 1
        flowFilter:
          type: array
          items:
            $ref: '#/components/schemas/FlowFilter'
        qosD:
          $ref: '#/components/schemas/QosD'
        mtsMode:
          description: 'Numeric value (0 - 255) corresponding to a specific MTS mode of the MTS session:

            0 = low cost, i.e. using the unmetered access network connection whenever it is available

            1 = low latency, i.e. using the access network connection with lower latency

            2 = high throughput, i.e. using the access network connection with higher throughput, or multiple access network connection simultaneously

            3 = redundancy, i.e. sending duplicated (redundancy) packets over multiple access network connections for high-reliability and low-latency applications

            4 = QoS, i.e. performing MTS based on the QoS requirement (qosD)'
          type: integer
          format: uint32
        trafficDirection:
          description: 'The direction of the requested MTS session:

            00 = Downlink (towards the UE)

            01 = Uplink (towards the application/session)

            10 = Symmetrical (see note)'
          type: string
  schemas:
    MtsCapabilityInfo:
      title: MtsCapabilityInfo
      required:
      - appInsId
      - requestType
      - flowFilter
      - qosD
      - mtsMode
      - trafficDirection
      description: "|-\n  NOTE:\tFor the downlink direction of a symmetrical flow, \"sourceIp\" and \"sourcePort\" in the \"flowFilter\" structure are used for source address and port, respectively; \"dstIp\" and \"dstPort\" are used for destination address and port, respectively. For the uplink direction of a symmetrical flow, \"sourceIp\" and \"sourcePort\" are used for destination address and port, respectively; \"dstIp\" and \"dstPort\" are used for source address and port, respectively."
    TimeStamp:
      description: Time stamp to indicate when the corresponding information elements are sent
      type: object
      properties:
        mtsAccessInfo:
          title: mtsAccessInfo
        seconds:
          description: Time in seconds in Unix-time since January 1, 1970, 00:00:00 UTC
          type: integer
          format: uint32
        nanoSeconds:
          description: Time in nanoseconds in Unix-time since January 1, 1970, 00:00:00 UTC
          type: integer
          format: uint32
      required:
      - seconds
      - nanoSeconds
    MtsAccessInfo:
      description: The information on access network connection as defined below
          items:
      type: object
      minItems: 1
      properties:
        accessId:
                format: uint32
                type: integer
          description: Unique identifier for the access network connection
                x-etsi-mec-cardinality: '1'
                x-etsi-mec-origin-type: Uint32
              accessType:
                format: uint32
          type: integer
                description: "Numeric value (0-255) corresponding to specific type of access network as following:
          format: uint32
        accessType:
          description: 'Numeric value (0-255) corresponding to specific type of access network as following:

            0 = Unknown

            1 = Any IEEE802.11-based WLAN technology

            2 = Any 3GPP-based Cellular technology

            3 = Any Fixed Access

            11 = IEEE802.11 a/b/g WLAN

            12 = IEEE 802.11 a/b/g/n WLAN

            13 = IEEE 802.11 a/b/g/n/ac WLAN

            14 = IEEE 802.11 a/b/g/n/ac/ax WLAN (Wi-Fi 6)

            15 = IEEE 802.11 b/g/n WLAN

            31 = 3GPP GERAN/UTRA (2G/3G)

            32 = 3GPP E-UTRA (4G/LTE)
                  33 = 3GPP NR (5G)"
                x-etsi-mec-cardinality: '1'
                x-etsi-mec-origin-type: Uint32
              metered:
                format: uint32

            33 = 3GPP NR (5G) '
          type: integer
          format: uint32
        metered:
          description: 'Numeric value (0-255) corresponding to the following:

            0: the connection is not metered (see note)

            1: the connection is metered

            2: unknown '
                x-etsi-mec-cardinality: '1'
                x-etsi-mec-origin-type: Uint32
          type: integer
          format: uint32
      required:
      - accessId
      - accessType
      - metered
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: Structure (inlined)
        mtsMode:
          description: 'Numeric value corresponding to a specific MTS operation supported by the TMS
            0 = low cost, i.e. using the unmetered access network connection whenever it is available
            1 = low latency, i.e. using the access network connection with lower latency
            2 = high throughput, i.e. using the access network connection with higher throughput, or/and multiple access network connection simultaneously if supported
            3 = redundancy, i.e. sending duplicated (redundancy) packets over multiple access network connections for highreliability and low-latency applications
            4 = QoS, i.e. performing MTS based on the specific QoS requirements from the app'
          items:
    TimeStamp1:
      description: 'Time stamp to indicate when the corresponding information elements are sent '
      type: object
      properties:
        seconds:
          description: The seconds part of the Time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC
          type: integer
          format: uint32
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: Uint32
        timeStamp:
          title: timeStamp
          description: Time stamp to indicate when the corresponding information elements are sent
          properties:
        nanoSeconds:
              format: uint32
          description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
          type: integer
              description: Time in nanoseconds in Unix-time since January 1, 1970, 00:00:00 UTC
              x-etsi-mec-cardinality: '1'
              x-etsi-mec-origin-type: Uint32
            seconds:
              description: Time in seconds in Unix-time since January 1, 1970, 00:00:00 UTC
          format: uint32
              type: integer
              x-etsi-mec-cardinality: '1'
              x-etsi-mec-origin-type: Uint32
      required:
      - seconds
      - nanoSeconds
    FlowFilter:
      description: Traffic flow filtering criteria, applicable only if when requestType is set as FLOW_SPECIFIC_MTS_SESSION. Any filtering criteria shall define a single session only. In case multiple sessions match flowFilter, the request shall be rejected. If the flowFilter field is included, at least one of its subfields shall be included. Any flowFilter subfield that is not included shall be ignored in traffic flow filtering
      type: object
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Structure (inlined)
      required:
      - mtsAccessInfo
      - mtsMode
      type: object
      x-etsi-notes: "NOTE:\tA metered connection is a network connection that has\
        \ a maximum data usage in a specific period, e.g. per hour/day/week/month.\
        \ The user may get billed extra charges if they go over the allotted amount."
      x-etsi-ref: 7.2.4
    MtsSessionInfo:
      title: MtsSessionInfo
      minItems: 1
      properties:
        sessionId:
          description: MTS session instance identifier
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        appInsId:
          description: Application instance identifier
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
        appName:
          description: Name of the application
        sourceIp:
          description: "Source address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC\_1166\_[10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC\_5952\_[11], with in CIDR notation [12] used to provide the routing prefix"
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        flowFilter:
          title: flowFilter
          description: Traffic flow filtering criteria, applicable only if when requestType is set as FLOW_SPECIFIC_MTS_SESSION. Any filtering criteria shall define a single session only. In case multiple sessions match flowFilter the request shall be rejected. If the flowFilter field is included, at least one of its subfields shall be included. Any flowFilter subfield that is not included shall be ignored in traffic flow filtering
          items:
            type: object
            properties:
              dscp:
                format: uint32
        sourcePort:
          description: 'Source port identity of session '
          type: integer
                description: DSCP in the IPv4 header or Traffic Class in the IPv6 header
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: Uint32
          format: uint32
        dstIp:
                description: Destination address identity of session. The string for an IPv4 address shall
                  be formatted in the "dotted decimal" notation as defined in IETF RFC 1166 [10]. The string
                  for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], 
                  with in CIDR notation [12] used to provide the routing prefix
          description: "Destination address identity of session. The string for an IPv4 address shall be formatted in the \"dotted decimal\" notation as defined in IETF RFC\_1166\_[10]. The string for an IPv6 address shall be formatted according to clause 4 of IETF RFC\_5952\_[11], with in CIDR notation [12] used to provide the routing prefix"
          type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
        dstPort:
          description: Destination port identity of session
                items:
          type: integer
          format: uint32
                minItems: 0
                type: array
                x-etsi-mec-cardinality: 0..N
                x-etsi-mec-origin-type: Uint32
              flowlabel:
                format: uint32
                type: integer
                description: Flow Label in the IPv6 header, applicable only if the flow is IPv6
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: Uint32
        protocol:
                format: uint32
                type: integer
          description: Protocol number
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: Uint32
              sourceIp:
                description: Source address identity of session. The string for an IPv4 address shall be
                  formatted in the "dotted decimal" notation as defined in IETF RFC 1166 [10]. The string
                  for an IPv6 address shall be formatted according to clause 4 of IETF RFC 5952 [11], 
                  with in CIDR notation [12] used to provide the routing prefix
                type: string
                x-etsi-mec-cardinality: 0..1
                x-etsi-mec-origin-type: String
              sourcePort:
                description: Source port identity of session
                items:
          type: integer
          format: uint32
                minItems: 0
                type: array
                x-etsi-mec-cardinality: 0..N
                x-etsi-mec-origin-type: Uint32
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: Structure (inlined)
        mtsMode:
        dscp:
          description: DSCP in the IPv4 header or Traffic Class in the IPv6 header
          type: integer
          format: uint32
        flowlabel:
          description: Flow Label in the IPv6 header, applicable only if the flow is IPv6
          type: integer
          description: 'Numeric value (0 - 255) corresponding to a specific MTS mode of the MTS session:
            0 = low cost, i.e. using the unmetered access network connection whenever it is available
            1 = low latency, i.e. using the access network connection with lower latency
            2 = high throughput, i.e. using the access network connection with higher throughput, or multiple access network connection simultaneously
            3 = redundancy, i.e. sending duplicated (redundancy) packets over multiple access network connections for high-reliability and low-latency applications
            4 = QoS, i.e. performing MTS based on the QoS requirement (qosD)'
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Uint32
        qosD:
          title: qosD
          format: uint32
    QosD:
      description: QoS requirement description of the MTS session, applicable only if mtsMode = 4 (QoS). If the qosD field is included, at least one of its subfields shall be included. Any qosD subfield that is not included shall be ignored in Multi-access Traffic Steering (MTS)
      type: object
      properties:
            maxJitter:
              description: tolerable jitter in [10 nanoseconds]
              type: integer
              format: uint32
              x-etsi-mec-cardinality: 0..1
              x-etsi-mec-origin-type: Uint32
        minTpt:
          description: minimal throughput in [kbps]
          $ref: '#/components/schemas/Unit32'
          type: object
        maxLatency:
          description: tolerable (one-way) delay in [10 nanoseconds]
              type: integer
              format: uint32
              x-etsi-mec-cardinality: 0..1
              x-etsi-mec-origin-type: Uint32
          $ref: '#/components/schemas/Unit32'
          type: object
        maxLoss:
          description: tolerable packet loss rate in [1/10^x]
              type: integer
              format: uint32
              x-etsi-mec-cardinality: 0..1
              x-etsi-mec-origin-type: Uint32
            minTpt:
              description: minimal throughput in [kbps]
              type: integer
              format: uint32
              x-etsi-mec-cardinality: 0..1
              x-etsi-mec-origin-type: Uint32
            priority:
              description: "numeric value (0 - 255) corresponding to the traffic priority 0: low; 1: medium; 2: high; 3: critical"
              type: integer
              format: uint32
              x-etsi-mec-cardinality: 0..1
              x-etsi-mec-origin-type: Uint32
          $ref: '#/components/schemas/Unit32'
          type: object
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Structure
        requestType:
          description: 'Numeric value (0 - 255) corresponding to specific type of consumer as following:
            0 = APPLICATION_SPECIFIC_MTS_SESSION
            1 = FLOW_SPECIFIC_MTS_SESSION'
          enum:
          - 0
          - 1
          type: integer
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: Enum_inlined
        timeStamp:
          title: timeStamp
          description: 'Time stamp to indicate when the corresponding information elements are sent '
          properties:
            nanoSeconds:
              format: uint32
              type: integer
              description: The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
              x-etsi-mec-cardinality: '1'
              x-etsi-mec-origin-type: Uint32
            seconds:
              format: uint32
              type: integer
              description: The seconds part of the Time. Time is defined as Unixtime since January 1, 1970, 00:00:00 UTC
              x-etsi-mec-cardinality: '1'
              x-etsi-mec-origin-type: Uint32
          required:
          - seconds
          - nanoSeconds
        maxJitter:
          description: tolerable jitter in [10 nanoseconds]
          $ref: '#/components/schemas/Unit32'
          type: object
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Structure (inlined)
        trafficDirection:
          description: 'The direction of the requested MTS session:
            00 = Downlink (towards the UE)
            01 = Uplink (towards the application/session)
            10 = Symmetrical (see note) '
          type: string
          x-etsi-mec-cardinality: '1'
          x-etsi-mec-origin-type: String
      required:
      - appInsId
      - requestType
      - flowFilter
      - qosD
      - mtsMode
      - trafficDirection
        priority:
          description: 'numeric value (0 - 255) corresponding to the traffic priority: 0: low; 1: medium; 2: high; 3: critical'
          $ref: '#/components/schemas/Unit32'
          type: object
      x-etsi-notes: "NOTE:\tFor the downlink direction of a symmetrical flow, \"sourceIp\"\
        \ and \"sourcePort\" in the \"flowFilter\" structure are used for source address\
        \ and port, respectively; \"dstIp\" and \"dstPort\" are used for destination\
        \ address and port, respectively. For the uplink direction of a symmetrical\
        \ flow, \"sourceIp\" and \"sourcePort\" are used for destination address and\
        \ port, respectively; \"dstIp\" and \"dstPort\" are used for source address\
        \ and port, respectively."
      x-etsi-ref: 7.2.5
    ProblemDetails:
      title: ProblemDetails
      properties:
        detail:
          description: A human-readable explanation specific to this occurrence of the problem
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        instance:
          description: A URI reference that identifies the specific occurrence of the problem
          format: uri
  responses:
    '200':
      description: OK
    '204':
      description: No Content
    '400':
      description: 'Bad Request: used to indicate that incorrect parameters were passed to the request.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '403':
      description: 'Forbidden: operation is not allowed given the current status of the resource.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '404':
      description: 'Not Found: used when a client provided a URI that cannot be mapped to a valid resource URI.'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
    '412':
      description: 'Precondition failed: used when a condition has failed during conditional requests, e.g. when using ETags to avoid write conflicts when using PUT'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ProblemDetails'
  parameters:
    Query.App_instance_id:
      description: 'A MEC application instance may use multiple app_instance_ids as an input parameter to query the MTS session of a list of MEC application instances. app_instance_id corresponds to appInsId defined in table 7.2.5-1.

        See note.'
      name: app_instance_id
      in: query
      required: false
      x-exportParamName: Query.App_instance_id
      schema:
        type: array
        items:
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
        status:
          description: The HTTP status code for this occurrence of the problem
          format: uint32
          type: integer
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Uint32
        title:
          description: A short, human-readable summary of the problem type
    Query.App_name:
      description: 'A MEC application instance may use multiple app_names as an input parameter to query the MTS session of a list of MEC application instances. app_name corresponds to appName defined in table 7.2.5-1.

        See note.'
      name: app_name
      in: query
      required: false
      x-exportParamName: Query.App_name
      schema:
        type: array
        items:
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
        type:
          description: A URI reference according to IETF RFC 3986 that identifies the problem type
          format: uri
    Query.Session_id:
      description: 'A MEC application instance may use session_id as an input parameter to query the information of a list of MTS sessions. session_id corresponds to sessionId defined in table 7.2.5-1.

        See note.'
      name: session_id
      in: query
      required: false
      x-exportParamName: Query.Session_id
      schema:
        type: array
        items:
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
      type: object
Loading