Commit cdfeb8f8 authored by bradburyr's avatar bradburyr
Browse files

Initial check-in.

parent a8df79cd
Loading
Loading
Loading
Loading
+269 −0
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  title: Mas_Configuration_ContentHosting
  version: 1.0.0
  description: |
    5GMS AS M3 Content Hosting Provisioning API
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: Mas_Configuration_ContentHosting
    description: '5G Media Streaming: Application Server Provisioning (M3) APIs: Content Hosting'
externalDocs:
  description: 'TS 26.512 V18.1.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
servers:
  - url: '{apiRoot}/3gpp-mas-configuration/v3'
    variables:
      apiRoot:
        default: https://example.com
        description: See 3GPP TS 29.512 clause 6.1.
paths:
  /content-hosting-configurations:
    summary: "Content Hosting Configuration collection"
    get:
      operationId: retrieveContentHostingConfigurations
      summary: "Retrieve a list of Content Hosting Configuration resource identifiers currently registered with the 5GMS AS"
      responses:
        '200': # OK
          description: "Success"
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '413': # Payload Too Large: No request body allowed for this operation
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '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'

  /content-hosting-configurations/{afResourceId}:
    summary: "Operations to manipulate a single Content Hosting Configuration resource"
    description: "Individual resources in the collection are addressed using an afResourceId nominated by the 5GMS AF which is unique in this collection at a given 5GMS AS instance."
    parameters:
      - name: afResourceId
        in: path
        required: true
        schema:
          $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
        description: 'The resource identifier of an existing Provisioning Session.'
    post:
      operationId: createContentHostingConfiguration
      summary: 'Create and upload the Content Hosting Configuration for the specified Provisioning Session'
      requestBody:
        description: 'A JSON representation of a Content Hosting Configuration'
        required: true
        content:
          application/json:
            schema:
              $ref: 'TS26512_M1_ContentHostingProvisioning.yaml#/components/schemas/ContentHostingConfiguration'
      responses:
        '201': # Created
          description: 'Content Hosting Configuration Created'
          headers:
            Location:
              description: 'URL of the newly created Content Hosting Configuration (which may be redirected from the request URL).'
              required: true
              schema:
                $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '405': # Method Not Allowed: Content Hosting Configuration resource already exists at the specified path
          $ref: 'TS29571_CommonData.yaml#/components/responses/405'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '411': # Length Required
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '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'
        '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'    
    # get (Retrieval of individual Content Hosting Configuration resources is not permitted at reference point M3.)
    put:
      operationId: updateContentHostingConfiguration
      summary: 'Update (by replacement) an existing Content Hosting Configuration for the specified Provisioning Session'
      requestBody:
        description: 'A JSON representation of a Content Hosting Configuration'
        required: true
        content:
          application/json:
            schema:
              $ref: 'TS26512_M1_ContentHostingProvisioning.yaml#/components/schemas/ContentHostingConfiguration'
      responses:
        '200': # OK
          description: 'Content Hosting Configuration Updated'
        '204': # No Content
          description: 'Content Hosting Configuration Unchanged'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '404': # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '411': # Length Required
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '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'
        '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' 
    delete:
      operationId: destroyContentHostingConfiguration
      summary: 'Destroy the specified Content Hosting Configuration'
      responses:
        '204': # No Content
          description: 'Content Hosting Configuration Destroyed'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '404': # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '413': # Payload Too Large: No request body allowed for this operation
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '414': # URI too long
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'

  /content-hosting-configurations/{afResourceId}/active:
    parameters:
        - name: afResourceId
          in: path
          required: true
          schema:
            $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
          description: 'Individual resources in the collection are addressed using an afResourceId nominated by the 5GMS AF which is unique in this collection at a given 5GMS AS instance.'
    post:
      operationId: modifyContentHostingConfigurationState
      summary: 'Activate or deactivate the specified Content Hosting Configuration'
      requestBody:
        description: 'The desired state of the target Content Hosting Configuration'
        required: true
        content:
          application/json:
            schema:
              description: 'The desired state of the target Content Hosting Configuration: true for active; false for inactive.'
              type: boolean
      responses:
        '204': # No Content
          description: 'No Content'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '404': # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '413': # Payload too large
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415': # Unsupported Media Type
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '414': # URI too long
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
    get:
      operationId: interrogateContentHostingConfigurationState
      summary: 'Interrogate the current state of the specified Content Hosting Configuration'
      responses:
        '200': # OK
          description: 'OK'
          content:
            application/json:
              schema:
                description: 'The current state of the target Content Hosting Configuration: true for active; false for inactive.'
                type: boolean     
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '404': # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '413': # Payload too large
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415': # Unsupported Media Type
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '414': # URI too long
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'

  /content-hosting-configurations/{afResourceId}/purge:
    parameters:
        - name: afResourceId
          in: path
          required: true
          schema:
            $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
          description: 'Individual resources in the collection are addressed using an afResourceId nominated by the 5GMS AF which is unique in this collection at a given 5GMS AS instance.'
    post:
      operationId: purgeContentHostingCache
      summary: 'Purge the content of the cache for the specified Content Hosting Configuration'
      requestBody:
        description: 'The regular expression pattern for resources to purge from the cache'
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              properties:
                pattern: 
                  description: 'Keyword'
                  type: string
                value:
                  description: 'The regular expression'
                  type: string
      responses:
        '204': # No Content
          description: 'Content Purged'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '404': # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '413': # Payload too large
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '415': # Unsupported Media Type
          $ref: 'TS29571_CommonData.yaml#/components/responses/415'
        '414': # URI too long
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'
 No newline at end of file
