Commit 12cec8c9 authored by bradburyr's avatar bradburyr
Browse files

Added OAuth2 security scopes for use with Client Credentials at reference point M3.

parent 2b2bb281
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ tags:
    description: '5G Media Streaming: Application Server Configuration (M3) APIs'

externalDocs:
  description: 'TS 26.512 V18.1.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V18.2.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'

servers:
@@ -20,7 +20,7 @@ servers:
    variables:
      apiRoot:
        default: https://example.com
        description: See 3GPP TS 29.512 clause 6.1.2
        description: See 3GPP TS 29.512 clause 6.1.2.

security:
  - {}
+38 −10
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ info:
  title: Mas_Configuration_ContentHosting
  version: 1.0.0
  description: |
    5GMS AS M3 Content Hosting Configuration API
    5GMS AS Configuration API: Content Hosting
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.

@@ -12,7 +12,7 @@ tags:
    description: '5G Media Streaming: Application Server Configuration (M3) APIs: Content Hosting'

externalDocs:
  description: 'TS 26.512 V18.1.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V18.2.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'

servers:
@@ -20,18 +20,21 @@ servers:
    variables:
      apiRoot:
        default: https://example.com
        description: See 3GPP TS 29.512 clause 6.1.
        description: See 3GPP TS 26.512 clause 6.1.2.

security:
  - {}
  - OAuth2ClientCredentials: [] 
  - OAuth2: [] 

paths:
  /content-hosting-configurations:
    summary: "Content Hosting Configuration collection"
    get:
      operationId: retrieveContentHostingConfigurations
      operationId: enumerateContentHostingConfigurations
      summary: "Retrieve a list of Content Hosting Configuration resource identifiers currently registered with the 5GMS AS"
      security:
        - OAuth2:
          - content-hosting-configuration_enumerate
      responses:
        '200': # OK
          description: "Success"
@@ -67,6 +70,9 @@ paths:
    post:
      operationId: createContentHostingConfiguration
      summary: 'Create and upload the Content Hosting Configuration for the specified Provisioning Session'
      security:
        - OAuth2:
          - content-hosting-configuration_create
      requestBody:
        description: 'A JSON representation of a Content Hosting Configuration'
        required: true
@@ -107,8 +113,11 @@ paths:
          $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'
      operationId: replaceContentHostingConfiguration
      summary: 'Replace an existing Content Hosting Configuration for the specified Provisioning Session'
      security:
        - OAuth2:
          - content-hosting-configuration_replace
      requestBody:
        description: 'A JSON representation of a Content Hosting Configuration'
        required: true
@@ -118,7 +127,7 @@ paths:
              $ref: 'TS26510_Maf_Provisioning_ContentHosting.yaml#/components/schemas/ContentHostingConfiguration'
      responses:
        '200': # OK
          description: 'Content Hosting Configuration Updated'
          description: 'Content Hosting Configuration Replaced'
        '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
@@ -146,6 +155,9 @@ paths:
    delete:
      operationId: destroyContentHostingConfiguration
      summary: 'Destroy the specified Content Hosting Configuration'
      security:
        - OAuth2:
          - content-hosting-configuration_destroy
      responses:
        '204': # No Content
          description: 'Content Hosting Configuration Destroyed'
@@ -179,6 +191,9 @@ paths:
    post:
      operationId: modifyContentHostingConfigurationState
      summary: 'Activate or deactivate the specified Content Hosting Configuration'
      security:
        - OAuth2:
          - content-hosting-configuration_modify-state
      requestBody:
        description: 'The desired state of the target Content Hosting Configuration'
        required: true
@@ -213,6 +228,9 @@ paths:
    get:
      operationId: interrogateContentHostingConfigurationState
      summary: 'Interrogate the current state of the specified Content Hosting Configuration'
      security:
        - OAuth2:
          - content-hosting-configuration_interrogate-state
      responses:
        '200': # OK
          description: 'Success'
