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
version: "1.4.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
Michele Carignani
committed
externalDocs:
description: ETSI GS NFV-SOL 003 V3.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/03.05.01_60/gs_NFV-SOL003v030501p.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/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_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"
#description: |
# 403 FORBIDDEN
#
# Shall be returned upon the following error: The grant has been rejected.
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/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/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
- $ref: ../../components/SOL002SOL003_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"
#description: |
# 403 FORBIDDEN
#
# Shall be returned upon the following error: The grant has been rejected.
$ref: "../../responses/SOL002SOL003_resp.yaml#/components/responses/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"
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
177
178
179
180
181
182
183
184
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"
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
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
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
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:
type: string