From c430b306711e2f00fba55ac70b442e9703607a88 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Tue, 30 Jan 2024 13:48:44 +0100 Subject: [PATCH 01/48] Changes to Consumption Reporting --- ...Maf_Provisioning_ConsumptionReporting.yaml | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml index ba17196..8a95be2 100644 --- a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml +++ b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml @@ -38,6 +38,9 @@ paths: post: operationId: activateConsumptionReporting summary: 'Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration' + security: + - oAuth2ClientCredentials: + - consumption-reporting-create requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true @@ -79,6 +82,9 @@ paths: get: operationId: retrieveConsumptionReportingConfiguration summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - consumption-reporting-read responses: '200': # OK description: 'Success' @@ -107,6 +113,9 @@ paths: put: operationId: updateConsumptionReportingConfiguration summary: 'Update the Consumption Reporting Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - consumption-reporting-put requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true @@ -150,6 +159,9 @@ paths: patch: operationId: patchConsumptionReportingConfiguration summary: 'Patch the Consumption Reporting Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - consumption-reporting-patch requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true @@ -196,6 +208,9 @@ paths: delete: operationId: destroyConsumptionReportingConfiguration summary: 'Destroy the current Consumption Reporting Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - consumption-reporting-delete responses: '204': # No Content description: 'Consumption Reporting Configuration Destroyed' @@ -225,7 +240,12 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + consumption-reporting-create: Create consumption reporting + consumption-reporting-read: Read consumption reporting + consumption-reporting-put: Put consumption reporting + consumption-reporting-patch: Patch consumption reporting + consumption-reporting-delete: Delete consumption reporting schemas: ConsumptionReportingConfiguration: -- GitLab From 5082ff5e03bf1abd76ec369ed16eaffab1648216 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Tue, 30 Jan 2024 15:16:40 +0100 Subject: [PATCH 02/48] Added scopes for Client Credential for Maf APIs (old M1) --- TS26510_Maf_Provisioning_ContentHosting.yaml | 26 ++++++++++++++++++- ...visioning_ContentPreparationTemplates.yaml | 22 +++++++++++++++- ...510_Maf_Provisioning_ContentProtocols.yaml | 7 +++-- TS26510_Maf_Provisioning_EdgeResources.yaml | 22 +++++++++++++++- ..._Maf_Provisioning_EventDataProcessing.yaml | 23 ++++++++++++++-- ...510_Maf_Provisioning_MetricsReporting.yaml | 23 ++++++++++++++-- TS26510_Maf_Provisioning_PolicyTemplates.yaml | 22 +++++++++++++++- ...Maf_Provisioning_ProvisioningSessions.yaml | 14 +++++++++- ...0_Maf_Provisioning_ServerCertificates.yaml | 18 ++++++++++++- 9 files changed, 165 insertions(+), 12 deletions(-) diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index d33a716..00ead2c 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -38,6 +38,9 @@ paths: post: operationId: createContentHostingConfiguration summary: 'Create and upload the Content Hosting Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-hosting-configuration-create requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true @@ -81,6 +84,9 @@ paths: get: operationId: retrieveContentHostingConfiguration summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-hosting-configuration-read responses: '200': # OK description: 'Success' @@ -109,6 +115,9 @@ paths: put: operationId: updateContentHostingConfiguration summary: 'Update (by replacement) the Content Hosting Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-hosting-configuration-put requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true @@ -152,6 +161,9 @@ paths: patch: operationId: patchContentHostingConfiguration summary: 'Patch the Content Hosting Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-hosting-configuration-patch requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true @@ -198,6 +210,9 @@ paths: delete: operationId: destroyContentHostingConfiguration summary: 'Destroy the current Content Hosting Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-hosting-configuration-delete responses: '204': # No Content description: 'Destroyed Content Hosting Configuration' @@ -231,6 +246,9 @@ paths: post: operationId: purgeContentHostingCache summary: 'Purge the content of the cache for the Content Hosting Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-hosting-configuration-purge requestBody: description: 'The regular expression pattern for resources to purge from the cache' required: true @@ -280,7 +298,13 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + content-hosting-configuration-create: Create a content hosting configuration + content-hosting-configuration-read: Read a content hosting configuration + content-hosting-configuration-put: Put a content hosting configuration + content-hosting-configuration-patch: Patch a content hosting configuration + content-hosting-configuration-delete: Delete a content hosting configuration + content-hosting-configuration-purge: Purge a content hosting configuration schemas: IngestConfiguration: diff --git a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml index 1832dab..95a60f5 100644 --- a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml +++ b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml @@ -38,6 +38,9 @@ paths: post: operationId: createContentPreparationTemplate summary: 'Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-preparation-template-create requestBody: description: 'A Content Preparation Template of any supported type' required: true @@ -94,6 +97,9 @@ paths: get: operationId: retrieveContentPreparationTemplate summary: 'Retrieve the specified Content Preparation Template of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-preparation-template-read responses: '200': # OK description: 'Success' @@ -122,6 +128,9 @@ paths: put: operationId: updateContentPreparationTemplate summary: 'Update (by replacement) the specified Content Preparation Template for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-preparation-template-put requestBody: description: 'A Content Preparation Template of any type' required: true @@ -165,6 +174,9 @@ paths: patch: operationId: patchContentPreparationTemplate summary: 'Patch the specified Content Preparation Template for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-preparation-template-patch requestBody: description: 'A Content Preparation Template patch of any type' required: true @@ -205,6 +217,9 @@ paths: delete: operationId: destroyContentPreparationTemplate summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-preparation-template-delete responses: '204': # No Content description: 'Content Preparation Template Destroyed' @@ -236,4 +251,9 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + content-preparation-template-create: Create a content preparation template + content-preparation-template-read: Read a content preparation template + content-preparation-template-put: Put a content preparation template + content-preparation-template-patch: Patch a content preparation template + content-preparation-template-delete: Delete a content preparation template diff --git a/TS26510_Maf_Provisioning_ContentProtocols.yaml b/TS26510_Maf_Provisioning_ContentProtocols.yaml index b007b3a..668dc81 100644 --- a/TS26510_Maf_Provisioning_ContentProtocols.yaml +++ b/TS26510_Maf_Provisioning_ContentProtocols.yaml @@ -38,6 +38,9 @@ paths: get: operationId: retrieveContentProtocols summary: 'Retrieve the set of Content Protocols supported by the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - content-protocols-read responses: '200': description: 'Success' @@ -71,8 +74,8 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - + scopes: + content-protocols-read: Read supported content protocols schemas: ContentProtocolDescriptor: type: object diff --git a/TS26510_Maf_Provisioning_EdgeResources.yaml b/TS26510_Maf_Provisioning_EdgeResources.yaml index 0541cd7..e156481 100644 --- a/TS26510_Maf_Provisioning_EdgeResources.yaml +++ b/TS26510_Maf_Provisioning_EdgeResources.yaml @@ -38,6 +38,9 @@ paths: post: operationId: createEdgeResourcesConfiguration summary: 'Create an Edge Resources Configuration within the scope of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - edge-resource-configuration-create requestBody: description: 'A JSON representation of an Edge Resources Configuration' required: true @@ -93,6 +96,9 @@ paths: get: operationId: retrieveEdgeResourcesConfiguration summary: 'Retrieve the Edge Resources Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - edge-resource-configuration-read responses: '200': # OK description: 'Success' @@ -121,6 +127,9 @@ paths: put: operationId: updateEdgeResourcesConfiguration summary: 'Update an Edge Resources Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - edge-resource-configuration-put requestBody: description: 'A JSON representation of an Edge Resources Configuration' required: true @@ -164,6 +173,9 @@ paths: patch: operationId: patchEdgeResourcesConfiguration summary: 'Patch the Edge Resources Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - edge-resource-configuration-patch requestBody: description: 'A JSON representation of a Edge Resources Configuration' required: true @@ -210,6 +222,9 @@ paths: delete: operationId: destroyEdgeResourcesConfiguration summary: 'Destroy the specified Edge Resources Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - edge-resource-configuration-delete responses: '204': # No Content description: 'Edge Resources Configuration Destroyed' @@ -241,7 +256,12 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + edge-resource-configuration-create: Create an edge resource configuration + edge-resource-configuration-read: Read an edge resource configuration + edge-resource-configuration-put: Put an edge resource configuration + edge-resource-configuration-patch: Patch an edge resource configuration + edge-resource-configuration-delete: Delete an edge resource configuration schemas: EdgeResourcesConfiguration: diff --git a/TS26510_Maf_Provisioning_EventDataProcessing.yaml b/TS26510_Maf_Provisioning_EventDataProcessing.yaml index a28f77e..97f054c 100644 --- a/TS26510_Maf_Provisioning_EventDataProcessing.yaml +++ b/TS26510_Maf_Provisioning_EventDataProcessing.yaml @@ -38,6 +38,9 @@ paths: post: operationId: createEventDataProcessingConfiguration summary: 'Supply an Event Data Processing Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - event-data-processing-provisioning-create requestBody: description: 'A JSON representation of a Event Data Processing Configuration' required: true @@ -94,6 +97,9 @@ paths: get: operationId: retrieveEventDataProcessingConfiguration summary: 'Retrieve the specified Event Data Processing Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - event-data-processing-provisioning-read responses: '200': # OK description: 'Success' @@ -122,6 +128,9 @@ paths: put: operationId: updateEventDataProcessingConfiguration summary: 'Update the specified Event Data Processing Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - event-data-processing-provisioning-put requestBody: description: 'A JSON representation of a Event Data Processing Configuration' required: true @@ -165,6 +174,9 @@ paths: patch: operationId: patchEventDataProcessingConfiguration summary: 'Patch the specified Event Data Processing Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - event-data-processing-provisioning-patch requestBody: description: 'A JSON representation of a Event Data Processing Configuration' required: true @@ -211,6 +223,9 @@ paths: delete: operationId: destroyEventDataProcessingConfiguration summary: 'Destroy the specified Event Data Processing Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - event-data-processing-provisioning-delete responses: '204': # No Content description: 'Event Data Processing Configuration Destroyed' @@ -240,8 +255,12 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - + scopes: + event-data-processing-provisioning-create: Create an event data processing provisioning + event-data-processing-provisioning-read: Read an event data processing provisioning + event-data-processing-provisioning-put: Put an event data processing provisioning + event-data-processing-provisioning-patch: Patch an event data processing provisioning + event-data-processing-provisioning-delete: Delete an event data processing provisioning schemas: EventDataProcessingConfiguration: description: 'A representation of an Event Data Processing Configuration resource.' diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index 3ea30cb..4e2cbc2 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -38,6 +38,9 @@ paths: post: operationId: activateMetricsReporting summary: 'Activate the Metrics reporting procedure for the specified Provisioning Session by providing the Metrics Reporting Configuration' + security: + - oAuth2ClientCredentials: + - metrics-reporting-create requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' required: true @@ -94,6 +97,9 @@ paths: get: operationId: retrieveMetricsReportingConfiguration summary: 'Retrieve the specified Metrics Reporting Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - metrics-reporting-read responses: '200': # OK description: 'Success' @@ -122,6 +128,9 @@ paths: put: operationId: updateMetricsReportingConfiguration summary: 'Update the specified Metrics Reporting Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - metrics-reporting-put requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' required: true @@ -165,6 +174,9 @@ paths: patch: operationId: patchMetricsReportingConfiguration summary: 'Patch the specified Metrics Reporting Configuration for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - metrics-reporting-patch requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' required: true @@ -211,6 +223,9 @@ paths: delete: operationId: destroyMetricsReportingConfiguration summary: 'Destroy the specified Metrics Reporting Configuration of the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - metrics-reporting-delete responses: '204': # No Content description: 'Metrics Reporting Configuration Destroyed' @@ -240,8 +255,12 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - + scopes: + metrics-reporting-create: Create a metric reporting + metrics-reporting-read: Read a metric reporting + metrics-reporting-put: Put a metric reporting + metrics-reporting-patch: Patch a metric reporting + metrics-reporting-delete: Delete a metric reporting schemas: MetricsReportingConfiguration: type: object diff --git a/TS26510_Maf_Provisioning_PolicyTemplates.yaml b/TS26510_Maf_Provisioning_PolicyTemplates.yaml index 012d8d7..29fec7a 100644 --- a/TS26510_Maf_Provisioning_PolicyTemplates.yaml +++ b/TS26510_Maf_Provisioning_PolicyTemplates.yaml @@ -38,6 +38,9 @@ paths: post: operationId: createPolicyTemplate summary: 'Create and upload a new Policy Template for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - policy-template-create requestBody: description: 'A JSON representation of a Policy Template' required: true @@ -94,6 +97,9 @@ paths: get: operationId: retrievePolicyTemplate summary: 'Retrieve a representation of an existing Policy Template in the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - policy-template-read responses: '200': # OK description: 'Success' @@ -122,6 +128,9 @@ paths: put: operationId: updatePolicyTemplate summary: 'Update a Policy Template for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - policy-template-put requestBody: description: 'A JSON representation of a Policy Template' required: true @@ -165,6 +174,9 @@ paths: patch: operationId: patchPolicyTemplate summary: 'Patch the Policy Template for the specified Provisioning Session' + security: + - oAuth2ClientCredentials: + - policy-template-patch requestBody: description: 'A JSON representation of a Policy Template' required: true @@ -210,6 +222,9 @@ paths: $ref: 'TS29571_CommonData.yaml#/components/responses/default' delete: operationId: destroyPolicyTemplate + security: + - oAuth2ClientCredentials: + - policy-template-delete responses: '204': # No Content description: 'Policy Template Destroyed' @@ -239,7 +254,12 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + policy-template-create: Create a policy template + policy-template-read: Read a policy template + policy-template-put: Put a policy template + policy-template-patch: Patch a policy template + policy-template-delete: Delete a policy template schemas: PolicyTemplate: diff --git a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml index 57050ff..6f5fd03 100644 --- a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml +++ b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml @@ -31,6 +31,9 @@ paths: post: operationId: createProvisioningSession summary: 'Create a new Provisioning Session' + security: + - oAuth2ClientCredentials: + - provisioning-sessions-create requestBody: description: 'A JSON representation of a Provisioning Session.' required: true @@ -81,6 +84,9 @@ paths: get: operationId: getProvisioningSessionById summary: 'Retrieve an existing Provisioning Session' + security: + - oAuth2ClientCredentials: + - provisioning-sessions-read responses: '200': description: 'Success' @@ -109,6 +115,9 @@ paths: delete: operationId: destroyProvisioningSession summary: 'Destroy an existing Provisioning Session' + security: + - oAuth2ClientCredentials: + - provisioning-sessions-delete responses: '204': # No Content description: 'Provisioning Session Destroyed' @@ -138,7 +147,10 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + provisioning-sessions-create: Create a provisioning session + provisioning-sessions-read: Read a provisioning session + provisioning-sessions-delete: Delete a provisioning session schemas: ProvisioningSession: diff --git a/TS26510_Maf_Provisioning_ServerCertificates.yaml b/TS26510_Maf_Provisioning_ServerCertificates.yaml index e7ceb0c..c256f6a 100644 --- a/TS26510_Maf_Provisioning_ServerCertificates.yaml +++ b/TS26510_Maf_Provisioning_ServerCertificates.yaml @@ -39,6 +39,9 @@ paths: operationId: createOrReserveServerCertificate summary: 'Create or reserve a Service Certificate resource' description: 'Without the optional csr query parameter, an X.509 certificate is generated and this is returned. If the csr query parameter is present, a Certificate Signing Request is instead generated and returned, allowing the X.509 certificate to be generated by the invoker and later uploaded.' + security: + - oAuth2ClientCredentials: + - certificates-csr-request parameters: - in: query name: csr @@ -102,6 +105,9 @@ paths: put: operationId: uploadServerCertificate summary: "Upload the X.509 certificate for a previously reserved Server Certificate resource" + security: + - oAuth2ClientCredentials: + - certificates-upload requestBody: required: true content: @@ -138,6 +144,9 @@ paths: get: operationId: retrieveServerCertificate summary: 'Retrieve the X.509 certificate representation of the specified Server Certificate resource' + security: + - oAuth2ClientCredentials: + - certificates-retrieve responses: '200': description: 'Success' @@ -168,6 +177,9 @@ paths: delete: operationId: destroyServerCertificate summary: 'Destroy an existing Server Certificate resource' + security: + - oAuth2ClientCredentials: + - certificates-delete responses: '204': # No Content description: 'Server Certificate Destroyed' @@ -199,4 +211,8 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + certificates-csr-request: Create a Certificate Signing Resource + certificates-upload: Upload a certificate + certificates-retrieve: Retrieve a certificate + certificates-delete: Delete a certificate -- GitLab From 0ad3094d7d802095625e90611603c3dc084b083b Mon Sep 17 00:00:00 2001 From: Thorsten Date: Tue, 30 Jan 2024 15:36:35 +0100 Subject: [PATCH 03/48] Added scopes for CC and AC for Maf SessionHandling (former M5). --- ..._SessionHandling_ConsumptionReporting.yaml | 16 +++-- ...510_Maf_SessionHandling_DynamicPolicy.yaml | 45 ++++++++++++-- ..._Maf_SessionHandling_MetricsReporting.yaml | 15 +++-- ...Maf_SessionHandling_NetworkAssistance.yaml | 59 +++++++++++++++++-- 4 files changed, 114 insertions(+), 21 deletions(-) diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index 5e61a91..b582105 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -39,6 +39,11 @@ paths: post: operationId: submitConsumptionReport summary: 'Submit a Consumption Report' + security: + - oAuth2ClientCredentials: + - consumption-reporting-create + - oAuth2AuthorizationCode: + - consumption-reporting-create requestBody: description: 'A Consumption Report' required: true @@ -74,20 +79,21 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - OAuth2AuthorizationCode: + scopes: + consumption-reporting-create: Create consumption report + oAuth2AuthorizationCode: type: oauth2 flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' - scopes: {} - + scopes: + consumption-reporting-create: Create consumption report schemas: ConsumptionReport: description: "A representation of a Consumption Report." diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 78741cd..52699a4 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -26,12 +26,16 @@ security: - {} - OAuth2ClientCredentials: [] - OAuth2AuthorizationCode: [] - paths: /dynamic-policies: post: operationId: createDynamicPolicy summary: 'Create (and optionally upload) a new Dynamic Policy resource' + security: + - oAuth2ClientCredentials: + - dynamic-policy-create + - oAuth2AuthorizationCode: + - dynamic-policy-create requestBody: description: 'An optional JSON representation of a Dynamic Policy resource' content: @@ -83,6 +87,11 @@ paths: get: operationId: retrieveDynamicPolicy summary: 'Retrieve an existing Dynamic Policy resource' + security: + - oAuth2ClientCredentials: + - dynamic-policy-read + - oAuth2AuthorizationCode: + - dynamic-policy-read responses: '200': # OK description: 'Success' @@ -111,6 +120,11 @@ paths: put: operationId: updateDynamicPolicy summary: 'Update an existing Dynamic Policy resource' + security: + - oAuth2ClientCredentials: + - metrics-reporting-put + - oAuth2AuthorizationCode: + - metrics-reporting-put requestBody: description: 'A replacement JSON representation of a Dynamic Policy resource' required: true @@ -154,6 +168,11 @@ paths: patch: operationId: patchDynamicPolicy summary: 'Patch an existing Dynamic Policy resource' + security: + - oAuth2ClientCredentials: + - dynamic-policy-patch + - oAuth2AuthorizationCode: + - dynamic-policy-patch requestBody: description: 'A JSON patch to a Dynamic Policy resource' required: true @@ -200,6 +219,11 @@ paths: delete: operationId: destroyDynamicPolicy summary: 'Destroy an existing Dynamic Policy resource' + security: + - oAuth2ClientCredentials: + - dynamic-policy-delete + - oAuth2AuthorizationCode: + - dynamic-policy-delete responses: '204': # No Content description: 'Dynamic Policy Destroyed' @@ -224,20 +248,29 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - OAuth2AuthorizationCode: + scopes: + dynamic-policy-create: Create a dynamic policy + dynamic-policy-read: Read a dynamic policy + dynamic-policy-put: Put a dynamic policy + dynamic-policy-patch: Patch a dynamic policy + dynamic-policy-delete: Delete a dynamic policy + oAuth2AuthorizationCode: type: oauth2 flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' - scopes: {} - + scopes: + dynamic-policy-create: Create a dynamic policy + dynamic-policy-read: Read a dynamic policy + dynamic-policy-put: Put a dynamic policy + dynamic-policy-patch: Patch a dynamic policy + dynamic-policy-delete: Delete a dynamic policy schemas: DynamicPolicy: description: "A representation of a Dynamic Policy resource." diff --git a/TS26510_Maf_SessionHandling_MetricsReporting.yaml b/TS26510_Maf_SessionHandling_MetricsReporting.yaml index 6f75bea..b37c932 100644 --- a/TS26510_Maf_SessionHandling_MetricsReporting.yaml +++ b/TS26510_Maf_SessionHandling_MetricsReporting.yaml @@ -45,6 +45,11 @@ paths: post: operationId: submitMetricsReport summary: 'Submit a Metrics Report' + security: + - oAuth2ClientCredentials: + - metrics-reporting-create + - oAuth2AuthorizationCode: + - metrics-reporting-create requestBody: description: 'A Metrics Report' required: true @@ -84,16 +89,18 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - OAuth2AuthorizationCode: + scopes: + metrics-reporting-create: Create a metrics report + oAuth2AuthorizationCode: type: oauth2 flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + metrics-reporting-create: Create a metrics report diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index 643b06d..30c867f 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -32,6 +32,11 @@ paths: post: operationId: createNetworkAssistanceSession summary: 'Create a new Network Assistance Session.' + security: + - oAuth2ClientCredentials: + - network-assistance-create + - oAuth2AuthorizationCode: + - network-assistance-create requestBody: description: 'The initial parameters for the Network Assistance Session resource' content: @@ -83,6 +88,11 @@ paths: get: operationId: retrieveNetworkAssistanceSession summary: 'Retrieve an existing Network Assistance Session resource' + security: + - oAuth2ClientCredentials: + - network-assistance-get + - oAuth2AuthorizationCode: + - network-assistance-get responses: '200': # OK description: 'Success' @@ -111,6 +121,11 @@ paths: put: operationId: updateNetworkAssistanceSession summary: 'Update an existing Network Assistance Session resource' + security: + - oAuth2ClientCredentials: + - network-assistance-put + - oAuth2AuthorizationCode: + - network-assistance-put requestBody: description: 'A replacement JSON representation of a Network Assistance Session resource' required: true @@ -154,6 +169,11 @@ paths: patch: operationId: patchNetworkAssistanceSession summary: 'Patch an existing Network Assistance Session resource' + security: + - oAuth2ClientCredentials: + - network-assistance-patch + - oAuth2AuthorizationCode: + - network-assistance-patch requestBody: description: 'A JSON patch to a Network Assistance Session resource' required: true @@ -200,6 +220,11 @@ paths: delete: operationId: destroyNetworkAssistanceSession summary: 'Destroy an existing Network Assistance Session resource' + security: + - oAuth2ClientCredentials: + - network-assistance-delete + - oAuth2AuthorizationCode: + - network-assistance-delete responses: '204': # No Content description: 'Network Assistance Session Destroyed' @@ -226,6 +251,11 @@ paths: get: operationId: requestBitRateRecommendation summary: 'Obtain a bit rate recommendation for the next recommendation window' + security: + - oAuth2ClientCredentials: + - network-assistance-getrec + - oAuth2AuthorizationCode: + - network-assistance-getrec parameters: - name: naSessionId description: 'The resource identifier of an existing Network Assistance Session resource' @@ -262,6 +292,11 @@ paths: post: operationId: requestDeliveryBoost summary: 'Request a delivery boost' + security: + - oAuth2ClientCredentials: + - network-assistance-boost + - oAuth2AuthorizationCode: + - network-assistance-boost parameters: - name: naSessionId description: 'The resource identifier of an existing Network Assistance Session resource' @@ -299,21 +334,33 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - OAuth2AuthorizationCode: + scopes: + network-assistance-create: Create a network assistance session + network-assistance-read: Read a network assistance session + network-assistance-put: Put a network assistance session + network-assistance-patch: Patch a network assistance session + network-assistance-delete: Delete a network assistance session + network-assistance-getrec: Obtain a bit rate recommendation + network-assistance-boost: Request a delivery boost + oAuth2AuthorizationCode: type: oauth2 flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' - scopes: {} - - + scopes: + network-assistance-create: Create a network assistance session + network-assistance-read: Read a network assistance session + network-assistance-put: Put a network assistance session + network-assistance-patch: Patch a network assistance session + network-assistance-delete: Delete a network assistance session + network-assistance-getrec: Obtain a bit rate recommendation + network-assistance-boost: Request a delivery boost schemas: NetworkAssistanceSession: description: "A representation of a Network Assistance Session resource." -- GitLab From d56acbfe93928ae29a4e6f69ec4d52f8fb97c07b Mon Sep 17 00:00:00 2001 From: Thorsten Date: Wed, 31 Jan 2024 08:24:50 +0100 Subject: [PATCH 04/48] Added scopes. --- ...SessionHandling_ServiceAccessInformation.yaml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 49ffee5..66d2367 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -39,6 +39,11 @@ paths: get: operationId: retrieveServiceAccessInformation summary: 'Retrieve the Service Access Information resource' + security: + - oAuth2ClientCredentials: + - service-access-information-read + - oAuth2AuthorizationCode: + - service-access-information-read responses: '200': # OK description: 'Success' @@ -67,20 +72,21 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} - OAuth2AuthorizationCode: + scopes: + service-access-information-read: Read service access session + oAuth2AuthorizationCode: type: oauth2 flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' - scopes: {} - + scopes: + service-access-information-read: Read service access session schemas: M5MediaEntryPoint: -- GitLab From 76ce2f6faed5f3bef5263337e0a017e8aa41c8e5 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Wed, 31 Jan 2024 15:03:47 +0100 Subject: [PATCH 05/48] Changed from oAuth2ClientCredentials (Small leading letter) to OAuth2ClientCredentials. --- ...10_Maf_Provisioning_ConsumptionReporting.yaml | 10 +++++----- TS26510_Maf_Provisioning_ContentHosting.yaml | 12 ++++++------ ...Provisioning_ContentPreparationTemplates.yaml | 10 +++++----- TS26510_Maf_Provisioning_ContentProtocols.yaml | 2 +- TS26510_Maf_Provisioning_EdgeResources.yaml | 10 +++++----- ...510_Maf_Provisioning_EventDataProcessing.yaml | 10 +++++----- TS26510_Maf_Provisioning_MetricsReporting.yaml | 10 +++++----- TS26510_Maf_Provisioning_PolicyTemplates.yaml | 10 +++++----- ...10_Maf_Provisioning_ProvisioningSessions.yaml | 6 +++--- TS26510_Maf_Provisioning_ServerCertificates.yaml | 8 ++++---- ...Maf_SessionHandling_ConsumptionReporting.yaml | 4 ++-- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 12 ++++++------ ...510_Maf_SessionHandling_MetricsReporting.yaml | 4 ++-- ...10_Maf_SessionHandling_NetworkAssistance.yaml | 16 ++++++++-------- ...SessionHandling_ServiceAccessInformation.yaml | 4 ++-- 15 files changed, 64 insertions(+), 64 deletions(-) diff --git a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml index 8a95be2..6d1ed2e 100644 --- a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml +++ b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml @@ -39,7 +39,7 @@ paths: operationId: activateConsumptionReporting summary: 'Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - consumption-reporting-create requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' @@ -83,7 +83,7 @@ paths: operationId: retrieveConsumptionReportingConfiguration summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - consumption-reporting-read responses: '200': # OK @@ -114,7 +114,7 @@ paths: operationId: updateConsumptionReportingConfiguration summary: 'Update the Consumption Reporting Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - consumption-reporting-put requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' @@ -160,7 +160,7 @@ paths: operationId: patchConsumptionReportingConfiguration summary: 'Patch the Consumption Reporting Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - consumption-reporting-patch requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' @@ -209,7 +209,7 @@ paths: operationId: destroyConsumptionReportingConfiguration summary: 'Destroy the current Consumption Reporting Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - consumption-reporting-delete responses: '204': # No Content diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index 00ead2c..10c04a0 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -39,7 +39,7 @@ paths: operationId: createContentHostingConfiguration summary: 'Create and upload the Content Hosting Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-hosting-configuration-create requestBody: description: 'A JSON representation of a Content Hosting Configuration' @@ -85,7 +85,7 @@ paths: operationId: retrieveContentHostingConfiguration summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-hosting-configuration-read responses: '200': # OK @@ -116,7 +116,7 @@ paths: operationId: updateContentHostingConfiguration summary: 'Update (by replacement) the Content Hosting Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-hosting-configuration-put requestBody: description: 'A JSON representation of a Content Hosting Configuration' @@ -162,7 +162,7 @@ paths: operationId: patchContentHostingConfiguration summary: 'Patch the Content Hosting Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-hosting-configuration-patch requestBody: description: 'A JSON representation of a Content Hosting Configuration' @@ -211,7 +211,7 @@ paths: operationId: destroyContentHostingConfiguration summary: 'Destroy the current Content Hosting Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-hosting-configuration-delete responses: '204': # No Content @@ -247,7 +247,7 @@ paths: operationId: purgeContentHostingCache summary: 'Purge the content of the cache for the Content Hosting Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-hosting-configuration-purge requestBody: description: 'The regular expression pattern for resources to purge from the cache' diff --git a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml index 95a60f5..4c5d9f0 100644 --- a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml +++ b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml @@ -39,7 +39,7 @@ paths: operationId: createContentPreparationTemplate summary: 'Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-preparation-template-create requestBody: description: 'A Content Preparation Template of any supported type' @@ -98,7 +98,7 @@ paths: operationId: retrieveContentPreparationTemplate summary: 'Retrieve the specified Content Preparation Template of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-preparation-template-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updateContentPreparationTemplate summary: 'Update (by replacement) the specified Content Preparation Template for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-preparation-template-put requestBody: description: 'A Content Preparation Template of any type' @@ -175,7 +175,7 @@ paths: operationId: patchContentPreparationTemplate summary: 'Patch the specified Content Preparation Template for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-preparation-template-patch requestBody: description: 'A Content Preparation Template patch of any type' @@ -218,7 +218,7 @@ paths: operationId: destroyContentPreparationTemplate summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-preparation-template-delete responses: '204': # No Content diff --git a/TS26510_Maf_Provisioning_ContentProtocols.yaml b/TS26510_Maf_Provisioning_ContentProtocols.yaml index 668dc81..7176a77 100644 --- a/TS26510_Maf_Provisioning_ContentProtocols.yaml +++ b/TS26510_Maf_Provisioning_ContentProtocols.yaml @@ -39,7 +39,7 @@ paths: operationId: retrieveContentProtocols summary: 'Retrieve the set of Content Protocols supported by the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - content-protocols-read responses: '200': diff --git a/TS26510_Maf_Provisioning_EdgeResources.yaml b/TS26510_Maf_Provisioning_EdgeResources.yaml index e156481..fb2dfe0 100644 --- a/TS26510_Maf_Provisioning_EdgeResources.yaml +++ b/TS26510_Maf_Provisioning_EdgeResources.yaml @@ -39,7 +39,7 @@ paths: operationId: createEdgeResourcesConfiguration summary: 'Create an Edge Resources Configuration within the scope of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - edge-resource-configuration-create requestBody: description: 'A JSON representation of an Edge Resources Configuration' @@ -97,7 +97,7 @@ paths: operationId: retrieveEdgeResourcesConfiguration summary: 'Retrieve the Edge Resources Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - edge-resource-configuration-read responses: '200': # OK @@ -128,7 +128,7 @@ paths: operationId: updateEdgeResourcesConfiguration summary: 'Update an Edge Resources Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - edge-resource-configuration-put requestBody: description: 'A JSON representation of an Edge Resources Configuration' @@ -174,7 +174,7 @@ paths: operationId: patchEdgeResourcesConfiguration summary: 'Patch the Edge Resources Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - edge-resource-configuration-patch requestBody: description: 'A JSON representation of a Edge Resources Configuration' @@ -223,7 +223,7 @@ paths: operationId: destroyEdgeResourcesConfiguration summary: 'Destroy the specified Edge Resources Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - edge-resource-configuration-delete responses: '204': # No Content diff --git a/TS26510_Maf_Provisioning_EventDataProcessing.yaml b/TS26510_Maf_Provisioning_EventDataProcessing.yaml index 97f054c..5ffa9ef 100644 --- a/TS26510_Maf_Provisioning_EventDataProcessing.yaml +++ b/TS26510_Maf_Provisioning_EventDataProcessing.yaml @@ -39,7 +39,7 @@ paths: operationId: createEventDataProcessingConfiguration summary: 'Supply an Event Data Processing Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - event-data-processing-provisioning-create requestBody: description: 'A JSON representation of a Event Data Processing Configuration' @@ -98,7 +98,7 @@ paths: operationId: retrieveEventDataProcessingConfiguration summary: 'Retrieve the specified Event Data Processing Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - event-data-processing-provisioning-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updateEventDataProcessingConfiguration summary: 'Update the specified Event Data Processing Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - event-data-processing-provisioning-put requestBody: description: 'A JSON representation of a Event Data Processing Configuration' @@ -175,7 +175,7 @@ paths: operationId: patchEventDataProcessingConfiguration summary: 'Patch the specified Event Data Processing Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - event-data-processing-provisioning-patch requestBody: description: 'A JSON representation of a Event Data Processing Configuration' @@ -224,7 +224,7 @@ paths: operationId: destroyEventDataProcessingConfiguration summary: 'Destroy the specified Event Data Processing Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - event-data-processing-provisioning-delete responses: '204': # No Content diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index 4e2cbc2..364aab9 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -39,7 +39,7 @@ paths: operationId: activateMetricsReporting summary: 'Activate the Metrics reporting procedure for the specified Provisioning Session by providing the Metrics Reporting Configuration' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - metrics-reporting-create requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' @@ -98,7 +98,7 @@ paths: operationId: retrieveMetricsReportingConfiguration summary: 'Retrieve the specified Metrics Reporting Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - metrics-reporting-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updateMetricsReportingConfiguration summary: 'Update the specified Metrics Reporting Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - metrics-reporting-put requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' @@ -175,7 +175,7 @@ paths: operationId: patchMetricsReportingConfiguration summary: 'Patch the specified Metrics Reporting Configuration for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - metrics-reporting-patch requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' @@ -224,7 +224,7 @@ paths: operationId: destroyMetricsReportingConfiguration summary: 'Destroy the specified Metrics Reporting Configuration of the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - metrics-reporting-delete responses: '204': # No Content diff --git a/TS26510_Maf_Provisioning_PolicyTemplates.yaml b/TS26510_Maf_Provisioning_PolicyTemplates.yaml index 29fec7a..2949439 100644 --- a/TS26510_Maf_Provisioning_PolicyTemplates.yaml +++ b/TS26510_Maf_Provisioning_PolicyTemplates.yaml @@ -39,7 +39,7 @@ paths: operationId: createPolicyTemplate summary: 'Create and upload a new Policy Template for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - policy-template-create requestBody: description: 'A JSON representation of a Policy Template' @@ -98,7 +98,7 @@ paths: operationId: retrievePolicyTemplate summary: 'Retrieve a representation of an existing Policy Template in the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - policy-template-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updatePolicyTemplate summary: 'Update a Policy Template for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - policy-template-put requestBody: description: 'A JSON representation of a Policy Template' @@ -175,7 +175,7 @@ paths: operationId: patchPolicyTemplate summary: 'Patch the Policy Template for the specified Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - policy-template-patch requestBody: description: 'A JSON representation of a Policy Template' @@ -223,7 +223,7 @@ paths: delete: operationId: destroyPolicyTemplate security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - policy-template-delete responses: '204': # No Content diff --git a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml index 6f5fd03..e8024fb 100644 --- a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml +++ b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml @@ -32,7 +32,7 @@ paths: operationId: createProvisioningSession summary: 'Create a new Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - provisioning-sessions-create requestBody: description: 'A JSON representation of a Provisioning Session.' @@ -85,7 +85,7 @@ paths: operationId: getProvisioningSessionById summary: 'Retrieve an existing Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - provisioning-sessions-read responses: '200': @@ -116,7 +116,7 @@ paths: operationId: destroyProvisioningSession summary: 'Destroy an existing Provisioning Session' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - provisioning-sessions-delete responses: '204': # No Content diff --git a/TS26510_Maf_Provisioning_ServerCertificates.yaml b/TS26510_Maf_Provisioning_ServerCertificates.yaml index c256f6a..215e1e6 100644 --- a/TS26510_Maf_Provisioning_ServerCertificates.yaml +++ b/TS26510_Maf_Provisioning_ServerCertificates.yaml @@ -40,7 +40,7 @@ paths: summary: 'Create or reserve a Service Certificate resource' description: 'Without the optional csr query parameter, an X.509 certificate is generated and this is returned. If the csr query parameter is present, a Certificate Signing Request is instead generated and returned, allowing the X.509 certificate to be generated by the invoker and later uploaded.' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - certificates-csr-request parameters: - in: query @@ -106,7 +106,7 @@ paths: operationId: uploadServerCertificate summary: "Upload the X.509 certificate for a previously reserved Server Certificate resource" security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - certificates-upload requestBody: required: true @@ -145,7 +145,7 @@ paths: operationId: retrieveServerCertificate summary: 'Retrieve the X.509 certificate representation of the specified Server Certificate resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - certificates-retrieve responses: '200': @@ -178,7 +178,7 @@ paths: operationId: destroyServerCertificate summary: 'Destroy an existing Server Certificate resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - certificates-delete responses: '204': # No Content diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index b582105..c905c8d 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -40,7 +40,7 @@ paths: operationId: submitConsumptionReport summary: 'Submit a Consumption Report' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - consumption-reporting-create - oAuth2AuthorizationCode: - consumption-reporting-create @@ -79,7 +79,7 @@ paths: components: securitySchemes: - oAuth2ClientCredentials: + OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 52699a4..c4fdc10 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -32,7 +32,7 @@ paths: operationId: createDynamicPolicy summary: 'Create (and optionally upload) a new Dynamic Policy resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - dynamic-policy-create - oAuth2AuthorizationCode: - dynamic-policy-create @@ -88,7 +88,7 @@ paths: operationId: retrieveDynamicPolicy summary: 'Retrieve an existing Dynamic Policy resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - dynamic-policy-read - oAuth2AuthorizationCode: - dynamic-policy-read @@ -121,7 +121,7 @@ paths: operationId: updateDynamicPolicy summary: 'Update an existing Dynamic Policy resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - metrics-reporting-put - oAuth2AuthorizationCode: - metrics-reporting-put @@ -169,7 +169,7 @@ paths: operationId: patchDynamicPolicy summary: 'Patch an existing Dynamic Policy resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - dynamic-policy-patch - oAuth2AuthorizationCode: - dynamic-policy-patch @@ -220,7 +220,7 @@ paths: operationId: destroyDynamicPolicy summary: 'Destroy an existing Dynamic Policy resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - dynamic-policy-delete - oAuth2AuthorizationCode: - dynamic-policy-delete @@ -248,7 +248,7 @@ paths: components: securitySchemes: - oAuth2ClientCredentials: + OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_SessionHandling_MetricsReporting.yaml b/TS26510_Maf_SessionHandling_MetricsReporting.yaml index b37c932..415f936 100644 --- a/TS26510_Maf_SessionHandling_MetricsReporting.yaml +++ b/TS26510_Maf_SessionHandling_MetricsReporting.yaml @@ -46,7 +46,7 @@ paths: operationId: submitMetricsReport summary: 'Submit a Metrics Report' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - metrics-reporting-create - oAuth2AuthorizationCode: - metrics-reporting-create @@ -89,7 +89,7 @@ paths: components: securitySchemes: - oAuth2ClientCredentials: + OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index 30c867f..e8d64ab 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -33,7 +33,7 @@ paths: operationId: createNetworkAssistanceSession summary: 'Create a new Network Assistance Session.' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - network-assistance-create - oAuth2AuthorizationCode: - network-assistance-create @@ -89,7 +89,7 @@ paths: operationId: retrieveNetworkAssistanceSession summary: 'Retrieve an existing Network Assistance Session resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - network-assistance-get - oAuth2AuthorizationCode: - network-assistance-get @@ -122,7 +122,7 @@ paths: operationId: updateNetworkAssistanceSession summary: 'Update an existing Network Assistance Session resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - network-assistance-put - oAuth2AuthorizationCode: - network-assistance-put @@ -170,7 +170,7 @@ paths: operationId: patchNetworkAssistanceSession summary: 'Patch an existing Network Assistance Session resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - network-assistance-patch - oAuth2AuthorizationCode: - network-assistance-patch @@ -221,7 +221,7 @@ paths: operationId: destroyNetworkAssistanceSession summary: 'Destroy an existing Network Assistance Session resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - network-assistance-delete - oAuth2AuthorizationCode: - network-assistance-delete @@ -252,7 +252,7 @@ paths: operationId: requestBitRateRecommendation summary: 'Obtain a bit rate recommendation for the next recommendation window' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - network-assistance-getrec - oAuth2AuthorizationCode: - network-assistance-getrec @@ -293,7 +293,7 @@ paths: operationId: requestDeliveryBoost summary: 'Request a delivery boost' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - network-assistance-boost - oAuth2AuthorizationCode: - network-assistance-boost @@ -334,7 +334,7 @@ paths: components: securitySchemes: - oAuth2ClientCredentials: + OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 66d2367..43a7bf0 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -40,7 +40,7 @@ paths: operationId: retrieveServiceAccessInformation summary: 'Retrieve the Service Access Information resource' security: - - oAuth2ClientCredentials: + - OAuth2ClientCredentials: - service-access-information-read - oAuth2AuthorizationCode: - service-access-information-read @@ -72,7 +72,7 @@ paths: components: securitySchemes: - oAuth2ClientCredentials: + OAuth2ClientCredentials: type: oauth2 flows: clientCredentials: -- GitLab From 7b08adf96ed0a014dc8f7edde789f6ac96f6fdf3 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Wed, 31 Jan 2024 15:16:07 +0100 Subject: [PATCH 06/48] Removal of security configuration from root. --- TS26512_Maf_Provisioning.yaml | 13 ------------- TS26512_Maf_SessionHandling.yaml | 20 -------------------- 2 files changed, 33 deletions(-) diff --git a/TS26512_Maf_Provisioning.yaml b/TS26512_Maf_Provisioning.yaml index 1bf38a1..01f387f 100755 --- a/TS26512_Maf_Provisioning.yaml +++ b/TS26512_Maf_Provisioning.yaml @@ -22,19 +22,6 @@ servers: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. -security: - - {} - - OAuth2ClientCredentials: [] - -components: - securitySchemes: - OAuth2ClientCredentials: - type: oauth2 - flows: - clientCredentials: - tokenUrl: '{tokenUrl}' - scopes: {} - paths: # Provisioning Sessions API /provisioning-sessions: diff --git a/TS26512_Maf_SessionHandling.yaml b/TS26512_Maf_SessionHandling.yaml index 47b79d9..0ecc26f 100755 --- a/TS26512_Maf_SessionHandling.yaml +++ b/TS26512_Maf_SessionHandling.yaml @@ -22,26 +22,6 @@ servers: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. -security: - - {} - - OAuth2ClientCredentials: [] - - OAuth2AuthorizationCode: [] - -components: - securitySchemes: - OAuth2ClientCredentials: - type: oauth2 - flows: - clientCredentials: - tokenUrl: '{tokenUrl}' - scopes: {} - OAuth2AuthorizationCode: - type: oauth2 - flows: - authorizationCode: - authorizationUrl: '{authorizationUrl}' - tokenUrl: '{tokenUrl}' - scopes: {} paths: # Service Access Information API -- GitLab From 97346b19fe9b37d2a5b59b5aa78cb53a1d12ec6a Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Mon, 19 Feb 2024 16:50:13 +0000 Subject: [PATCH 07/48] Combine clientCredentials and authorizationCode into a merged securityScheme. --- 5gms_pro_ph2,oauth2,bbc.nppsess | 26 ++++++++++ ...510_Maf_SessionHandling_DynamicPolicy.yaml | 52 +++++++------------ 2 files changed, 46 insertions(+), 32 deletions(-) create mode 100755 5gms_pro_ph2,oauth2,bbc.nppsess diff --git a/5gms_pro_ph2,oauth2,bbc.nppsess b/5gms_pro_ph2,oauth2,bbc.nppsess new file mode 100755 index 0000000..f1963a9 --- /dev/null +++ b/5gms_pro_ph2,oauth2,bbc.nppsess @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index c4fdc10..0dfa7a8 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -26,15 +26,14 @@ security: - {} - OAuth2ClientCredentials: [] - OAuth2AuthorizationCode: [] + paths: /dynamic-policies: post: operationId: createDynamicPolicy summary: 'Create (and optionally upload) a new Dynamic Policy resource' security: - - OAuth2ClientCredentials: - - dynamic-policy-create - - oAuth2AuthorizationCode: + - OAuth2: - dynamic-policy-create requestBody: description: 'An optional JSON representation of a Dynamic Policy resource' @@ -88,10 +87,8 @@ paths: operationId: retrieveDynamicPolicy summary: 'Retrieve an existing Dynamic Policy resource' security: - - OAuth2ClientCredentials: - - dynamic-policy-read - - oAuth2AuthorizationCode: - - dynamic-policy-read + - OAuth2: + - dynamic-policy-retrieve responses: '200': # OK description: 'Success' @@ -121,10 +118,8 @@ paths: operationId: updateDynamicPolicy summary: 'Update an existing Dynamic Policy resource' security: - - OAuth2ClientCredentials: - - metrics-reporting-put - - oAuth2AuthorizationCode: - - metrics-reporting-put + - OAuth2: + - dynamic-policy-replace requestBody: description: 'A replacement JSON representation of a Dynamic Policy resource' required: true @@ -169,9 +164,7 @@ paths: operationId: patchDynamicPolicy summary: 'Patch an existing Dynamic Policy resource' security: - - OAuth2ClientCredentials: - - dynamic-policy-patch - - oAuth2AuthorizationCode: + - OAuth2: - dynamic-policy-patch requestBody: description: 'A JSON patch to a Dynamic Policy resource' @@ -220,10 +213,8 @@ paths: operationId: destroyDynamicPolicy summary: 'Destroy an existing Dynamic Policy resource' security: - - OAuth2ClientCredentials: - - dynamic-policy-delete - - oAuth2AuthorizationCode: - - dynamic-policy-delete + - OAuth2: + - dynamic-policy-destroy responses: '204': # No Content description: 'Dynamic Policy Destroyed' @@ -248,29 +239,26 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - dynamic-policy-create: Create a dynamic policy - dynamic-policy-read: Read a dynamic policy - dynamic-policy-put: Put a dynamic policy - dynamic-policy-patch: Patch a dynamic policy - dynamic-policy-delete: Delete a dynamic policy - oAuth2AuthorizationCode: - type: oauth2 - flows: + dynamic-policy-create: Create a Dynamic Policy resource + dynamic-policy-retrieve: Retrieve a Dynamic Policy resource + dynamic-policy-replace: Replace a Dynamic Policy resource + dynamic-policy-patch: Patch a Dynamic Policy resource + dynamic-policy-destroy: Destroy a Dynamic Policy resource authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' scopes: - dynamic-policy-create: Create a dynamic policy - dynamic-policy-read: Read a dynamic policy - dynamic-policy-put: Put a dynamic policy - dynamic-policy-patch: Patch a dynamic policy - dynamic-policy-delete: Delete a dynamic policy + dynamic-policy-create: Create a Dynamic Policy resource + dynamic-policy-retrieve: Retrieve a Dynamic Policy resource + dynamic-policy-replace: Replace a Dynamic Policy resource + dynamic-policy-patch: Patch a Dynamic Policy resource + dynamic-policy-destroy: Destroy a Dynamic Policy resource schemas: DynamicPolicy: description: "A representation of a Dynamic Policy resource." -- GitLab From 4e6d53f90dc1f2d7736bfe607da02be257ce74a5 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Mon, 19 Feb 2024 16:53:48 +0000 Subject: [PATCH 08/48] . --- 5gms_pro_ph2,oauth2,bbc.nppsess | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100755 5gms_pro_ph2,oauth2,bbc.nppsess diff --git a/5gms_pro_ph2,oauth2,bbc.nppsess b/5gms_pro_ph2,oauth2,bbc.nppsess deleted file mode 100755 index f1963a9..0000000 --- a/5gms_pro_ph2,oauth2,bbc.nppsess +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - -- GitLab From 11105809d02e6b82c03dc35617bd96de331e07a6 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Mon, 19 Feb 2024 16:57:46 +0000 Subject: [PATCH 09/48] Merged security parmeters. --- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 0dfa7a8..afd7eb0 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -24,8 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] - - OAuth2AuthorizationCode: [] + - OAuth2: [] paths: /dynamic-policies: -- GitLab From db6f5be7fa33d4518142de294f75af56a9bac838 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Tue, 20 Feb 2024 16:00:23 +0000 Subject: [PATCH 10/48] Renamed security scheme as "oauth2_dynamic-policy". --- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index afd7eb0..08d9e68 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2: [] + - oauth2_dynamic-policy: [] paths: /dynamic-policies: @@ -32,7 +32,7 @@ paths: operationId: createDynamicPolicy summary: 'Create (and optionally upload) a new Dynamic Policy resource' security: - - OAuth2: + - oauth2_dynamic-policy: - dynamic-policy-create requestBody: description: 'An optional JSON representation of a Dynamic Policy resource' @@ -86,7 +86,7 @@ paths: operationId: retrieveDynamicPolicy summary: 'Retrieve an existing Dynamic Policy resource' security: - - OAuth2: + - oauth2_dynamic-policy: - dynamic-policy-retrieve responses: '200': # OK @@ -117,7 +117,7 @@ paths: operationId: updateDynamicPolicy summary: 'Update an existing Dynamic Policy resource' security: - - OAuth2: + - oauth2_dynamic-policy: - dynamic-policy-replace requestBody: description: 'A replacement JSON representation of a Dynamic Policy resource' @@ -163,7 +163,7 @@ paths: operationId: patchDynamicPolicy summary: 'Patch an existing Dynamic Policy resource' security: - - OAuth2: + - oauth2_dynamic-policy: - dynamic-policy-patch requestBody: description: 'A JSON patch to a Dynamic Policy resource' @@ -212,7 +212,7 @@ paths: operationId: destroyDynamicPolicy summary: 'Destroy an existing Dynamic Policy resource' security: - - OAuth2: + - oauth2_dynamic-policy: - dynamic-policy-destroy responses: '204': # No Content @@ -238,7 +238,7 @@ paths: components: securitySchemes: - OAuth2: + oauth2_dynamic-policy: type: oauth2 flows: clientCredentials: -- GitLab From 4eb2a27ec88ec17aca1fc5ecec8a25071fcce33e Mon Sep 17 00:00:00 2001 From: Thorsten Date: Fri, 24 May 2024 07:10:38 +0200 Subject: [PATCH 11/48] Aligned Security schemes at Maf SessionHandling API to OAuth2 --- ..._SessionHandling_ConsumptionReporting.yaml | 12 ++----- ...510_Maf_SessionHandling_DynamicPolicy.yaml | 14 ++++---- ..._Maf_SessionHandling_MetricsReporting.yaml | 12 ++----- ...Maf_SessionHandling_NetworkAssistance.yaml | 36 +++++-------------- ...sionHandling_ServiceAccessInformation.yaml | 12 ++----- 5 files changed, 25 insertions(+), 61 deletions(-) diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index c905c8d..8bf8d35 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -24,8 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] - - OAuth2AuthorizationCode: [] + - OAuth2: [] paths: /consumption-reporting/{provisioningSessionId}: @@ -40,9 +39,7 @@ paths: operationId: submitConsumptionReport summary: 'Submit a Consumption Report' security: - - OAuth2ClientCredentials: - - consumption-reporting-create - - oAuth2AuthorizationCode: + - OAuth2: - consumption-reporting-create requestBody: description: 'A Consumption Report' @@ -79,16 +76,13 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: consumption-reporting-create: Create consumption report - oAuth2AuthorizationCode: - type: oauth2 - flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 08d9e68..afd7eb0 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - oauth2_dynamic-policy: [] + - OAuth2: [] paths: /dynamic-policies: @@ -32,7 +32,7 @@ paths: operationId: createDynamicPolicy summary: 'Create (and optionally upload) a new Dynamic Policy resource' security: - - oauth2_dynamic-policy: + - OAuth2: - dynamic-policy-create requestBody: description: 'An optional JSON representation of a Dynamic Policy resource' @@ -86,7 +86,7 @@ paths: operationId: retrieveDynamicPolicy summary: 'Retrieve an existing Dynamic Policy resource' security: - - oauth2_dynamic-policy: + - OAuth2: - dynamic-policy-retrieve responses: '200': # OK @@ -117,7 +117,7 @@ paths: operationId: updateDynamicPolicy summary: 'Update an existing Dynamic Policy resource' security: - - oauth2_dynamic-policy: + - OAuth2: - dynamic-policy-replace requestBody: description: 'A replacement JSON representation of a Dynamic Policy resource' @@ -163,7 +163,7 @@ paths: operationId: patchDynamicPolicy summary: 'Patch an existing Dynamic Policy resource' security: - - oauth2_dynamic-policy: + - OAuth2: - dynamic-policy-patch requestBody: description: 'A JSON patch to a Dynamic Policy resource' @@ -212,7 +212,7 @@ paths: operationId: destroyDynamicPolicy summary: 'Destroy an existing Dynamic Policy resource' security: - - oauth2_dynamic-policy: + - OAuth2: - dynamic-policy-destroy responses: '204': # No Content @@ -238,7 +238,7 @@ paths: components: securitySchemes: - oauth2_dynamic-policy: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_SessionHandling_MetricsReporting.yaml b/TS26510_Maf_SessionHandling_MetricsReporting.yaml index 415f936..215a8c2 100644 --- a/TS26510_Maf_SessionHandling_MetricsReporting.yaml +++ b/TS26510_Maf_SessionHandling_MetricsReporting.yaml @@ -24,8 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] - - OAuth2AuthorizationCode: [] + - OAuth2: [] paths: /metrics-reporting/{provisioningSessionId}/{metricsReportingConfigurationId}: @@ -46,9 +45,7 @@ paths: operationId: submitMetricsReport summary: 'Submit a Metrics Report' security: - - OAuth2ClientCredentials: - - metrics-reporting-create - - oAuth2AuthorizationCode: + - OAuth2: - metrics-reporting-create requestBody: description: 'A Metrics Report' @@ -89,16 +86,13 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: metrics-reporting-create: Create a metrics report - oAuth2AuthorizationCode: - type: oauth2 - flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index e8d64ab..add4e5a 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -24,8 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] - - OAuth2AuthorizationCode: [] + - OAuth2: [] paths: /network-assistance/: @@ -33,9 +32,7 @@ paths: operationId: createNetworkAssistanceSession summary: 'Create a new Network Assistance Session.' security: - - OAuth2ClientCredentials: - - network-assistance-create - - oAuth2AuthorizationCode: + - OAuth2: - network-assistance-create requestBody: description: 'The initial parameters for the Network Assistance Session resource' @@ -89,9 +86,7 @@ paths: operationId: retrieveNetworkAssistanceSession summary: 'Retrieve an existing Network Assistance Session resource' security: - - OAuth2ClientCredentials: - - network-assistance-get - - oAuth2AuthorizationCode: + - OAuth2: - network-assistance-get responses: '200': # OK @@ -122,9 +117,7 @@ paths: operationId: updateNetworkAssistanceSession summary: 'Update an existing Network Assistance Session resource' security: - - OAuth2ClientCredentials: - - network-assistance-put - - oAuth2AuthorizationCode: + - OAuth2: - network-assistance-put requestBody: description: 'A replacement JSON representation of a Network Assistance Session resource' @@ -170,9 +163,7 @@ paths: operationId: patchNetworkAssistanceSession summary: 'Patch an existing Network Assistance Session resource' security: - - OAuth2ClientCredentials: - - network-assistance-patch - - oAuth2AuthorizationCode: + - OAuth2: - network-assistance-patch requestBody: description: 'A JSON patch to a Network Assistance Session resource' @@ -221,9 +212,7 @@ paths: operationId: destroyNetworkAssistanceSession summary: 'Destroy an existing Network Assistance Session resource' security: - - OAuth2ClientCredentials: - - network-assistance-delete - - oAuth2AuthorizationCode: + - OAuth2: - network-assistance-delete responses: '204': # No Content @@ -252,9 +241,7 @@ paths: operationId: requestBitRateRecommendation summary: 'Obtain a bit rate recommendation for the next recommendation window' security: - - OAuth2ClientCredentials: - - network-assistance-getrec - - oAuth2AuthorizationCode: + - OAuth2: - network-assistance-getrec parameters: - name: naSessionId @@ -293,9 +280,7 @@ paths: operationId: requestDeliveryBoost summary: 'Request a delivery boost' security: - - OAuth2ClientCredentials: - - network-assistance-boost - - oAuth2AuthorizationCode: + - OAuth2: - network-assistance-boost parameters: - name: naSessionId @@ -334,7 +319,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: @@ -347,9 +332,6 @@ components: network-assistance-delete: Delete a network assistance session network-assistance-getrec: Obtain a bit rate recommendation network-assistance-boost: Request a delivery boost - oAuth2AuthorizationCode: - type: oauth2 - flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 43a7bf0..ca63c66 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -24,8 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] - - OAuth2AuthorizationCode: [] + - OAuth2: [] paths: /service-access-information/{provisioningSessionId}: @@ -40,9 +39,7 @@ paths: operationId: retrieveServiceAccessInformation summary: 'Retrieve the Service Access Information resource' security: - - OAuth2ClientCredentials: - - service-access-information-read - - oAuth2AuthorizationCode: + - OAuth2: - service-access-information-read responses: '200': # OK @@ -72,16 +69,13 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: service-access-information-read: Read service access session - oAuth2AuthorizationCode: - type: oauth2 - flows: authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' -- GitLab From fefeac1b9cb40e71129fdb13b57dc1517da2bed9 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Fri, 24 May 2024 07:19:28 +0200 Subject: [PATCH 12/48] Aligned Maf Provisioning (M1) security scheme to OAuth2. --- ...10_Maf_Provisioning_ConsumptionReporting.yaml | 14 +++++++------- TS26510_Maf_Provisioning_ContentHosting.yaml | 16 ++++++++-------- ...Provisioning_ContentPreparationTemplates.yaml | 14 +++++++------- TS26510_Maf_Provisioning_ContentProtocols.yaml | 6 +++--- TS26510_Maf_Provisioning_ContentPublishing.yaml | 4 ++-- TS26510_Maf_Provisioning_EdgeResources.yaml | 14 +++++++------- ...510_Maf_Provisioning_EventDataProcessing.yaml | 14 +++++++------- TS26510_Maf_Provisioning_MetricsReporting.yaml | 14 +++++++------- TS26510_Maf_Provisioning_PolicyTemplates.yaml | 14 +++++++------- ...10_Maf_Provisioning_ProvisioningSessions.yaml | 10 +++++----- TS26510_Maf_Provisioning_ServerCertificates.yaml | 12 ++++++------ 11 files changed, 66 insertions(+), 66 deletions(-) diff --git a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml index 6d1ed2e..bd7d871 100644 --- a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml +++ b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/consumption-reporting-configuration: @@ -39,7 +39,7 @@ paths: operationId: activateConsumptionReporting summary: 'Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration' security: - - OAuth2ClientCredentials: + - OAuth2: - consumption-reporting-create requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' @@ -83,7 +83,7 @@ paths: operationId: retrieveConsumptionReportingConfiguration summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - consumption-reporting-read responses: '200': # OK @@ -114,7 +114,7 @@ paths: operationId: updateConsumptionReportingConfiguration summary: 'Update the Consumption Reporting Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - consumption-reporting-put requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' @@ -160,7 +160,7 @@ paths: operationId: patchConsumptionReportingConfiguration summary: 'Patch the Consumption Reporting Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - consumption-reporting-patch requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' @@ -209,7 +209,7 @@ paths: operationId: destroyConsumptionReportingConfiguration summary: 'Destroy the current Consumption Reporting Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - consumption-reporting-delete responses: '204': # No Content @@ -235,7 +235,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index 10c04a0..912001a 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration: @@ -39,7 +39,7 @@ paths: operationId: createContentHostingConfiguration summary: 'Create and upload the Content Hosting Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-hosting-configuration-create requestBody: description: 'A JSON representation of a Content Hosting Configuration' @@ -85,7 +85,7 @@ paths: operationId: retrieveContentHostingConfiguration summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-hosting-configuration-read responses: '200': # OK @@ -116,7 +116,7 @@ paths: operationId: updateContentHostingConfiguration summary: 'Update (by replacement) the Content Hosting Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-hosting-configuration-put requestBody: description: 'A JSON representation of a Content Hosting Configuration' @@ -162,7 +162,7 @@ paths: operationId: patchContentHostingConfiguration summary: 'Patch the Content Hosting Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-hosting-configuration-patch requestBody: description: 'A JSON representation of a Content Hosting Configuration' @@ -211,7 +211,7 @@ paths: operationId: destroyContentHostingConfiguration summary: 'Destroy the current Content Hosting Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-hosting-configuration-delete responses: '204': # No Content @@ -247,7 +247,7 @@ paths: operationId: purgeContentHostingCache summary: 'Purge the content of the cache for the Content Hosting Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-hosting-configuration-purge requestBody: description: 'The regular expression pattern for resources to purge from the cache' @@ -293,7 +293,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml index 4c5d9f0..07d59ac 100644 --- a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml +++ b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/content-preparation-templates: @@ -39,7 +39,7 @@ paths: operationId: createContentPreparationTemplate summary: 'Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-preparation-template-create requestBody: description: 'A Content Preparation Template of any supported type' @@ -98,7 +98,7 @@ paths: operationId: retrieveContentPreparationTemplate summary: 'Retrieve the specified Content Preparation Template of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-preparation-template-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updateContentPreparationTemplate summary: 'Update (by replacement) the specified Content Preparation Template for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-preparation-template-put requestBody: description: 'A Content Preparation Template of any type' @@ -175,7 +175,7 @@ paths: operationId: patchContentPreparationTemplate summary: 'Patch the specified Content Preparation Template for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-preparation-template-patch requestBody: description: 'A Content Preparation Template patch of any type' @@ -218,7 +218,7 @@ paths: operationId: destroyContentPreparationTemplate summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-preparation-template-delete responses: '204': # No Content @@ -246,7 +246,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_ContentProtocols.yaml b/TS26510_Maf_Provisioning_ContentProtocols.yaml index 7176a77..b57ca9e 100644 --- a/TS26510_Maf_Provisioning_ContentProtocols.yaml +++ b/TS26510_Maf_Provisioning_ContentProtocols.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/content-protocols: @@ -39,7 +39,7 @@ paths: operationId: retrieveContentProtocols summary: 'Retrieve the set of Content Protocols supported by the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - content-protocols-read responses: '200': @@ -69,7 +69,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_ContentPublishing.yaml b/TS26510_Maf_Provisioning_ContentPublishing.yaml index 4bd001b..8f4dd90 100755 --- a/TS26510_Maf_Provisioning_ContentPublishing.yaml +++ b/TS26510_Maf_Provisioning_ContentPublishing.yaml @@ -24,13 +24,13 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_EdgeResources.yaml b/TS26510_Maf_Provisioning_EdgeResources.yaml index fb2dfe0..3e52ef3 100644 --- a/TS26510_Maf_Provisioning_EdgeResources.yaml +++ b/TS26510_Maf_Provisioning_EdgeResources.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/edge-resources-configurations: @@ -39,7 +39,7 @@ paths: operationId: createEdgeResourcesConfiguration summary: 'Create an Edge Resources Configuration within the scope of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - edge-resource-configuration-create requestBody: description: 'A JSON representation of an Edge Resources Configuration' @@ -97,7 +97,7 @@ paths: operationId: retrieveEdgeResourcesConfiguration summary: 'Retrieve the Edge Resources Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - edge-resource-configuration-read responses: '200': # OK @@ -128,7 +128,7 @@ paths: operationId: updateEdgeResourcesConfiguration summary: 'Update an Edge Resources Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - edge-resource-configuration-put requestBody: description: 'A JSON representation of an Edge Resources Configuration' @@ -174,7 +174,7 @@ paths: operationId: patchEdgeResourcesConfiguration summary: 'Patch the Edge Resources Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - edge-resource-configuration-patch requestBody: description: 'A JSON representation of a Edge Resources Configuration' @@ -223,7 +223,7 @@ paths: operationId: destroyEdgeResourcesConfiguration summary: 'Destroy the specified Edge Resources Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - edge-resource-configuration-delete responses: '204': # No Content @@ -251,7 +251,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_EventDataProcessing.yaml b/TS26510_Maf_Provisioning_EventDataProcessing.yaml index 5ffa9ef..b472d89 100644 --- a/TS26510_Maf_Provisioning_EventDataProcessing.yaml +++ b/TS26510_Maf_Provisioning_EventDataProcessing.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/event-data-processing-configurations: @@ -39,7 +39,7 @@ paths: operationId: createEventDataProcessingConfiguration summary: 'Supply an Event Data Processing Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - event-data-processing-provisioning-create requestBody: description: 'A JSON representation of a Event Data Processing Configuration' @@ -98,7 +98,7 @@ paths: operationId: retrieveEventDataProcessingConfiguration summary: 'Retrieve the specified Event Data Processing Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - event-data-processing-provisioning-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updateEventDataProcessingConfiguration summary: 'Update the specified Event Data Processing Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - event-data-processing-provisioning-put requestBody: description: 'A JSON representation of a Event Data Processing Configuration' @@ -175,7 +175,7 @@ paths: operationId: patchEventDataProcessingConfiguration summary: 'Patch the specified Event Data Processing Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - event-data-processing-provisioning-patch requestBody: description: 'A JSON representation of a Event Data Processing Configuration' @@ -224,7 +224,7 @@ paths: operationId: destroyEventDataProcessingConfiguration summary: 'Destroy the specified Event Data Processing Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - event-data-processing-provisioning-delete responses: '204': # No Content @@ -250,7 +250,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index 364aab9..ca791b2 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/metrics-reporting-configurations: @@ -39,7 +39,7 @@ paths: operationId: activateMetricsReporting summary: 'Activate the Metrics reporting procedure for the specified Provisioning Session by providing the Metrics Reporting Configuration' security: - - OAuth2ClientCredentials: + - OAuth2: - metrics-reporting-create requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' @@ -98,7 +98,7 @@ paths: operationId: retrieveMetricsReportingConfiguration summary: 'Retrieve the specified Metrics Reporting Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - metrics-reporting-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updateMetricsReportingConfiguration summary: 'Update the specified Metrics Reporting Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - metrics-reporting-put requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' @@ -175,7 +175,7 @@ paths: operationId: patchMetricsReportingConfiguration summary: 'Patch the specified Metrics Reporting Configuration for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - metrics-reporting-patch requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' @@ -224,7 +224,7 @@ paths: operationId: destroyMetricsReportingConfiguration summary: 'Destroy the specified Metrics Reporting Configuration of the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - metrics-reporting-delete responses: '204': # No Content @@ -250,7 +250,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_PolicyTemplates.yaml b/TS26510_Maf_Provisioning_PolicyTemplates.yaml index 2949439..99b933c 100644 --- a/TS26510_Maf_Provisioning_PolicyTemplates.yaml +++ b/TS26510_Maf_Provisioning_PolicyTemplates.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/policy-templates: @@ -39,7 +39,7 @@ paths: operationId: createPolicyTemplate summary: 'Create and upload a new Policy Template for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - policy-template-create requestBody: description: 'A JSON representation of a Policy Template' @@ -98,7 +98,7 @@ paths: operationId: retrievePolicyTemplate summary: 'Retrieve a representation of an existing Policy Template in the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - policy-template-read responses: '200': # OK @@ -129,7 +129,7 @@ paths: operationId: updatePolicyTemplate summary: 'Update a Policy Template for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - policy-template-put requestBody: description: 'A JSON representation of a Policy Template' @@ -175,7 +175,7 @@ paths: operationId: patchPolicyTemplate summary: 'Patch the Policy Template for the specified Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - policy-template-patch requestBody: description: 'A JSON representation of a Policy Template' @@ -223,7 +223,7 @@ paths: delete: operationId: destroyPolicyTemplate security: - - OAuth2ClientCredentials: + - OAuth2: - policy-template-delete responses: '204': # No Content @@ -249,7 +249,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml index e8024fb..2e45b1a 100644 --- a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml +++ b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions: @@ -32,7 +32,7 @@ paths: operationId: createProvisioningSession summary: 'Create a new Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - provisioning-sessions-create requestBody: description: 'A JSON representation of a Provisioning Session.' @@ -85,7 +85,7 @@ paths: operationId: getProvisioningSessionById summary: 'Retrieve an existing Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - provisioning-sessions-read responses: '200': @@ -116,7 +116,7 @@ paths: operationId: destroyProvisioningSession summary: 'Destroy an existing Provisioning Session' security: - - OAuth2ClientCredentials: + - OAuth2: - provisioning-sessions-delete responses: '204': # No Content @@ -142,7 +142,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: diff --git a/TS26510_Maf_Provisioning_ServerCertificates.yaml b/TS26510_Maf_Provisioning_ServerCertificates.yaml index 215e1e6..97c84e8 100644 --- a/TS26510_Maf_Provisioning_ServerCertificates.yaml +++ b/TS26510_Maf_Provisioning_ServerCertificates.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/certificates: @@ -40,7 +40,7 @@ paths: summary: 'Create or reserve a Service Certificate resource' description: 'Without the optional csr query parameter, an X.509 certificate is generated and this is returned. If the csr query parameter is present, a Certificate Signing Request is instead generated and returned, allowing the X.509 certificate to be generated by the invoker and later uploaded.' security: - - OAuth2ClientCredentials: + - OAuth2: - certificates-csr-request parameters: - in: query @@ -106,7 +106,7 @@ paths: operationId: uploadServerCertificate summary: "Upload the X.509 certificate for a previously reserved Server Certificate resource" security: - - OAuth2ClientCredentials: + - OAuth2: - certificates-upload requestBody: required: true @@ -145,7 +145,7 @@ paths: operationId: retrieveServerCertificate summary: 'Retrieve the X.509 certificate representation of the specified Server Certificate resource' security: - - OAuth2ClientCredentials: + - OAuth2: - certificates-retrieve responses: '200': @@ -178,7 +178,7 @@ paths: operationId: destroyServerCertificate summary: 'Destroy an existing Server Certificate resource' security: - - OAuth2ClientCredentials: + - OAuth2: - certificates-delete responses: '204': # No Content @@ -206,7 +206,7 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: -- GitLab From d7f12a4562a869c258ac1844239a943c9d213d20 Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 31 Jan 2024 22:20:46 +0000 Subject: [PATCH 13/48] Service Access Information retrieval using external service identifier --- TS26510_Maf_Provisioning_ProvisioningSessions.yaml | 3 +++ TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 6 +++--- TS26512_Maf_SessionHandling.yaml | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml index 2e45b1a..4c0ab1b 100644 --- a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml +++ b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml @@ -159,6 +159,7 @@ components: required: - provisioningSessionId - provisioningSessionType + - externalServiceId - appId properties: provisioningSessionId: @@ -167,6 +168,8 @@ components: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' provisioningSessionType: $ref: 'TS26510_CommonData.yaml#/components/schemas/ProvisioningSessionType' + externalServiceId: + type: string aspId: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId' appId: diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index ca63c66..069b8cc 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -27,10 +27,10 @@ security: - OAuth2: [] paths: - /service-access-information/{provisioningSessionId}: + /service-access-information/{externalServiceId}: parameters: - - name: provisioningSessionId - description: 'The resource identifier of an existing Provisioning Session.' + - name: externalServiceId + description: 'An external service identifier that uniquely identifies an existing Provisioning Session in this Media Delivery System.' in: path required: true schema: diff --git a/TS26512_Maf_SessionHandling.yaml b/TS26512_Maf_SessionHandling.yaml index 0ecc26f..cc2e372 100755 --- a/TS26512_Maf_SessionHandling.yaml +++ b/TS26512_Maf_SessionHandling.yaml @@ -25,8 +25,8 @@ servers: paths: # Service Access Information API - /service-access-information/%7bprovisioningSessionId%7d: - $ref: 'TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml#/paths/~1service-access-information~1%7bprovisioningSessionId%7d' + /service-access-information/%7bexternalServiceId%7d: + $ref: 'TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml#/paths/~1service-access-information~1%7bexternalServiceId%7d' # Dynamic Policy API /dynamic-policies: -- GitLab From d7fd861b17e2ac4d97c0f780bd192083e6b1f08c Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 31 Jan 2024 22:32:29 +0000 Subject: [PATCH 14/48] Media delivery session identification to Media AF --- TS26510_Maf_SessionHandling_ConsumptionReporting.yaml | 9 ++++++--- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 3 +++ TS26510_Maf_SessionHandling_NetworkAssistance.yaml | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index 8bf8d35..38513cd 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -93,14 +93,17 @@ components: description: "A representation of a Consumption Report." type: object required: - - mediaPlayerEntry - reportingClientId + - sessionId + - mediaPlayerEntry - consumptionReportingUnits properties: - mediaPlayerEntry: - type: string reportingClientId: type: string + sessionId: + $ref: 'TS26510_CommonData.yaml#/components/schemas/MediaDeliverySessionId' + mediaPlayerEntry: + type: string consumptionReportingUnits: type: array items: diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index afd7eb0..b37b573 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -265,6 +265,7 @@ components: required: - dynamicPolicyId - provisioningSessionId + - sessionId - policyTemplateId - serviceDataFlowDescriptions - qosEnforcement @@ -275,6 +276,8 @@ components: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' provisioningSessionId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + sessionId: + $ref: 'TS26510_CommonData.yaml#/components/schemas/MediaDeliverySessionId' policyTemplateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' serviceDataFlowDescriptions: diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index add4e5a..230cc2f 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -350,6 +350,7 @@ components: required: - naSessionId - provisioningSessionId + - sessionId - serviceDataFlowDescriptions properties: naSessionId: @@ -358,6 +359,8 @@ components: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' provisioningSessionId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + sessionId: + $ref: 'TS26510_CommonData.yaml#/components/schemas/MediaDeliverySessionId' serviceDataFlowDescriptions: type: array items: -- GitLab From 2ae5cf9c6adbd59372de304bf7fd0446408f4e6e Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 31 Jan 2024 22:49:05 +0000 Subject: [PATCH 15/48] Provisioning Sessions enumeration operation --- ...Maf_Provisioning_ProvisioningSessions.yaml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml index 4c0ab1b..85e166a 100644 --- a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml +++ b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml @@ -28,6 +28,28 @@ security: paths: /provisioning-sessions: + get: + operationId: enumerateProvisioningSessions + summary: "Retrieve a list of Provisioning Session resource identifiers currently registered with the Media AF" + responses: + '200': # OK + description: "Success" + content: + application/json: + schema: + type: array + items: + $ref: 'TS26510_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' post: operationId: createProvisioningSession summary: 'Create a new Provisioning Session' -- GitLab From 7fbaaa77cc181e9a4befb440e0bcf1458f35500e Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 31 Jan 2024 23:08:47 +0000 Subject: [PATCH 16/48] Refactor Maf_SessionHandling API to consistently make Provisioning Session ID a path parameter --- ..._SessionHandling_ConsumptionReporting.yaml | 2 +- ...510_Maf_SessionHandling_DynamicPolicy.yaml | 21 ++++++++-- ..._Maf_SessionHandling_MetricsReporting.yaml | 2 +- ...Maf_SessionHandling_NetworkAssistance.yaml | 40 ++++++++++++++++--- TS26512_Maf_SessionHandling.yaml | 32 +++++++-------- 5 files changed, 71 insertions(+), 26 deletions(-) diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index 38513cd..4ae4c1c 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -27,7 +27,7 @@ security: - OAuth2: [] paths: - /consumption-reporting/{provisioningSessionId}: + /provisioning-sessions/{provisioningSessionId}/consumption-reporting: parameters: - name: provisioningSessionId in: path diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index b37b573..0d46f85 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -27,7 +27,14 @@ security: - OAuth2: [] paths: - /dynamic-policies: + /provisioning-sessions/{provisioningSessionId}/dynamic-policies: + parameters: + - name: provisioningSessionId + description: 'A valid Provisioning Session identifier' + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' post: operationId: createDynamicPolicy summary: 'Create (and optionally upload) a new Dynamic Policy resource' @@ -74,8 +81,14 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' - /dynamic-policies/{dynamicPolicyId}: + /provisioning-sessions/{provisioningSessionId}/dynamic-policies/{dynamicPolicyId}: parameters: + - name: provisioningSessionId + description: 'A valid Provisioning Session identifier' + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' - name: dynamicPolicyId description: 'The resource identifier of a Dynamic Policy resource' in: path @@ -275,7 +288,9 @@ components: allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' provisioningSessionId: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + readOnly: true + allOf: + - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' sessionId: $ref: 'TS26510_CommonData.yaml#/components/schemas/MediaDeliverySessionId' policyTemplateId: diff --git a/TS26510_Maf_SessionHandling_MetricsReporting.yaml b/TS26510_Maf_SessionHandling_MetricsReporting.yaml index 215a8c2..cdfd00e 100644 --- a/TS26510_Maf_SessionHandling_MetricsReporting.yaml +++ b/TS26510_Maf_SessionHandling_MetricsReporting.yaml @@ -27,7 +27,7 @@ security: - OAuth2: [] paths: - /metrics-reporting/{provisioningSessionId}/{metricsReportingConfigurationId}: + /provisioning-sessions/{provisioningSessionId}/metrics-reporting/{metricsReportingConfigurationId}: parameters: - name: provisioningSessionId in: path diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index 230cc2f..f520cc6 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -27,7 +27,14 @@ security: - OAuth2: [] paths: - /network-assistance/: + /provisioning-sessions/{provisioningSessionId}/network-assistance-sessions/: + parameters: + - name: provisioningSessionId + description: 'A valid Provisioning Session identifier' + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' post: operationId: createNetworkAssistanceSession summary: 'Create a new Network Assistance Session.' @@ -74,8 +81,14 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' - /network-assistance/{naSessionId}: + /provisioning-sessions/{provisioningSessionId}/network-assistance-sessions/{naSessionId}: parameters: + - name: provisioningSessionId + description: 'A valid Provisioning Session identifier' + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' - name: naSessionId description: 'The resource identifier of an existing Network Assistance Session resource' in: path @@ -236,7 +249,14 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' - /network-assistance/{naSessionId}/recommendation: + /provisioning-sessions/{provisioningSessionId}/network-assistance-sessions/{naSessionId}/recommendation: + parameters: + - name: provisioningSessionId + description: 'A valid Provisioning Session identifier' + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' get: operationId: requestBitRateRecommendation summary: 'Obtain a bit rate recommendation for the next recommendation window' @@ -275,7 +295,15 @@ paths: $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' - /network-assistance/{naSessionId}/boost-request: + + /provisioning-sessions/{provisioningSessionId}/network-assistance-sessions/{naSessionId}/boost: + parameters: + - name: provisioningSessionId + description: 'A valid Provisioning Session identifier' + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' post: operationId: requestDeliveryBoost summary: 'Request a delivery boost' @@ -358,7 +386,9 @@ components: allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' provisioningSessionId: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + readOnly: true + allOf: + - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' sessionId: $ref: 'TS26510_CommonData.yaml#/components/schemas/MediaDeliverySessionId' serviceDataFlowDescriptions: diff --git a/TS26512_Maf_SessionHandling.yaml b/TS26512_Maf_SessionHandling.yaml index cc2e372..24b8ef9 100755 --- a/TS26512_Maf_SessionHandling.yaml +++ b/TS26512_Maf_SessionHandling.yaml @@ -29,25 +29,25 @@ paths: $ref: 'TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml#/paths/~1service-access-information~1%7bexternalServiceId%7d' # Dynamic Policy API - /dynamic-policies: - $ref: 'TS26510_Maf_SessionHandling_DynamicPolicy.yaml#/paths/~1dynamic-policies' - /dynamic-policies/%7bdynamicPolicyId%7d: - $ref: 'TS26510_Maf_SessionHandling_DynamicPolicy.yaml#/paths/~1dynamic-policies~1%7bdynamicPolicyId%7d' + /provisioning-sessions/%7bprovisioningSessionId%7d/dynamic-policies: + $ref: 'TS26510_Maf_SessionHandling_DynamicPolicy.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1dynamic-policies' + /provisioning-sessions/%7bprovisioningSessionId%7d/dynamic-policies/%7bdynamicPolicyId%7d: + $ref: 'TS26510_Maf_SessionHandling_DynamicPolicy.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1dynamic-policies~1%7bdynamicPolicyId%7d' # Network Assistance API - /network-assistance/: - $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1network-assistance~1' - /network-assistance/%7bnaSessionId%7d: - $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1network-assistance~1%7bnaSessionId%7d' - /network-assistance/%7bnaSessionId%7d/recommendation: - $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1network-assistance~1%7bnaSessionId%7d~1recommendation' - /network-assistance/%7bnaSessionId%7d/boost-request: - $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1network-assistance~1%7bnaSessionId%7d~1boost-request' + /provisioning-sessions/%7bprovisioningSessionId%7d/network-assistance-sessions/: + $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1network-assistance-sessions~1' + /provisioning-sessions/%7bprovisioningSessionId%7d/network-assistance-sessions/%7bnaSessionId%7d: + $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1network-assistance-sessions~1%7bnaSessionId%7d' + /provisioning-sessions/%7bprovisioningSessionId%7d/network-assistance-sessions/%7bnaSessionId%7d/recommendation: + $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1network-assistance-sessions~1%7bnaSessionId%7d~1recommendation' + /provisioning-sessions/%7bprovisioningSessionId%7d/network-assistance-sessions/%7bnaSessionId%7d/boost: + $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1network-assistance-sessions~1%7bnaSessionId%7d~1boost' # Metrics Reporting API - /metrics-reporting/%7bprovisioningSessionId%7d/%7bmetricsReportingConfigurationId%7d: - $ref: 'TS26510_Maf_SessionHandling_MetricsReporting.yaml#/paths/~1metrics-reporting~1%7bprovisioningSessionId%7d~1%7bmetricsReportingConfigurationId%7d' + /provisioning-sessions/%7bprovisioningSessionId%7d/metrics-reporting/%7bmetricsReportingConfigurationId%7d: + $ref: 'TS26510_Maf_SessionHandling_MetricsReporting.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1metrics-reporting~1%7bmetricsReportingConfigurationId%7d' # Consumption Reporting API - /consumption-reporting/%7bprovisioningSessionId%7d: - $ref: 'TS26510_Maf_SessionHandling_ConsumptionReporting.yaml#/paths/~1consumption-reporting~1%7bprovisioningSessionId%7d' \ No newline at end of file + /provisioning-sessions/%7bprovisioningSessionId%7d/consumption-reporting: + $ref: 'TS26510_Maf_SessionHandling_ConsumptionReporting.yaml#/paths/~1provisioning-sessions~1%7bprovisioningSessionId%7d~1consumption-reporting' \ No newline at end of file -- GitLab From 096f26c134cbed52a7a6ada96972ac36bd322022 Mon Sep 17 00:00:00 2001 From: PANQIQI Date: Thu, 1 Feb 2024 08:12:53 +0000 Subject: [PATCH 17/48] Metrics slice scope --- TS26510_Maf_Provisioning_MetricsReporting.yaml | 9 +++++++-- ...510_Maf_SessionHandling_ServiceAccessInformation.yaml | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index ca791b2..bf0aab8 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: Maf_Provisioning_MetricsReporting - version: 2.1.0 + version: 2.1.1 description: | Media Delivery: Metrics Reporting Provisioning API © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -20,7 +20,7 @@ servers: variables: apiRoot: default: https://example.com - description: See 3GPP TS 29.510 clause 7.1. + description: See 3GPP TS 26.510 clause 8.1. security: - {} @@ -273,6 +273,11 @@ components: readOnly: true allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + sliceScope: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 scheme: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' dataNetworkName: diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 069b8cc..ee64b82 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: Maf_SessionHandling_ServiceAccessInformation - version: 2.4.0 + version: 2.4.1 description: | Media Delivery: Service Access Information API © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). @@ -20,7 +20,7 @@ servers: variables: apiRoot: default: https://example.com - description: See 3GPP TS 29.510 clause 7.1. + description: See 3GPP TS 26.510 clause 9.1. security: - {} @@ -187,6 +187,11 @@ components: properties: serverAddresses: $ref: '#/components/schemas/ServerAddresses' + sliceScope: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + minItems: 1 scheme: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' dataNetworkName: -- GitLab From 16ce1225cc69d58a58bffba53e7f8a952e6bb77d Mon Sep 17 00:00:00 2001 From: gudumasu Date: Thu, 1 Feb 2024 12:16:15 +0000 Subject: [PATCH 18/48] Metrics reporting range --- TS26510_Maf_Provisioning_MetricsReporting.yaml | 4 ++++ TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index bf0aab8..8766c9d 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -282,6 +282,10 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' dataNetworkName: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + reportingStartOffset: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + reportingDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' reportingInterval: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' samplePercentage: diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index ee64b82..0241e14 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -196,6 +196,10 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' dataNetworkName: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + reportingStartOffset: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + reportingDuration: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' reportingInterval: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' samplePercentage: -- GitLab From 85220b40e498070323e395649422219f2b52d3b1 Mon Sep 17 00:00:00 2001 From: bradburyr Date: Thu, 1 Feb 2024 18:34:10 +0000 Subject: [PATCH 19/48] 5GMS over MBS --- TS26510_Maf_Provisioning_ContentHosting.yaml | 3 ++- TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index 912001a..7b37f74 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -481,7 +481,8 @@ components: anyOf: - type: string enum: - - NETWORK_EMBMS + - DISTRIBUTION_NETWORK_EMBMS + - DISTRIBUTION_NETWORK_MBS - type: string description: > This string provides forward-compatibility with future diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 0241e14..775099d 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -127,6 +127,8 @@ components: $ref: '#/components/schemas/M5MediaEntryPoint' eMBMSServiceAnnouncementLocator: $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' + mbsExternalServiceIdentifier: + type: string clientConsumptionReportingConfiguration: type: object required: -- GitLab From c60b4b5e65c8ab3ab215ebc5638f7aed7dfaaf3d Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 6 Mar 2024 17:21:45 +0000 Subject: [PATCH 20/48] Added missing metricsReportingConfigurationId property. --- TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 775099d..debc1f3 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -180,6 +180,7 @@ components: items: type: object required: + - metricsReportingConfigurationId - serverAddresses - scheme - samplePercentage @@ -187,6 +188,8 @@ components: - samplingPeriod - metrics properties: + metricsReportingConfigurationId: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' serverAddresses: $ref: '#/components/schemas/ServerAddresses' sliceScope: -- GitLab From ceb704c2e26ad9488af615b0827b163670946f6b Mon Sep 17 00:00:00 2001 From: bradburyr Date: Fri, 8 Mar 2024 15:14:13 +0000 Subject: [PATCH 21/48] Content Publishing Provisioning API --- TS26510_CommonData.yaml | 42 +++ TS26510_Maf_Provisioning_ContentHosting.yaml | 48 +-- ...10_Maf_Provisioning_ContentPublishing.yaml | 314 ++++++++++++++++++ 3 files changed, 360 insertions(+), 44 deletions(-) diff --git a/TS26510_CommonData.yaml b/TS26510_CommonData.yaml index 86fa615..0337f22 100755 --- a/TS26510_CommonData.yaml +++ b/TS26510_CommonData.yaml @@ -252,6 +252,48 @@ components: desiredPacketLossRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + M1MediaEntryPoint: + description: "A typed entry point for downlink or uplink media streaming." + type: object + required: + - relativePath + - contentType + properties: + relativePath: + $ref: 'TS26510_CommonData.yaml#/components/schemas/RelativeUrl' + contentType: + type: string + profiles: + type: array + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 + + CachingConfiguration: + type: object + description: 'A configuration that affects the caching of media resources in the Media AS and the signalling of cache control metadata in HTTP responses generated by the Media AS.' + required: + - urlPatternFilter + - cachingDirectives + properties: + urlPatternFilter: + type: string + cachingDirectives: + type: object + properties: + statusCodeFilters: + type: array + items: + type: integer + minimum: 100 + maximum: 599 + minItems: 1 + noCache: + type: boolean + default: false + maxAge: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + ##################################### # Clause 6.4.4: Enumerated data types ##################################### diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index 7b37f74..8b0de68 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -318,23 +318,6 @@ components: baseURL: $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' - M1MediaEntryPoint: - description: "A typed entry point for downlink or uplink media streaming." - type: object - required: - - relativePath - - contentType - properties: - relativePath: - $ref: 'TS26510_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.' @@ -347,31 +330,6 @@ components: mappedPath: type: string - CachingConfiguration: - type: object - description: 'A content caching configuration.' - required: - - urlPatternFilter - properties: - urlPatternFilter: - type: string - cachingDirectives: - type: object - required: - - noCache - properties: - statusCodeFilters: - type: array - items: - type: integer - minimum: 100 - maximum: 599 - minItems: 1 - noCache: - type: boolean - maxAge: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' - DistributionConfiguration: type: object required: @@ -408,7 +366,7 @@ components: allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' entryPoint: - $ref: '#/components/schemas/M1MediaEntryPoint' + $ref: 'TS26510_CommonData.yaml#/components/schemas/M1MediaEntryPoint' pathRewriteRules: type: array items: @@ -416,7 +374,8 @@ components: cachingConfigurations: type: array items: - $ref: '#/components/schemas/CachingConfiguration' + $ref: 'TS26510_CommonData.yaml#/components/schemas/CachingConfiguration' + minItems: 1 geoFencing: type: object required: @@ -475,6 +434,7 @@ components: type: array items: $ref: '#/components/schemas/DistributionConfiguration' + minItems: 1 DistributionNetworkType: description: "Type of distribution network." diff --git a/TS26510_Maf_Provisioning_ContentPublishing.yaml b/TS26510_Maf_Provisioning_ContentPublishing.yaml index 8f4dd90..6dcf7ca 100755 --- a/TS26510_Maf_Provisioning_ContentPublishing.yaml +++ b/TS26510_Maf_Provisioning_ContentPublishing.yaml @@ -27,6 +27,251 @@ security: - OAuth2: [] paths: + /provisioning-sessions/{provisioningSessionId}/content-publishing-configuration: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: createContentPublishingConfiguration + summary: 'Create and upload the Content Publishing Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Content Publishing Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + responses: + '201': # Created + description: 'Content Publishing Configuration Created' + headers: + Location: + description: 'URL of the newly created Content Publishing Configuration (same as request URL).' + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' + content: + application/json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + '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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': # Forbidden + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '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: + operationId: retrieveContentPublishingConfiguration + summary: 'Retrieve the Content Publishing Configuration of the specified Provisioning Session' + responses: + '200': # OK + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + '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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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' + put: + operationId: updateContentPublishingConfiguration + summary: 'Update (by replacement) the Content Publishing Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Content Publishing Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + responses: + '200': # OK + description: 'Updated Content Publishing Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + '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 + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': # Forbidden + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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' + patch: + operationId: patchContentPublishingConfiguration + summary: 'Patch the Content Publishing Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Content Publishing Configuration' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + application/json-patch+json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + responses: + '200': # OK + description: 'Patched Content Publishing Configuration' + content: + application/json: + schema: + $ref: '#/components/schemas/ContentPublishingConfiguration' + '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 + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': # Forbidden + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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: destroyContentPublishingConfiguration + summary: 'Destroy the current Content Publishing Configuration of the specified Provisioning Session' + responses: + '204': # No Content + description: 'Destroyed Content Publishing Configuration' + '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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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' + + /provisioning-sessions/{provisioningSessionId}/content-publishing-configuration/purge: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + description: A unique identifier of the Provisioning Session + post: + operationId: purgeContentPublishingCache + summary: 'Purge the content of the cache for the Content Publishing Configuration of the specified Provisioning Session' + 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: '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' + '400': # Bad Request (e.g. syntactically invalid regular expression in request body) + $ref: 'TS29571_CommonData.yaml#/components/responses/400' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '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' components: securitySchemes: @@ -38,3 +283,72 @@ components: scopes: {} schemas: + EgestConfiguration: + type: object + description: 'Parameters for egesting content from the Media AS at reference point M2.' + required: + - mode + - protocol + properties: + mode: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ContentTransferMode' + protocol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + baseURL: + $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' + entryPoint: + $ref: 'TS26510_CommonData.yaml#/components/schemas/M1MediaEntryPoint' + cachingConfigurations: + type: array + items: + $ref: 'TS26510_CommonData.yaml#/components/schemas/CachingConfiguration' + minItems: 1 + + ContributionConfiguration: + type: object + description: 'A configuration for content contribution.' + required: + - canonicalDomainName + - baseURL + - entryPoint + properties: + edgeResourcesConfigurationId: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + contentPreparationTemplateId: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + certificateId: + allOf: + - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + - description: 'A reference to a Server Certificate resource to be presented by the Media AS at reference point M4.' + canonicalDomainName: + readOnly: true + type: string + description: 'Default Fully-Qualified Domain Name assigned by the Media AF for use at reference point M4.' + domainNameAlias: + type: string + description: 'Additional domain name nominated by the Media Application Provider and used by the Media AS to set appropriate CORS HTTP response headers at reference point M4.' + baseURL: + readOnly: true + allOf: + - $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' + entryPoint: + $ref: 'TS26510_CommonData.yaml#/components/schemas/M1MediaEntryPoint' + + # Schema for the resource itself + ContentPublishingConfiguration: + type: object + description: "A representation of a Content Publishing Configuration resource." + required: + - name + - contributionConfigurations + - egestConfiguration + properties: + name: + type: string + contributionConfigurations: + type: array + items: + $ref: '#/components/schemas/ContributionConfiguration' + minItems: 1 + egestConfiguration: + $ref: '#/components/schemas/EgestConfiguration' -- GitLab From 4c6d765dfab10ac581309ccc404b6504d5bdccf9 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Tue, 19 Mar 2024 12:11:47 +0000 Subject: [PATCH 22/48] Specified minimum values for properties of type DurationSec (defined in TS 29.517 common data types). https://github.com/5G-MAG/Standards/issues/122 https://github.com/5G-MAG/Standards/issues/123 --- TS26510_Maf_Provisioning_MetricsReporting.yaml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index 8766c9d..b7b5d18 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -283,11 +283,18 @@ components: dataNetworkName: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' reportingStartOffset: - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + minimum: 0 + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' reportingDuration: - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + minimum: 0 + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' reportingInterval: - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + minimum: 0 + exclusiveMinimum: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' samplePercentage: allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/Percentage' @@ -298,7 +305,10 @@ components: type: string minItems: 1 samplingPeriod: - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + minimum: 0 + exclusiveMinimum: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' metrics: type: array items: -- GitLab From b47032f879401eb036dc9e7ece577f14b0edd34b Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 20 Mar 2024 17:14:19 +0000 Subject: [PATCH 23/48] Enforcing cardinality rule that M1QoSSpecification requires at least one property to be present. --- TS26510_CommonData.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TS26510_CommonData.yaml b/TS26510_CommonData.yaml index 0337f22..d228b40 100755 --- a/TS26510_CommonData.yaml +++ b/TS26510_CommonData.yaml @@ -125,6 +125,10 @@ components: M1QoSSpecification: type: object + anyOf: + - required: [qosReference] + - required: [downlink] + - required: [uplink] properties: qosReference: type: string -- GitLab From 30052cf9f0f8a05f6deb606cece5062eeba75839 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Fri, 22 Mar 2024 16:16:46 +0000 Subject: [PATCH 24/48] Distinuished ProvisioningSessionType enumerated values in preparation for adding RTC. --- TS26510_CommonData.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TS26510_CommonData.yaml b/TS26510_CommonData.yaml index d228b40..8cc6d8d 100755 --- a/TS26510_CommonData.yaml +++ b/TS26510_CommonData.yaml @@ -333,8 +333,8 @@ components: anyOf: - type: string enum: - - DOWNLINK - - UPLINK + - MS_DOWNLINK + - MS_UPLINK - type: string description: > This string provides forward-compatibility with future -- GitLab From 23143a048809cba94cb7382ee8300f03e72eb9ba Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 3 Apr 2024 11:52:46 +0100 Subject: [PATCH 25/48] Tightened up YAML specification of ConsumptionReportingUnit.duration property. --- TS26510_Maf_SessionHandling_ConsumptionReporting.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index 4ae4c1c..52a2e8a 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -125,7 +125,10 @@ components: startTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' duration: - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + minimum: 0 + exclusiveMinimum: true + allOf: + - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' locations: type: array items: -- GitLab From fc5319380304eba1541a011fe6f2d1706c251e95 Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 29 May 2024 12:22:32 +0000 Subject: [PATCH 26/48] Add protocol property to M1/M5 Media Entry Points for uplink contribution and egest --- TS26510_CommonData.yaml | 7 ++++++- TS26510_Maf_Provisioning_ContentProtocols.yaml | 10 ++++++++++ ...0_Maf_SessionHandling_ServiceAccessInformation.yaml | 7 ++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/TS26510_CommonData.yaml b/TS26510_CommonData.yaml index 8cc6d8d..3c5f65b 100755 --- a/TS26510_CommonData.yaml +++ b/TS26510_CommonData.yaml @@ -261,12 +261,17 @@ components: type: object required: - relativePath - - contentType + oneOf: + - required: [contentType] + - required: [protocol] properties: relativePath: $ref: 'TS26510_CommonData.yaml#/components/schemas/RelativeUrl' contentType: type: string + description: "A MIME media content type." + protocol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' profiles: type: array items: diff --git a/TS26510_Maf_Provisioning_ContentProtocols.yaml b/TS26510_Maf_Provisioning_ContentProtocols.yaml index b57ca9e..e88edc2 100644 --- a/TS26510_Maf_Provisioning_ContentProtocols.yaml +++ b/TS26510_Maf_Provisioning_ContentProtocols.yaml @@ -101,6 +101,16 @@ components: items: $ref: '#/components/schemas/ContentProtocolDescriptor' minItems: 1 + downlinkDistributionProtocols: + type: array + items: + $ref: '#/components/schemas/ContentProtocolDescriptor' + minItems: 1 + uplinkContributionProtocols: + type: array + items: + $ref: '#/components/schemas/ContentProtocolDescriptor' + minItems: 1 geoFencingLocatorTypes: type: array items: diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index debc1f3..841340d 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -88,12 +88,17 @@ components: type: object required: - locator - - contentType + oneOf: + - required: [contentType] + - required: [protocol] properties: locator: $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' contentType: type: string + description: "A MIME media content type." + protocol: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' profiles: type: array items: -- GitLab From 06a1cdd749091d0f99ca4316ecdad328509375f0 Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 29 May 2024 12:37:06 +0000 Subject: [PATCH 27/48] Background Data Transfer --- TS26510_CommonData.yaml | 13 ++++++ TS26510_Maf_Provisioning_PolicyTemplates.yaml | 42 +++++++++++++++++++ ...510_Maf_SessionHandling_DynamicPolicy.yaml | 16 +++++++ ...sionHandling_ServiceAccessInformation.yaml | 5 +++ 4 files changed, 76 insertions(+) diff --git a/TS26510_CommonData.yaml b/TS26510_CommonData.yaml index 3c5f65b..6c66395 100755 --- a/TS26510_CommonData.yaml +++ b/TS26510_CommonData.yaml @@ -303,6 +303,19 @@ components: maxAge: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' + BDTWindow: + type: object + description: 'A window in time during which Background Data Transfer is possible with a particular bit rate in the downlink and/or uplink direction.' + required: + - timeWindow + properties: + timeWindow: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeWindow' + maximumDownlinkBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + maximumUplinkBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + ##################################### # Clause 6.4.4: Enumerated data types ##################################### diff --git a/TS26510_Maf_Provisioning_PolicyTemplates.yaml b/TS26510_Maf_Provisioning_PolicyTemplates.yaml index 99b933c..089debb 100644 --- a/TS26510_Maf_Provisioning_PolicyTemplates.yaml +++ b/TS26510_Maf_Provisioning_PolicyTemplates.yaml @@ -273,6 +273,8 @@ components: anyOf: - required: [qoSSpecification] - required: [chargingSpecification] + - required: [bdtPolicyId] + - required: [bdtSpecification] properties: policyTemplateId: readOnly: true @@ -312,3 +314,43 @@ components: $ref: 'TS26510_CommonData.yaml#/components/schemas/M1QoSSpecification' chargingSpecification: $ref: 'TS26510_CommonData.yaml#/components/schemas/ChargingSpecification' + bdtPolicyId: + $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' + bdtSpecification: + $ref: '#/components/schemas/M1BDTSpecification' + + M1BDTSpecification: + type: object + description: "Background Data Transfer policy schedule specification." + required: + - windows + properties: + startDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + endDate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' + windows: + type: object + properties: + startTime: + $ref: 'TS29122_CommonData.yaml#/components/schemas/TimeOfDay' + duration: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DurationMin' + daysInWeek: + type: array + minItems: 1 + maxItems: 7 + items: + $ref: 'TS29122_CommonData.yaml#/components/schemas/DayOfWeek' + numberOfOccurrences: + type: integer + minimum: 1 + numberOfUes: + type: integer + minimum: 1 + estimatedDataVolumePerUe: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + aggregatedDownlinkBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' + aggregatedUplinkBitRate: + $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 0d46f85..21a0f20 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -304,6 +304,22 @@ components: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' qosSpecification: $ref: 'TS26510_CommonData.yaml#/components/schemas/M5QoSSpecification' + bdtSpecification: + $ref: '#/components/schemas/M5BDTSpecification' qosEnforcement: readOnly: true type: boolean + + M5BDTSpecification: + description: "A client-facing set of Background Data Transfer bids/grants." + type: object + required: + - windows + properties: + estimatedDataTransferVolume: + $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' + windows: + type: array + minItems: 1 + items: + $ref: 'TS26510_CommonData.yaml#/components/schemas/BDTWindow' diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 841340d..692d95d 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -174,6 +174,11 @@ components: type: string policyTemplateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + bdtWindows: + type: array + minItems: 1 + items: + $ref: 'TS26510_CommonData.yaml#/components/schemas/BDTWindow' sdfMethods: type: array items: -- GitLab From 0d4b81c30382ce8d179a3f957361384f3d8c3893 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 29 May 2024 14:11:59 +0100 Subject: [PATCH 28/48] [S4aI240049] Added missing implicit data reporting parameters (slice, DNN, location) to DynamicPolicy, NetworkAssistanceSession and ConsumptionReportingUnit. --- TS26510_Maf_SessionHandling_ConsumptionReporting.yaml | 4 ++++ TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 6 ++++++ TS26510_Maf_SessionHandling_NetworkAssistance.yaml | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index 52a2e8a..c8a45e4 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -129,6 +129,10 @@ components: exclusiveMinimum: true allOf: - $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dataNetworkName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' locations: type: array items: diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 21a0f20..b8c7b31 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -295,6 +295,12 @@ components: $ref: 'TS26510_CommonData.yaml#/components/schemas/MediaDeliverySessionId' policyTemplateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dataNetworkName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + location: + $ref: 'TS26510_CommonData.yaml#/components/schemas/TypedLocation' serviceDataFlowDescriptions: type: array items: diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index f520cc6..ffaf2ef 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -391,6 +391,12 @@ components: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' sessionId: $ref: 'TS26510_CommonData.yaml#/components/schemas/MediaDeliverySessionId' + sliceInfo: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' + dataNetworkName: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' + location: + $ref: 'TS26510_CommonData.yaml#/components/schemas/TypedLocation' serviceDataFlowDescriptions: type: array items: -- GitLab From d29ada8cda841ccbc4badc3dfef3c4317ef3ae79 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 29 May 2024 14:24:35 +0100 Subject: [PATCH 29/48] [S4aI240045] Individual metrics are now strongly typed as Uri. --- TS26510_Maf_Provisioning_MetricsReporting.yaml | 2 +- TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index b7b5d18..bf98edc 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -312,5 +312,5 @@ components: metrics: type: array items: - type: string + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' minItems: 1 diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 692d95d..355e38b 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -229,7 +229,7 @@ components: metrics: type: array items: - type: string + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' networkAssistanceConfiguration: type: object required: -- GitLab From 715e40adcf929f051111b0c17da1d719c53cdad4 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 29 May 2024 14:27:23 +0100 Subject: [PATCH 30/48] [S4aI240045] Metrics array is now optional in Service Access Information client metrics configuration but, if present, the array must contain at least one member. --- TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 355e38b..1f32846 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -196,7 +196,6 @@ components: - samplePercentage - urlFilters - samplingPeriod - - metrics properties: metricsReportingConfigurationId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' @@ -230,6 +229,7 @@ components: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' + minItems: 1 networkAssistanceConfiguration: type: object required: -- GitLab From 4bc2bb884f311696c224965f54bff4ff59cc0fca Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 29 May 2024 14:31:58 +0100 Subject: [PATCH 31/48] [S4aI240045] locationReporting flag moved from ConsumptionReportingConfiguration to ProvisioningSession so it can be used to provision location reporting in all Maf_SessionHandling APIs. --- TS26510_Maf_Provisioning_ConsumptionReporting.yaml | 3 --- TS26510_Maf_Provisioning_ProvisioningSessions.yaml | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml index bd7d871..b8fe5b8 100644 --- a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml +++ b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml @@ -261,9 +261,6 @@ components: allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/Percentage' default: 100.0 - locationReporting: - type: boolean - default: false accessReporting: type: boolean default: false diff --git a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml index 85e166a..4bc8197 100644 --- a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml +++ b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml @@ -196,6 +196,9 @@ components: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId' appId: $ref: 'TS29571_CommonData.yaml#/components/schemas/ApplicationId' + locationReporting: + type: boolean + default: false serverCertificateIds: readOnly: true type: array -- GitLab From e0f6a2c6a08be66abef4f112df926507b0002af7 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 29 May 2024 16:38:40 +0100 Subject: [PATCH 32/48] [S4aI240045] locationReporting flag moves from client consumption reporting configuration to top level of ServiceAccessInformation resource so that it governs all Maf_SessionHandling interactions. --- TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 1f32846..2762fae 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -118,11 +118,14 @@ components: required: - provisioningSessionId - provisioningSessionType + - locationReporting properties: provisioningSessionId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' provisioningSessionType: $ref: 'TS26510_CommonData.yaml#/components/schemas/ProvisioningSessionType' + locationReporting: + type: boolean streamingAccess: type: object properties: @@ -146,8 +149,6 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' serverAddresses: $ref: '#/components/schemas/ServerAddresses' - locationReporting: - type: boolean accessReporting: type: boolean samplePercentage: -- GitLab From fcab1caa396a94addb36f811a40baaa26ab08bc2 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Wed, 29 May 2024 16:46:06 +0100 Subject: [PATCH 33/48] Oops! --- TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 2762fae..49e5f05 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -141,7 +141,6 @@ components: type: object required: - serverAddresses - - locationReporting - accessReporting - samplePercentage properties: -- GitLab From a7ac9bd9c436d674a89555f42919a8d3858ae382 Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 29 May 2024 19:27:31 +0000 Subject: [PATCH 34/48] Real-Time media Communication (RTC) --- TS26510_CommonData.yaml | 69 +- ...Maf_Provisioning_ConsumptionReporting.yaml | 0 TS26510_Maf_Provisioning_PolicyTemplates.yaml | 7 +- ...af_Provisioning_RealTimeCommunication.yaml | 282 ++++ ..._SessionHandling_ConsumptionReporting.yaml | 0 ...510_Maf_SessionHandling_DynamicPolicy.yaml | 22 +- ...Maf_SessionHandling_NetworkAssistance.yaml | 14 +- ...sionHandling_ServiceAccessInformation.yaml | 41 + TS29571_CommonData.yaml | 1223 +++++++++++++++-- 9 files changed, 1513 insertions(+), 145 deletions(-) mode change 100644 => 100755 TS26510_Maf_Provisioning_ConsumptionReporting.yaml create mode 100755 TS26510_Maf_Provisioning_RealTimeCommunication.yaml mode change 100644 => 100755 TS26510_Maf_SessionHandling_ConsumptionReporting.yaml mode change 100644 => 100755 TS29571_CommonData.yaml diff --git a/TS26510_CommonData.yaml b/TS26510_CommonData.yaml index 6c66395..15942be 100755 --- a/TS26510_CommonData.yaml +++ b/TS26510_CommonData.yaml @@ -75,6 +75,8 @@ components: required: - direction properties: + direction: + type: string sourceAddress: $ref: 'TS29571_CommonData.yaml#/components/schemas/IpAddr' destinationAddress: @@ -91,23 +93,25 @@ components: $ref: '#/components/schemas/Uint20' securityParametersIndex: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32' - direction: - type: string - ServiceDataFlowDescription: + ApplicationFlowDescription: type: object required: - - sdfMethod + - filterMethod oneOf: - - required: [flowDescription] + - required: [packetFilter] - required: [domainName] properties: - sdfMethod: + filterMethod: $ref: '#/components/schemas/SdfMethod' - flowDescription: + packetFilter: $ref: '#/components/schemas/IpPacketFilterSet' domainName: type: string + mediaType: + $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' + mediaTransportParameters: + $ref: 'TS29571_CommonData.yaml#/components/schemas/ProtocolDescription' M1UnidirectionalQoSSpecification: type: object @@ -122,20 +126,30 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' defaultPacketLossRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + pduSetQosLimits: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSetQosPara' M1QoSSpecification: type: object + required: + - componentReference anyOf: - required: [qosReference] - required: [downlink] - required: [uplink] properties: + componentReference: + type: string + minLength: 1 qosReference: type: string - downlink: + downlinkQoSSpecification: $ref: '#/components/schemas/M1UnidirectionalQoSSpecification' - uplink: + uplinkQoSSpecification: $ref: '#/components/schemas/M1UnidirectionalQoSSpecification' + pduSetMarking: + type: boolean + default: false M5BitRateSpecification: type: object @@ -165,6 +179,10 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' desiredPacketLossRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uinteger' + desiredDownlinkPduSetQosParameters: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSetQosPara' + desiredUplinkPduSetQosParameters: + $ref: 'TS29571_CommonData.yaml#/components/schemas/PduSetQosPara' ChargingSpecification: type: object @@ -200,21 +218,6 @@ components: reason: type: string - EndpointAddress: - type: object - required: - - portNumber - properties: - hostname: - type: string - minLength: 1 - ipv4Addr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' - ipv6Addr: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' - portNumber: - $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' - EdgeProcessingEligibilityCriteria: type: object required: @@ -226,7 +229,7 @@ components: serviceDataFlowDescriptions: type: array items: - $ref: '#/components/schemas/ServiceDataFlowDescription' + $ref: '#/components/schemas/ApplicationFlowDescription' ueLocations: type: array items: @@ -238,6 +241,21 @@ components: appRequest: type: boolean + EndpointAddress: + type: object + required: + - domainName + - portNumber + properties: + domainName: + type: string + minLength: 1 + portNumbers: + type: array + minItems: 1 + items: + $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint16' + UnidirectionalQoSSpecification: type: object description: A specification for network Quality of Service in either the downlink or uplink direction. @@ -353,6 +371,7 @@ components: enum: - MS_DOWNLINK - MS_UPLINK + - RTC - type: string description: > This string provides forward-compatibility with future diff --git a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml old mode 100644 new mode 100755 diff --git a/TS26510_Maf_Provisioning_PolicyTemplates.yaml b/TS26510_Maf_Provisioning_PolicyTemplates.yaml index 089debb..56d82f8 100644 --- a/TS26510_Maf_Provisioning_PolicyTemplates.yaml +++ b/TS26510_Maf_Provisioning_PolicyTemplates.yaml @@ -310,8 +310,11 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' - qoSSpecification: - $ref: 'TS26510_CommonData.yaml#/components/schemas/M1QoSSpecification' + qoSSpecifications: + type: array + minItems: 1 + items: + $ref: 'TS26510_CommonData.yaml#/components/schemas/M1QoSSpecification' chargingSpecification: $ref: 'TS26510_CommonData.yaml#/components/schemas/ChargingSpecification' bdtPolicyId: diff --git a/TS26510_Maf_Provisioning_RealTimeCommunication.yaml b/TS26510_Maf_Provisioning_RealTimeCommunication.yaml new file mode 100755 index 0000000..ab28314 --- /dev/null +++ b/TS26510_Maf_Provisioning_RealTimeCommunication.yaml @@ -0,0 +1,282 @@ +openapi: 3.0.0 +info: + title: Maf_Provisioning_RealTimeCommunication + version: 1.0.0 + description: | + Media Delivery: Real-Time media Communication Provisioning API + © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). + All rights reserved. + +tags: + - name: Maf_Provisioning_RealTimeCommunication + description: 'Media Delivery: Real-Time media Communication Provisioning API' + +externalDocs: + description: 'TS 26.510 V18.0.0; Media Delivery; Interactions and APIs for media session handling' + url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.510/' + +servers: + - url: '{apiRoot}/3gpp-maf-provisioning/v1' + variables: + apiRoot: + default: https://example.com + description: See 3GPP TS 29.512 clause 6.1. + +security: + - {} + - OAuth2ClientCredentials: [] + +paths: + /provisioning-sessions/{provisioningSessionId}/rtc-configuration: + parameters: + - name: provisioningSessionId + in: path + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + description: 'The resource identifier of an existing Provisioning Session.' + post: + operationId: activateRealTimeCommunication + summary: 'Activate the Real-Time media Communication procedure for the specified Provisioning Session by providing the Real-Time media Communication Configuration' + requestBody: + description: 'A JSON representation of a Real-Time media Communication Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + responses: + '201': # OK + description: 'Real-Time media Communication Configuration Created' + headers: + Location: + description: 'URL of the newly created Real-Time media Communication Configuration (same as request URL).' + required: true + schema: + $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' + content: + application/json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + '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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '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: + operationId: retrieveRTCConfiguration + summary: 'Retrieve the Real-Time media Communication Configuration of the specified Provisioning Session' + responses: + '200': # OK + description: 'Success' + content: + application/json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + '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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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' + put: + operationId: updateRTCConfiguration + summary: 'Update the Real-Time media Communication Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Real-Time media Communication Configuration' + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + responses: + '200': # OK + description: 'Real-Time media Communication Configuration Updated' + content: + application/json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + '204': # No Content + description: 'Real-Time media Communication 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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': # Forbidden + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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' + patch: + operationId: patchRTCConfiguration + summary: 'Patch the Real-Time media Communication Configuration for the specified Provisioning Session' + requestBody: + description: 'A JSON representation of a Real-Time media Communication Configuration' + required: true + content: + application/merge-patch+json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + application/json-patch+json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + responses: + '200': # OK + description: 'Real-Time media Communication Configuration Updated' + content: + application/json: + schema: + $ref: '#/components/schemas/RTCConfiguration' + '204': # No Content + description: 'Real-Time media Communication 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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '403': # Forbidden + $ref: 'TS29571_CommonData.yaml#/components/responses/403' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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: destroyRTCConfiguration + summary: 'Destroy the current Real-Time media Communication Configuration of the specified Provisioning Session' + responses: + '204': # No Content + description: 'Real-Time media Communication 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' + '401': # Unauthorized + $ref: 'TS29571_CommonData.yaml#/components/responses/401' + '404': # Not Found + $ref: 'TS29571_CommonData.yaml#/components/responses/404' + '410': # Gone: Resource no longer exists + $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' + +components: + securitySchemes: + OAuth2ClientCredentials: + type: oauth2 + flows: + clientCredentials: + tokenUrl: '{tokenUrl}' + scopes: {} + + schemas: + RTCConfiguration: + type: object + description: "A representation of a Real-Time media Communication Configuration resource." + properties: + edgeResourcesConfiguration: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + enableStunService: + type: boolean + default: false + stunEndpoints: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/M1EndpointAccess' + enableTurnService: + type: boolean + default: false + turnEndpoints: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/M1EndpointAccess' + enableSwapService: + type: boolean + default: false + swapEndpoints: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/M1EndpointAccess' + + M1EndpointAccess: + type: object + description: "Access details used for provisioning a service endpoint." + allOf: + - $ref: 'TS26510_CommonData.yaml#/components/schemas/EndpointAddress' + - type: object + properties: + credentials: + type: object + required: + - username + - passphrase + properties: + username: + type: string + minLength: 1 + passphrase: + type: string + minLength: 1 + certificateId: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml old mode 100644 new mode 100755 diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index b8c7b31..78cc77d 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -301,21 +301,31 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' location: $ref: 'TS26510_CommonData.yaml#/components/schemas/TypedLocation' - serviceDataFlowDescriptions: + applicationFlowBindings: type: array items: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ServiceDataFlowDescription' + $ref: '#/components/schemas/ApplicationFlowBinding' minItems: 1 - mediaType: - $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' - qosSpecification: - $ref: 'TS26510_CommonData.yaml#/components/schemas/M5QoSSpecification' bdtSpecification: $ref: '#/components/schemas/M5BDTSpecification' qosEnforcement: readOnly: true type: boolean + ApplicationFlowBinding: + description: "A binding between an Application Flow and its QoS requirements provided by the Media Client." + type: object + required: + - componentReference; + properties: + componentReference: + type: string + minLength: 1 + applicationFlowDescription: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ServiceDataFlowDescription' + qosSpecification: + $ref: 'TS26510_CommonData.yaml#/components/schemas/M5QoSSpecification' + M5BDTSpecification: description: "A client-facing set of Background Data Transfer bids/grants." type: object diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index ffaf2ef..fc43e46 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -379,7 +379,7 @@ components: - naSessionId - provisioningSessionId - sessionId - - serviceDataFlowDescriptions + - applicationFlowDescription properties: naSessionId: readOnly: true @@ -397,15 +397,13 @@ components: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' location: $ref: 'TS26510_CommonData.yaml#/components/schemas/TypedLocation' - serviceDataFlowDescriptions: - type: array - items: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ServiceDataFlowDescription' - minItems: 1 - mediaType: - $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/MediaType' policyTemplateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + componentReference: + type: string + minLength: 1 + applicationFlowDescription: + $ref: 'TS26510_CommonData.yaml#/components/schemas/ApplicationFlowDescription' requestedQoS: $ref: 'TS26510_CommonData.yaml#/components/schemas/M5QoSSpecification' recommendedQoS: diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 49e5f05..1aeb2b5 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -137,6 +137,24 @@ components: $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' mbsExternalServiceIdentifier: type: string + rtcClientConfiguration: + type: object + properties: + stunEndpoints: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/M5EndpointAccess' + turnEndpoints: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/M5EndpointAccess' + swapEndpoints: + type: array + minItems: 1 + items: + $ref: '#/components/schemas/M5EndpointAccess' clientConsumptionReportingConfiguration: type: object required: @@ -174,6 +192,9 @@ components: type: string policyTemplateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' + pduSetMarking: + type: boolean + default: false bdtWindows: type: array minItems: 1 @@ -249,6 +270,26 @@ components: easRelocationRequirements: $ref: '#/components/schemas/M5EASRelocationRequirements' + M5EndpointAccess: + type: object + description: "Details used by a Media Client to access a service endpoint." + allOf: + - $ref: 'TS26510_CommonData.yaml#/components/schemas/EndpointAddress' + - type: object + properties: + credentials: + type: object + required: + - username + - passphrase + properties: + username: + type: string + minLength: 1 + passphrase: + type: string + minLength: 1 + M5EASRelocationRequirements: description: 'Relocation requirements of an EAS.' type: object diff --git a/TS29571_CommonData.yaml b/TS29571_CommonData.yaml old mode 100644 new mode 100755 index b3231c4..b89992b --- a/TS29571_CommonData.yaml +++ b/TS29571_CommonData.yaml @@ -1,15 +1,17 @@ openapi: 3.0.0 info: - version: '1.4.3' + version: '1.5.0-alpha.6' + + title: 'Common Data Types' description: | - Common Data Types for Service Based Interfaces. - © 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). - All rights reserved. + Common Data Types for Service Based Interfaces.   + © 2024, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).   + All rights reserved.   externalDocs: - description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 17.10.0 + description: 3GPP TS 29.571 Common Data Types for Service Based Interfaces, version 18.5.0 url: 'https://www.3gpp.org/ftp/Specs/archive/29_series/29.571/' paths: {} @@ -17,7 +19,7 @@ components: schemas: # -# Common Data Types for Generic usage definitiones as defined in clause 5.2 +# Common Data Types for Generic usage definitions as defined in clause 5.2 # # @@ -32,7 +34,8 @@ components: format: binary type: string nullable: true - description: "string with format 'binary' as defined in OpenAPI OpenAPI with 'nullable: true' property." + description: > + "string with format 'binary' as defined in OpenAPI OpenAPI with 'nullable: true' property." Bytes: format: byte @@ -236,7 +239,7 @@ components: 6.6 in 3GPP TS 29.500. The string shall contain a bitmask indicating supported features in hexadecimal representation Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent the support of 4 features as described in - table 5.2.2-3. The most significant character representing the highest-numbered features + table 5.2.2-3. The most significant character representing the highest-numbered features shall appear first in the string, and the character representing features 1 to 4 shall appear last in the string. The list of features and their numbering (starting with 1) are defined separately for each API. If the string contains a lower number of characters @@ -260,7 +263,9 @@ components: type: integer minimum: 0 maximum: 65535 - description: Integer where the allowed values correspond to the value range of an unsigned 16-bit integer. + description: > + Integer where the allowed values correspond to the value range of an + unsigned 16-bit integer. Uint16Rm: type: integer @@ -334,7 +339,7 @@ components: description: | String with format "time-numoffset" optionally appended by "daylightSavingTime", where - "time-numoffset" shall represent the time zone adjusted for daylight saving time and be - encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339; + encoded as time-numoffset as defined in clause 5.6 of IETF RFC 3339; - "daylightSavingTime" shall represent the adjustment that has been made and shall be encoded as "+1" or "+2" for a +1 or +2 hours adjustment. @@ -376,13 +381,22 @@ components: String representing the C-MSISDN as defined in clause 18.7 of 3GPP TS 23.003 with the OpenAPI 'nullable: true' property. + MonthOfYear: + type: integer + minimum: 1 + maximum: 12 + description: > + integer between and including 1 and 12 denoting a month. 1 shall indicate January, + and the subsequent months shall be indicated with the next higher numbers. + 12 shall indicate December. + DayOfWeek: type: integer minimum: 1 maximum: 7 description: > integer between and including 1 and 7 denoting a weekday. 1 shall indicate Monday, - and the subsequent weekdays shall be indicated with the next higher numbers. + and the subsequent weekdays shall be indicated with the next higher numbers. 7 shall indicate Sunday. TimeOfDay: @@ -502,14 +516,12 @@ components: description: A human-readable explanation specific to this occurrence of the problem. instance: $ref: '#/components/schemas/Uri' - cause: type: string description: > A machine-readable application error cause specific to this occurrence of the problem. This IE should be present and provide application-related error information, if available. - invalidParams: type: array items: @@ -523,6 +535,13 @@ components: $ref: 'TS29510_Nnrf_AccessToken.yaml#/components/schemas/AccessTokenReq' nrfId: $ref: '#/components/schemas/Fqdn' + supportedApiVersions: + type: array + items: + type: string + minItems: 1 + noProfileMatchInfo: + $ref: 'TS29510_Nnrf_NFDiscovery.yaml#/components/schemas/NoProfileMatchInfo' Link: type: object @@ -869,7 +888,42 @@ components: required: - matchingOperator + Ipv4AddressRange: + description: Range of IPv4 addresses + type: object + properties: + start: + $ref: '#/components/schemas/Ipv4Addr' + end: + $ref: '#/components/schemas/Ipv4Addr' + required: + - start + - end + + + Ipv6AddressRange: + description: Range of IPv6 addresses + type: object + properties: + start: + $ref: '#/components/schemas/Ipv6Addr' + end: + $ref: '#/components/schemas/Ipv6Addr' + required: + - start + - end + Ipv6PrefixRange: + description: Range of IPv6 prefixes + type: object + properties: + start: + $ref: '#/components/schemas/Ipv6Prefix' + end: + $ref: '#/components/schemas/Ipv6Prefix' + required: + - start + - end # # Data Types related to Subscription, Identification and Numbering as defined in clause 5.3 @@ -881,11 +935,11 @@ components: Dnn: type: string description: > - String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; - it shall contain either a DNN Network Identifier, or a full DNN with both the Network - Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. - It shall be coded as string in which the labels are separated by dots - (e.g. "Label1.Label2.Label3"). + String representing a Data Network as defined in clause 9A of 3GPP TS 23.003; + it shall contain either a DNN Network Identifier, or a full DNN with both the Network + Identifier and Operator Identifier, as specified in 3GPP TS 23.003 clause 9.1.1 and 9.1.2. + It shall be coded as string in which the labels are separated by dots + (e.g. "Label1.Label2.Label3"). DnnRm: type: string nullable: true @@ -977,7 +1031,8 @@ components: pattern: '^(imei-[0-9]{15}|imeisv-[0-9]{16}|mac((-[0-9a-fA-F]{2}){6})(-untrusted)?|eui((-[0-9a-fA-F]{2}){8})|.+)$' nullable: true description: > - This data type is defined in the same way as the 'Pei' data type but with the OpenAPI 'nullable: true' property. + This data type is defined in the same way as the 'Pei' data type but with + the OpenAPI 'nullable: true' property. Supi: type: string @@ -1071,11 +1126,46 @@ components: pattern: '^(imsi-[0-9]{5,15}|nai-.+|gli-.+|gci-.+|suci-(0-[0-9]{3}-[0-9]{2,3}|[1-7]-.+)-[0-9]{1,4}-(0-0-.*|[a-fA-F1-9]-([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])-[a-fA-F0-9]+)|.+)$' description: String identifying a SUPI or a SUCI. + Imsi: + description: String identifying an IMSI + type: string + pattern: '^[0-9]{5,15}$' + + ApplicationlayerId: + type: string + description: > + String identifying an UE with application layer ID. The format of the application + layer ID parameter is same as the Application layer ID defined in clause 11.3.4 of + 3GPP TS 24.554. + NsacSai: type: string description: > String identifying the Network Slice Admission Control Service Area Identifier. + +# +# ENUMERATED DATA TYPES +# + + GroupServiceId: + anyOf: + - type: integer + enum: + - 1 + - 2 + - 3 + - type: integer + description: > + This integer provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - 1: Group specific NAS level congestion control + - 2: Group specific Monitoring of Number of UEs present in a geographical area + - 3: Group specific Group specific for 5G LAN Type service + # # STRUCTURED DATA TYPES # @@ -1153,7 +1243,9 @@ components: Mnc: type: string pattern: '^\d{2,3}$' - description: Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in clause 9.3.3.5 of 3GPP TS 38.413. + description: > + Mobile Network Code part of the PLMN, comprising 2 or 3 digits, as defined in + clause 9.3.3.5 of 3GPP TS 38.413. MncRm: type: string @@ -1334,7 +1426,7 @@ components: encoding the Mobile Network Code part of the PLMN, comprising 3 digits. If there are only 2 significant digits in the MNC, one "0" digit shall be inserted at the left side to fill the 3 digits coding of MNC. Pattern: '^[0-9]{3}$' - encoded as defined in clause 5.4.2 ("Nid" data type definition) + encoded as defined in clause 5.4.2 ("Nid" data type definition) encoded as defined in clause 5.3.2 encoded as defined in 3GPP TS 29.510 encoded as a string of characters consisting of alphabetic @@ -1415,13 +1507,14 @@ components: minimum: 0 maximum: 16777215 description: > - Relay Service Code to identify a connectivity service provided by the UE-to-Network relay. + Relay Service Code to identify a connectivity service provided by the UE-to-Network relay or + the UE-to-UE relay. 5GPrukId: type: string description: > - A string carrying the CP-PRUK ID of the remote UE. The CP-PRUK ID is a string in NAI - format as specified in clause 28.7.11 of 3GPP TS 23.003. + A string carrying the CP-PRUK ID of the 5G ProSe Remote UE or the 5G ProSe End UE. + The CP-PRUK ID is a string in NAI format as specified in clause 28.7.11 of 3GPP TS 23.003. pattern: '^rid[0-9]{1,4}\.pid[0-9a-fA-F]+\@prose-cp\.5gc\.mnc[0-9]{2,3}\.mcc[0-9]{3}\.3gppnetwork\.org$' NsagId: @@ -1433,8 +1526,19 @@ components: type: integer nullable: true description: > - This data type is defined in the same way as the "NsagId" data type, but with the OpenAPI "nullable: true" property + This data type is defined in the same way as the "NsagId" data type, but with the OpenAPI + "nullable: true" property + GeoSatelliteId: + type: string + description: > + A string carrying the GEO Satellite ID. + + OffloadIdentifier: + type: string + description: > + Offload identifier uniquely identifying a VPLMN offloading policy information instance + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{8}(-v[0-9]{1,2}){0,1}$' # # ENUMERATED DATA TYPES @@ -1491,6 +1595,7 @@ components: - LTE_M_MEO - LTE_M_GEO - LTE_M_OTHERSAT + - NR_EREDCAP - type: string description: Indicates the radio access used. @@ -1576,7 +1681,8 @@ components: - SSC_MODE_3 - type: string description: > - represents the service and session continuity mode It shall comply with the provisions defined in table 5.4.3.6-1. + represents the service and session continuity mode It shall comply with the provisions + defined in table 5.4.3.6-1. SscModeRm: anyOf: @@ -1902,6 +2008,10 @@ components: - MEO - LEO - OTHER_SAT + - DYNAMIC_GEO + - DYNAMIC_MEO + - DYNAMIC_LEO + - DYNAMIC_OTHER_SAT - NON_SATELLITE - type: string description: Indicates the satellite backhaul used. @@ -1914,6 +2024,46 @@ components: Provides information about the satellite backhaul but with the OpenAPI 'nullable: true' property. + BufferedNotificationsAction: + anyOf: + - type: string + enum: + - SEND_ALL + - DISCARD_ALL + - DROP_OLD + - type: string + description: > + Indicates the required action by the event producer NF on the buffered Notifications. + + SubscriptionAction: + anyOf: + - type: string + enum: + - CLOSE + - CONTINUE_WITH_MUTING + - CONTINUE_WITHOUT_MUTING + - type: string + description: > + Indicates the required action by the event producer NF on the event subscription if an + exception occurs while the event is muted. + + SnssaiStatus: + anyOf: + - type: string + enum: + - AVAILABLE + - UNAVAILABLE + - type: string + description: Indicates the S-NSSAI availability. + + TerminationIndication: + description: Indicates the termination of Network Slice Replacement. + anyOf: + - type: string + enum: + - NEW_UES_TERMINATION + - ALL_UES_TERMINATION + - type: string # @@ -2173,6 +2323,8 @@ components: to be used. globalGnbId: $ref: '#/components/schemas/GlobalRanNodeId' + ntnTaiInfo: + $ref: '#/components/schemas/NtnTaiInfo' required: - tai - ncgi @@ -2614,16 +2766,24 @@ components: type: boolean default: false description: > - Indicates the ATSSS-LL capability to support procedures related to Access Traffic - Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of 3GPP TS 23.501). + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the ATSSS-LL steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501). true: Supported false (default): Not Supported mptcp: type: boolean default: false description: > - Indicates the MPTCP capability to support procedures related to Access Traffic Steering, - Switching, Splitting (see clauses 4.2.10, 5.32 of 3GPP TS 23.501 + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPTCP steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501 + true: Supported + false (default): Not Supported + mpquic: + type: boolean + default: false + description: > + Indicates the support of Access Traffic Steering, Switching and Splitting procedures + using the MPQUIC steering functionality (see clauses 4.2.10, 5.32 of 3GPP TS 23.501) true: Supported false (default): Not Supported rttWithoutPmf: @@ -2631,7 +2791,7 @@ components: default: false description: > This IE is only used by the UPF to indicate whether the UPF supports RTT measurement - without PMF (see clauses 5.32.2, 6.3.3.3 of 3GPP TS 23.501 + without PMF (see clauses 5.32.2, 6.3.3.3 of 3GPP TS 23.501 true: Supported false (default): Not Supported PlmnIdNid: @@ -2725,9 +2885,14 @@ components: $ref: '#/components/schemas/AreaCode' areaCodeC: $ref: '#/components/schemas/AreaCode' + combGciAndHfcNIds: + type: array + items: + $ref: '#/components/schemas/CombGciAndHfcNIds' + minItems: 1 description: > - One and only one of the "globLineIds", "hfcNIds", "areaCodeB" and "areaCodeC" attributes - shall be included in a WirelineArea data structure + One and only one of the "globLineIds", "hfcNIds", "areaCodeB",d "areaCodeC" and + combGciAndHfcNIds attributes shall be included in a WirelineArea data structure WirelineServiceAreaRestriction: type: object @@ -2836,7 +3001,7 @@ components: with the OpenAPI 'nullable: true' property. AcsInfo: - description: The ACS information for the 5G-RG is defined in BBF TR-069 [42] or in BBF TR-369 + description: The ACS information for the 5G-RG is defined in BBF TR-069 [42] or in BBF TR-369 type: object properties: acsUrl: @@ -2950,7 +3115,7 @@ components: type: string pattern: '^[0-9A-F]{20}$' description: > - Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) clause + Refers to Calling Geodetic Location. See ITU-T Recommendation Q.763 (1999) clause 3.88.2. Only the description of an ellipsoid point with uncertainty circle is allowed to be used. @@ -2963,8 +3128,6 @@ components: - sai - required: - lai - - required: - - rai description: Exactly one of cgi, sai or lai shall be present. properties: locationNumber: @@ -2972,12 +3135,12 @@ components: description: Location number within the PLMN. See 3GPP TS 23.003, clause 4.5. cgi: $ref: '#/components/schemas/CellGlobalId' - rai: - $ref: '#/components/schemas/RoutingAreaId' sai: $ref: '#/components/schemas/ServiceAreaId' lai: $ref: '#/components/schemas/LocationAreaId' + rai: + $ref: '#/components/schemas/RoutingAreaId' vlrNumber: type: string description: VLR number. See 3GPP TS 23.003 clause 5.1. @@ -3232,7 +3395,7 @@ components: ProseServiceAuth: description: > - Indicates whether the UE is authorized to use ProSe related services. + Indicates whether the UE is authorized to use related services. type: object properties: proseDirectDiscoveryAuth: @@ -3247,6 +3410,16 @@ components: $ref: '#/components/schemas/UeAuth' proseL3RemoteAuth: $ref: '#/components/schemas/UeAuth' + proseMultipathComL2RemoteAuth: + $ref: '#/components/schemas/UeAuth' + proseL2UeRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL3UeRelayAuth: + $ref: '#/components/schemas/UeAuth' + proseL2EndAuth: + $ref: '#/components/schemas/UeAuth' + proseL3EndAuth: + $ref: '#/components/schemas/UeAuth' EcsServerAddr: description: > @@ -3316,6 +3489,9 @@ components: type: integer minimum: 0 maximum: 100 + uesWithPduSessionInd: + type: boolean + default: false SACEventStatus: description: > @@ -3453,6 +3629,206 @@ components: $ref: 'TS29572_Nlmf_Location.yaml#/components/schemas/CivicAddress' minItems: 1 + MutingExceptionInstructions: + description: > + Indicates to an Event producer NF instructions for the subscription and stored events when + an exception (e.g. full buffer) occurs at the Event producer NF while the event is muted. + type: object + properties: + bufferedNotifs: + $ref: '#/components/schemas/BufferedNotificationsAction' + subscription: + $ref: '#/components/schemas/SubscriptionAction' + + MutingNotificationsSettings: + description: > + Indicates the Event producer NF settings to the Event consumer NF + type: object + properties: + maxNoOfNotif: + type: integer + durationBufferedNotif: + $ref: '#/components/schemas/DurationSec' + + CombGciAndHfcNIds: + type: object + properties: + globalCableId: + $ref: '#/components/schemas/Gci' + hfcNId: + $ref: '#/components/schemas/HfcNId' + + + VplmnOffloadingInfo: + description: VPLMN Specific Offloading Information + type: object + nullable: true + properties: + offloadIdentifier: + $ref: '#/components/schemas/OffloadIdentifier' + vplmnId: + $ref: '#/components/schemas/PlmnId' + allowedTraffic: + type: boolean + default: true + ipv4AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv4AddressRange' + minItems: 1 + ipv4AddrMasks: + type: array + items: + $ref: '#/components/schemas/Ipv4AddrMask' + minItems: 1 + ipv6AddressRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6AddressRange' + minItems: 1 + ipv6PrefixRanges: + type: array + items: + $ref: '#/components/schemas/Ipv6PrefixRange' + minItems: 1 + fqdnList: + type: array + items: + $ref: '#/components/schemas/Fqdn' + minItems: 1 + fqdnPatterns: + type: array + items: + $ref: '#/components/schemas/FqdnPatternMatchingRule' + minItems: 1 + sessionDIAmbr: + $ref: '#/components/schemas/BitRate' + + PartiallyAllowedSnssai: + description: > + Indicates a S-NSSAI that is partially allowed in the Registration Area. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + allowedTaiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + required: + - snssai + - allowedTaiList + + VarRepPeriod: + description: > + Indicates the Variable reporting periodicity for event reporting + type: object + properties: + repPeriod: + $ref: '#/components/schemas/DurationSec' + percValueNfLoad: + allOf: + - $ref: '#/components/schemas/Uinteger' + minimum: 0 + maximum: 100 + required: + - repPeriod + + + RangingSlPosAuth: + description: > + Indicates whether the UE is authorized to use related services. + type: object + properties: + rgSlPosTargetAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosSlRefAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosLocAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosClientAuth: + $ref: '#/components/schemas/UeAuth' + rgSlPosServerAuth: + $ref: '#/components/schemas/UeAuth' + + + NrA2xAuth: + description: Contains NR A2X services authorized information. + type: object + properties: + uavUeAuth: + $ref: '#/components/schemas/UeAuth' + + LteA2xAuth: + description: Contains LTE A2X services authorized information. + type: object + properties: + uavUeAuth: + $ref: '#/components/schemas/UeAuth' + + SliceUsageControlInfo: + description: The network slice usage control related information + type: object + required: + - sNssai + properties: + sNssai: + $ref: '#/components/schemas/Snssai' + deregInactTimer: + $ref: '#/components/schemas/DurationSec' + sessInactTimer: + $ref: '#/components/schemas/DurationSec' + anyOf: + - required: [ deregInactTimer ] + - required: [ sessInactTimer ] + + SnssaiDnnItem: + description: Combination of S-NSSAIs and DNNs + type: object + properties: + snssaiList: + type: array + items: + $ref: '#/components/schemas/ExtSnssai' + minItems: 1 + dnnList: + type: array + items: + $ref: '#/components/schemas/Dnn' + minItems: 1 + anyOf: + - required: [ snssaiList ] + - required: [ dnnList ] + + + NtnTaiInfo: + type: object + required: + - plmnId + - tacList + properties: + plmnId: + $ref: '#/components/schemas/PlmnIdNid' + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + derivedTac: + $ref: '#/components/schemas/Tac' + + MitigationInfo: + type: object + properties: + percValueNumUes: + type: integer + minimum: 0 + maximum: 100 + newUesInd: + type: boolean + + # # Data types describing alternative data types or combinations of data types # @@ -3466,6 +3842,26 @@ components: Differentiator value within the range of SD (if the sdRanges attribute is present) or with any value (if the wildcardSd attribute is present). + SnssaiReplaceInfo: + description: Indicates the status of an S-NSSAI and an alternative S-NSSAI optionally. + type: object + properties: + snssai: + $ref: '#/components/schemas/Snssai' + status: + $ref: '#/components/schemas/SnssaiStatus' + altSnssai: + $ref: '#/components/schemas/Snssai' + nsReplTerminInd: + $ref: '#/components/schemas/TerminationIndication' + plmnId: + $ref: '#/components/schemas/PlmnId' + mitigationInfo: + $ref: '#/components/schemas/MitigationInfo' + required: + - snssai + + # # Data Types related to 5G QoS as defined in clause 5.5 # @@ -3519,24 +3915,55 @@ components: pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$' nullable: true description: > - This data type is defined in the same way as the 'BitRate' data type, but with the OpenAPI 'nullable: true' property. + This data type is defined in the same way as the 'BitRate' data type, but with the OpenAPI + 'nullable: true' property. - ArpPriorityLevelRm: - type: integer - minimum: 1 - maximum: 15 - nullable: true + PacketRate: + type: string + pattern: '^\d+(\.\d+)? (pps|kpps|Mpps|Gpps|Tpps)$' description: > - This data type is defined in the same way as the 'ArpPriorityLevel' data type, but with - the OpenAPI 'nullable: true' property. + String representing a packet rate, i.e., packet per second; the prefixes follow the symbols + from The International System of Units, and represent x1000 multipliers. - ArpPriorityLevel: - type: integer - minimum: 1 - maximum: 15 + PacketRateRm: + type: string + pattern: '^\d+(\.\d+)? (pps|kpps|Mpps|Gpps|Tpps)$' nullable: true description: > - nullable true shall not be used for this attribute. Unsigned integer indicating the ARP + This data type is defined in the same way as the 'PacketRate' data type, but with the + OpenAPI 'nullable: true' property. + + TrafficVolume: + type: string + pattern: '^\d+(\.\d+)? (B|kB|MB|GB|TB)$' + description: > + String representing a Traffic Volume measured in bytes; the prefixes follow the symbols + from The International System of Units, and represent x1000 multipliers. + + TrafficVolumeRm: + type: string + pattern: '^\d+(\.\d+)? (B|kB|MB|GB|TB)$' + nullable: true + description: > + This data type is defined in the same way as the 'TrafficVolume' data type, but with the + OpenAPI 'nullable: true' property. + + ArpPriorityLevelRm: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: > + This data type is defined in the same way as the 'ArpPriorityLevel' data type, but with + the OpenAPI 'nullable: true' property. + + ArpPriorityLevel: + type: integer + minimum: 1 + maximum: 15 + nullable: true + description: > + nullable true shall not be used for this attribute. Unsigned integer indicating the ARP Priority Level (see clause 5.7.2.2 of 3GPP TS 23.501, within the range 1 to 15.Values are ordered in decreasing order of priority, i.e. with 1 as the highest priority and 15 as the lowest priority. @@ -3612,7 +4039,9 @@ components: minimum: 1 maximum: 4095 default: 2000 - description: Unsigned integer indicating Averaging Window (see clause 5.7.3.6 and 5.7.4 of 3GPP TS 23.501), expressed in milliseconds. + description: > + Unsigned integer indicating Averaging Window (see clause 5.7.3.6 and 5.7.4 of + 3GPP TS 23.501), expressed in milliseconds. AverWindowRm: type: integer @@ -3690,7 +4119,7 @@ components: type: integer minimum: 1 description: > - Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP + Unsigned integer indicating Packet Delay Budget (see clauses 5.7.3.4 and 5.7.4 of 3GPP TS 23.501 [8])), expressed in 0.01 milliseconds. ExtPacketDelBudgetRm: @@ -3701,6 +4130,14 @@ components: This data type is defined in the same way as the 'ExtPacketDelBudget' data type, but with the OpenAPI 'nullable: true' property. " + Metadata: + format: byte + type: string + nullable: true + description: > + A String which is transparently passed to the UPF to be applied for traffic to SFC. + + # # ENUMERATED DATA TYPES # @@ -3816,7 +4253,7 @@ components: - $ref: '#/components/schemas/NullValue' description: > The enumeration AdditionalQosFlowInfo provides additional QoS flow information (see clause - 9.3.1.12 3GPP TS 38.413 [11]). It shall comply with the provisions defined in table + 9.3.1.12 3GPP TS 38.413 [11]). It shall comply with the provisions defined in table 5.5.3.12-1. PartitioningCriteria: @@ -3848,6 +4285,53 @@ components: description: > This data type is defined in the same way as the ' PartitioningCriteria ' data type, but with the OpenAPI 'nullable: true' property. + + PduSetHandlingInfo: + anyOf: + - type: string + enum: + - ALL_PDUS_NEEDED + - ALL_PDUS_NOT_NEEDED + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + description: | + Possible values are: + - "ALL_PDUS_NEEDED": All PDUs of the PDU Set are needed + - "ALL_PDUS_NOT_NEEDED": All PDUs of the PDU Set are not needed + + MediaTransportProto: + anyOf: + - type: string + enum: + - RTP + - SRTP + - type: string + description: > + The enumeration MediaTransportProto indicates the transport protocol used for a media flow. + + RtpHeaderExtType: + anyOf: + - type: string + enum: + - PDU_SET_MARKING + - type: string + description: > + The enumeration indicates the type of Rtp Header Extension type + + + RtpPayloadFormat: + anyOf: + - type: string + enum: + - H264 + - H265 + - type: string + description: > + The enumeration RtpPayloadFormat indicates the RTP Payload format + # # # STRUCTURED DATA TYPES @@ -3967,6 +4451,68 @@ components: - $ref: '#/components/schemas/SliceMbr' - $ref: '#/components/schemas/NullValue' + PduSetQosPara: + description: Represents the PDU Set level QoS parameters. + type: object + properties: + pduSetDelayBudget: + $ref: '#/components/schemas/ExtPacketDelBudget' + pduSetErrRate: + $ref: '#/components/schemas/PacketErrRate' + pduSetHandlingInfo: + $ref: '#/components/schemas/PduSetHandlingInfo' +# + + PduSetQosParaRm: + description: "PduSetQosPara with nullable: true" + anyOf: + - $ref: '#/components/schemas/PduSetQosPara' + - $ref: '#/components/schemas/NullValue' + + + ProtocolDescription: + description: ProtocolDescription contains information to derive PDU set information. + type: object + properties: + transportProto: + $ref: '#/components/schemas/MediaTransportProto' + rtpHeaderExtInfo: + $ref: '#/components/schemas/RtpHeaderExtInfo' + rtpPayloadInfoList: + type: array + items: + $ref: '#/components/schemas/RtpPayloadInfo' + minItems: 1 + + RtpHeaderExtInfo: + description: RTP Header Extension information + type: object + properties: + rtpHeaderExtType: + $ref: '#/components/schemas/RtpHeaderExtType' + rtpHeaderExtId: + type: integer + minimum: 1 + maximum: 255 + longFormat: + type: boolean + pduSetSizeActive: + type: boolean + + RtpPayloadInfo: + description: RtpPayloadInfo contains Rtp payload type and format. + type: object + properties: + rtpPayloadTypeList: + type: array + items: + type: integer + minimum: 1 + maximum: 127 + minItems: 1 + rtpPayloadFormat: + $ref: '#/components/schemas/RtpPayloadFormat' + # # Data Types related to 5G Trace as defined in clause 5.6 # @@ -3974,6 +4520,7 @@ components: # # SIMPLE DATA TYPES # + PhysCellId: type: integer minimum: 0 @@ -3981,6 +4528,7 @@ components: description: > Integer value identifying the physical cell identity (PCI), as definition of "PhysCellId" IE in clause 6.3.2 of 3GPP TS 38.331. + ArfcnValueNR: type: integer minimum: 0 @@ -3989,10 +4537,28 @@ components: Integer value indicating the ARFCN applicable for a downlink, uplink or bi-directional (TDD) NR global frequency raster, as definition of "ARFCN-ValueNR" IE in clause 6.3.2 of 3GPP TS 38.331. + + QoeReference: + description: > + String containing MCC (3 digits), MNC (2 or 3 digits) + and QMC ID (3 octets, encoded as 6 hexadecimal digits). + type: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{6}$' + + MdtAlignmentInfo: + description: | + String containing: + - Trace Reference: MCC (3 digits), MNC (2 or 3 digits), + Trace ID (3 octets, encoded as 6 hexadecimal digits) + - Trace Recording Session Reference (2 octets, encoded as 4 hexadecimal digits) + format: string + pattern: '^[0-9]{3}-[0-9]{2,3}-[A-Fa-f0-9]{6}-[A-Fa-f0-9]{4}$' + # # # Enumerations # + TraceDepth: anyOf: - type: string @@ -4005,9 +4571,10 @@ components: - MAXIMUM_WO_VENDOR_EXTENSION - type: string description: > - The enumeration TraceDepth defines how detailed information should be recorded in the trace. - See 3GPP TS 32.422 for further description of the values. It shall comply with the - provisions defined in table 5.6.3.1-1 + The enumeration TraceDepth defines how detailed information should be recorded + in the trace. See 3GPP TS 32.422 for further description of the values. + It shall comply with the provisions defined in table 5.6.3.1-1 + TraceDepthRm: anyOf: - $ref: '#/components/schemas/TraceDepth' @@ -4087,8 +4654,8 @@ components: - type: string description: > The enumeration MeasurementNrForMdt defines Measurements used for MDT in NR in the trace. - See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions - defined in table 5.6.3.6-1. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.6-1. SensorMeasurement: anyOf: @@ -4099,9 +4666,9 @@ components: - UE_ORIENTATION - type: string description: > - The enumeration SensorMeasurement defines sensor measurement type for MDT in the trace. See 3GPP - TS 32.422 for further description of the values. It shall comply with the provisions defined - in table 5.6.3.7-1. + The enumeration SensorMeasurement defines sensor measurement type for MDT in the trace. + See 3GPP TS 32.422 for further description of the values. It shall comply with the + provisions defined in table 5.6.3.7-1. ReportingTrigger: anyOf: @@ -4230,8 +4797,8 @@ components: - type: string description: > The enumeration CollectionPeriodRmmLteMdt defines Collection period for RRM measurements - LTE for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall - comply with the provisions defined in table 5.6.3.15-1. + LTE for MDT in the trace. See 3GPP TS 32.422 for further description of the values. + It shall comply with the provisions defined in table 5.6.3.15-1. MeasurementPeriodLteMdt: anyOf: @@ -4246,9 +4813,9 @@ components: - 60000 - type: string description: > - The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the trace. - See 3GPP TS 32.422 for further description of the values. It shall comply with the - provisions defined in table 5.6.3.16-1. + The enumeration MeasurementPeriodLteMdt defines Measurement period LTE for MDT in the + trace. See 3GPP TS 32.422 for further description of the values. It shall comply + with the provisions defined in table 5.6.3.16-1. ReportIntervalNrMdt: anyOf: @@ -4307,8 +4874,8 @@ components: - 60000 - type: string description: > - The enumeration CollectionPeriodRmmNrMdt defines Collection period for RRM measurements NR for MDT in the trace. - See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.19-1 + The enumeration CollectionPeriodRmmNrMdt defines Collection period for RRM measurements NR + for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.19-1 LoggingDurationNrMdt: anyOf: @@ -4325,9 +4892,42 @@ components: The enumeration LoggingDurationMdt defines Logging Duration in NR for MDT in the trace. See 3GPP TS 32.422 for further description of the values. It shall comply with the provisions defined in table 5.6.3.20-1. + + QoeServiceType: + description: > + The enumeration QoeServiceType indicates the kind of service that shall be recorded for + QMC. It shall comply with the provisions defined in TS 29.571, table 5.6.3.21-1. + anyOf: + - type: string + enum: + - DASH + - MTSI + - VR + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + + AvailableRanVisibleQoeMetric: + description: > + The enumeration AvailableRanVisibleQoeMetric indicates different available + RAN-visible QoE metrics to the gNB. It shall comply with the provisions defined + in TS 29.571, table 5.6.3.22-1. + anyOf: + - type: string + enum: + - APPLICATION_LAYER_BUFFER_LEVEL_LIST + - PLAYOUT_DELAY_FOR_MEDIA_STARTUP + - type: string + description: > + This string provides forward-compatibility with future extensions to the enumeration + but is not used to encode content defined in the present version of this API. + + # # STRUCTURED DATA TYPES # + TraceData: description: contains Trace control and configuration parameters. type: object @@ -4337,13 +4937,14 @@ components: type: string pattern: '^[0-9]{3}[0-9]{2,3}-[A-Fa-f0-9]{6}$' description: > - Trace Reference (see 3GPP TS 32.422).It shall be encoded as the concatenation of MCC, - MNC and Trace ID as follows: 'MCC'- + The Trace ID shall be encoded as a 3 octet string in hexadecimal + representation. Each character in the Trace ID string shall + take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits of the + Trace ID shall appear first in the string, and the character representing the + 4 least significant bit of the Trace ID shall appear last in the string. traceDepth: $ref: '#/components/schemas/TraceDepth' @@ -4351,33 +4952,35 @@ components: type: string pattern: '^[A-Fa-f0-9]+$' description: > - List of NE Types (see 3GPP TS 32.422).It shall be encoded as an octet string in - hexadecimal representation. - Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" - and shall represent 4 bits. - The most significant character representing the 4 most significant bits shall appear - first in the string, and the character representing the - 4 least significant bit shall appear last in the string.Octets shall be coded + List of NE Types (see 3GPP TS 32.422). It shall be encoded as an octet string + in hexadecimal representation. Each character in the string shall take a value + of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. + The most significant character representing the 4 most significant bits shall + appear first in the string, and the character representing the 4 least + significant bit shall appear last in the string. Octets shall be coded according to 3GPP TS 32.422. eventList: type: string pattern: '^[A-Fa-f0-9]+$' description: > - Triggering events (see 3GPP TS 32.422).It shall be encoded as an octet string in + Triggering events (see 3GPP TS 32.422). It shall be encoded as an octet string in hexadecimal representation. Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. - The most significant character representing the 4 most significant bits shall appear - first in the string, and the character representing the 4 least significant bit shall - appear last in the string. Octets shall be coded according to 3GPP TS 32.422. + The most significant character representing the 4 most significant bits shall + appear first in the string, and the character representing the 4 least + significant bit shall appear last in the string. Octets shall be coded + according to 3GPP TS 32.422. collectionEntityIpv4Addr: $ref: '#/components/schemas/Ipv4Addr' collectionEntityIpv6Addr: $ref: '#/components/schemas/Ipv6Addr' + traceReportingConsumerUri: + $ref: '#/components/schemas/Uri' interfaceList: type: string pattern: '^[A-Fa-f0-9]+$' description: > - List of Interfaces (see 3GPP TS 32.422).It shall be encoded as an octet string in + List of Interfaces (see 3GPP TS 32.422). It shall be encoded as an octet string in hexadecimal representation. Each character in the string shall take a value of "0" to "9", "a" to "f" or "A" to "F" and shall represent 4 bits. The most significant character representing the 4 most @@ -4429,6 +5032,20 @@ components: $ref: '#/components/schemas/ReportIntervalNrMdt' reportAmount: $ref: '#/components/schemas/ReportAmountMdt' + reportAmountPerMeasurementLte: + type: object + additionalProperties: + $ref: '#/components/schemas/ReportAmountMdt' + minProperties: 1 + description: > + A map (list of key-value pairs) where MeasurementLteForMdt serves as key; + reportAmountPerMeasurementNr: + type: object + additionalProperties: + $ref: '#/components/schemas/ReportAmountMdt' + minProperties: 1 + description: > + A map (list of key-value pairs) where MeasurementNrForMdt serves as key; eventThresholdRsrp: type: integer minimum: 0 @@ -4542,6 +5159,20 @@ components: minProperties: 1 description: > A map (list of key-value pairs) where PlmnId converted to a string serves as key + cagInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/CagInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key + nidInfoPerPlmn: + type: object + additionalProperties: + $ref: '#/components/schemas/NidInfo' + minProperties: 1 + description: > + A map (list of key-value pairs) where PlmnId converted to a string serves as key TacInfo: description: contains tracking area information (tracking area codes). @@ -4555,6 +5186,30 @@ components: $ref: '#/components/schemas/Tac' minItems: 1 + CagInfo: + description: contains CAG IDs. + type: object + required: + - cagList + properties: + cagList: + type: array + items: + $ref: '#/components/schemas/CagId' + minItems: 1 + + NidInfo: + description: contains NIDs. + type: object + required: + - nidList + properties: + nidList: + type: array + items: + $ref: '#/components/schemas/Nid' + minItems: 1 + MbsfnArea: description: Contains an MBSFN area information. type: object @@ -4589,6 +5244,81 @@ components: UE is requested to perform measurement logging for the indicated frequency. + QmcConfigInfo: + description: > + It contains the configuration information for signaling-based activation of the + Quality of Experience (QoE) Measurements Collection (QMC) functionality. + type: object + required: + - qoeReference + properties: + qoeReference: + $ref: '#/components/schemas/QoeReference' + serviceType: + $ref: '#/components/schemas/QoeServiceType' + sliceScope: + type: array + items: + $ref: '#/components/schemas/Snssai' + minItems: 1 + areaScope: + $ref: '#/components/schemas/QmcAreaScope' + qoeCollectionEntityAddress: + $ref: '#/components/schemas/IpAddr' + qoeTarget: + $ref: '#/components/schemas/QoeTarget' + mdtAlignmentInfo: + $ref: '#/components/schemas/MdtAlignmentInfo' + availableRanVisibleQoeMetrics: + type: array + items: + $ref: '#/components/schemas/AvailableRanVisibleQoeMetric' + minItems: 1 + containerForAppLayerMeasConfig: + $ref: '#/components/schemas/Bytes' + mbsCommunicationServiceType: + $ref: '#/components/schemas/MbsServiceType' + + QmcAreaScope: + description: > + This IE contains the area in Cells or Tracking Areas where the QMC data collection + shall take place. + type: object + properties: + nrCellIdList: + type: array + items: + $ref: '#/components/schemas/NrCellId' + minItems: 1 + tacList: + type: array + items: + $ref: '#/components/schemas/Tac' + minItems: 1 + taiList: + type: array + items: + $ref: '#/components/schemas/Tai' + minItems: 1 + plmnList: + type: array + items: + $ref: '#/components/schemas/PlmnId' + minItems: 1 + + QoeTarget: + description: > + This parameter specifies the target object (individual UE) for the QMC in case of + signalling based QMC. It shall be able to carry an IMSI or a SUPI. + type: object + properties: + supi: + $ref: '#/components/schemas/Supi' + imsi: + $ref: '#/components/schemas/Imsi' + + + # Data Types related to 5G ODB as defined in clause 5.7 # @@ -4652,10 +5382,15 @@ components: Integer where the allowed values correspond to the value range of an unsigned 32-bit integer. + SmfChargingId: + description: String based Charging ID + type: string + pattern: '^(0|([1-9]{1}[0-9]{0,9}))\.smf-([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$' ApplicationChargingId: type: string - description: Application provided charging identifier allowing correlation of charging information. + description: > + Application provided charging identifier allowing correlation of charging information. RatingGroup: $ref: '#/components/schemas/Uint32' @@ -4809,6 +5544,18 @@ components: - TERMINATED - type: string + NrRedCapUeInfo: + description: > + Indicates whether the broadcast MBS session is intended only for NR RedCap UEs, + both for NR RedCap UEs and non-RedCap UEs, or only for non-RedCap UEs (default). + anyOf: + - type: string + enum: + - NR_REDCAP_UE_ONLY + - BOTH_NR_REDCAP_UE_AND_NON_REDCAP_UE + - NON_REDCAP_UE_ONLY + - type: string + # # STRUCTURED DATA TYPES # @@ -4899,19 +5646,23 @@ components: default: false writeOnly: true tmgi: - $ref: '#/components/schemas/Tmgi' + allOf: + - $ref: '#/components/schemas/Tmgi' readOnly: true expirationTime: - $ref: '#/components/schemas/DateTime' + allOf: + - $ref: '#/components/schemas/DateTime' readOnly: true serviceType: - $ref: '#/components/schemas/MbsServiceType' + allOf: + - $ref: '#/components/schemas/MbsServiceType' writeOnly: true locationDependent: type: boolean default: false areaSessionId: - $ref: '#/components/schemas/AreaSessionId' + allOf: + - $ref: '#/components/schemas/AreaSessionId' readOnly: true ingressTunAddrReq: type: boolean @@ -4924,13 +5675,16 @@ components: minItems: 1 readOnly: true ssm: - $ref: '#/components/schemas/Ssm' + allOf: + - $ref: '#/components/schemas/Ssm' writeOnly: true mbsServiceArea: - $ref: '#/components/schemas/MbsServiceArea' + allOf: + - $ref: '#/components/schemas/MbsServiceArea' writeOnly: true extMbsServiceArea: - $ref: '#/components/schemas/ExternalMbsServiceArea' + allOf: + - $ref: '#/components/schemas/ExternalMbsServiceArea' writeOnly: true redMbsServArea: $ref: '#/components/schemas/MbsServiceArea' @@ -4939,10 +5693,12 @@ components: $ref: '#/components/schemas/ExternalMbsServiceArea' readOnly: true dnn: - $ref: '#/components/schemas/Dnn' + allOf: + - $ref: '#/components/schemas/Dnn' writeOnly: true snssai: - $ref: '#/components/schemas/Snssai' + allOf: + - $ref: '#/components/schemas/Snssai' writeOnly: true activationTime: deprecated: true @@ -4967,6 +5723,10 @@ components: items: $ref: '#/components/schemas/MbsFsaId' minItems: 1 + associatedSessionId: + $ref: '#/components/schemas/AssociatedSessionId' + nrRedCapUeInfo: + $ref: '#/components/schemas/NrRedCapUeInfo' required: - serviceType anyOf: @@ -4998,7 +5758,8 @@ components: nfcInstanceId: $ref: '#/components/schemas/NfInstanceId' mbsSessionSubscUri: - $ref: '#/components/schemas/Uri' + allOf: + - $ref: '#/components/schemas/Uri' readOnly: true required: - eventList @@ -5062,10 +5823,13 @@ components: MbsSecurityContext: + description: MBS security context consisting of MSK/MTK(s) and associated IDs type: object properties: keyList: - description: A map (list of key-value pairs) where a (unique) valid JSON string serves as key of MbsSecurityContext + description: > + A map (list of key-value pairs) where a (unique) valid JSON string serves + as key of MbsSecurityContext type: object additionalProperties: $ref: '#/components/schemas/MbsKeyInfo' @@ -5200,6 +5964,256 @@ components: minItems: 1 maxItems: 2 + AssociatedSessionId: + description: an associated Session Id used in MOCN + anyOf: + - $ref: '#/components/schemas/Ssm' + - type: string + + + +# Data Types related to Time Synchronization as defined in clause 5.10 +# + +# +# SIMPLE DATA TYPES +# +# + + +# +# Enumerations +# +# + + SynchronizationState: + description: Indicates the Synchronization State. + anyOf: + - type: string + enum: + - LOCKED + - HOLDOVER + - FREERUN + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + TimeSource: + description: Indicates the Time Source. + anyOf: + - type: string + enum: + - SYNC_E + - PTP + - GNSS + - ATOMIC_CLOCK + - TERRESTRIAL_RADIO + - SERIAL_TIME_CODE + - NTP + - HAND_SET + - OTHER + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + + ClockQualityDetailLevel: + description: Indicates the Clock Quality Detail Level. + anyOf: + - type: string + enum: + - CLOCK_QUALITY_METRICS + - ACCEPT_INDICATION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. + +# +# STRUCTURED DATA TYPES +# + + ClockQualityAcceptanceCriterion: + description: Contains a Clock Quality Acceptance Criterion. + type: object + properties: + synchronizationState: + type: array + items: + $ref: '#/components/schemas/SynchronizationState' + minItems: 1 + clockQuality: + $ref: '#/components/schemas/ClockQuality' + parentTimeSource: + type: array + items: + $ref: '#/components/schemas/TimeSource' + minItems: 1 + + ClockQuality: + description: Contains Clock Quality. + type: object + properties: + traceabilityToGnss: + type: boolean + traceabilityToUtc: + type: boolean + frequencyStability: + $ref: '#/components/schemas/Uint16' + clockAccuracyIndex: + type: string + pattern: '^[A-Fa-f0-9]{2}$' + clockAccuracyValue: + type: integer + minimum: 1 + maximum: 40000000 + + + +# Data Types related to IMS SBA as defined in clause 5.11 +# + +# +# SIMPLE DATA TYPES +# +# + + SessionId: + description: IMS Session Identifier + type: string + + MediaId: + description: IMS Media Flow Identifier + type: string + + MaxMessageSize: + description: Maximum SCTP user message size + type: integer + maximum: 64 + default: 64 + + +# +# Enumerations +# +# + MediaResourceType: + description: Indicates the Media Resource type + anyOf: + - type: string + enum: + - DC + - AR + - AUDIO + - VIDEO + - type: string + + MediaProxy: + description: Media Proxy Configuration applicable to the media flow + anyOf: + - type: string + enum: + - HTTP + - UDP + - type: string + + SecuritySetup: + description: security setup of the DTLS connection + anyOf: + - type: string + enum: + - ACTIVE + - PASSIVE + - ACTPASS + - type: string + +# STRUCTURED DATA TYPES +# + DcEndpoint: + description: Endpoint for Data Channel + type: object + properties: + sctpPort: + type: integer + maximum: 65535 + minimum: 0 + description: Local or remote port for Data Channel + fingerprint: + type: string + pattern: '^(SHA-1|SHA-224|SHA-256|SHA-384|SHA-512|MD5|MD2|TOKEN)\s[0-9A-F]{2}(:[0-9A-F]{2})+' + description: local or remote certificate fingerprint for the DTLS association + tlsId: + type: string + pattern: '^[A-Fa-f0-9+/_-]{20,255}$' + description: local or remote TLS ID for the media stream + + DcStream: + description: Data Channel mapping and configuration information + type: object + properties: + streamId: + type: integer + maximum: 65535 + default: 0 + description: Stream identifier for Data Channel + subprotocol: + type: string + pattern: '^[A-Fa-f0-9]{20}$' + description: Subprotocol of the SCTP stream + order: + type: boolean + maxRetry: + type: integer + default: 0 + description: maximal number of the times a message will be retransmitted + maxTime: + type: integer + default: 0 + description: > + maximal lifetime in milliseconds after which a message will no longer be + transmitted or retransmitted + priority: + type: integer + default: 256 + description: priority of data channel relative to other data channels + appBindingInfo: + type: string + description: application binding information of the Data Channel. + + + ReplaceHttpUrl: + description: replacement HTTP URL per stream + type: object + properties: + replaceHttpUrl: + $ref: '#/components/schemas/Uri' + streamId: + type: integer + maximum: 65535 + default: 0 + description: Stream identifier for Data Channel + + Endpoint: + description: Represents the IP endpoint. + type: object + required: + - ip + - transport + - portNumber + properties: + ip: + $ref: '#/components/schemas/IpAddr' + transport: + $ref: '#/components/schemas/TransportProtocol' + portNumber: + $ref: '#/components/schemas/Uinteger' + + + # # HTTP responses # @@ -5218,7 +6232,8 @@ components: schema: type: string 3gpp-Sbi-Target-Nf-Id: - description: 'Identifier of target NF (service) instance towards which the request is redirected' + description: > + 'Identifier of target NF (service) instance towards which the request is redirected' schema: type: string '308': @@ -5297,7 +6312,7 @@ components: schema: $ref: '#/components/schemas/ProblemDetails' '413': - description: Payload Too Large + description: Content Too Large content: application/problem+json: schema: -- GitLab From e66887cddc62f31897832974fb93baf332c6eecd Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 29 May 2024 19:41:18 +0000 Subject: [PATCH 35/48] [S4-241347] Changes to support RTC: Typo correction --- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 78cc77d..304dd62 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -322,7 +322,7 @@ components: type: string minLength: 1 applicationFlowDescription: - $ref: 'TS26510_CommonData.yaml#/components/schemas/ServiceDataFlowDescription' + $ref: 'TS26510_CommonData.yaml#/components/schemas/ApplicationFlowDescription' qosSpecification: $ref: 'TS26510_CommonData.yaml#/components/schemas/M5QoSSpecification' -- GitLab From d59f68c873ff6fb211548a195923c134fe20cfe7 Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 29 May 2024 20:19:31 +0000 Subject: [PATCH 36/48] [S4-241347] Changes to support RTC: Missed additional property rename --- TS26510_CommonData.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TS26510_CommonData.yaml b/TS26510_CommonData.yaml index 15942be..a5bf1ce 100755 --- a/TS26510_CommonData.yaml +++ b/TS26510_CommonData.yaml @@ -221,12 +221,12 @@ components: EdgeProcessingEligibilityCriteria: type: object required: - - serviceDataFlowDescriptions + - applicationFlowDescriptions - ueLocations - timeWindows - appRequest properties: - serviceDataFlowDescriptions: + applicationFlowDescriptions: type: array items: $ref: '#/components/schemas/ApplicationFlowDescription' -- GitLab From 1eae62856d94f5e0ab34ba26e113dc1c23bf13a3 Mon Sep 17 00:00:00 2001 From: bradburyr Date: Wed, 29 May 2024 20:32:01 +0000 Subject: [PATCH 37/48] MQTT notification channel --- ...Maf_SessionHandling_NetworkAssistance.yaml | 4 --- ...sionHandling_ServiceAccessInformation.yaml | 31 +++++++++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index fc43e46..bf3f489 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -410,7 +410,3 @@ components: readOnly: true allOf: - $ref: 'TS26510_CommonData.yaml#/components/schemas/M5QoSSpecification' - notficationURL: - readOnly: true - allOf: - - $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index 1aeb2b5..fa085f9 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -126,6 +126,10 @@ components: $ref: 'TS26510_CommonData.yaml#/components/schemas/ProvisioningSessionType' locationReporting: type: boolean + notficationURL: + readOnly: true + allOf: + - $ref: 'TS26510_CommonData.yaml#/components/schemas/AbsoluteUrl' streamingAccess: type: object properties: @@ -327,3 +331,30 @@ components: type: string minLength: 1 minItems: 1 + + NotificationMessage: + description: 'A message sent by the Media AF on an MQTT notification channel.' + type: object + properties: + type: + $ref: '#/components/schemas/NotificationMessageType' + serviceAccessInformation: + $ref: '#/components/schemas/ServiceAccessInformationResource' + dynamicPolicy: + $ref: 'TS26510_Maf_SessionHandling_DynamicPolicy.yaml#/components/schemas/DynamicPolicy' + networkAssistanceSession: + $ref: 'TS26510_Maf_SessionHandling_NetworkAssistance.yaml#/components/schemas/NetworkAssistanceSession' + + NotificationMessageType: + description: 'Enumeration of notification message types.' + anyOf: + - type: string + enum: + - NOTIFICATION_SERVICE_ACCESS_INFORMATION + - NOTIFICATION_DYNAMIC_POLICY_INSTANCE + - NOTIFICATION_NETWORK_ASSISTANCE_SESSION + - type: string + description: > + This string provides forward-compatibility with future + extensions to the enumeration but is not used to encode + content defined in the present version of this API. -- GitLab From dd6435daad613db74b3af49a9d7a91807b6ced9b Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 10:41:57 +0100 Subject: [PATCH 38/48] Resolved merge conflicts. --- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 304dd62..4fcbb6f 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -271,6 +271,7 @@ components: dynamic-policy-replace: Replace a Dynamic Policy resource dynamic-policy-patch: Patch a Dynamic Policy resource dynamic-policy-destroy: Destroy a Dynamic Policy resource + schemas: DynamicPolicy: description: "A representation of a Dynamic Policy resource." -- GitLab From d29fe05389c3de8fb6f59e22d653b17b6c3616dd Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 10:45:48 +0100 Subject: [PATCH 39/48] Richard edits. --- ...Maf_Provisioning_ConsumptionReporting.yaml | 26 +++++----- TS26510_Maf_Provisioning_ContentHosting.yaml | 32 ++++++------ ...visioning_ContentPreparationTemplates.yaml | 27 +++++----- ...510_Maf_Provisioning_ContentProtocols.yaml | 5 +- ...10_Maf_Provisioning_ContentPublishing.yaml | 32 ++++++++++-- TS26510_Maf_Provisioning_EdgeResources.yaml | 28 +++++------ ..._Maf_Provisioning_EventDataProcessing.yaml | 27 +++++----- ...510_Maf_Provisioning_MetricsReporting.yaml | 26 +++++----- TS26510_Maf_Provisioning_PolicyTemplates.yaml | 26 +++++----- ...Maf_Provisioning_ProvisioningSessions.yaml | 12 ++--- ...af_Provisioning_RealTimeCommunication.yaml | 34 ++++++++++--- ...0_Maf_Provisioning_ServerCertificates.yaml | 16 +++--- ..._SessionHandling_ConsumptionReporting.yaml | 7 +-- ...510_Maf_SessionHandling_DynamicPolicy.yaml | 38 +++++++------- ..._Maf_SessionHandling_MetricsReporting.yaml | 8 +-- ...Maf_SessionHandling_NetworkAssistance.yaml | 49 ++++++++++--------- ...sionHandling_ServiceAccessInformation.yaml | 6 +-- 17 files changed, 223 insertions(+), 176 deletions(-) diff --git a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml index b8fe5b8..e4e00b6 100755 --- a/TS26510_Maf_Provisioning_ConsumptionReporting.yaml +++ b/TS26510_Maf_Provisioning_ConsumptionReporting.yaml @@ -40,7 +40,7 @@ paths: summary: 'Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration' security: - OAuth2: - - consumption-reporting-create + - consumption-reporting-configuration_create requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true @@ -84,7 +84,7 @@ paths: summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session' security: - OAuth2: - - consumption-reporting-read + - consumption-reporting-configuration_retrieve responses: '200': # OK description: 'Success' @@ -111,11 +111,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateConsumptionReportingConfiguration - summary: 'Update the Consumption Reporting Configuration for the specified Provisioning Session' + operationId: replaceConsumptionReportingConfiguration + summary: 'Replace the Consumption Reporting Configuration for the specified Provisioning Session' security: - OAuth2: - - consumption-reporting-put + - consumption-reporting-configuration_replace requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true @@ -125,7 +125,7 @@ paths: $ref: '#/components/schemas/ConsumptionReportingConfiguration' responses: '200': # OK - description: 'Consumption Reporting Configuration Updated' + description: 'Consumption Reporting Configuration Replaced' content: application/json: schema: @@ -161,7 +161,7 @@ paths: summary: 'Patch the Consumption Reporting Configuration for the specified Provisioning Session' security: - OAuth2: - - consumption-reporting-patch + - consumption-reporting-configuration_patch requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true @@ -210,7 +210,7 @@ paths: summary: 'Destroy the current Consumption Reporting Configuration of the specified Provisioning Session' security: - OAuth2: - - consumption-reporting-delete + - consumption-reporting-configuration_destroy responses: '204': # No Content description: 'Consumption Reporting Configuration Destroyed' @@ -241,11 +241,11 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - consumption-reporting-create: Create consumption reporting - consumption-reporting-read: Read consumption reporting - consumption-reporting-put: Put consumption reporting - consumption-reporting-patch: Patch consumption reporting - consumption-reporting-delete: Delete consumption reporting + consumption-reporting-configuration_create: Create the Consumption Reporting Configuration resource + consumption-reporting-configuration_retrieve: Retrieve the Consumption Reporting Configuration resource + consumption-reporting-configuration_replace: Replace the Consumption Reporting Configuration resource + consumption-reporting-configuration_patch: Patch the Consumption Reporting Configuration resource + consumption-reporting-configuration_destroy: Destroy the Consumption Reporting Configuration resource schemas: ConsumptionReportingConfiguration: diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index 8b0de68..3a3c497 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -40,7 +40,7 @@ paths: summary: 'Create and upload the Content Hosting Configuration for the specified Provisioning Session' security: - OAuth2: - - content-hosting-configuration-create + - content-hosting-configuration_create requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true @@ -86,7 +86,7 @@ paths: summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session' security: - OAuth2: - - content-hosting-configuration-read + - content-hosting-configuration_retrieve responses: '200': # OK description: 'Success' @@ -113,11 +113,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateContentHostingConfiguration - summary: 'Update (by replacement) the Content Hosting Configuration for the specified Provisioning Session' + operationId: replaceContentHostingConfiguration + summary: 'Replace the Content Hosting Configuration for the specified Provisioning Session' security: - OAuth2: - - content-hosting-configuration-put + - content-hosting-configuration_replace requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true @@ -127,7 +127,7 @@ paths: $ref: '#/components/schemas/ContentHostingConfiguration' responses: '200': # OK - description: 'Updated Content Hosting Configuration' + description: 'Content Hosting Configuration Replaced' content: application/json: schema: @@ -163,7 +163,7 @@ paths: summary: 'Patch the Content Hosting Configuration for the specified Provisioning Session' security: - OAuth2: - - content-hosting-configuration-patch + - content-hosting-configuration_patch requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true @@ -212,7 +212,7 @@ paths: summary: 'Destroy the current Content Hosting Configuration of the specified Provisioning Session' security: - OAuth2: - - content-hosting-configuration-delete + - content-hosting-configuration_destroy responses: '204': # No Content description: 'Destroyed Content Hosting Configuration' @@ -248,7 +248,7 @@ paths: summary: 'Purge the content of the cache for the Content Hosting Configuration of the specified Provisioning Session' security: - OAuth2: - - content-hosting-configuration-purge + - content-hosting-configuration_purge-cache requestBody: description: 'The regular expression pattern for resources to purge from the cache' required: true @@ -298,13 +298,13 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: - content-hosting-configuration-create: Create a content hosting configuration - content-hosting-configuration-read: Read a content hosting configuration - content-hosting-configuration-put: Put a content hosting configuration - content-hosting-configuration-patch: Patch a content hosting configuration - content-hosting-configuration-delete: Delete a content hosting configuration - content-hosting-configuration-purge: Purge a content hosting configuration + scopes: + content-hosting-configuration-create: Create the Content Hosting Configuration resource + content-hosting-configuration_retrieve: Retrieve the Content Hosting Configuration resource + content-hosting-configuration_replace: Replace the Content Hosting Configuration resource + content-hosting-configuration_patch: Patch the Content Hosting Configuration resource + content-hosting-configuration_destroy: Destroy the Content Hosting Configuration resource + content-hosting-configuration_purge-cache: Purge the cache associated with the Content Hosting Configuration resource schemas: IngestConfiguration: diff --git a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml index 07d59ac..47fa3e8 100644 --- a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml +++ b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml @@ -40,7 +40,7 @@ paths: summary: 'Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session' security: - OAuth2: - - content-preparation-template-create + - content-preparation-template_create requestBody: description: 'A Content Preparation Template of any supported type' required: true @@ -99,7 +99,7 @@ paths: summary: 'Retrieve the specified Content Preparation Template of the specified Provisioning Session' security: - OAuth2: - - content-preparation-template-read + - content-preparation-template_retrieve responses: '200': # OK description: 'Success' @@ -126,12 +126,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateContentPreparationTemplate - summary: 'Update (by replacement) the specified Content Preparation Template for the specified Provisioning Session' + operationId: replaceContentPreparationTemplate + summary: 'Replace the specified Content Preparation Template for the specified Provisioning Session' security: - OAuth2: - - content-preparation-template-put - requestBody: + - content-preparation-template_replace description: 'A Content Preparation Template of any type' required: true content: @@ -140,7 +139,7 @@ paths: type: string responses: '200': # OK - description: 'Content Preparation Template Updated' + description: 'Content Preparation Template Replaced' content: '*/*': schema: @@ -176,7 +175,7 @@ paths: summary: 'Patch the specified Content Preparation Template for the specified Provisioning Session' security: - OAuth2: - - content-preparation-template-patch + - content-preparation-template_patch requestBody: description: 'A Content Preparation Template patch of any type' required: true @@ -219,7 +218,7 @@ paths: summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session' security: - OAuth2: - - content-preparation-template-delete + - content-preparation-template_destroy responses: '204': # No Content description: 'Content Preparation Template Destroyed' @@ -252,8 +251,8 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - content-preparation-template-create: Create a content preparation template - content-preparation-template-read: Read a content preparation template - content-preparation-template-put: Put a content preparation template - content-preparation-template-patch: Patch a content preparation template - content-preparation-template-delete: Delete a content preparation template + content-preparation-template_create: Create a Content Preparation Template resource + content-preparation-template_retrieve: Read a Content Preparation Template resource + content-preparation-template_replace: Replace a Content Preparation Template resource + content-preparation-template_patch: Patch a Content Preparation Template resource + content-preparation-template_destroy: Destroy a Content Preparation Template resource diff --git a/TS26510_Maf_Provisioning_ContentProtocols.yaml b/TS26510_Maf_Provisioning_ContentProtocols.yaml index e88edc2..3663c3a 100644 --- a/TS26510_Maf_Provisioning_ContentProtocols.yaml +++ b/TS26510_Maf_Provisioning_ContentProtocols.yaml @@ -40,7 +40,7 @@ paths: summary: 'Retrieve the set of Content Protocols supported by the specified Provisioning Session' security: - OAuth2: - - content-protocols-read + - content-protocols_retrieve responses: '200': description: 'Success' @@ -75,7 +75,8 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - content-protocols-read: Read supported content protocols + content-protocols_retrieve: Retrieve the Content Protocols Descriptor resource + schemas: ContentProtocolDescriptor: type: object diff --git a/TS26510_Maf_Provisioning_ContentPublishing.yaml b/TS26510_Maf_Provisioning_ContentPublishing.yaml index 6dcf7ca..c428ce1 100755 --- a/TS26510_Maf_Provisioning_ContentPublishing.yaml +++ b/TS26510_Maf_Provisioning_ContentPublishing.yaml @@ -38,6 +38,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 @@ -81,6 +84,9 @@ paths: get: operationId: retrieveContentPublishingConfiguration summary: 'Retrieve the Content Publishing Configuration of the specified Provisioning Session' + security: + - OAuth2: + - content-publishing-configuration_retrieve responses: '200': # OK description: 'Success' @@ -107,8 +113,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateContentPublishingConfiguration - summary: 'Update (by replacement) the Content Publishing Configuration for the specified Provisioning Session' + operationId: replaceContentPublishingConfiguration + summary: 'Replace the 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: '#/components/schemas/ContentPublishingConfiguration' responses: '200': # OK - description: 'Updated Content Publishing Configuration' + description: 'Content Publishing Configuration Replaced' content: application/json: schema: @@ -152,6 +161,9 @@ paths: patch: operationId: patchContentPublishingConfiguration summary: 'Patch the Content Publishing Configuration for the specified Provisioning Session' + security: + - OAuth2: + - content-publishing-configuration_patch requestBody: description: 'A JSON representation of a Content Publishing Configuration' required: true @@ -198,6 +210,9 @@ paths: delete: operationId: destroyContentPublishingConfiguration summary: 'Destroy the current Content Publishing Configuration of the specified Provisioning Session' + security: + - OAuth2: + - content-publishing-configuration_destroy responses: '204': # No Content description: 'Destroyed Content Publishing Configuration' @@ -231,6 +246,9 @@ paths: post: operationId: purgeContentPublishingCache summary: 'Purge the content of the cache for the Content Publishing Configuration of the specified Provisioning Session' + security: + - OAuth2: + - content-publishing-configuration_purge-cache requestBody: description: 'The regular expression pattern for resources to purge from the cache' required: true @@ -280,7 +298,13 @@ components: flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + content-publishing-configuration-create: Create the Content Publishing Configuration resource + content-publishing-configuration_retrieve: Retrieve the Content Publishing Configuration resource + content-publishing-configuration_replace: Replace the Content Publishing Configuration resource + content-publishing-configuration_patch: Patch the Content Publishing Configuration resource + content-publishing-configuration_destroy: Destroy the Content Publishing Configuration resource + content-publishing-configuration_purge-cache: Purge the cache associated with the Content Publishing Configuration resource schemas: EgestConfiguration: diff --git a/TS26510_Maf_Provisioning_EdgeResources.yaml b/TS26510_Maf_Provisioning_EdgeResources.yaml index 3e52ef3..31ef6e2 100644 --- a/TS26510_Maf_Provisioning_EdgeResources.yaml +++ b/TS26510_Maf_Provisioning_EdgeResources.yaml @@ -40,7 +40,7 @@ paths: summary: 'Create an Edge Resources Configuration within the scope of the specified Provisioning Session' security: - OAuth2: - - edge-resource-configuration-create + - edge-resources-configuration_create requestBody: description: 'A JSON representation of an Edge Resources Configuration' required: true @@ -98,7 +98,7 @@ paths: summary: 'Retrieve the Edge Resources Configuration of the specified Provisioning Session' security: - OAuth2: - - edge-resource-configuration-read + - edge-resources-configuration_retrieve responses: '200': # OK description: 'Success' @@ -125,11 +125,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateEdgeResourcesConfiguration - summary: 'Update an Edge Resources Configuration for the specified Provisioning Session' + operationId: replaceEdgeResourcesConfiguration + summary: 'Replace an Edge Resources Configuration for the specified Provisioning Session' security: - OAuth2: - - edge-resource-configuration-put + - edge-resources-configuration_replace requestBody: description: 'A JSON representation of an Edge Resources Configuration' required: true @@ -139,7 +139,7 @@ paths: $ref: '#/components/schemas/EdgeResourcesConfiguration' responses: '200': # OK - description: 'Edge Resources Configuration Updated' + description: 'Edge Resources Configuration Replaced' content: application/json: schema: @@ -172,10 +172,10 @@ paths: $ref: 'TS29571_CommonData.yaml#/components/responses/default' patch: operationId: patchEdgeResourcesConfiguration - summary: 'Patch the Edge Resources Configuration for the specified Provisioning Session' + summary: 'Patch an Edge Resources Configuration for the specified Provisioning Session' security: - OAuth2: - - edge-resource-configuration-patch + - edge-resources-configuration_patch requestBody: description: 'A JSON representation of a Edge Resources Configuration' required: true @@ -224,7 +224,7 @@ paths: summary: 'Destroy the specified Edge Resources Configuration of the specified Provisioning Session' security: - OAuth2: - - edge-resource-configuration-delete + - edge-resources-configuration_destroy responses: '204': # No Content description: 'Edge Resources Configuration Destroyed' @@ -257,11 +257,11 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - edge-resource-configuration-create: Create an edge resource configuration - edge-resource-configuration-read: Read an edge resource configuration - edge-resource-configuration-put: Put an edge resource configuration - edge-resource-configuration-patch: Patch an edge resource configuration - edge-resource-configuration-delete: Delete an edge resource configuration + edge-resources-configuration_create: Create an Edge Resources Configuration resource + edge-resources-configuration_retrieve: Retrieve an Edge Resources Configuration resource + edge-resources-configuration_replace: Replace an Edge Resources Configuration resource + edge-resources-configuration_patch: Patch an Edge Resources Configuration resource + edge-resources-configuration_destroy: Delete an Edge Resources Configuration resource schemas: EdgeResourcesConfiguration: diff --git a/TS26510_Maf_Provisioning_EventDataProcessing.yaml b/TS26510_Maf_Provisioning_EventDataProcessing.yaml index b472d89..5e50492 100644 --- a/TS26510_Maf_Provisioning_EventDataProcessing.yaml +++ b/TS26510_Maf_Provisioning_EventDataProcessing.yaml @@ -40,7 +40,7 @@ paths: summary: 'Supply an Event Data Processing Configuration for the specified Provisioning Session' security: - OAuth2: - - event-data-processing-provisioning-create + - event-data-processing-configuration_create requestBody: description: 'A JSON representation of a Event Data Processing Configuration' required: true @@ -99,7 +99,7 @@ paths: summary: 'Retrieve the specified Event Data Processing Configuration of the specified Provisioning Session' security: - OAuth2: - - event-data-processing-provisioning-read + - event-data-processing-configuration_retrieve responses: '200': # OK description: 'Success' @@ -126,11 +126,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateEventDataProcessingConfiguration - summary: 'Update the specified Event Data Processing Configuration for the specified Provisioning Session' + operationId: replaceEventDataProcessingConfiguration + summary: 'Replace the specified Event Data Processing Configuration for the specified Provisioning Session' security: - OAuth2: - - event-data-processing-provisioning-put + - event-data-processing-configuration_replace requestBody: description: 'A JSON representation of a Event Data Processing Configuration' required: true @@ -140,7 +140,7 @@ paths: $ref: '#/components/schemas/EventDataProcessingConfiguration' responses: '200': # OK - description: 'Event Data Processing Configuration Updated' + description: 'Event Data Processing Configuration Replaced' content: application/json: schema: @@ -176,7 +176,7 @@ paths: summary: 'Patch the specified Event Data Processing Configuration for the specified Provisioning Session' security: - OAuth2: - - event-data-processing-provisioning-patch + - event-data-processing-configuration_patch requestBody: description: 'A JSON representation of a Event Data Processing Configuration' required: true @@ -225,7 +225,7 @@ paths: summary: 'Destroy the specified Event Data Processing Configuration of the specified Provisioning Session' security: - OAuth2: - - event-data-processing-provisioning-delete + - event-data-processing-configuration_destroy responses: '204': # No Content description: 'Event Data Processing Configuration Destroyed' @@ -256,11 +256,12 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - event-data-processing-provisioning-create: Create an event data processing provisioning - event-data-processing-provisioning-read: Read an event data processing provisioning - event-data-processing-provisioning-put: Put an event data processing provisioning - event-data-processing-provisioning-patch: Patch an event data processing provisioning - event-data-processing-provisioning-delete: Delete an event data processing provisioning + event-data-processing-configuration_create: Create an Event Data Processing Configuration resource + event-data-processing-configuration_retrieve: Retrieve an Event Data Processing Configuration resource + event-data-processing-configuration_replace: Replace an Event Data Processing Configuration resource + event-data-processing-configuration_patch: Patch an Event Data Processing Configuration resource + event-data-processing-configuration_destroy: Destroy an Event Data Processing Configuration resource + schemas: EventDataProcessingConfiguration: description: 'A representation of an Event Data Processing Configuration resource.' diff --git a/TS26510_Maf_Provisioning_MetricsReporting.yaml b/TS26510_Maf_Provisioning_MetricsReporting.yaml index bf98edc..4078077 100644 --- a/TS26510_Maf_Provisioning_MetricsReporting.yaml +++ b/TS26510_Maf_Provisioning_MetricsReporting.yaml @@ -40,7 +40,7 @@ paths: summary: 'Activate the Metrics reporting procedure for the specified Provisioning Session by providing the Metrics Reporting Configuration' security: - OAuth2: - - metrics-reporting-create + - metrics-reporting-configuraton_create requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' required: true @@ -99,7 +99,7 @@ paths: summary: 'Retrieve the specified Metrics Reporting Configuration of the specified Provisioning Session' security: - OAuth2: - - metrics-reporting-read + - metrics-reporting-configuraton_retrieve responses: '200': # OK description: 'Success' @@ -126,11 +126,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateMetricsReportingConfiguration - summary: 'Update the specified Metrics Reporting Configuration for the specified Provisioning Session' + operationId: replaceMetricsReportingConfiguration + summary: 'Replace the specified Metrics Reporting Configuration for the specified Provisioning Session' security: - OAuth2: - - metrics-reporting-put + - metrics-reporting-configuraton_replace requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' required: true @@ -140,7 +140,7 @@ paths: $ref: '#/components/schemas/MetricsReportingConfiguration' responses: '200': # OK - description: 'Metrics Reporting Configuration Updated' + description: 'Metrics Reporting Configuration Replaced' content: application/json: schema: @@ -176,7 +176,7 @@ paths: summary: 'Patch the specified Metrics Reporting Configuration for the specified Provisioning Session' security: - OAuth2: - - metrics-reporting-patch + - metrics-reporting-configuraton_patch requestBody: description: 'A JSON representation of a Metrics Reporting Configuration' required: true @@ -225,7 +225,7 @@ paths: summary: 'Destroy the specified Metrics Reporting Configuration of the specified Provisioning Session' security: - OAuth2: - - metrics-reporting-delete + - metrics-reporting-configuraton_destroy responses: '204': # No Content description: 'Metrics Reporting Configuration Destroyed' @@ -256,11 +256,11 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - metrics-reporting-create: Create a metric reporting - metrics-reporting-read: Read a metric reporting - metrics-reporting-put: Put a metric reporting - metrics-reporting-patch: Patch a metric reporting - metrics-reporting-delete: Delete a metric reporting + metrics-reporting-configuraton_create: Create a Metrics Reporting Configuration resource + metrics-reporting-configuraton_retrieve: Retrieve a Metrics Reporting Configuration resource + metrics-reporting-configuraton_replace: Replace a Metrics Reporting Configuration resource + metrics-reporting-configuraton_patch: Patch a Metrics Reporting Configuration resource + metrics-reporting-configuraton_destroy: Destroy a Metrics Reporting Configuration resource schemas: MetricsReportingConfiguration: type: object diff --git a/TS26510_Maf_Provisioning_PolicyTemplates.yaml b/TS26510_Maf_Provisioning_PolicyTemplates.yaml index 56d82f8..f4a73f1 100644 --- a/TS26510_Maf_Provisioning_PolicyTemplates.yaml +++ b/TS26510_Maf_Provisioning_PolicyTemplates.yaml @@ -40,7 +40,7 @@ paths: summary: 'Create and upload a new Policy Template for the specified Provisioning Session' security: - OAuth2: - - policy-template-create + - policy-template_create requestBody: description: 'A JSON representation of a Policy Template' required: true @@ -99,7 +99,7 @@ paths: summary: 'Retrieve a representation of an existing Policy Template in the specified Provisioning Session' security: - OAuth2: - - policy-template-read + - policy-template_retrieve responses: '200': # OK description: 'Success' @@ -126,11 +126,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updatePolicyTemplate - summary: 'Update a Policy Template for the specified Provisioning Session' + operationId: replacePolicyTemplate + summary: 'Replace a Policy Template for the specified Provisioning Session' security: - OAuth2: - - policy-template-put + - policy-template_replace requestBody: description: 'A JSON representation of a Policy Template' required: true @@ -140,7 +140,7 @@ paths: $ref: '#/components/schemas/PolicyTemplate' responses: '200': # OK - description: 'Policy Template Updated' + description: 'Policy Template Replaced' content: application/json: schema: @@ -176,7 +176,7 @@ paths: summary: 'Patch the Policy Template for the specified Provisioning Session' security: - OAuth2: - - policy-template-patch + - policy-template_patch requestBody: description: 'A JSON representation of a Policy Template' required: true @@ -224,7 +224,7 @@ paths: operationId: destroyPolicyTemplate security: - OAuth2: - - policy-template-delete + - policy-template_destroy responses: '204': # No Content description: 'Policy Template Destroyed' @@ -255,11 +255,11 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - policy-template-create: Create a policy template - policy-template-read: Read a policy template - policy-template-put: Put a policy template - policy-template-patch: Patch a policy template - policy-template-delete: Delete a policy template + policy-template_create: Create a Policy Template resource + policy-template_retrieve: Retrieve a Policy Template resource + policy-template_replace: Replace a Policy Template resource + policy-template_patch: Patch a Policy Template resource + policy-template_destroy: Destroy a Policy Template resource schemas: PolicyTemplate: diff --git a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml index 4bc8197..d7b51a3 100644 --- a/TS26510_Maf_Provisioning_ProvisioningSessions.yaml +++ b/TS26510_Maf_Provisioning_ProvisioningSessions.yaml @@ -55,7 +55,7 @@ paths: summary: 'Create a new Provisioning Session' security: - OAuth2: - - provisioning-sessions-create + - provisioning-session_create requestBody: description: 'A JSON representation of a Provisioning Session.' required: true @@ -108,7 +108,7 @@ paths: summary: 'Retrieve an existing Provisioning Session' security: - OAuth2: - - provisioning-sessions-read + - provisioning-session_retrieve responses: '200': description: 'Success' @@ -139,7 +139,7 @@ paths: summary: 'Destroy an existing Provisioning Session' security: - OAuth2: - - provisioning-sessions-delete + - provisioning-session_destroy responses: '204': # No Content description: 'Provisioning Session Destroyed' @@ -170,9 +170,9 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - provisioning-sessions-create: Create a provisioning session - provisioning-sessions-read: Read a provisioning session - provisioning-sessions-delete: Delete a provisioning session + provisioning-session_create: Create a Provisioning Session resource + provisioning-session_retrieve: Retrieve a Provisioning Session resource + provisioning-session_destroy: Destroy a Provisioning Session resource schemas: ProvisioningSession: diff --git a/TS26510_Maf_Provisioning_RealTimeCommunication.yaml b/TS26510_Maf_Provisioning_RealTimeCommunication.yaml index ab28314..0b6bf02 100755 --- a/TS26510_Maf_Provisioning_RealTimeCommunication.yaml +++ b/TS26510_Maf_Provisioning_RealTimeCommunication.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2ClientCredentials: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/rtc-configuration: @@ -38,6 +38,9 @@ paths: post: operationId: activateRealTimeCommunication summary: 'Activate the Real-Time media Communication procedure for the specified Provisioning Session by providing the Real-Time media Communication Configuration' + security: + - OAuth2: + - rtc-configuration_create requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true @@ -79,7 +82,10 @@ paths: get: operationId: retrieveRTCConfiguration summary: 'Retrieve the Real-Time media Communication Configuration of the specified Provisioning Session' - responses: + security: + - OAuth2: + - rtc-configuration_retrieve + responses: '200': # OK description: 'Success' content: @@ -105,8 +111,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateRTCConfiguration - summary: 'Update the Real-Time media Communication Configuration for the specified Provisioning Session' + operationId: replaceRTCConfiguration + summary: 'Replace the Real-Time media Communication Configuration for the specified Provisioning Session' + security: + - OAuth2: + - rtc-configuration_replace requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true @@ -150,6 +159,9 @@ paths: patch: operationId: patchRTCConfiguration summary: 'Patch the Real-Time media Communication Configuration for the specified Provisioning Session' + security: + - OAuth2: + - rtc-configuration_patch requestBody: description: 'A JSON representation of a Real-Time media Communication Configuration' required: true @@ -162,7 +174,7 @@ paths: $ref: '#/components/schemas/RTCConfiguration' responses: '200': # OK - description: 'Real-Time media Communication Configuration Updated' + description: 'Real-Time media Communication Configuration Replaced' content: application/json: schema: @@ -196,6 +208,9 @@ paths: delete: operationId: destroyRTCConfiguration summary: 'Destroy the current Real-Time media Communication Configuration of the specified Provisioning Session' + security: + - OAuth2: + - rtc-configuration_destroy responses: '204': # No Content description: 'Real-Time media Communication Configuration Destroyed' @@ -220,12 +235,17 @@ paths: components: securitySchemes: - OAuth2ClientCredentials: + OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' - scopes: {} + scopes: + rtc-configuration-create: Create the RTC Configuration resource + rtc-configuration_retrieve: Retrieve the RTC Configuration resource + rtc-configuration_replace: Replace the RTC Configuration resource + rtc-configuration_patch: Patch the RTC Configuration resource + rtc-configuration_destroy: Destroy the RTC Configuration resource schemas: RTCConfiguration: diff --git a/TS26510_Maf_Provisioning_ServerCertificates.yaml b/TS26510_Maf_Provisioning_ServerCertificates.yaml index 97c84e8..a5e4120 100644 --- a/TS26510_Maf_Provisioning_ServerCertificates.yaml +++ b/TS26510_Maf_Provisioning_ServerCertificates.yaml @@ -41,7 +41,7 @@ paths: description: 'Without the optional csr query parameter, an X.509 certificate is generated and this is returned. If the csr query parameter is present, a Certificate Signing Request is instead generated and returned, allowing the X.509 certificate to be generated by the invoker and later uploaded.' security: - OAuth2: - - certificates-csr-request + - server-certificate_create-or-reserve parameters: - in: query name: csr @@ -107,7 +107,7 @@ paths: summary: "Upload the X.509 certificate for a previously reserved Server Certificate resource" security: - OAuth2: - - certificates-upload + - server-certificate_upload requestBody: required: true content: @@ -146,7 +146,7 @@ paths: summary: 'Retrieve the X.509 certificate representation of the specified Server Certificate resource' security: - OAuth2: - - certificates-retrieve + - server-certificate_retrieve responses: '200': description: 'Success' @@ -179,7 +179,7 @@ paths: summary: 'Destroy an existing Server Certificate resource' security: - OAuth2: - - certificates-delete + - server-certificate_destroy responses: '204': # No Content description: 'Server Certificate Destroyed' @@ -212,7 +212,7 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - certificates-csr-request: Create a Certificate Signing Resource - certificates-upload: Upload a certificate - certificates-retrieve: Retrieve a certificate - certificates-delete: Delete a certificate + server-certificate_create-or-reserve: Create or reserve a Server Certificate resource + server-certificate_upload: Upload a Server Certificate resource + server-certificate_retrieve: Retrieve a Server Certificate resource + server-certificate_destroy: Destroy a Server Certificate resource diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index c8a45e4..659e9fb 100755 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -40,7 +40,7 @@ paths: summary: 'Submit a Consumption Report' security: - OAuth2: - - consumption-reporting-create + - consumption-report_submit requestBody: description: 'A Consumption Report' required: true @@ -82,12 +82,13 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - consumption-reporting-create: Create consumption report + consumption-report_submit: Submit a consumption report authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' scopes: - consumption-reporting-create: Create consumption report + consumption-report_submit: Submit a consumption report + schemas: ConsumptionReport: description: "A representation of a Consumption Report." diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 4fcbb6f..f22ad39 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -40,7 +40,7 @@ paths: summary: 'Create (and optionally upload) a new Dynamic Policy resource' security: - OAuth2: - - dynamic-policy-create + - dynamic-policy_create requestBody: description: 'An optional JSON representation of a Dynamic Policy resource' content: @@ -100,7 +100,7 @@ paths: summary: 'Retrieve an existing Dynamic Policy resource' security: - OAuth2: - - dynamic-policy-retrieve + - dynamic-policy_retrieve responses: '200': # OK description: 'Success' @@ -127,11 +127,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateDynamicPolicy - summary: 'Update an existing Dynamic Policy resource' + operationId: replaceDynamicPolicy + summary: 'Replace an existing Dynamic Policy resource' security: - OAuth2: - - dynamic-policy-replace + - dynamic-policy_replace requestBody: description: 'A replacement JSON representation of a Dynamic Policy resource' required: true @@ -141,7 +141,7 @@ paths: $ref: '#/components/schemas/DynamicPolicy' responses: '200': # OK - description: 'Dynamic Policy Updated' + description: 'Dynamic Policy Replaced' content: application/json: schema: @@ -177,7 +177,7 @@ paths: summary: 'Patch an existing Dynamic Policy resource' security: - OAuth2: - - dynamic-policy-patch + - dynamic-policy_patch requestBody: description: 'A JSON patch to a Dynamic Policy resource' required: true @@ -226,7 +226,7 @@ paths: summary: 'Destroy an existing Dynamic Policy resource' security: - OAuth2: - - dynamic-policy-destroy + - dynamic-policy_destroy responses: '204': # No Content description: 'Dynamic Policy Destroyed' @@ -257,20 +257,20 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - dynamic-policy-create: Create a Dynamic Policy resource - dynamic-policy-retrieve: Retrieve a Dynamic Policy resource - dynamic-policy-replace: Replace a Dynamic Policy resource - dynamic-policy-patch: Patch a Dynamic Policy resource - dynamic-policy-destroy: Destroy a Dynamic Policy resource + dynamic-policy_create: Create a Dynamic Policy resource + dynamic-policy_retrieve: Retrieve a Dynamic Policy resource + dynamic-policy_replace: Replace a Dynamic Policy resource + dynamic-policy_patch: Patch a Dynamic Policy resource + dynamic-policy_destroy: Destroy a Dynamic Policy resource authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' - scopes: - dynamic-policy-create: Create a Dynamic Policy resource - dynamic-policy-retrieve: Retrieve a Dynamic Policy resource - dynamic-policy-replace: Replace a Dynamic Policy resource - dynamic-policy-patch: Patch a Dynamic Policy resource - dynamic-policy-destroy: Destroy a Dynamic Policy resource + scopes: + dynamic-policy_create: Create a Dynamic Policy resource + dynamic-policy_retrieve: Retrieve a Dynamic Policy resource + dynamic-policy_replace: Replace a Dynamic Policy resource + dynamic-policy_patch: Patch a Dynamic Policy resource + dynamic-policy_destroy: Destroy a Dynamic Policy resource schemas: DynamicPolicy: diff --git a/TS26510_Maf_SessionHandling_MetricsReporting.yaml b/TS26510_Maf_SessionHandling_MetricsReporting.yaml index cdfd00e..59efcd9 100644 --- a/TS26510_Maf_SessionHandling_MetricsReporting.yaml +++ b/TS26510_Maf_SessionHandling_MetricsReporting.yaml @@ -46,7 +46,7 @@ paths: summary: 'Submit a Metrics Report' security: - OAuth2: - - metrics-reporting-create + - metrics-report_submit requestBody: description: 'A Metrics Report' required: true @@ -92,9 +92,9 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - metrics-reporting-create: Create a metrics report + metrics-report_submit: Submit a metrics report authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' - scopes: - metrics-reporting-create: Create a metrics report + scopes: + metrics-report_submit: Submit a metrics report diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index bf3f489..7192926 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -40,7 +40,7 @@ paths: summary: 'Create a new Network Assistance Session.' security: - OAuth2: - - network-assistance-create + - network-assistance-session_create requestBody: description: 'The initial parameters for the Network Assistance Session resource' content: @@ -100,7 +100,7 @@ paths: summary: 'Retrieve an existing Network Assistance Session resource' security: - OAuth2: - - network-assistance-get + - network-assistance-session_retrieve responses: '200': # OK description: 'Success' @@ -127,11 +127,11 @@ paths: default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' put: - operationId: updateNetworkAssistanceSession - summary: 'Update an existing Network Assistance Session resource' + operationId: replaceNetworkAssistanceSession + summary: 'Replace an existing Network Assistance Session resource' security: - OAuth2: - - network-assistance-put + - network-assistance-session_replace requestBody: description: 'A replacement JSON representation of a Network Assistance Session resource' required: true @@ -141,7 +141,7 @@ paths: $ref: '#/components/schemas/NetworkAssistanceSession' responses: '200': # OK - description: 'Network Assistance Session Updated' + description: 'Network Assistance Session Replaced' content: application/json: schema: @@ -177,7 +177,7 @@ paths: summary: 'Patch an existing Network Assistance Session resource' security: - OAuth2: - - network-assistance-patch + - network-assistance-session_patch requestBody: description: 'A JSON patch to a Network Assistance Session resource' required: true @@ -226,7 +226,7 @@ paths: summary: 'Destroy an existing Network Assistance Session resource' security: - OAuth2: - - network-assistance-delete + - network-assistance-session_destroy responses: '204': # No Content description: 'Network Assistance Session Destroyed' @@ -262,7 +262,7 @@ paths: summary: 'Obtain a bit rate recommendation for the next recommendation window' security: - OAuth2: - - network-assistance-getrec + - network-assistance-session_bit-rate-recommendation parameters: - name: naSessionId description: 'The resource identifier of an existing Network Assistance Session resource' @@ -309,7 +309,7 @@ paths: summary: 'Request a delivery boost' security: - OAuth2: - - network-assistance-boost + - network-assistance-session_delivery-boost parameters: - name: naSessionId description: 'The resource identifier of an existing Network Assistance Session resource' @@ -353,24 +353,25 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - network-assistance-create: Create a network assistance session - network-assistance-read: Read a network assistance session - network-assistance-put: Put a network assistance session - network-assistance-patch: Patch a network assistance session - network-assistance-delete: Delete a network assistance session - network-assistance-getrec: Obtain a bit rate recommendation - network-assistance-boost: Request a delivery boost + network-assistance-session_create: Create a Network Assistance Session resource + network-assistance-session_retrieve: Retrieve a Network Assistance Session resource + network-assistance-session_replace: Replace a Network Assistance Session resource + network-assistance-session_patch: Patch a Network Assistance Session resource + network-assistance-session_destroy: Destroy a Network Assistance Session resource + network-assistance-session_bit-rate-recommendation: Obtain a bit rate recommendation in connection with this Network Assistance Session resource + network-assistance-session_delivey-boost: Request a delivery boost in connection with this Network Assistance Session resource authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' scopes: - network-assistance-create: Create a network assistance session - network-assistance-read: Read a network assistance session - network-assistance-put: Put a network assistance session - network-assistance-patch: Patch a network assistance session - network-assistance-delete: Delete a network assistance session - network-assistance-getrec: Obtain a bit rate recommendation - network-assistance-boost: Request a delivery boost + network-assistance-session_create: Create a Network Assistance Session resource + network-assistance-session_retrieve: Retrieve a Network Assistance Session resource + network-assistance-session_replace: Replace a Network Assistance Session resource + network-assistance-session_patch: Patch a Network Assistance Session resource + network-assistance-session_destroy: Destroy a Network Assistance Session resource + network-assistance-session_bit-rate-recommendation: Obtain a bit rate recommendation in connection with this Network Assistance Session resource + network-assistance-session_delivey-boost: Request a delivery boost in connection with this Network Assistance Session resource + schemas: NetworkAssistanceSession: description: "A representation of a Network Assistance Session resource." diff --git a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml index fa085f9..04ca54e 100644 --- a/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml +++ b/TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml @@ -40,7 +40,7 @@ paths: summary: 'Retrieve the Service Access Information resource' security: - OAuth2: - - service-access-information-read + - service-access-information_retrieve responses: '200': # OK description: 'Success' @@ -75,12 +75,12 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - service-access-information-read: Read service access session + service-access-information_retrieve: Retrieve Service Access Information resource authorizationCode: authorizationUrl: '{authorizationUrl}' tokenUrl: '{tokenUrl}' scopes: - service-access-information-read: Read service access session + service-access-information-retreive: Retrieve Service Access Information resource schemas: M5MediaEntryPoint: -- GitLab From 15a97d98b86201ced642077d8e4bdaf618b3641c Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 10:49:46 +0100 Subject: [PATCH 40/48] Resolved merge conflict. --- 5gms_pro_ph2,oauth2,bbc.nppsess | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 5gms_pro_ph2,oauth2,bbc.nppsess diff --git a/5gms_pro_ph2,oauth2,bbc.nppsess b/5gms_pro_ph2,oauth2,bbc.nppsess new file mode 100755 index 0000000..f1963a9 --- /dev/null +++ b/5gms_pro_ph2,oauth2,bbc.nppsess @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + -- GitLab From 7e36835979466ce1b805669e827be4bc1194be1c Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Tue, 20 Feb 2024 16:00:23 +0000 Subject: [PATCH 41/48] Renamed security scheme as "oauth2_dynamic-policy". --- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index f22ad39..a9e7e9e 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - OAuth2: [] + - oauth2_dynamic-policy: [] paths: /provisioning-sessions/{provisioningSessionId}/dynamic-policies: @@ -251,7 +251,7 @@ paths: components: securitySchemes: - OAuth2: + oauth2_dynamic-policy: type: oauth2 flows: clientCredentials: -- GitLab From 7168256c65feb56139ca1205692071148f9aeaf0 Mon Sep 17 00:00:00 2001 From: Thorsten Date: Fri, 24 May 2024 07:10:38 +0200 Subject: [PATCH 42/48] Aligned Security schemes at Maf SessionHandling API to OAuth2 --- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index a9e7e9e..f22ad39 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -24,7 +24,7 @@ servers: security: - {} - - oauth2_dynamic-policy: [] + - OAuth2: [] paths: /provisioning-sessions/{provisioningSessionId}/dynamic-policies: @@ -251,7 +251,7 @@ paths: components: securitySchemes: - oauth2_dynamic-policy: + OAuth2: type: oauth2 flows: clientCredentials: -- GitLab From b1b09e00637b9ea16e8f961463b17d011ab5615a Mon Sep 17 00:00:00 2001 From: Thorsten Date: Fri, 24 May 2024 07:19:28 +0200 Subject: [PATCH 43/48] Aligned Maf Provisioning (M1) security scheme to OAuth2. --- TS26510_Maf_Provisioning_ContentHosting.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index 3a3c497..5437da4 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -249,6 +249,7 @@ paths: security: - OAuth2: - content-hosting-configuration_purge-cache +>>>>>>> ede732b (Aligned Maf Provisioning (M1) security scheme to OAuth2.) requestBody: description: 'The regular expression pattern for resources to purge from the cache' required: true -- GitLab From d19120a2c0d3f856f4a7bbe502e2a77e870f4677 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 11:07:46 +0100 Subject: [PATCH 44/48] Removed unwanted file. --- 5gms_pro_ph2,oauth2,bbc.nppsess | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100755 5gms_pro_ph2,oauth2,bbc.nppsess diff --git a/5gms_pro_ph2,oauth2,bbc.nppsess b/5gms_pro_ph2,oauth2,bbc.nppsess deleted file mode 100755 index f1963a9..0000000 --- a/5gms_pro_ph2,oauth2,bbc.nppsess +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - -- GitLab From 7223df426b3ad642c8b8a715ec81eed2a6eee453 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 11:16:35 +0100 Subject: [PATCH 45/48] Fixed typo. --- TS26510_Maf_Provisioning_RealTimeCommunication.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TS26510_Maf_Provisioning_RealTimeCommunication.yaml b/TS26510_Maf_Provisioning_RealTimeCommunication.yaml index 0b6bf02..e418dc1 100755 --- a/TS26510_Maf_Provisioning_RealTimeCommunication.yaml +++ b/TS26510_Maf_Provisioning_RealTimeCommunication.yaml @@ -241,7 +241,7 @@ components: clientCredentials: tokenUrl: '{tokenUrl}' scopes: - rtc-configuration-create: Create the RTC Configuration resource + rtc-configuration_create: Create the RTC Configuration resource rtc-configuration_retrieve: Retrieve the RTC Configuration resource rtc-configuration_replace: Replace the RTC Configuration resource rtc-configuration_patch: Patch the RTC Configuration resource -- GitLab From 08b2c2454108fc09a50f2fde1bf48f0e107d0b50 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 11:17:52 +0100 Subject: [PATCH 46/48] Fixed indentation error. --- TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml index 47fa3e8..82ca587 100644 --- a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml +++ b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml @@ -131,7 +131,7 @@ paths: security: - OAuth2: - content-preparation-template_replace - description: 'A Content Preparation Template of any type' + description: 'A Content Preparation Template of any type' required: true content: '*/*': -- GitLab From effeccca47f1bb0c27525252d265f225cb6d72ef Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 11:19:05 +0100 Subject: [PATCH 47/48] Removed spurious merge conflict line. --- TS26510_Maf_Provisioning_ContentHosting.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/TS26510_Maf_Provisioning_ContentHosting.yaml b/TS26510_Maf_Provisioning_ContentHosting.yaml index 5437da4..3a3c497 100644 --- a/TS26510_Maf_Provisioning_ContentHosting.yaml +++ b/TS26510_Maf_Provisioning_ContentHosting.yaml @@ -249,7 +249,6 @@ paths: security: - OAuth2: - content-hosting-configuration_purge-cache ->>>>>>> ede732b (Aligned Maf Provisioning (M1) security scheme to OAuth2.) requestBody: description: 'The regular expression pattern for resources to purge from the cache' required: true -- GitLab From 2f2c6ae004b0ad1b0eb6d81286b7daa3008b6eb3 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Thu, 30 May 2024 11:24:19 +0100 Subject: [PATCH 48/48] Restored accidentally deleted line. --- TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml index 82ca587..c13bf17 100644 --- a/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml +++ b/TS26510_Maf_Provisioning_ContentPreparationTemplates.yaml @@ -131,7 +131,8 @@ paths: security: - OAuth2: - content-preparation-template_replace - description: 'A Content Preparation Template of any type' + requestBody: + description: 'A Content Preparation Template of any type' required: true content: '*/*': -- GitLab