@@ -253,6 +271,9 @@ paths:
    post:
      operationId: purgeContentHostingCache
      summary: 'Purge the content of the cache for the specified Content Hosting Configuration'
      security:
        - OAuth2:
          - content-hosting-configuration_purge-cache
      requestBody:
        description: 'The regular expression pattern for resources to purge from the cache'
        required: true
@@ -294,9 +315,16 @@ paths:

components:
  securitySchemes:
    OAuth2ClientCredentials:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}
          scopes:
            content-hosting-configuration_enumerate: Enumerate the current set of Content Hosting Configuration resources
            content-hosting-configuration_create: Create a Content Hosting Configuration resource
            content-hosting-configuration_replace: Replace a Content Hosting Configuration resource
            content-hosting-configuration_destroy: Destroy a Content Hosting Configuration resource
            content-hosting-configuration_modify-state: Modify the state of a Content Hosting Configuration resource
            content-hosting-configuration_interrogate-state: Interrogate the state of a Content Hosting Configuration resource
            content-hosting-configuration_purge-cache: Purge the cache associated with a Content Hosting Configuration resource
+26 −10
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ info:
  title: Mas_Configuration_ContentPreparationTemplates
  version: 1.0.0
  description: |
    5GMS AF M3 Content Preparation Templates Configuration API
    5GMS AS Configuration API: Content Preparation Templates
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.

@@ -12,7 +12,7 @@ tags:
    description: '5G Media Streaming: Application Server Configuration (M3) APIs: Content Preparation Templates'

externalDocs:
  description: 'TS 26.512 V18.1.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V18.2.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'

servers:
@@ -20,18 +20,21 @@ servers:
    variables:
      apiRoot:
        default: https://example.com
        description: See 3GPP TS 29.512 clause 6.1.
        description: See 3GPP TS 29.512 clause 6.1.2.

security:
  - {}
  - OAuth2ClientCredentials: [] 
  - OAuth2: [] 

paths:
  /content-preparation-templates:
    summary: "Content Preparation Templates collection"
    get:
      operationId: retrieveContentPreparationTemplates
      operationId: enumerateContentPreparationTemplates
      summary: "Retrieve a list of Content Preparation Template resource identifiers currently registered with the 5GMS AS"
      security:
        - OAuth2:
          - content-preparation-template_enumerate
      responses:
        '200':
          # OK
@@ -68,6 +71,9 @@ paths:
    post:
      operationId: createContentPreparationTemplate
      summary: "Create a new Content Preparation Template resource and populate it with the representation provided in the request body"
      security:
        - OAuth2:
          - content-preparation-template_create
      requestBody:
        description: "A Content Preparation Template of any content type supported by the 5GMS AS."
        required: true
@@ -108,8 +114,11 @@ paths:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'   
    # get (Retrieval of individual Content Preparation Template resources is not permitted at reference point M3.)
    put:
      operationId: updateContentPreparationTemplate
      summary: "Update (by replacement) an existing Content Preparation Template resource with a new representation"
      operationId: replaceContentPreparationTemplate
      summary: "Replace an existing Content Preparation Template resource with a new representation"
      security:
        - OAuth2:
          - content-preparation-template_replace
      requestBody:
        description: "A Content Preparation Template of any content type supported by the 5GMS AS."
        required: true
@@ -119,7 +128,7 @@ paths:
              type: string
      responses:
        '200': # OK
          description: "Content Preparation Template Updated"
          description: "Content Preparation Template Replaced"
        '204': # No Content
          description: 'Content Preparation Template 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
@@ -149,6 +158,9 @@ paths:
    delete:
      operationId: destroyContentPreparationTemplate
      summary: 'Destroy an existing Server Certificate resource'
      security:
        - OAuth2:
          - content-preparation-template_destroy
      responses:
        '204': # No Content
          description: 'Content Preparation Template Destroyed'
@@ -175,9 +187,13 @@ paths:

