forked from jdegre/5GC_APIs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TS26512_M1_PolicyTemplatesProvisioning.yaml
171 lines (170 loc) · 5.92 KB
/
TS26512_M1_PolicyTemplatesProvisioning.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
openapi: 3.0.0
info:
title: M1_PolicyTemplatesProvisioning
version: 2.0.0
description: |
5GMS AF M1 Policy Templates Provisioning API
© 2022, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
tags:
- name: M1_PolicyTemplatesProvisioning
description: '5G Media Streaming: Provisioning (M1) APIs: Policy Templates Provisioning'
externalDocs:
description: 'TS 26.512 V17.2.0; 5G Media Streaming (5GMS); Protocols'
url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
servers:
- url: '{apiRoot}/3gpp-m1/v2'
variables:
apiRoot:
default: https://example.com
description: See 3GPP TS 29.512 clause 6.1.
paths:
/provisioning-sessions/{provisioningSessionId}/policy-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: createPolicyTemplate
summary: 'Create (and optionally upload) a new Policy Template'
requestBody:
description: 'A JSON representation of a Policy Template'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyTemplate'
responses:
'201':
description: 'Policy Template Created'
headers:
Location:
description: 'URL of the newly created Policy Template resource.'
required: true
schema:
$ref: 'TS26512_CommonData.yaml#/components/schemas/Url'
/provisioning-sessions/{provisioningSessionId}/policy-templates/{policyTemplateId}:
parameters:
- name: provisioningSessionId
in: path
required: true
schema:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
description: 'A unique identifier of the Provisioning Session.'
- name: policyTemplateId
in: path
required: true
schema:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
description: 'A resource identifier of a Policy Template.'
get:
operationId: retrievePolicyTemplate
summary: 'Retrieve a representation of an existing Policy Template in the specified Provisioning Session'
responses:
'200':
description: 'Success'
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyTemplate'
'404':
description: 'Not Found'
put:
operationId: updatePolicyTemplate
summary: 'Update a Policy Template for the specified Provisioning Session'
requestBody:
description: 'A JSON representation of a Policy Template'
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyTemplate'
responses:
'204':
description: 'Updated Policy Template'
'404':
description: 'Not Found'
patch:
operationId: patchPolicyTemplate
summary: 'Patch the Policy Template for the specified Provisioning Session'
requestBody:
description: 'A JSON representation of a Policy Template'
required: true
content:
application/merge-patch+json:
schema:
$ref: '#/components/schemas/PolicyTemplate'
application/json-patch+json:
schema:
$ref: '#/components/schemas/PolicyTemplate'
responses:
'200':
description: 'Patched Content Hosting Configuration'
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyTemplate'
'404':
description: 'Not Found'
delete:
operationId: destroyPolicyTemplate
responses:
'204':
description: 'Destroyed Policy Template'
'404':
description: 'Not Found'
components:
schemas:
PolicyTemplate:
type: object
description: "A representation of a Policy Template resource."
required:
- policyTemplateId
- state
- apiEndPoint
- apiType
- externalReference
- applicationSessionContext
properties:
policyTemplateId:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
state:
anyOf:
- type: string
enum: [PENDING, INVALID, READY, SUSPENDED]
- 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.
apiEndPoint:
type: string
apiType:
anyOf:
- type: string
enum: [N5, N33]
- 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.
externalReference:
type: string
qoSSpecification:
$ref: 'TS26512_CommonData.yaml#/components/schemas/M1QoSSpecification'
applicationSessionContext:
type: object
properties:
afAppId:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AfAppId'
sliceInfo:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
dnn:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
aspId:
$ref: 'TS29514_Npcf_PolicyAuthorization.yaml#/components/schemas/AspId'
chargingSpecification:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ChargingSpecification'