Commit 9b247fe4 authored by Jesus de Gregorio's avatar Jesus de Gregorio
Browse files

SA#99

parent be5b38ec
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  title: 5GMS Common Data Types
  version: 2.0.0
  version: 2.0.1
  description: |
    5GMS Common Data Types
    © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: 5GMS Common Data Types
    description: '5G Media Streaming: Common Data Types'
externalDocs:
  description: 'TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V17.4.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
paths: {}
components:
@@ -29,9 +29,17 @@ components:
    #DateTime is defined in TS29571_CommonData
    #Uri is defined in TS29571_CommonData
    Url:
      type: string
      format: uri-reference
      description: 'Uniform Resource Locator, conforming with the "URI-reference" production specified in IETF RFC 3986, section 4.1.'
    RelativeUrl:
      type: string
      format: uri-reference
      description: 'Relative Uniform Resource Locator, conforming with the "relative-ref" production specified in IETF RFC 3986, section 4.2. Note that both "query" and "fragment" suffixes are permitted by this production.'
    AbsoluteUrl:
      type: string
      format: uri
      description: Uniform Resource Locator, comforming with the URI Generic Syntax specified in IETF RFC 3986.
      description: 'Absolute Uniform Resource Locator, conforming with the "absolute-URI" production specified in IETF RFC 3986, section 4.3 in which the scheme part is "http" or "https". Note that the "query" suffix is permitted by this production but the "fragment" suffix is not.'
 
    #####################################
    # Clause 6.4.3: Structured data types
+4 −4
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  title: M1_ConsumptionReportingProvisioning
  version: 2.0.0
  version: 2.0.1
  description: |
    5GMS AF M1 Consumption Reporting Provisioning API
    © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: M1_ConsumptionReportingProvisioning
    description: '5G Media Streaming: Provisioning (M1) APIs: Consumption Reporting Provisioning'
externalDocs:
  description: 'TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V17.4.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
servers:
  - url: '{apiRoot}/3gpp-m1/v2'
@@ -45,7 +45,7 @@ paths:
              description: 'URL of the newly created Consumption Reporting Configuration (same as request URL).'
              required: true
              schema:
                $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
                $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
    get:
      operationId: retrieveConsumptionReportingConfiguration
      summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session'
+67 −11
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  title: M1_ContentHostingProvisioning
  version: 2.1.0
  version: 2.2.0
  description: |
    5GMS AF M1 Content Hosting Provisioning API
    © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: M1_ContentHostingProvisioning
    description: '5G Media Streaming: Provisioning (M1) APIs: Content Hosting Provisioning'
externalDocs:
  description: 'TS 26.512 V17.3.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V17.4.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
servers:
  - url: '{apiRoot}/3gpp-m1/v2'
@@ -45,7 +45,7 @@ paths:
              description: 'URL of the newly created Content Hosting Configuration (same as request URL).'
              required: true
              schema:
                $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
                $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
    get:
      operationId: retrieveContentHostingConfiguration
      summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session'
@@ -123,14 +123,49 @@ paths:
            schema:
              properties:
                pattern: 
                  description: 'Keyword'
                  type: string
                value:
                  description: 'The regular expression'
                  type: string
      responses:
        '200':
          # OK
          description: 'Content Purged'
          content:
            application/json:
              schema:
                description: 'The aggregate number of cache entries purged in all 5GMSd AS instances distributing content for the requested Provisioning Session.'
                type: integer
                minimum: 1
        '204':
          # No Content
          description: 'No Content Purged'
        '404':
          # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '413':
          # Payload Too Large
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '414':
          # URI Too Long
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '415':
          # Unsupported Media Type
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '422':
          # Unprocessable Entity (e.g. syntactically invalid regular expression in request body)
          description: 'Unprocessable Entity'
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'
        '500':
          # Internal Server Error
          $ref: 'TS29571_CommonData.yaml#/components/responses/500'
        '503':
          # Service Unavailable
          $ref: 'TS29571_CommonData.yaml#/components/responses/503'
        default:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'