+226 −0

File added.

Preview size limit exceeded, changes collapsed.

+155 −0
Original line number Diff line number Diff line
openapi: 3.0.0
info:
  title: Mas_Configuration_ServerCertificates
  version: 1.0.0
  description: |
    5GMS AS M3 Server Certificates Provisioning API
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.
tags:
  - name: Mas_Configuration_ServerCertificates
    description: '5G Media Streaming: Application Server Configuration (M3) APIs: Server Certificates'
externalDocs:
  description: 'TS 26.512 V18.1.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
servers:
  - url: '{apiRoot}/3gpp-mas-configuration/v3'
    variables:
      apiRoot:
        default: https://example.com
        description: See 3GPP TS 29.512 clause 6.1.
paths:
  /certificates:
    summary: "Server Certificates collection"
    get:
      operationId: retrieveServerCertificates
      summary: "Retrieve a list of Server Certificate composite resource identifiers currently registered with the 5GMS AS"
      responses:
        '200':
          # OK
          description: "Success"
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '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'

  /certificates/{afResourceId}:
    summary: "Operations to manipulate a single Server Certificate resource"
    description: "Individual resources in the collection are addressed using an afResourceId nominated by the 5GMS AF which is unique in this collection at a given 5GMS AS instance."
    parameters:
     - name: afResourceId
       in: path
       required: true
       schema:
         $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
       description: 'The unique identifier, assigned by the 5GMS AF, for a certificate. This is unique across all certificates for all provisioning sessions.'
    post:
      operationId: createServerCertificate
      summary: "Create a new Server Certificate resource and upload an X.509 certificate bundle to be associated with it"
      requestBody:
        description: "As well as the public certificate itself, the PEM bundle is required to include the private key of the certificate and any intermediate CA certificates."
        required: true
        content:
          application/x-pem-file:
            schema:
              type: string
      responses:
        '201':
          # Created
          description: "Server Certificate Created"
          headers:
            Location:
              description: 'URL of the newly created Content Hosting Configuration (which may be redirected from the request URL).'
              required: true
              schema:
                $ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '405': # Method Not Allowed: Server Certificate resource already exists at the specified path
          $ref: 'TS29571_CommonData.yaml#/components/responses/405'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '411': # Length Required
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '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'
        '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'    
    # get (Retrieval of individual Server Certificate resources is not permitted at reference point M3.)
    put:
      operationId: updateServerCertificate
      summary: "Update (by replacement) an existing Server Certificate resource with a new X.509 certificate bundle"
      requestBody:
        description: "As well as the public certificate itself, the PEM bundle is required to include the private key of the certificate and any intermediate CA certificates."
        required: true
        content:
          application/x-pem-file:
            schema:
              type: string
      responses:
        '200': # OK
          description: "Server Certificate Updated"
        '204': # No Content
          description: 'Server Certificate Unchanged'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '404': # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '409': # Conflict: This resource is still referenced by a Content Hosting Configuration or Content Publication Configuration
          $ref: 'TS29571_CommonData.yaml#/components/responses/409'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '411': # Length Required
          $ref: 'TS29571_CommonData.yaml#/components/responses/411'
        '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'
        '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' 
    delete:
      operationId: destroyServerCertificate
      summary: 'Destroy an existing Server Certificate resource'
      responses:
        '204': # No Content
          description: 'Server Certificate Destroyed'
        '400': # Bad Request: The syntax of the HTTP request is malformed in a way not covered by one of the following more specific client errors
          $ref: 'TS29571_CommonData.yaml#/components/responses/400'
        '404': # Not Found
          $ref: 'TS29571_CommonData.yaml#/components/responses/404'
        '410': # Gone: This resource has previously been destroyed
          $ref: 'TS29571_CommonData.yaml#/components/responses/410'
        '413': # Payload Too Large: No request body allowed for this operation
          $ref: 'TS29571_CommonData.yaml#/components/responses/413'
        '414': # URI Too Long
          $ref: 'TS29571_CommonData.yaml#/components/responses/414'
        '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'