Newer
Older
openapi: 3.0.2
title: SOL003 - VNF Lifecycle Operation Granting interface
description: |
SOL003 - VNF Lifecycle Operation Granting interface
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to. In case of
discrepancies the published ETSI Group Specification takes precedence.
Giacomo Bernini
committed
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
Michele Carignani
committed
externalDocs:
description: ETSI GS NFV-SOL 003 V3.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.07.01_60/gs_NFV-SOL003v030701p.pdf
Michele Carignani
committed
servers:
- url: http://127.0.0.1/grant/v1
- url: https://127.0.0.1/grant/v1
Giacomo Bernini
committed
###############################################################################
# API Versions #
###############################################################################
/api_versions:
Giacomo Bernini
committed
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# Resource: Grants #
###############################################################################
description: |
The POST method requests a grant for a particular VNF lifecycle operation. See clause 9.4.2.3.1.
- $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
requestBody:
$ref: '#/components/requestBodies/GrantRequest'
$ref: '#/components/responses/Grants.Post.201'
$ref: '#/components/responses/Grants.Post.202'
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
$ref: '#/components/responses/Grants.Post.403'
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
###############################################################################
# Resource: Individual grant #
###############################################################################
/grants/{grantId}:
- $ref: '#/components/parameters/GrantId'
description: |
The GET method reads a grant. See clause 9.4.3.3.2.
- $ref: ../../components/SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL003_params.yaml#/components/parameters/Version
$ref: '#/components/responses/IndividualGrant.Get.200'
$ref: '#/components/responses/IndividualGrant.Get.202'
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/400"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/401"
$ref: '#/components/responses/IndividualGrant.Get.403'
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/404"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/405"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/406"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/422"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/500"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/503"
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/504"
components:
parameters:
GrantId:
name: grantId
in: path
description: |
Identifier of the grant.
This identifier can be retrieved from the resource referenced by the
"Location" HTTP header in the response to a POST request granting a
new VNF lifecycle operation. It can also be retrieved from the "id"
attribute in the payload body of that response.
required: true
style: simple
explode: false
schema:
type: string
requestBodies:
GrantRequest:
content:
application/json:
schema:
$ref: "definitions/SOL003VNFLifecycleOperationGranting_def.yaml#/definitions/GrantRequest"
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
172
173
174
175
176
required: true
responses:
Grants.Post.201:
description: |
201 CREATED
Shall be returned when the grant has been created successfully (synchronous mode).
A representation of the created "Individual grant" resource shall be returned in the response body.
The HTTP response shall include a "Location" HTTP header that indicates the URI of the "Individual grant"
resource just created.
headers:
Location:
description: |
The resource URI of the created subscription resource.
style: simple
explode: false
schema:
type: string
format: url
WWW-Authenticate:
description: |
Challenge if the corresponding HTTP request has not provided authorization, or error details if the
corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
type: string
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "definitions/SOL003VNFLifecycleOperationGranting_def.yaml#/definitions/Grant"
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
Grants.Post.202:
description: |
202 ACCEPTED
Shall be returned when the request has been accepted for processing
and it is expected to take some time to create the grant (asynchronous mode).
The response body shall be empty.
The HTTP response shall include a "Location" HTTP header that indicates the URI
of the "Individual grant" resource that will be created once the granting decision has been made.
headers:
Location:
description: |
The resource URI of the created subscription resource.
style: simple
explode: false
schema:
type: string
format: url
WWW-Authenticate:
description: |
Challenge if the corresponding HTTP request has not provided authorization, or error details if the
corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
type: string
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
Grants.Post.403:
description: |
403 FORBIDDEN
Shall be returned upon the following error: The grant
has been rejected.
A ProblemDetails structure shall be included in the
response to provide more details about the rejection
in the "details" attribute.
headers:
WWW-Authenticate:
description: |
Challenge if the corresponding HTTP request has not provided authorization, or error details if the
corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
type: string
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
Content-Type:
description: |
The MIME type of the body of the response. Reference: IETF RFC 7231
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "../General_Definitions/SOL003_def.yaml#/definitions/ProblemDetails"
IndividualGrant.Get.200:
description: |
200 OK
Shall be returned when the grant has been read successfully.
A representation of the "Individual grant" resource shall be returned in the response body.
headers:
WWW-Authenticate:
description: |
Challenge if the corresponding HTTP request has not provided authorization, or error details if the
corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
type: string
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "definitions/SOL003VNFLifecycleOperationGranting_def.yaml#/definitions/Grant"
IndividualGrant.Get.202:
description: |
202 ACCEPTED
Shall be returned when the process of creating the grant is ongoing, no grant is available yet.
The response body shall be empty.
headers:
WWW-Authenticate:
description: |
Challenge if the corresponding HTTP request has not provided authorization, or error details if the
corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
type: string
Version:
description: The used API version.
style: simple
explode: false
schema:
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
type: string
IndividualGrant.Get.403:
description: |
403 FORBIDDEN
Shall be returned upon the following error: The grant
has been rejected.
A ProblemDetails structure shall be included in the
response to provide more details about the rejection in
the "details" attribute.
headers:
WWW-Authenticate:
description: |
Challenge if the corresponding HTTP request has not provided authorization, or error details if the
corresponding HTTP request has provided an invalid authorization token.
style: simple
explode: false
schema:
type: string
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
Content-Type:
description: |
The MIME type of the body of the response. Reference: IETF RFC 7231
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: "../General_Definitions/SOL003_def.yaml#/definitions/ProblemDetails"