Commit bf7a57a4 authored by Michele Carignani's avatar Michele Carignani
Browse files

Merge branch '2.5.1-dev'

parents 128062fc d6f174f1
Pipeline #2650 passed with stage
in 0 seconds
swagger: "2.0"
info:
version: "1.2.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.
Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
name: NFV-SOL WG
externalDocs:
description: ETSI GS NFV-SOL 002 V2.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
paths:
###############################################################################
# API Versions #
###############################################################################
'/vnfconfig/api-versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnffm/api-versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfind/api-versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnflcm/api-versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
'/vnfpm/api-versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
\ No newline at end of file
swagger: "2.0"
info:
version: "1.1.0"
info:
version: "1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1"
title: SOL002 - VNF Configuration interface
description: >
VNF Configuration interface of ETSI NFV SOL002
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. 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&list_id=61&product=NFV&resolution=---
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
license:
name: "ETSI Forge copyright notice"
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
contact:
name: NFV-SOL WG
externalDocs:
description: ETSI GS NFV-SOL 002 V2.4.1
url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf
description: ETSI GS NFV-SOL 002 V2.5.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.05.01_60/gs_nfv-sol002v020501p.pdf
basePath: /vnfconfig/v1
schemes:
schemes:
- http
- https
consumes:
consumes:
- application/json
produces:
produces:
- application/json
paths:
###############################################################################
# Configuration #
###############################################################################
/configuration:
#SOL002 location: 9.4.2
get:
summary: Read VNF/VNFC configuration from VNF.
###############################################################################
# API Versions #
###############################################################################
'/api-versions':
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
###############################################################################
# VNF 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 client can use this method to read configuration information about a VNF instance and/or its VNFC instances.
responses:
200:
description: >
OK
Configuration information about a VNF instance was read successfully.
The response body shall contain a representation of the configuration resource.
schema:
$ref: '#/definitions/VnfConfiguration'
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/VNFConfiguration_resp.yaml#/responses/409' }
416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' }
422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' }
500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' }
503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' }
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.
required: true
in: body
schema:
$ref: '#/definitions/VnfConfigModifications'
responses:
200:
description: >
OK
The authorization token for the request.
Reference: IETF RFC 7235
in: header
required: false
type: string
get:
summary: Read VNF/VNFC configuration from VNF
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
Configuration information about a VNF instance was 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"
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"
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'
responses:
200:
description: >
200 OK
The request was accepted and completed. The response body shall contain the parameters
of the configuration modification that was applied to the configuration resource.
schema:
$ref: '#/definitions/VnfConfigModifications'
412: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/412' }
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/VNFConfiguration_resp.yaml#/responses/409' }
416: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/416' }
422: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/422' }
500: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/500' }
503: { $ref: '../../responses/SOL002SOL003_resp.yaml#/responses/503' }
definitions:
VnfConfiguration:
$ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfiguration'
VnfConfigModifications:
$ref: 'definitions/VnfConfiguration_def.yaml#/definitions/VnfConfigModifications'
The request was accepted and completed. The response body shall contain the parameters
of the configuration modification that was applied to the configuration resource.
schema:
$ref: 'definitions/SOL002VnfConfiguration_def.yaml#/definitions/VnfConfigModifications'
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
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"
\ No newline at end of file
definitions:
VnfConfiguration:
description: >
This type represents configuration parameters of a VNF instance and its VNFC instances.
type: object
required:
- vnfConfigurationData
properties:
vnfConfigurationData:
description: >
Configuration parameters of the VNF instance.
$ref: '#/definitions/VnfConfigurationData'
vnfcConfigurationData:
description: >
Configuration parameters of the VNFC instances.
type: array
items:
$ref: '#/definitions/VnfcConfigurationData'
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
VnfConfigModifications:
description: >
This type represents request parameters for the "Set Configuration" operation.
......@@ -33,33 +16,57 @@ definitions:
Modifications to configuration data for the VNF instance. See NOTE 1.
If present, the modifications of the "vnfConfigurationData" attribute shall
be applied according to the rules of JSON Merge PATCH (see IETF RFC 7396).
$ref: '#/definitions/VnfConfigurationData'
$ref: '#/definitions/VnfConfigurationData'
vnfcConfigurationData:
description: >
Modifications to configuration data for certain VNFC instances. See NOTE 1 and NOTE 2.
If present, the modifications of the "vnfcConfigurationData" attribute shall follow these
If present, the modifications of the "vnfcConfigurationData" attribute shall follow these
provisions:
Modifying an attribute that is an array of objects of type "VnfcConfigurationData".
Assumptions:
1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList"
is the "VnfcConfigurationData" array that contains the changes.
2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that
has the same content of the "vnfcInstanceId" attribute as the "newEntry";
a "newEntry" has no corresponding entry if no such "oldEntry" exists.
4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId"
is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId").
1) "oldList" is the "VnfcConfigurationData" array to be modified and "newList"
is the "VnfcConfigurationData" array that contains the changes.
2) "oldEntry" is an entry in "oldList" and "newEntry" is an entry in "newList".
3) A "newEntry" has a "corresponding entry" if there exists an "oldEntry" that
has the same content of the "vnfcInstanceId" attribute as the "newEntry";
a "newEntry" has no corresponding entry if no such "oldEntry" exists.
4) In any array of "VnfcConfigurationData" structures, the content of "vnfcInstanceId"
is unique (i.e. there shall be no two entries with the same content of "vnfcInstanceId").
Provisions:
1) For each "newEntry" in "newList" that has no corresponding entry in "oldList",
the "oldList" array shall be modified by adding that "newEntry".
1) For each "newEntry" in "newList" that has no corresponding entry in "oldList",
the "oldList" array shall be modified by adding that "newEntry".
2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
the value of "oldEntry" shall be updated with the value of "newEntry" according to
the rules of JSON Merge PATCH (see IETF RFC 7396 ).
2) For each "newEntry" in "newList" that has a corresponding "oldEntry" in "oldList",
the value of "oldEntry" shall be updated with the value of "newEntry" according to
the rules of JSON Merge PATCH (see IETF RFC 7396 ).
type: array
items:
$ref: '#/definitions/VnfcConfigurationData'
$ref: '#/definitions/VnfcConfigurationData'
vnfcConfigurationDataDeleteIds:
description: >
List of identifiers entries to be deleted from the 'vnfcConfigurationData" attribute array to be used
as "deleteIdList" as defined below this table.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
VnfConfiguration:
description: >
This type represents configuration parameters of a VNF instance and its VNFC instances.
type: object
required:
- vnfConfigurationData
properties:
vnfConfigurationData:
description: >
Configuration parameters of the VNF instance.
$ref: '#/definitions/VnfConfigurationData'
vnfcConfigurationData:
description: >
Configuration parameters of the VNFC instances.
type: array
items:
$ref: '#/definitions/VnfcConfigurationData'
VnfConfigurationData:
description: >
......@@ -69,18 +76,17 @@ definitions:
extCpConfig:
description: >
Configuration parameters for the external CPs of the VNF instance.
$ref: '#/definitions/CpConfiguration'
$ref: '#/definitions/CpConfiguration'
dhcpServer:
description: >
IP address of the DHCP server that the VNF instance can use to obtain
IP addresses to be assigned to its external CPs.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
vnfSpecificData:
description: >
Additional configurable properties of the VNF instance declared in the
VNFD as "VnfConfigurableProperties".
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
VnfcConfigurationData:
description: >
......@@ -92,24 +98,21 @@ definitions:
vnfcInstanceId:
description: >
Identifier of a VNFC instance to which this set of configuration data applies.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
intCpConfig:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
extCpConfig:
description: >
Configuration parameters for the internal CPs of the VNFC instance.
type: array
items:
$ref: '#/definitions/CpConfiguration'
Configuration parameters for the external CPs of the VNFC instance.
$ref: '#/definitions/CpConfiguration'
dhcpServer:
description: >
IP address of the DHCP server that the VNF instance can use to obtain
IP addresses to be assigned to its external CPs.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
vnfcSpecificData:
description: >
Additional configurable properties of the VNFC instance declared in the
VNFD as "VnfcConfigurableProperties".
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs'
CpConfiguration:
description: >
......@@ -123,17 +126,17 @@ definitions:
cpId:
description: >
Identifier of a CP instance within the namespace of a specific VNF instance or a VNFC instance.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf'
cpdId:
description: >
Identifier of the CPD in the VNFD.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
addresses:
description: >
Network address and port assigned to the CP.
type: array
items:
$ref: '#/definitions/CpAddress'
$ref: '#/definitions/CpAddress'
CpAddress:
description: >
......@@ -150,11 +153,11 @@ definitions:
macAddress:
description: >
Mac address. See NOTE 2.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/MacAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/MacAddress'
ipAddress:
description: >
IP address. See NOTE 2.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IpAddress'
useDynamicAddress:
description: >
Set to true if an address shall be assigned dynamically. Otherwise set to false.
......@@ -163,8 +166,4 @@ definitions:
port:
description: >
The port assigned to the CP instance (e.g. IP port number, Ethernet port number, etc.).
type: integer
type: integer
\ No newline at end of file
responses:
409:
description: >
Conflict
Another request is in progress that prohibits the fulfilment of
the current request, or the current resource state is inconsistent
with the request.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
......@@ -9,6 +9,7 @@ definitions:
required:
- id
- managedObjectId
- vnfcInstanceIds
- rootCauseFaultyResource
- alarmRaisedTime
- ackState
......@@ -19,7 +20,7 @@ definitions:
- isRootCause
- _links
properties:
id:
id:
description: >
Identifier of this Alarm information element.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
......@@ -27,6 +28,12 @@ definitions:
description: >
Identifier of the affected VNF instance.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
vnfcInstanceIds:
description: >
Identifiers of the affected VNFC instances.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
rootCauseFaultyResource:
description: >
The virtualised resources that are causing the VNF fault.
......@@ -53,23 +60,21 @@ definitions:
* UNACKNOWLEDGED
* ACKNOWLEDGED.
type: string
enum:
enum:
- UNACKNOWLEDGED
- ACKNOWLEDGED
perceivedSeverity:
#description: >
# Perceived severity of the managed object failure.
# $ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType"
type: string
eventTime:
description: >
Perceived severity of the managed object failure.
$ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/PerceivedSeverityType"
eventTime:
description: >
Time stamp indicating when the fault was observed.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
eventType:
#description: >
# Type of event.
# todo: Fix
#$ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType"
description: >
Type of event.
$ref: "../../../definitions/SOL002SOL003VNFFaultManagement_def.yaml#/definitions/EventType"
type: string
faultType:
description: >
......@@ -84,12 +89,12 @@ definitions:
Attribute indicating if this fault is the root for other correlated
alarms. If TRUE, then the alarms listed in the attribute
CorrelatedAlarmId are caused by this fault.
type: boolean
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Boolean"
correlatedAlarmIds:
description: >
List of identifiers of other alarms correlated to this fault.
type: array
items: