Commit 4cb43914 authored by Francesca Moscatelli's avatar Francesca Moscatelli
Browse files

SOL002 initial migration to OpenAPI v3.0.2

parent cd75e32f
Pipeline #3565 failed with stage
in 0 seconds
swagger: "2.0"
openapi: 3.0.2
info:
version: "1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - API version interface
description: >
SOL002 - API version Interface
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to and has not been
approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
Group Specification takes precedence.
description: |
SOL002 - API version Interface IMPORTANT: Please note that this file might be not aligned to the current version of
the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of discrepancies
the published ETSI Group Specification takes precedence.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
name: NFV-SOL WG
version: 1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V2.7.1
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
paths:
###############################################################################
# API Versions #
###############################################################################
'/vnfconfig/api_versions':
/vnfconfig/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnffm/api_versions':
/vnffm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfind/api_versions':
/vnfind/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnflcm/api_versions':
/vnflcm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfpm/api_versions':
/vnfpm/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
\ No newline at end of file
swagger: "2.0"
openapi: 3.0.2
info:
version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - VNF Configuration interface
description: >
SOL002 - VNF Configuration Interface
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to and has not been
approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
Group Specification takes precedence.
description: |
SOL002 - VNF Configuration Interface IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG. In case of
discrepancies the published ETSI Group Specification takes precedence.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
name: NFV-SOL WG
version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V2.7.1
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
basePath: /vnfconfig/v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
servers:
- url: http://127.0.0.1/vnfconfig/v1
- url: https://127.0.0.1/vnfconfig/v1
paths:
###############################################################################
# API Versions #
###############################################################################
'/api_versions':
/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# VNF Configuration #
###############################################################################
'/configuration':
/configuration:
parameters:
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
summary: Read VNF/VNFC configuration from VNF
description: >
description: |
The client can use this method to read configuration information about a VNF instance and/or its VNFC instances.
responses:
200:
description: >
200 OK
"200":
$ref: '#/components/responses/Configuration.Get'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504
Shall be returned when configuration information about a VNF instance
has been read successfully.
The response body shall contain a representation of the configuration resource.
schema:
$ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration'
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Version:
description: The used API version.
type: string
maximum: 1
minimum: 1
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.
type: string
maximum: 1
minimum: 0
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
patch:
summary: Modify VNF/VNFC configuration.
description: This method sets or modifies a configuration resource.
parameters:
- name: configModifications
description: >
The parameter for the configuration modification, as defined in
clause 9.5.2.2.
required: true
in: body
schema:
$ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications'
requestBody:
$ref: '#/components/requestBodies/ConfigurationRequest'
responses:
200:
description: >
200 OK
"200":
$ref: '#/components/responses/Configuration.Patch'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
"412":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504
Shall be returned when the request has been accepted and completed.
The response body shall contain the parameters of the configuration
modification that was applied to the configuration resource.
components:
requestBodies:
ConfigurationRequest:
description: |
The parameter for the configuration modification, as defined in clause 9.5.2.2.
content:
application/json:
schema:
$ref: 'definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications'
$ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications
required: true
responses:
Configuration.Get:
description: |
200 OK
Shall be returned when configuration information about a VNF instance has been read successfully. The response body shall contain a representation of the configuration resource.
headers:
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
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
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
maximum: 1
minimum: 1
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfiguration
Configuration.Patch:
description: |
200 OK
Shall be returned when the request has been accepted and completed. The response body shall contain the
parameters of the configuration modification that was applied to the configuration resource.
headers:
Version:
description: The used API version.
style: simple
explode: false
schema:
type: string
maximum: 1
minimum: 1
400:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/400"
401:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/401"
403:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/403"
404:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/404"
405:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/405"
406:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/406"
412:
# description: >
# 412 PRECONDITION FAILED
# Shall be returned upon the following error: A precondition given
# in an HTTP request header is not fulfilled.
# Typically, this is due to an ETag mismatch, indicating that the resource
# was modified by another entity. The response body should contain a
# ProblemDetails structure, in which the "detail" attribute should convey
# more information about the error.
# schema:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/412"
416:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/416"
422:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/422"
429:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/429"
500:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/500"
503:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/503"
504:
$ref: "../../responses/SOL002SOL003_resp.yaml#/responses/504"
\ No newline at end of file
Content-Type:
description: The MIME type of the body of the response.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFConfiguration_def.yaml#/definitions/VnfConfigModifications
\ No newline at end of file
swagger: "2.0"
openapi: 3.0.2
info:
version: "1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - VNF Fault Management interface
description: >
SOL002 - VNF Fault Management interface
IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to and has not been
approved by the ETSI NFV ISG. In case of discrepancies the published ETSI
Group Specification takes precedence.
description: |
SOL002 - VNF Fault Management interface IMPORTANT: Please note that this file might be not aligned to the current
version of the ETSI Group Specification it refers to and has not been approved by the ETSI NFV ISG.
In case of discrepancies the published ETSI Group Specification takes precedence.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
name: NFV-SOL WG
version: 1.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V2.7.1
description: ETSI GS NFV-SOL 002 V3.3.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.07.01_60/gs_nfv-sol002v020701p.pdf
basePath: /vnffm/v1
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
servers:
- url: http://127.0.0.1/vnffm/v1
- url: https://127.0.0.1/vnffm/v1
paths:
###############################################################################
# API Versions #
###############################################################################
'/api_versions':
/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# Alarms #
###############################################################################
'/alarms':
#SOL003 location: 7.4.2
/alarms:
parameters:
- name: Version
description: >
Version of the API requested to use when responding to this request.
in: header
required: true
type: string
- name: Authorization
description: >
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: >
The client can use this method to retrieve information about the alarm
list.
description: |
The client can use this method to retrieve information about the alarm list.
parameters:
- name: Accept
description: >
Content-Types that are acceptable for the response.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: Content-Type
description: >
The MIME type of the body of the request.
Reference: IETF RFC 7231
in: header
required: true
type: string
- name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI GS NFV-SOL 013.
The VNFM shall support receiving this parameter as part of the URI query string.
The EM may supply this parameter. The VNF may supply its instance Id as an attribute filter.
The following attribute names shall be supported in the filter expression: id, managedObjectId,
vnfcInstanceIds, rootCauseFaultyResource.faultyResourceType, eventType, perceivedSeverity, probableCause.
If the vnfcInstanceIds parameter is provided, exactly one value for the managedObjectId attribute
shall be provided.
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/filter
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/nextpage_opaque_marker
responses:
"200":
$ref: '#/components/responses/Alarms.Get'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504
EXAMPLE
objects
obj1: {"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]}
obj2: {"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
/alarms/{alarmId}:
parameters:
- $ref: '#/components/parameters/AlarmId'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method to read an individual alarm.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
responses:
"200":
$ref: '#/components/responses/IndividualAlarm.Get'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504
Request 1:
GET …/container
patch:
description: |
This method modifies an individual alarm resource.
parameters:
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/IndividualAlarmRequest'
responses:
"200":
$ref: '#/components/responses/IndividualAlarm.Patch'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/406
"409":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/409
"412":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/412
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/responses/504
Response 1:
[
{"id":123, "weight":100, "parts":[{"id":1, "color":"red"}, {"id":2, "color":"green"}]},
{"id":456, "weight":500, "parts":[{"id":3, "color":"green"}, {"id":4, "color":"blue"}]}
]
/alarms/{alarmId}/escalate:
parameters:
- $ref: '#/components/parameters/AlarmId'
- $ref: ../../components/SOL002SOL003_params.yaml#/components/parameters/Version