Loading TS26512_CommonData.yaml 0 → 100644 +179 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: 5GMS Common Data Types version: 1.0.0 description: | 5GMS Common Data Types © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: 5GMS Common Data Types description: '5G Media Streaming: Common Data Types' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' paths: {} components: schemas: ################################# # Clause 6.4.2: Simple data types ################################# ResourceId: type: string description: String chosen by the 5GMS AF to serve as an identifier in a resource URI. Percentage: type: number minimum: 0.0 maximum: 100.0 #DurationSec is defined in TS29571_CommonData #DateTime is defined in TS29571_CommonData #Uri is defined in TS29571_CommonData Url: type: string format: uri description: Uniform Resource Locator, comforming with the URI Generic Syntax specified in IETF RFC 3986. ##################################### # Clause 6.4.3: Structured data types ##################################### IpPacketFilterSet: type: object required: - direction properties: srcIp: type: string dstIp: type: string protocol: type: integer srcPort: type: integer dstPort: type: integer toSTc: type: string flowLabel: type: integer spi: type: integer direction: type: string ServiceDataFlowDescription: type: object properties: flowDescription: $ref: '#/components/schemas/IpPacketFilterSet' domainName: type: string M5QoSSpecification: type: object required: - marBwDlBitRate - marBwUlBitRate - mirBwDlBitRate - mirBwUlBitRate properties: marBwDlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' marBwUlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' minDesBwDlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' minDesBwUlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' mirBwDlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' mirBwUlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' desLatency: type: integer minimum: 0 desLoss: type: integer minimum: 0 M1QoSSpecification: type: object properties: qosReference: type: string maxBtrUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxBtrDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxAuthBtrUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxAuthBtrDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' defPacketLossRateDl: type: integer minimum: 0 defPacketLossRateUl: type: integer minimum: 0 ChargingSpecification: type: object properties: sponId: type: string sponStatus: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/SponsoringStatus' gpsi: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' TypedLocation: type: object required: - locationIdentifierType - location properties: locationIdentifierType: $ref: '#/components/schemas/CellIdentifierType' location: type: string OperationSuccessResponse: type: object required: - success properties: success: type: boolean reason: type: string CellIdentifierType: anyOf: - type: string enum: [CGI, ECGI, NCGI] - 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. SdfMethod: anyOf: - type: string enum: [5_TUPLE, 2_TUPLE, TYPE_OF_SERVICE_MARKING, FLOW_LABEL, DOMAIN_NAME] - 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. ProvisioningSessionType: anyOf: - type: string enum: [DOWNLINK, UPLINK] - 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. TS26512_M1_ConsumptionReportingProvisioning.yaml 0 → 100644 +114 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ConsumptionReportingProvisioning version: 1.0.0 description: | 5GMS AF M1 Consumption Reporting Provisioning API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ConsumptionReportingProvisioning description: '5G Media Streaming: Provisioning (M1) APIs: Consumption Reporting Provisioning' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/consumption-reporting-configuration: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: activateConsumptionReporting summary: 'Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration' requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' responses: '201': description: 'Consumption Reporting Configuration Created' headers: Location: description: 'URL of the newly created Consumption Reporting Configuration (same as request URL).' required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' get: operationId: retrieveConsumptionReportingConfiguration summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session' responses: '200': description: 'Success' content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' put: operationId: updateConsumptionReportingConfiguration summary: 'Update the Consumption Reporting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' responses: '204': description: 'Updated Consumption Reporting Configuration' '404': description: 'Not Found' patch: operationId: patchConsumptionReportingConfiguration summary: 'Patch the Consumption Reporting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' application/json-patch+json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' responses: '200': description: 'Patched Consumption Reporting Configuration' content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' '404': description: 'Not Found' delete: operationId: destroyConsumptionReportingConfiguration summary: 'Destroy the current Consumption Reporting Configuration of the specified Provisioning Session' responses: '204': description: 'Destroyed Consumption Reporting Configuration' '404': description: 'Not Found' components: schemas: ConsumptionReportingConfiguration: type: object properties: reportingInterval: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' samplePercentage: $ref: 'TS26512_CommonData.yaml#/components/schemas/Percentage' locationReporting: type: boolean TS26512_M1_ContentHostingProvisioning.yaml 0 → 100644 +252 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ContentHostingProvisioning version: 1.0.0 description: | 5GMS AF M1 Content Hosting Provisioning API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ContentHostingProvisioning description: '5G Media Streaming: Provisioning (M1) APIs: Content Hosting Provisioning' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: createContentHostingConfiguration summary: 'Create (and optionally upload) the Content Hosting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' responses: '201': description: 'Content Hosting Configuration Created' headers: Location: description: 'URL of the newly created Content Hosting Configuration (same as request URL).' required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' get: operationId: retrieveContentHostingConfiguration summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session' responses: '200': description: 'Success' content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' '404': description: 'Not Found' put: operationId: updateContentHostingConfiguration summary: 'Update the Content Hosting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' responses: '204': description: 'Updated Content Hosting Configuration' '404': description: 'Not Found' patch: operationId: patchContentHostingConfiguration summary: 'Patch the Content Hosting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' application/json-patch+json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' responses: '200': description: 'Patched Content Hosting Configuration' content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' '404': description: 'Not Found' delete: operationId: destroyContentHostingConfiguration summary: 'Destroy the current Content Hosting Configuration of the specified Provisioning Session' responses: '204': description: 'Destroyed Content Hosting Configuration' '404': description: 'Not Found' /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration/purge: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: A unique identifier of the Provisioning post: operationId: purgeContentHostingCache summary: 'Purge the content of the cache for the Content Hosting 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: 'Keyword' type: string value: description: 'The regular expression' type: string responses: '200': description: 'Content Purged' components: schemas: IngestConfiguration: type: object properties: path: type: string pull: type: boolean protocol: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' entryPoint: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' PathRewriteRule: type: object required: - requestPattern - mappedPath properties: requestPattern: type: string mappedPath: type: string CachingConfiguration: type: object properties: urlPatternFilter: type: string CachingDirectives: type: object required: - urlPatternFilter - noCache properties: statusCodeFilters: type: array items: type: integer noCache: type: boolean maxAge: type: integer format: int32 DistributionConfiguration: type: object required: - canonicalDomainName - domainNameAlias properties: contentPreparationTemplateId: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' canonicalDomainName: type: string domainNameAlias: type: string pathRewriteRules: type: array items: $ref: '#/components/schemas/PathRewriteRule' cachingConfigurations: type: array items: $ref: '#/components/schemas/CachingConfiguration' GeoFencing: type: object required: - locatorType - locators properties: locatorType: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' locators: type: array items: type: string description: 'Format of individual locators depends on the locatorType.' minItems: 1 UrlSignature: type: object required: - urlPattern - tokenName - passphraseName - passphrase - tokenExpiryName - useIPAddress properties: urlPattern: type: string tokenName: type: string passphraseName: type: string passphrase: type: string tokenExpiryName: type: string useIPAddress: type: boolean ipAddressName: type: string certificateId: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' # Schema for the resource itself ContentHostingConfiguration: type: object required: - name - ingestConfiguration - distributionConfigurations properties: name: type: string ingestConfiguration: $ref: '#/components/schemas/IngestConfiguration' distributionConfigurations: type: array items: $ref: '#/components/schemas/DistributionConfiguration' TS26512_M1_ContentPreparationTemplatesProvisioning.yaml 0 → 100644 +117 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ContentPreparationTemplatesProvisioning version: 1.0.0 description: | 5GMS AF M1 Content Preparation Templates Provisioning API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ContentPreparationTemplatesProvisioning description: '5G Media Streaming: Provisioning (M1) APIs: Content Preparation Templates Provisioning' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/content-preparation-templates: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: createContentPreparationTemplate summary: 'Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session' requestBody: description: 'A Content Preparation Template of any type' required: true content: '*/*': schema: type: string responses: '201': description: 'Content Preparation Template Created' headers: Location: description: 'URL of the newly created Content Preparation Template.' required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' /provisioning-sessions/{provisioningSessionId}/content-preparation-templates/{contentPreparationTemplateId}: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' - name: contentPreparationTemplateId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Content Preparation Template.' get: operationId: retrieveContentPreparationTemplate summary: 'Retrieve the specified Content Preparation Template of the specified Provisioning Session' responses: '200': description: 'Success' content: '*/*': schema: type: string put: operationId: updateContentPreparationTemplate summary: 'Update the specified Content Preparation Template for the specified Provisioning Session' requestBody: description: 'A Content Preparation Template of any type' required: true content: '*/*': schema: type: string responses: '204': description: 'Updated Content Preparation Template' '404': description: 'Not Found' patch: operationId: patchContentPreparationTemplate summary: 'Patch the specified Content Preparation Template for the specified Provisioning Session' requestBody: description: 'A Content Preparation Template patch of any type' required: true content: application/merge-patch+json: schema: type: string application/json-patch+json: schema: type: string responses: '200': description: 'Patched Content Preparation Templates' content: '*/*': schema: type: string '404': description: 'Not Found' delete: operationId: destroyContentPreparationTemplate summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session' responses: '204': description: 'Destroyed Content Preparation Template' '404': description: 'Not Found' TS26512_M1_ContentProtocolsDiscovery.yaml 0 → 100644 +68 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ContentProtocolsDiscovery version: 1.0.0 description: | 5GMS AF M1 Content Protocols Discovery API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ContentDiscovery description: '5G Media Streaming: Provisioning (M1) APIs: Content Protocols Discovery' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/protocols: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' get: operationId: retrieveContentProtocols summary: 'Retrieve the set of Content Protocols supported by the specified Provisioning Session' responses: '200': description: 'Success' content: application/json: schema: $ref: '#/components/schemas/ContentProtocols' components: schemas: ContentProtocolDescriptor: type: object required: - termIdentifier properties: termIdentifier: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' descriptionLocator: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' ContentProtocols: type: object properties: downlinkIngestProtocols: type: array items: $ref: '#/components/schemas/ContentProtocolDescriptor' minItems: 1 uplinkEgestProtocols: type: array items: $ref: '#/components/schemas/ContentProtocolDescriptor' minItems: 1 geoFencingLocatorTypes: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' minItems: 1 Loading
TS26512_CommonData.yaml 0 → 100644 +179 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: 5GMS Common Data Types version: 1.0.0 description: | 5GMS Common Data Types © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: 5GMS Common Data Types description: '5G Media Streaming: Common Data Types' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' paths: {} components: schemas: ################################# # Clause 6.4.2: Simple data types ################################# ResourceId: type: string description: String chosen by the 5GMS AF to serve as an identifier in a resource URI. Percentage: type: number minimum: 0.0 maximum: 100.0 #DurationSec is defined in TS29571_CommonData #DateTime is defined in TS29571_CommonData #Uri is defined in TS29571_CommonData Url: type: string format: uri description: Uniform Resource Locator, comforming with the URI Generic Syntax specified in IETF RFC 3986. ##################################### # Clause 6.4.3: Structured data types ##################################### IpPacketFilterSet: type: object required: - direction properties: srcIp: type: string dstIp: type: string protocol: type: integer srcPort: type: integer dstPort: type: integer toSTc: type: string flowLabel: type: integer spi: type: integer direction: type: string ServiceDataFlowDescription: type: object properties: flowDescription: $ref: '#/components/schemas/IpPacketFilterSet' domainName: type: string M5QoSSpecification: type: object required: - marBwDlBitRate - marBwUlBitRate - mirBwDlBitRate - mirBwUlBitRate properties: marBwDlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' marBwUlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' minDesBwDlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' minDesBwUlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' mirBwDlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' mirBwUlBitRate: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' desLatency: type: integer minimum: 0 desLoss: type: integer minimum: 0 M1QoSSpecification: type: object properties: qosReference: type: string maxBtrUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxBtrDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxAuthBtrUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' maxAuthBtrDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' defPacketLossRateDl: type: integer minimum: 0 defPacketLossRateUl: type: integer minimum: 0 ChargingSpecification: type: object properties: sponId: type: string sponStatus: $ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/SponsoringStatus' gpsi: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' TypedLocation: type: object required: - locationIdentifierType - location properties: locationIdentifierType: $ref: '#/components/schemas/CellIdentifierType' location: type: string OperationSuccessResponse: type: object required: - success properties: success: type: boolean reason: type: string CellIdentifierType: anyOf: - type: string enum: [CGI, ECGI, NCGI] - 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. SdfMethod: anyOf: - type: string enum: [5_TUPLE, 2_TUPLE, TYPE_OF_SERVICE_MARKING, FLOW_LABEL, DOMAIN_NAME] - 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. ProvisioningSessionType: anyOf: - type: string enum: [DOWNLINK, UPLINK] - 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.
TS26512_M1_ConsumptionReportingProvisioning.yaml 0 → 100644 +114 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ConsumptionReportingProvisioning version: 1.0.0 description: | 5GMS AF M1 Consumption Reporting Provisioning API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ConsumptionReportingProvisioning description: '5G Media Streaming: Provisioning (M1) APIs: Consumption Reporting Provisioning' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/consumption-reporting-configuration: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: activateConsumptionReporting summary: 'Activate the consumption reporting procedure for the specified Provisioning Session by providing the Consumption Reporting Configuration' requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' responses: '201': description: 'Consumption Reporting Configuration Created' headers: Location: description: 'URL of the newly created Consumption Reporting Configuration (same as request URL).' required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' get: operationId: retrieveConsumptionReportingConfiguration summary: 'Retrieve the Consumption Reporting Configuration of the specified Provisioning Session' responses: '200': description: 'Success' content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' put: operationId: updateConsumptionReportingConfiguration summary: 'Update the Consumption Reporting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' responses: '204': description: 'Updated Consumption Reporting Configuration' '404': description: 'Not Found' patch: operationId: patchConsumptionReportingConfiguration summary: 'Patch the Consumption Reporting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Consumption Reporting Configuration' required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' application/json-patch+json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' responses: '200': description: 'Patched Consumption Reporting Configuration' content: application/json: schema: $ref: '#/components/schemas/ConsumptionReportingConfiguration' '404': description: 'Not Found' delete: operationId: destroyConsumptionReportingConfiguration summary: 'Destroy the current Consumption Reporting Configuration of the specified Provisioning Session' responses: '204': description: 'Destroyed Consumption Reporting Configuration' '404': description: 'Not Found' components: schemas: ConsumptionReportingConfiguration: type: object properties: reportingInterval: $ref: 'TS29571_CommonData.yaml#/components/schemas/DurationSec' samplePercentage: $ref: 'TS26512_CommonData.yaml#/components/schemas/Percentage' locationReporting: type: boolean
TS26512_M1_ContentHostingProvisioning.yaml 0 → 100644 +252 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ContentHostingProvisioning version: 1.0.0 description: | 5GMS AF M1 Content Hosting Provisioning API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ContentHostingProvisioning description: '5G Media Streaming: Provisioning (M1) APIs: Content Hosting Provisioning' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: createContentHostingConfiguration summary: 'Create (and optionally upload) the Content Hosting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' responses: '201': description: 'Content Hosting Configuration Created' headers: Location: description: 'URL of the newly created Content Hosting Configuration (same as request URL).' required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' get: operationId: retrieveContentHostingConfiguration summary: 'Retrieve the Content Hosting Configuration of the specified Provisioning Session' responses: '200': description: 'Success' content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' '404': description: 'Not Found' put: operationId: updateContentHostingConfiguration summary: 'Update the Content Hosting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' responses: '204': description: 'Updated Content Hosting Configuration' '404': description: 'Not Found' patch: operationId: patchContentHostingConfiguration summary: 'Patch the Content Hosting Configuration for the specified Provisioning Session' requestBody: description: 'A JSON representation of a Content Hosting Configuration' required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' application/json-patch+json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' responses: '200': description: 'Patched Content Hosting Configuration' content: application/json: schema: $ref: '#/components/schemas/ContentHostingConfiguration' '404': description: 'Not Found' delete: operationId: destroyContentHostingConfiguration summary: 'Destroy the current Content Hosting Configuration of the specified Provisioning Session' responses: '204': description: 'Destroyed Content Hosting Configuration' '404': description: 'Not Found' /provisioning-sessions/{provisioningSessionId}/content-hosting-configuration/purge: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: A unique identifier of the Provisioning post: operationId: purgeContentHostingCache summary: 'Purge the content of the cache for the Content Hosting 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: 'Keyword' type: string value: description: 'The regular expression' type: string responses: '200': description: 'Content Purged' components: schemas: IngestConfiguration: type: object properties: path: type: string pull: type: boolean protocol: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' entryPoint: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' PathRewriteRule: type: object required: - requestPattern - mappedPath properties: requestPattern: type: string mappedPath: type: string CachingConfiguration: type: object properties: urlPatternFilter: type: string CachingDirectives: type: object required: - urlPatternFilter - noCache properties: statusCodeFilters: type: array items: type: integer noCache: type: boolean maxAge: type: integer format: int32 DistributionConfiguration: type: object required: - canonicalDomainName - domainNameAlias properties: contentPreparationTemplateId: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' canonicalDomainName: type: string domainNameAlias: type: string pathRewriteRules: type: array items: $ref: '#/components/schemas/PathRewriteRule' cachingConfigurations: type: array items: $ref: '#/components/schemas/CachingConfiguration' GeoFencing: type: object required: - locatorType - locators properties: locatorType: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' locators: type: array items: type: string description: 'Format of individual locators depends on the locatorType.' minItems: 1 UrlSignature: type: object required: - urlPattern - tokenName - passphraseName - passphrase - tokenExpiryName - useIPAddress properties: urlPattern: type: string tokenName: type: string passphraseName: type: string passphrase: type: string tokenExpiryName: type: string useIPAddress: type: boolean ipAddressName: type: string certificateId: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' # Schema for the resource itself ContentHostingConfiguration: type: object required: - name - ingestConfiguration - distributionConfigurations properties: name: type: string ingestConfiguration: $ref: '#/components/schemas/IngestConfiguration' distributionConfigurations: type: array items: $ref: '#/components/schemas/DistributionConfiguration'
TS26512_M1_ContentPreparationTemplatesProvisioning.yaml 0 → 100644 +117 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ContentPreparationTemplatesProvisioning version: 1.0.0 description: | 5GMS AF M1 Content Preparation Templates Provisioning API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ContentPreparationTemplatesProvisioning description: '5G Media Streaming: Provisioning (M1) APIs: Content Preparation Templates Provisioning' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/content-preparation-templates: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' post: operationId: createContentPreparationTemplate summary: 'Create (and optionally upload) a new Content Preparation Template for the specified Provisioning Session' requestBody: description: 'A Content Preparation Template of any type' required: true content: '*/*': schema: type: string responses: '201': description: 'Content Preparation Template Created' headers: Location: description: 'URL of the newly created Content Preparation Template.' required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' /provisioning-sessions/{provisioningSessionId}/content-preparation-templates/{contentPreparationTemplateId}: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' - name: contentPreparationTemplateId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Content Preparation Template.' get: operationId: retrieveContentPreparationTemplate summary: 'Retrieve the specified Content Preparation Template of the specified Provisioning Session' responses: '200': description: 'Success' content: '*/*': schema: type: string put: operationId: updateContentPreparationTemplate summary: 'Update the specified Content Preparation Template for the specified Provisioning Session' requestBody: description: 'A Content Preparation Template of any type' required: true content: '*/*': schema: type: string responses: '204': description: 'Updated Content Preparation Template' '404': description: 'Not Found' patch: operationId: patchContentPreparationTemplate summary: 'Patch the specified Content Preparation Template for the specified Provisioning Session' requestBody: description: 'A Content Preparation Template patch of any type' required: true content: application/merge-patch+json: schema: type: string application/json-patch+json: schema: type: string responses: '200': description: 'Patched Content Preparation Templates' content: '*/*': schema: type: string '404': description: 'Not Found' delete: operationId: destroyContentPreparationTemplate summary: 'Destroy the specified Content Preparation Template of the specified Provisioning Session' responses: '204': description: 'Destroyed Content Preparation Template' '404': description: 'Not Found'
TS26512_M1_ContentProtocolsDiscovery.yaml 0 → 100644 +68 −0 Original line number Diff line number Diff line openapi: 3.0.0 info: title: M1_ContentProtocolsDiscovery version: 1.0.0 description: | 5GMS AF M1 Content Protocols Discovery API © 2021, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. tags: - name: M1_ContentDiscovery description: '5G Media Streaming: Provisioning (M1) APIs: Content Protocols Discovery' externalDocs: description: 'TS 26.512 V16.2.0; 5G Media Streaming (5GMS); Protocols' url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/' servers: - url: '{apiRoot}/3gpp-m1/v1' variables: apiRoot: default: https://example.com description: See 3GPP TS 29.512 clause 6.1. paths: /provisioning-sessions/{provisioningSessionId}/protocols: parameters: - name: provisioningSessionId in: path required: true schema: $ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId' description: 'The resource identifier of an existing Provisioning Session.' get: operationId: retrieveContentProtocols summary: 'Retrieve the set of Content Protocols supported by the specified Provisioning Session' responses: '200': description: 'Success' content: application/json: schema: $ref: '#/components/schemas/ContentProtocols' components: schemas: ContentProtocolDescriptor: type: object required: - termIdentifier properties: termIdentifier: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' descriptionLocator: $ref: 'TS26512_CommonData.yaml#/components/schemas/Url' ContentProtocols: type: object properties: downlinkIngestProtocols: type: array items: $ref: '#/components/schemas/ContentProtocolDescriptor' minItems: 1 uplinkEgestProtocols: type: array items: $ref: '#/components/schemas/ContentProtocolDescriptor' minItems: 1 geoFencingLocatorTypes: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' minItems: 1