components:
  securitySchemes:
    OAuth2ClientCredentials:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}
          scopes:
            content-preparation-template_enumerate: Enumerate the current set of Content Preparation Template resources
            content-preparation-template_create: Create a Content Preparation Template resource
            content-preparation-template_replace: Replace a Content Preparation Template resource
            content-preparation-template_destroy: Destroy a Content Preparation Template resource
+38 −10
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ info:
  title: Mas_Configuration_ContentPublishing
  version: 1.0.0
  description: |
    5GMS AS M3 Content Publishing Configuration API
    5GMS AS Configuration API: Content Publishing
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.

@@ -12,7 +12,7 @@ tags:
    description: '5G Media Streaming: Application Server Configuration (M3) APIs: Content Publishing'

externalDocs:
  description: 'TS 26.512 V18.1.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V18.2.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'

servers:
@@ -20,18 +20,21 @@ servers:
    variables:
      apiRoot:
        default: https://example.com
        description: See 3GPP TS 29.512 clause 6.1.
        description: See 3GPP TS 29.512 clause 6.1.2.

security:
  - {}
  - OAuth2ClientCredentials: [] 
  - OAuth2: [] 

paths:
  /content-publishing-configurations:
    summary: "Content Publishing Configuration collection"
    get:
      operationId: retrieveContentPublishingConfigurations
      operationId: enumerateContentPublishingConfigurations
      summary: "Retrieve a list of Content Publishing Configuration resource identifiers currently registered with the 5GMS AS"
      security:
        - OAuth2:
          - content-publishing-configuration_enumerate
      responses:
        '200': # OK
          description: "Success"
@@ -67,6 +70,9 @@ paths:
    post:
      operationId: createContentPublishingConfiguration
      summary: 'Create and upload the Content Publishing Configuration for the specified Provisioning Session'
      security:
        - OAuth2:
          - content-publishing-configuration_create
      requestBody:
        description: 'A JSON representation of a Content Publishing Configuration'
        required: true
@@ -107,8 +113,11 @@ paths:
          $ref: 'TS29571_CommonData.yaml#/components/responses/default'    
    # get (Retrieval of individual Content Publishing Configuration resources is not permitted at reference point M3.)
    put:
      operationId: updateContentPublishingConfiguration
      summary: 'Update (by replacement) an existing Content Publishing Configuration for the specified Provisioning Session'
      operationId: replaceContentPublishingConfiguration
      summary: 'Replace an existing Content Publishing Configuration for the specified Provisioning Session'
      security:
        - OAuth2:
          - content-publishing-configuration_replace
      requestBody:
        description: 'A JSON representation of a Content Publishing Configuration'
        required: true
@@ -118,7 +127,7 @@ paths:
              $ref: 'TS26510_Maf_Provisioning_ContentPublishing.yaml#/components/schemas/ContentPublishingConfiguration'
      responses:
        '200': # OK
          description: 'Content Publishing Configuration Updated'
          description: 'Content Publishing Configuration Replaced'
        '204': # No Content
          description: 'Content Publishing 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
@@ -146,6 +155,9 @@ paths:
    delete:
      operationId: destroyContentPublishingConfiguration
      summary: 'Destroy the specified Content Publishing Configuration'
      security:
        - OAuth2:
          - content-publishing-configuration_destroy
      responses:
        '204': # No Content
          description: 'Content Publishing Configuration Destroyed'
@@ -179,6 +191,9 @@ paths:
    post:
      operationId: modifyContentPublishingConfigurationState
      summary: 'Activate or deactivate the specified Content Publishing Configuration'
      security:
        - OAuth2:
          - content-publishing-configuration_modify-state
      requestBody:
        description: 'The desired state of the target Content Publishing Configuration'
        required: true
@@ -213,6 +228,9 @@ paths:
    get:
      operationId: interrogateContentPublishingConfigurationState
      summary: 'Interrogate the current state of the specified Content Publishing Configuration'
      security:
        - OAuth2:
          - content-publishing-configuration_interrogate-state
      responses:
        '200': # OK
          description: 'Success'
