From 72cf46da0462b39db963a47e2f3ccbb08608c3b9 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Tue, 23 Jan 2024 12:25:43 +0000 Subject: [PATCH 1/2] Refactored API paths to prepend Provisioning Session ID. --- ..._SessionHandling_ConsumptionReporting.yaml | 2 +- ...510_Maf_SessionHandling_DynamicPolicy.yaml | 17 +++++++-- ..._Maf_SessionHandling_MetricsReporting.yaml | 2 +- ...Maf_SessionHandling_NetworkAssistance.yaml | 36 ++++++++++++++++--- TS26512_Maf_SessionHandling.yaml | 32 ++++++++--------- 5 files changed, 65 insertions(+), 24 deletions(-) diff --git a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml index 5e61a91..5d6a4a7 100644 --- a/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml +++ b/TS26510_Maf_SessionHandling_ConsumptionReporting.yaml @@ -28,7 +28,7 @@ security: - OAuth2AuthorizationCode: [] 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 78741cd..83fc8bf 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -28,7 +28,14 @@ security: - OAuth2AuthorizationCode: [] 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' @@ -72,8 +79,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 diff --git a/TS26510_Maf_SessionHandling_MetricsReporting.yaml b/TS26510_Maf_SessionHandling_MetricsReporting.yaml index 6f75bea..1796433 100644 --- a/TS26510_Maf_SessionHandling_MetricsReporting.yaml +++ b/TS26510_Maf_SessionHandling_MetricsReporting.yaml @@ -28,7 +28,7 @@ security: - OAuth2AuthorizationCode: [] 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 643b06d..824c375 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -28,7 +28,14 @@ security: - OAuth2AuthorizationCode: [] 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.' @@ -72,8 +79,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 @@ -222,7 +235,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' @@ -258,7 +278,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' diff --git a/TS26512_Maf_SessionHandling.yaml b/TS26512_Maf_SessionHandling.yaml index 47b79d9..5449b7d 100755 --- a/TS26512_Maf_SessionHandling.yaml +++ b/TS26512_Maf_SessionHandling.yaml @@ -49,25 +49,25 @@ paths: $ref: 'TS26510_Maf_SessionHandling_ServiceAccessInformation.yaml#/paths/~1service-access-information~1%7bprovisioningSessionId%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 9985974a11373f65561d1123c669f1f7a63d6e50 Mon Sep 17 00:00:00 2001 From: Richard Bradbury Date: Tue, 23 Jan 2024 13:45:33 +0000 Subject: [PATCH 2/2] Marked provisioningSessionId property as readOnly now that the input value is provided in the API path. --- TS26510_Maf_SessionHandling_DynamicPolicy.yaml | 4 +++- TS26510_Maf_SessionHandling_NetworkAssistance.yaml | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml index 83fc8bf..3d8aa35 100644 --- a/TS26510_Maf_SessionHandling_DynamicPolicy.yaml +++ b/TS26510_Maf_SessionHandling_DynamicPolicy.yaml @@ -267,7 +267,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' policyTemplateId: $ref: 'TS26510_CommonData.yaml#/components/schemas/ResourceId' serviceDataFlowDescriptions: diff --git a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml index 824c375..ad7b231 100644 --- a/TS26510_Maf_SessionHandling_NetworkAssistance.yaml +++ b/TS26510_Maf_SessionHandling_NetworkAssistance.yaml @@ -356,7 +356,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' serviceDataFlowDescriptions: type: array items: -- GitLab