components:
  schemas:
    IngestConfiguration:
@@ -142,7 +177,25 @@ components:
        protocol:
          $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
        baseURL:
          $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
          $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'

    MediaEntryPoint:
      description: "A typed entry point for downlink or uplink media streaming."
      type: object
      required:
        - relativePath
        - contentType
      properties:
        relativePath:
          $ref: 'TS26512_CommonData.yaml#/components/schemas/RelativeUrl'
        contentType:
          type: string
        profiles:
          type: array
          items:
            $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri'
          minItems: 1

    PathRewriteRule:
      type: object
      description: 'A rule to manipulate URL paths.'
@@ -154,6 +207,7 @@ components:
          type: string
        mappedPath:
          type: string

    CachingConfiguration:
      type: object
      description: 'A content caching configuration.'
@@ -176,10 +230,13 @@ components:
            maxAge:
              type: integer
              format: int32

    DistributionConfiguration:
      type: object
      description: 'A content distribution configuration.'
      properties:
        entryPoint:
          $ref: '#/components/schemas/MediaEntryPoint'
        contentPreparationTemplateId:
          $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
        canonicalDomainName:
@@ -187,7 +244,7 @@ components:
        domainNameAlias:
          type: string
        baseURL:
          $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
          $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
        pathRewriteRules:
          type: array
          items:
@@ -249,6 +306,7 @@ components:
                $ref: '#/components/schemas/DistributionNetworkType'
              distributionMode:
                $ref: '#/components/schemas/DistributionMode'

    # Schema for the resource itself
    ContentHostingConfiguration:
      type: object
@@ -260,8 +318,6 @@ components:
      properties:
        name:
          type: string
        entryPointPath:
          $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
        ingestConfiguration:
          $ref: '#/components/schemas/IngestConfiguration'
        distributionConfigurations:
+21 −6
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  title: M1_ContentPreparationTemplatesProvisioning
  version: 2.0.0
  version: 2.1.0
  description: |
    5GMS AF M1 Content Preparation Templates Provisioning API
    © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: M1_ContentPreparationTemplatesProvisioning
    description: '5G Media Streaming: Provisioning (M1) APIs: Content Preparation Templates Provisioning'
externalDocs:
  description: 'TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V17.4.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
servers:
  - url: '{apiRoot}/3gpp-m1/v2'
@@ -45,7 +45,7 @@ paths:
              description: 'URL of the newly created Content Preparation Template.'
              required: true
              schema:
                $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
                $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
  /provisioning-sessions/{provisioningSessionId}/content-preparation-templates/{contentPreparationTemplateId}:
    parameters:
      - name: provisioningSessionId
@@ -111,7 +111,22 @@ paths:
      operationId: destroyContentPreparationTemplate
      summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session'
      responses:
        '200':
          # OK
          description: 'Content Preparation Template Destroyed'
          content:
            '*/*':
              schema:
                type: string
        '204':
          description: 'Destroyed Content Preparation Template'
          # No Content
          description: 'Content Preparation Template Destroyed'
        '404':
          description: 'Not Found'
          # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '409':
          # Conflict
          $ref: 'TS29571_CommonData.yaml#/components/responses/409'
        '410':
          # Gone
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
+4 −4
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  title: M1_EdgeResourcesProvisioning
  version: 2.1.0
  version: 2.1.1
  description: |
    5GMS AF M1 Edge Resources Provisioning API
    © 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: M1_EdgeResourcesProvisioning
    description: '5G Media Streaming: Provisioning (M1) APIs: Edge Resources Provisioning'
externalDocs:
  description: 'TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V17.4.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
servers:
  - url: '{apiRoot}/3gpp-m1/v2'
@@ -45,7 +45,7 @@ paths:
              description: 'URL of the newly created Edge Resources Configuration.'
              required: true
              schema:
                $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
                $ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
  /provisioning-sessions/{provisioningSessionId}/edge-resources-configurations/{edgeResourcesConfigurationId}:
    parameters:
      - name: provisioningSessionId
Loading