@@ -253,6 +271,9 @@ paths:
    post:
      operationId: purgeContentPublishingCache
      summary: 'Purge the content of the cache for the specified Content Publishing Configuration'
      security:
        - OAuth2:
          - content-publishing-configuration_purge-cache
      requestBody:
        description: 'The regular expression pattern for resources to purge from the cache'
        required: true
@@ -294,9 +315,16 @@ paths:

components:
  securitySchemes:
    OAuth2ClientCredentials:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}
          scopes:
            content-publishing-configuration_enumerate: Enumerate the current set of Content Publishing Configuration resources
            content-publishing-configuration_create: Create a Content Publishing Configuration resource
            content-publishing-configuration_replace: Replace a Content Publishing Configuration resource
            content-publishing-configuration_destroy: Destroy a Content Publishing Configuration resource
            content-publishing-configuration_modify-state: Modify the state of a Content Publishing Configuration resource
            content-publishing-configuration_interrogate-state: Interrogate the state of a Content Publishing Configuration resource
            content-publishing-configuration_purge-cache: Purge the cache associated with a Content Publishing Configuration resource
+26 −10
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ info:
  title: Mas_Configuration_ServerCertificates
  version: 1.0.0
  description: |
    5GMS AS M3 Server Certificates Configuration API
    5GMS AS Configuration API: Server Certificates
    © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
    All rights reserved.

@@ -12,7 +12,7 @@ tags:
    description: '5G Media Streaming: Application Server Configuration (M3) APIs: Server Certificates'

externalDocs:
  description: 'TS 26.512 V18.1.0; 5G Media Streaming (5GMS); Protocols'
  description: 'TS 26.512 V18.2.0; 5G Media Streaming (5GMS); Protocols'
  url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'

servers:
@@ -20,18 +20,21 @@ servers:
    variables:
      apiRoot:
        default: https://example.com
        description: See 3GPP TS 29.512 clause 6.1.
        description: See 3GPP TS 29.512 clause 6.1.2.

security:
  - {}
  - OAuth2ClientCredentials: [] 
  - OAuth2: [] 

paths:
  /certificates:
    summary: "Server Certificates collection"
    get:
      operationId: retrieveServerCertificates
      operationId: enumerateServerCertificates
      summary: "Retrieve a list of Server Certificate composite resource identifiers currently registered with the 5GMS AS"
      security:
        - OAuth2:
          - server-certificate_enumerate
      responses:
        '200':
          # OK
@@ -68,6 +71,9 @@ paths:
    post:
      operationId: createServerCertificate
      summary: "Create a new Server Certificate resource and upload an X.509 certificate bundle to be associated with it"
      security:
        - OAuth2:
          - server-certificate_create
      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
@@ -109,8 +115,11 @@ paths:
          $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"
      operationId: replaceServerCertificate
      summary: "Replace an existing Server Certificate resource with a new X.509 certificate bundle"
      security:
        - OAuth2:
          - server-certificate_replace
      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
@@ -120,7 +129,7 @@ paths:
              type: string
      responses:
        '200': # OK
          description: "Server Certificate Updated"
          description: "Server Certificate Replaced"
        '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
@@ -148,6 +157,9 @@ paths:
    delete:
      operationId: destroyServerCertificate
      summary: 'Destroy an existing Server Certificate resource'
      security:
        - OAuth2:
          - server-certificate_destroy
      responses:
        '204': # No Content
          description: 'Server Certificate Destroyed'
@@ -174,9 +186,13 @@ paths:

components:
  securitySchemes:
    OAuth2ClientCredentials:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}
          scopes:
            server-certificate_enumerate: Enumerate the current set of Server Certificates resources
            server-certificate_create: Create a Server Certificates resource
            server-certificate_replace: Replace a Server Certificates resource
            server-certificate_destroy: Destroy a Server Certificates resource