Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • nfv/SOL002-SOL003
  • reinaortega/SOL002-SOL003
2 results
Show changes
Showing
with 10043 additions and 307 deletions
......@@ -3,88 +3,100 @@
definitions:
VnfIndicator:
description: >
description: >
This type represents a VNF indicator value.
NOTE: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
type: object
required:
required:
- id
- value
- vnfInstanceId
- _links
properties:
properties:
id:
description: >
Identifier of this VNF indicator.
$ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
name:
description: >
Human readable name of the indicator. Shall be present if defined in
the VNFD.
type: string
value:
value:
description: >
Provides the value of the indicator. The value format is defined in
the VNFD.
ETSI GS NFV-SOL 001 specifies the structure and format of the
VNFD based on TOSCA specifications.
Provides the value of the indicator. The value format is defined in the VNFD. See note.
type: object
vnfInstanceId:
description: >
Identifier of the VNF instance which provides the indicator value.
$ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
Identifier of the "Individual VNF instance" which provides the indicator value.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
_links:
description: >
Links for this resource.
type: object
required:
required:
- self
- vnfInstance
properties:
properties:
self:
description: >
URI of this resource.
$ref: "SOL002SOL003_def.yaml#/definitions/Link"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
vnfInstance:
description: >
Link to the related VNF instance resource.
$ref: "SOL002SOL003_def.yaml#/definitions/Link"
Link to the related "Individual VNF instance" resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
VnfIndicatorNotificationsFilter:
description: >
This type represents a subscription filter related to notifications
about VNF indicator value changes.
At a particular nesting level in the filter structure, the following
applies: All attributes shall match in order for the filter to match
(logical "and" between different filter attributes). If an attribute is
an array, the attribute shall match if at least one of the values in the
array matches (logical "or" between the values of one filter attribute).
This type represents a subscription filter for notifications related to VNF indicators.
At a particular nesting level in the filter structure, the following applies:
All attributes shall match in order for the filter to match (logical "and" between different
filter attributes). If an attribute is an array, the attribute shall match if at least one of
the values in the array matches (logical "or" between the values of one filter attribute).
NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names
of the notification types to facilitate automated code generation systems.
type: object
properties:
properties:
vnfInstanceSubscriptionFilter:
description: >
Filter criteria to select VNF instances about which to notify.
$ref: "SOL002SOL003_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
notificationTypes:
description: >
Match particular notification types.
Permitted values:
- VnfIndicatorValueChangeNotification
- SupportedIndicatorsChangeNotification
See note.
type: string
enum:
- VnfIndicatorValueChangeNotification
- SupportedIndicatorsChangeNotification
indicatorIds:
description: >
Match particular VNF indicator identifiers.
type: array
items:
$ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
VnfIndicatorSubscription:
description: >
This type represents a subscription related to notifications about VNF
indicator value changes.
type: object
required:
required:
- id
- callbackUri
- _links
properties:
properties:
id:
description: >
Identifier of this subscription resource.
$ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
Identifier of this "Individual subscription" resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
filter:
description: >
Filter settings for this subscription, to define the subset of all
......@@ -107,16 +119,16 @@ definitions:
self:
description: >
URI of this resource.
$ref: "SOL002SOL003_def.yaml#/definitions/Link"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
VnfIndicatorSubscriptionRequest:
description: >
This type represents a subscription request related to VNF indicator
value change notifications.
type: object
required:
required:
- callbackUri
properties:
properties:
filter:
description: >
Filter settings for this subscription, to define the subset of all
......@@ -127,86 +139,12 @@ definitions:
callbackUri:
description: >
The URI of the endpoint to send the notification to.
type: string
format: url
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
authentication:
description: >
Authentication parameters to configure the use of Authorization
when sending notifications corresponding to this subscription.
Authentication parameters to configure the use of Authorization when
sending notifications corresponding to this subscription, as defined
in clause 8.3.4 of ETSI GS NFV-SOL 013.
This attribute shall only be present if the subscriber requires
authorization of notifications.
$ref: "SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"
VnfIndicatorValueChangeNotification:
description: >
This type represents a VNF indicator value change notification.
The notification shall be triggered by the VNFM when the value of an
indicator has changed.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- vnfIndicatorId
- value
- vnfInstanceId
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"VnfIndicatorValueChangeNotification" for this notification type.
type: string
enum:
- VnfIndicatorValueChangeNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "SOL002SOL003_def.yaml#/definitions/DateTime"
vnfIndicatorId:
description: >
Identifier of the VNF indicator whose value has changed.
$ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
name:
description: >
Human readable name of the VNF indicator. Shall be present if
defined in the VNFD.
type: string
value:
description: >
Provides the value of the VNF indicator. The value format is defined
in the VNFD.
ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD
based on TOSCA specifications.
type: object
vnfInstanceId:
description: >
Identifier of the VNF instance which provides the indicator value.
$ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
_links:
description: >
Links for this resource.
type: object
required:
- vnfInstance
- subscription
properties:
vnfInstance:
description: >
Link to the related VNF instance resource.
$ref: "SOL002SOL003_def.yaml#/definitions/Link"
subscription:
description: >
Link to the related subscription.
$ref: "SOL002SOL003_def.yaml#/definitions/Link"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/SubscriptionAuthentication"
definitions:
VnfIndicatorNotificationsFilter:
description: >
This type represents a subscription filter related to notifications about VNF indicator value changes.
At a particular nesting level in the filter structure, the following applies:
All attributes shall match in order for the filter to match (logical "and" between different filter attributes).
If an attribute is an array, the attribute shall match if at least one of the values in the array matches
(logical "or" between the values of one filter attribute).
type: object
properties:
vnfInstanceSubscriptionFilter:
description: >
Filter criteria to select VNF instances about which to notify. This attribute shall not be included
when the VNFM sends a subscription request to a particular VNF instance.
$ref: 'VnfInstanceSubscriptionFilter_def.yaml#/definitions/VnfInstanceSubscriptionFilter'
indicatorIds:
description: >
Match particular VNF indicator identifiers.
type: array
items:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
definitions:
VnfIndicatorSubscriptionRequest:
description: >
This type represents a subscription request related to VNF indicator value change notifications.
type: object
required:
- callbackUri
properties:
filter:
description: >
Filter settings for this subscription, to define the subset of all notifications this
subscription relates to. A particular notification is sent to the subscriber if the filter
matches, or if there is no filter.
$ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter'
callbackUri:
description: >
The URI of the endpoint to send the notification to.
type: string
format: URI
authentication:
description: >
Authentication parameters to configure the use of Authorization when sending notifications corresponding
to this subscription. This attribute shall only be present if the subscriber requires authorization of
notifications.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/SubscriptionAuthentication"
\ No newline at end of file
definitions:
VnfIndicatorSubscription:
description: >
This type represents a subscription related to notifications about VNF indicator value changes.
type: object
required:
- callbackUri
- id
- _links
properties:
id:
description: >
Identifier of this subscription resource.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
filter:
description: >
Filter settings for this subscription, to define the subset of all notifications this subscription
relates to. A particular notification is sent to the subscriber if the filter matches, or if there
is no filter.
$ref: 'VnfIndicatorNotificationsFilter_def.yaml#/definitions/VnfIndicatorNotificationsFilter'
callbackUri:
description: >
The URI of the endpoint to send the notification to.
type: string
format: URI
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link'
definitions:
VnfIndicator:
type: object
required:
- id
- value
- vnfInstanceId
- _links
properties:
id:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
name:
type: string
value:
type: object
vnfInstanceId:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: URI of this resource.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link'
vnfInstance:
description: Link to the VNF instance that the operation applies to.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link'
definitions:
VnfInstanceSubscriptionFilter:
description: >
This type represents subscription filter criteria to match VNF instances.
* NOTE 1:
The attributes "vnfdIds" and "vnfProductsFromProviders" are alternatives to reference to
VNF instances that are based on certain VNFDs in a filter. They should not be used both
in the same filter instance, but one alternative should be chosen.
* NOTE 2:
The attributes "vnfInstanceIds" and "vnfInstanceNames" are alternatives to reference to
particular VNF instances in a filter. They should not be used both in the same filter instance,
but one alternative should be chosen.
type: object
properties:
vnfdIds:
description: >
If present, match VNF instances that were created based on a VNFD identified by one of the
vnfdId values listed in this attribute. See NOTE 1.
type: array
items:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
vnfProductsFromProviders:
description: >
If present, match VNF instances that belong to VNF products from certain providers. See NOTE 1.
type: array
items:
type: object
required:
- vnfProvider
properties:
vnfProvider:
description: >
Name of the VNF provider to match.
type: string
vnfProducts:
description: >
If present, match VNF instances that belong to VNF products with certain product names,
from one particular provider.
type: array
items:
type: object
required:
- vnfProductName
properties:
vnfProductName:
description: >
Name of the VNF product to match.
type: string
versions:
description: >
If present, match VNF instances that belong to VNF products with certain versions
and a certain product name, from one particular provider.
type: array
items:
type: object
required:
- vnfSoftwareVersions
properties:
vnfSoftwareVersions:
description: >
Software version to match.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Version'
vnfdVersions:
description: >
If present, match VNF instances that belong to VNF products with certain VNFD versions,
a certain software version and a certain product name, from one particular provider.
type: array
items:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Version'
vnfInstanceIds:
description: >
If present, match VNF instances with an instance identifier listed in this attribute. See NOTE 2.
type: array
items:
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
vnfInstanceNames:
description: >
If present, match VNF instances with a VNF Instance Name listed in this attribute. See NOTE 2
type: array
items:
type: string
responses:
409:
description: >
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"
swagger: "2.0"
info:
version: "2.3.1"
title: "DRAFT VNF Indicator Notification Endpoint interface"
description: >
DRAFT VNF Indicator Notification Endpoint interface of ETSI NFV SOL002
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&list_id=61&product=NFV&resolution=---
termsOfService: "http://etsi.org"
contact:
name: "NFV-SOL WG"
license:
name: "ETSI Forge copyright notice"
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
openapi: 3.0.2
info:
title: SOL002 - VNF Indicator Notification interface
description: |
SOL002 - VNF Indicator Notification interface
basePath: /callback/v1
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.
schemes:
- http
- https
Please report bugs to https://forge.etsi.org/rep/nfv/SOL002-SOL003/issues
consumes:
- application/json
contact:
name: NFV-SOL WG
license:
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
produces:
- application/json
externalDocs:
description: ETSI GS NFV-SOL 002 V3.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.07.01_60/gs_NFV-SOL002v030701p.pdf
servers:
- url: http://127.0.0.1/callback/v1
- url: https://127.0.0.1/callback/v1
paths:
'/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIndicatorValueChangeNotification':
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the API producer to test the notification endpoint that is provided by the
API consumer, e.g. during subscription. See clause 8.4.7.3.2.
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
post:
description: |
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter. See clause 8.4.7.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfIndicatorValueChangeNotification'
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
'/URI_is_provided_by_the_client_when_creating_the_subscription-SupportedIndicatorsChangeNotification':
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the API producer to test the notification endpoint that is provided by the
API consumer, e.g. during subscription. See clause 8.4.7.3.2.
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/notificationendpoint:
post:
summary: Notification endpoint
description: >
The API producer can use this resource to send notifications related to VNF indicator
value changes to a subscribed API consumer, which has provided the URI of this resource
during the subscription process.
The POST method delivers a notification from the server to the client.
parameters:
- name: vnfIndicatorValueChangeNotification
in: body
description: >
A notification about VNF indicator value changes.
required: true
schema:
$ref: 'definitions/VnfIndicatorValueChangeNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification'
responses:
204:
description: >
The notification was delivered successfully. The response body shall be empty.
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/VNFIndicatorNotification_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' }
get:
summary: Test notification endpoint.
description: >
The GET method allows the server to test the notification endpoint that is provided
by the client, e.g. during subscription.
responses:
204:
description: >
The notification endpoint was tested successfully. The response body shall be empty.
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/VNFIndicatorNotification_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' }
post:
description: |
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter. See clause 8.4.7.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/SupportedIndicatorsChangeNotification'
responses:
"204":
$ref: '#/components/responses/VNFInNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
components:
requestBodies:
VnfIndicatorValueChangeNotification:
description: |
A notification about VNF indicator value changes.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/VnfIndicatorValueChangeNotification
required: true
SupportedIndicatorsChangeNotification:
description: |
A notification about changes of the set of supported indicators.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFIndicatorNotification_def.yaml#/definitions/SupportedIndicatorsChangeNotification
required: true
responses:
VNFInNotification.Get.204:
description: |
204 NO CONTENT
Shall be returned to indicate the notification endpoint has been tested successfully. The response body
shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
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: {}
VNFInNotification.Post.204:
description: |
204 NO CONTENT
Shall be returned when the notification has been delivered successfully. The response body shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
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: {}
\ No newline at end of file
definitions:
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
VnfIndicatorValueChangeNotification:
description: >
This type represents a VNF indicator value change notification.
* NOTE: ETSI GS NFV-SOL 001 specifies the structure and
format of the VNFD based on TOSCA specifications.
type: object
required:
- id
......@@ -19,7 +23,7 @@ definitions:
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Identifier'
notificationType:
description: >
Discriminator for the different notification types.
......@@ -28,27 +32,28 @@ definitions:
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Identifier'
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime'
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/DateTime'
vnfIndicatorId:
description: >
Identifier of the VNF indicator whose value has changed.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd'
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd'
name:
description: >
Human readable name of the VNF indicator. Shall be present if defined in the VNFD.
type: string
value:
description: >
Provides the value of the VNF indicator. The value format is defined in the VNFD.
Provides the value of the VNF indicator. The value format is defined in the VNFD.
See note.
type: object
vnfInstanceId:
description: >
Identifier of the VNF instance which provides the indicator value.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier'
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Identifier'
_links:
description: >
Links to resources related to this resource.
......@@ -60,9 +65,81 @@ definitions:
# LEH this must be reported as strong candidate for removal.
vnfInstance:
description: >
Link to the related VNF instance resource.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link'
Link to the related "Individual VNF instance" resource.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Link'
subscription:
description: >
Link to the related subscription.
$ref: '../../../definitions/SOL002SOL003_def.yaml#/definitions/Link'
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Link'
SupportedIndicatorsChangeNotification:
description: |
This type represents a notification to inform the receiver that the set of indicators
supported by a VNF instance has changed.
* NOTE: ETSI GS NFV-SOL 001 specifies the structure and
format of the VNFD based on TOSCA specifications.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- vnfInstanceId
properties:
id:
descriptions: |
Identifier of this notification.
If a notification is sent multiple times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Identifier'
notificationType:
description: |
Discriminator for the different notification types. Shall be set to "SupportedIndicatorsChangeNotification"
for this notification type.
type: string
subscriptionId:
description: |
Identifier of the subscription that this notification relates to.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Identifier'
timeStamp:
description: |
Date-time of the generation of the notification.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/DateTime'
vnfInstanceId:
description: |
Identifier of the VNF instance which provides the indicator value.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/Identifier'
supportedIndicators:
description: |
Set of VNF indicators supported by the VNF instance.
type: array
items:
type: object
required:
- vnfIndicatorId
properties:
vnfIndicatorId:
description: |
Identifier of the VNF indicator whose value has changed.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf'
name:
description: |
Human readable name of the VNF indicator. Shall be present if defined in the VNFD.
See note.
type: string
_links:
description: |
Links for this resource.
type: object
required:
- subscription
properties:
vnfInstance:
description: |
Link to the related "Individual VNF instance" resource. Shall be present if the VNF instance information
is accessible as a resource.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink'
subscription:
description: |
Link to the related subscription.
$ref: '../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink'
\ No newline at end of file
responses:
409:
description: >
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"
openapi: 3.0.2
info:
title: SOL002 - VNF LCM Coordination interface
description: |
SOL002 - VNF Lifecycle Coordination 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/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 1.1.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.07.01_60/gs_NFV-SOL002v030701p.pdf
servers:
- url: http://127.0.0.1/lcmcoord/v1
- url: https://127.0.0.1/lcmcoord/v1
paths:
/api_versions:
$ref: '../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions'
/coordinations:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
This POST method requests the coordination of an LCM operation occurrence with
a management operation executed in the API producer. See clause 10.4.2.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/LcmCoordRequest'
responses:
"201":
$ref: '#/components/responses/Coordination.Post.201'
"202":
$ref: '#/components/responses/Coordination_async.Post.202'
"403":
$ref: '#/components/responses/Coordination.Post.403'
"409":
$ref: '#/components/responses/Coordination.Post.409'
"503":
$ref: '#/components/responses/Coordination.Post.503'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/coordinations/{coordinationId}:
parameters:
- $ref: '#/components/parameters/coordinationId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method reads a coordination result. See clause 10.4.3.3.2.
responses:
"200":
$ref: '#/components/responses/LcmCoord.Get.200'
"202":
$ref: '#/components/responses/LcmCoord.Get.202'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/coordinations/{coordinationId}/cancel:
parameters:
- $ref: '#/components/parameters/coordinationId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method initiates the cancellation of an ongoing coordination action.
See clause 10.4.4.3.1.
responses:
"202":
$ref: '#/components/responses/CoordinationCancel.Post.202'
"409":
$ref: '#/components/responses/CoordinationCancel.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
components:
parameters:
coordinationId:
name: coordinationId
in: path
description: |
Identifier of the LCM coordination. This identifier can be retrieved from the
resource referenced by the "Location" HTTP header in the response to a
POST request to the "Coordinations" resource
required: true
style: simple
explode: false
schema:
type: string
requestBodies:
LcmCoordRequest:
description: |
Parameters for the coordination action as defined in clause 10.5.2.2.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLCMCoordination_def.yaml#/definitions/LcmCoordRequest
required: true
responses:
Coordination.Post.201:
description: |
201 CREATED
Shall be returned returned to indicate a finished coordination action when the API producer has
chosen the synchronous mode, which may be selected for coordination actions that finish within the time
frame in which an HTTP response is expected.
The response body shall contain an LcmCoord data structure that represents
the result of the coordination action.
The HTTP response shall include a "Location" HTTP header that indicates the URI
of the "Individual coordination action" resource that has been created as the
result of the finished coordination procedure.
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
Location:
description: |
URI of the "Individual coordination action" resource
style: simple
explode: false
schema:
type: string
format: url
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLCMCoordination_def.yaml#/definitions/LcmCoord
Coordination_async.Post.202:
description: |
202 ACCEPTED
Shall be returned when the API producer has chosen the asynchronous mode and the
request has been accepted for processing.
The response body shall be empty.
The HTTP response shall include a "Location" HTTP header that indicates the URI of
the "Individual coordination action" resource that will be created once the
coordination operation has finished successfully.
Further, the HTTP response may include a "Retry-After" HTTP header that indicates the
time to wait before sending the next GET request to the "individual coordination" resource
indicated in the "Location" header. If the header is provided, the VNFM shall record the signalled
delay value in the "delay" attribute of the applicable entry in the "lcmCoordinations" array in the
"VnfLcmOpOcc" structure.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
Coordination.Post.403:
description: >
403 FORBIDDEN
Shall be returned upon the following error: The starting of the coordination operation has been
rejected.
No "individual coordination action" resource shall be created.
A ProblemDetails structure shall be included in the response to provide more details about the rejection
in the "details" attribute.
headers:
Content-Type:
description: The MIME type of the body of the response.
schema:
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.
schema:
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
schema:
type: string
maximum: 1
minimum: 1
content:
application/json:
schema:
$ref: "../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
Coordination.Post.409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently, due to a
conflict with the state of the "Coordinations" resource.
Typically, this is due to the fact that no more coordination actions can be executed currently e.g.
because too many of them, or conflicting ones, are in progress.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute should
convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
schema:
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.
schema:
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
schema:
type: string
maximum: 1
minimum: 1
content:
application/json:
schema:
$ref: "../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
Coordination.Post.503:
description: >
503 SERVICE UNAVAILABLE
Shall be returned upon the following error: The API producer has chosen the synchronous mode and
cannot perform the requested coordination currently, but expects to be able to perform it sometime
in the future.
No "individual coordination action" resource shall be created.
A ProblemDetails structure shall be included in the response to provide more details about the
rejection in the "details" attribute.
The HTTP response shall include a "Retry-After" HTTP header that indicates the delay after
which it is suggested to repeat the coordination request with the same set of parameters. The VNFM
shall record the signalled delay value in the "delay" attribute of the applicable entry in the
"rejectedLcmCoordinations" array in the "VnfLcmOpOcc" structure.
headers:
Content-Type:
description: The MIME type of the body of the response.
schema:
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.
schema:
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
schema:
type: string
maximum: 1
minimum: 1
content:
application/json:
schema:
$ref: "../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
LcmCoord.Get.200:
description: |
200 OK
Shall be returned when the coordination is finished and the coordination result has been read successfully.
A representation of the "Individual coordination action" resource shall be returned in the response body.
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
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLCMCoordination_def.yaml#/definitions/LcmCoord
LcmCoord.Get.202:
description: |
202 ACCEPTED
Shall be returned when the management operation with which coordination is requested is still ongoing or
in the process of being cancelled, i.e. no coordination result is available yet.
The response shall be empty.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
CoordinationCancel.Post.202:
description: |
202 ACCEPTED
Shall be returned when the cancellation request has been accepted for processing.
The response shall have an empty message content.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
CoordinationCancel.Post.409:
description: >
409 CONFLICT
Shall be returned upon the following error: The operation cannot be executed currently, due to a
conflict with the state of the "Individual coordination action" resource.
Typically, this is due to the fact that the coordination action has finished processing.
The response body shall contain a ProblemDetails structure, in which the "detail" attribute
shall convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
schema:
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.
schema:
type: string
maximum: 1
minimum: 0
Version:
description: >
Version of the API used in the response.
schema:
type: string
maximum: 1
minimum: 1
content:
application/json:
schema:
$ref: "../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
LcmCoord:
description: >
This type represents an LCM coordination result.
type: object
required:
- id
- coordinationResult
- vnfInstanceId
- vnfLcmOpOccId
- lcmOperationType
- coordinationActionName
- _links
properties:
id:
description: >
Identifier of this coordination result.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
coordinationResult:
description: >
The result of executing the coordination action which also implies
the action to be performed by the VNFM as the result of this coordination.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmCoordResultType"
vnfInstanceId:
description: >
Identifier of the VNF instance which this coordination request is related to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfLcmOpOccId:
description: >
The identifier of the VNF lifecycle management operation occurrence related to the coordination.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
lcmOperationType:
description: >
Indicates the type of the LCM operation with which coordination is requested.
Shall be the same as the value of the "operation" attribute in the LcmOpOcc
structure that is referenced by the "vnfLcmOpOccId".
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmOperationForCoordType"
coordinationActionName:
description: >
Indicates the actual LCM coordination action.
The coordination actions that a VNF supports are declared in the VNFD.
type: string
outputParams:
description: >
Additional parameters returned by the coordination action,
e.g. on the reason for the indicated coordinationResult.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
warnings:
description: >
Warning messages that were generated while the operation was executing.
type: string
error:
description: >
Error information related to the coordination.
This attribute shall be present if "coordinationResult" is "ABORT" and may be
present if "coordinationResult" is "CANCELLED".
If provided, the error information should be represented in the "error" attribute
of the related VnfLcmOpOcc data structure.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
- vnfLcmOpOcc
- vnfInstance
properties:
self:
description: >
URI of this resource
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
vnfLcmOpOcc:
description: >
Related lifecycle management operation occurrence.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
vnfInstance:
description: >
Related VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
LcmCoordRequest:
type: object
required:
- vnfInstanceId
- vnfLcmOpOccId
- lcmOperationType
- coordinationActionName
- _links
properties:
vnfInstanceId:
description: >
Identifier of the VNF instance which this coordination request is related to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfLcmOpOccId:
description: >
The identifier of the VNF lifecycle management operation occurrence related to the coordination.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
lcmOperationType:
description: >
Indicates the type of the LCM operation with which coordination is requested.
Shall be the same as the value of the "operation" attribute in the LcmOpOcc
structure that is referenced by the "vnfLcmOpOccId".
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmOperationForCoordType"
coordinationActionName:
description: >
Indicates the LCM coordination action.
The coordination actions that a VNF supports are declared in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
inputParams:
description: >
Additional parameters passed as input to the coordination action.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
_links:
description: >
Links to resources related to this request.
type: object
required:
- vnfLcmOpOcc
- vnfInstance
properties:
vnfLcmOpOcc:
description: >
Related lifecycle management operation occurrence.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
vnfInstance:
description: >
Related VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
inputParams:
type: object
required:
- vnfcInstanceIds
properties:
vnfcInstanceIds:
description: >
Identifier of the VNF instance which this coordination request is related to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
openapi: 3.0.2
info:
title: SOL002 - VNF Lifecycle Management interface
description: |
SOL002 - VNF Lifecycle Management 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/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.07.01_60/gs_NFV-SOL002v030701p.pdf
servers:
- url: http://127.0.0.1/vnflcm/v2
- url: https://127.0.0.1/vnflcm/v2
paths:
/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/vnf_instances:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method queries information about multiple VNF instances. See clause 5.4.2.3.2.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: '#/components/parameters/filter_vnf_instances'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm
- $ref: '#/components/parameters/exclude_default_vnf_instances'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
responses:
"200":
$ref: '#/components/responses/VnfInstances.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
post:
description: |
The POST method creates a new VNF instance resource based on a VNF package that is onboarded and in "ENABLED" state.
See clause 5.4.2.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfInstanceCreationRequest'
responses:
"201":
$ref: '#/components/responses/VnfInstances.Post.201'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: '#/components/responses/VnfInstances.Post.422'
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
Information about a VNF instance by reading an "Individual VNF instance". See clause 5.4.3.3.2.
responses:
"200":
$ref: '#/components/responses/IndividualVnfInstance.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
delete:
description: |
This method deletes an "Individual VNF instance" resource. See clause 5.4.3.3.5.
responses:
"204":
$ref: '#/components/responses/IndividualVnfInstance.Delete.204'
"409":
$ref: '#/components/responses/IndividualVnfInstance.Delete.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
patch:
description: |
This method modifies an "Individual VNF instance" resource. See clause 5.4.3.3.4.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Unmodified-Since
- $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Match
requestBody:
$ref: '#/components/requestBodies/VnfInstanceModificationRequest'
responses:
"202":
$ref: '#/components/responses/IndividualVnfInstance.Patch.202'
"409":
$ref: '#/components/responses/IndividualVnfInstance.Patch.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"412":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/instantiate:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method instantiates a VNF instance. See clause 5.4.4.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceInstantiationRequest'
responses:
"202":
$ref: '#/components/responses/InstantiateVnfInstance.Post.202'
"409":
$ref: '#/components/responses/InstantiateVnfInstance.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/scale:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method requests to scale a VNF instance resource incrementally. See clause 5.4.5.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceScaleRequest'
responses:
"202":
$ref: '#/components/responses/ScaleVnfInstance.Post.202'
"409":
$ref: '#/components/responses/ScaleVnfInstance.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/scale_to_level:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method requests to scale a VNF instance resource to a target level. See clause 5.4.6.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceScaleToLevelRequest'
responses:
"202":
$ref: '#/components/responses/ScaleVnfInstanceToLevel.Post.202'
"409":
$ref: '#/components/responses/ScaleVnfInstanceToLevel.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/change_flavour:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method changes the deployment flavour of a VNF instance. See clause 5.4.7.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceChangeFlavourRequest'
responses:
"202":
$ref: '#/components/responses/VnfInstanceChangeFlavour.Post.202'
"409":
$ref: '#/components/responses/VnfInstanceChangeFlavour.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/terminate:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method triggers the VNFM to terminate a VNF instance and to request to the VIM the release of its
used virtualised resources. See clause 5.4.8.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceTerminationRequest'
responses:
"202":
$ref: '#/components/responses/TerminateVnfInstance.Post.202'
"409":
$ref: '#/components/responses/TerminateVnfInstance.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/heal:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method requests to heal a VNF instance. See clause 5.4.9.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceHealRequest'
responses:
"202":
$ref: '#/components/responses/HealVnfInstance.Post.202'
"409":
$ref: '#/components/responses/HealVnfInstance.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/operate:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method changes the operational state of a VNF instance. See clause 5.4.10.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceOperateRequest'
responses:
"202":
$ref: '#/components/responses/OperateVnfInstance.Post.202'
"409":
$ref: '#/components/responses/OperateVnfInstance.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/change_ext_conn:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method changes the external connectivity of a VNF instance. See clause 5.4.11.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceChangeExtConnRequest'
responses:
"202":
$ref: '#/components/responses/VnfInstanceChangeExtConn.Post.202'
"409":
$ref: '#/components/responses/VnfInstanceChangeExtConn.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/change_vnfpkg:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method changes the current VNF package on which the VNF instance is based.
See clause 5.4.11a.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceChangeVnfPkgRequest'
responses:
"202":
$ref: '#/components/responses/VnfInstanceChangeVnfPkg.Post.202'
"409":
$ref: '#/components/responses/VnfInstanceChangeVnfPkg.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_lcm_op_occs:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method to query status information about multiple VNF lifecycle
management operation occurrences. See clause 5.4.12.3.2.
parameters:
- $ref: '#/components/parameters/filter_vnf_lcm_op_occs'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm
- $ref: '#/components/parameters/exclude_default_vnf_lcm_op_occs'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
responses:
"200":
$ref: '#/components/responses/VnfLcmOpOccs.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_lcm_op_occs/{vnfLcmOpOccId}:
parameters:
- $ref: '#/components/parameters/VnfLcmOpOccId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method to retrieve status information about a VNF lifecycle management operation occurrence
by reading an "Individual VNF LCM operation occurrence" resource. See clause 5.4.13.3.2.
responses:
"200":
$ref: '#/components/responses/IndividualVnfLcmOpOcc.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_lcm_op_occs/{vnfLcmOpOccId}/retry:
parameters:
- $ref: '#/components/parameters/VnfLcmOpOccId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary
failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state.
See clause 5.4.14.3.1.
responses:
"202":
$ref: '#/components/responses/VnfLcmOpOccRetry.Post.202'
"409":
$ref: '#/components/responses/VnfLcmOpOccRetry.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_lcm_op_occs/{vnfLcmOpOccId}/rollback:
parameters:
- $ref: '#/components/parameters/VnfLcmOpOccId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method initiates rolling back a VNF lifecycle operation if that operation has experienced a temporary
failure, i.e. the related "Individual VNF LCM operation occurrence" resource is in "FAILED_TEMP" state.
See clause 5.4.15.3.1.
responses:
"202":
$ref: '#/components/responses/VnfLcmOpOccRollback.Post.202'
"409":
$ref: '#/components/responses/VnfLcmOpOccRollback.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_lcm_op_occs/{vnfLcmOpOccId}/fail:
parameters:
- $ref: '#/components/parameters/VnfLcmOpOccId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method marks a VNF lifecycle management operation occurrence as "finally failed" if that operation
occurrence is in "FAILED_TEMP" state. See clause 5.4.16.3.1.
responses:
"200":
$ref: '#/components/responses/VnfLcmOpOccFail.Post.200'
"409":
$ref: '#/components/responses/VnfLcmOpOccFail.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_lcm_op_occs/{vnfLcmOpOccId}/cancel:
parameters:
- $ref: '#/components/parameters/VnfLcmOpOccId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled
back, i.e. the related "Individual VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state.
See clause 5.4.17.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceCancelModeRequest'
responses:
"202":
$ref: '#/components/responses/VnfLcmOpOccCancel.Post.202'
"409":
$ref: '#/components/responses/VnfLcmOpOccCancel.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/subscriptions:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method queries the list of active subscriptions of the functional block that invokes the method. It can
be used e.g. for resynchronization after error situations. See clause 5.4.18.3.2.
parameters:
- $ref: '#/components/parameters/filter_subscriptions'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
responses:
"200":
$ref: '#/components/responses/Subscriptions.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
post:
description: |
The POST method creates a new subscription. See clause 5.4.18.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfLcmSubscriptionRequest'
responses:
"201":
$ref: '#/components/responses/Subscriptions.Post.201'
"303":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/303
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: '#/components/responses/Subscriptions.Post.442'
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/subscriptions/{subscriptionId}:
parameters:
- $ref: '#/components/parameters/SubscriptionId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method retrieves information about a subscription by reading an "Individual subscription" resource.
See clause 5.4.19.3.2.
responses:
"200":
$ref: '#/components/responses/IndividualSubscription.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
delete:
description: |
The DELETE method terminates an individual subscription. See clause 5.4.19.3.5.
responses:
"204":
$ref: '#/components/responses/IndividualSubscription.Delete.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/create_snapshot:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method requests tacking a VNF instance snapshot and populating a previously created VNF snapshot resource
(refer to clause 5.4.23.3.1) with the snapshot content. See clause 5.4.21.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceCreateSnapshotRequest'
responses:
"202":
$ref: '#/components/responses/VnfInstanceCreateSnapshot.Post.202'
"409":
$ref: '#/components/responses/VnfInstanceCreateSnapshot.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: '#/components/responses/VnfInstanceCreateSnapshot.Post.422'
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_instances/{vnfInstanceId}/revert_to_snapshot:
parameters:
- $ref: '#/components/parameters/VnfInstanceId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot. See clause 5.4.22.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfInstanceRevertToSnapshotRequest'
responses:
"202":
$ref: '#/components/responses/VnfInstanceRevertToSnapshot.Post.202'
"409":
$ref: '#/components/responses/VnfInstanceRevertToSnapshot.Post.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_snapshots:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
post:
description: |
The POST method creates a new individual VNF snapshot resource. See clause 5.4.23.3.1.
requestBody:
$ref: '#/components/requestBodies/VnfSnapshotsRequest'
responses:
"201":
$ref: '#/components/responses/VnfSnapshots.Post.201'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"409":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
get:
description: |
The GET method queries information about multiple VNF/VNFC snapshots. See clause 5.4.23.3.2.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: '#/components/parameters/filter_vnf_snapshots'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm
- $ref: '#/components/parameters/exclude_default_vnf_snapshots'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
responses:
"200":
$ref: '#/components/responses/VnfSnapshots.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/vnf_snapshots/{vnfSnapshotInfoId}:
parameters:
- $ref: '#/components/parameters/VnfSnapshotInfoId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method retrieves information about a VNF /VNFC snapshot by reading an individual VNF snapshot resource.
See clause 5.4.24.3.2.
responses:
"200":
$ref: '#/components/responses/IndividualVnfSnapshot.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
delete:
description: |
This method deletes an individual VNF snapshot resource and the associated VNF snapshot information managed by
the VNFM, and any resource associated to the VNF/VNFC snapshot managed by the VIM. See clause 5.4.24.3.5.
responses:
"204":
$ref: '#/components/responses/IndividualVnfSnapshot.Delete.204'
"409":
$ref: '#/components/responses/IndividualVnfSnapshot.Delete.409'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
components:
parameters:
filter_vnf_snapshots:
name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI
GS NFV-SOL 013 [6].
The VNFM shall support receiving this parameter as part of the URI
query string. The EM may supply this parameter.
All attribute names that appear in the VnfSnapshot and in data types
referenced from it shall be supported by the VNFM in the filter
expression.
in: query
required: false
schema:
type: string
exclude_default_vnf_snapshots:
name: exclude_default
in: query
description: >-
Indicates to exclude the following complex attributes from the
response. See clause 5.3 of ETSI GS NFV-SOL 013 [6] for details.
The VNFM shall support this parameter.
The following attributes shall be excluded from the VnfSnapshot
structure in the response body if this parameter is provided, or none
of the parameters "all_fields," "fields", "exclude_fields",
"exclude_default" are provided:
- vnfInstance
- vnfcSnapshots
required: false
schema:
type: string
filter_subscriptions:
name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI
GS NFV-SOL 013 [6].
The VNFM shall support receiving this parameter as part of the URI query string. The
EM may supply this parameter.
All attribute names that appear in the LccnSubscription and in data types referenced
from it shall be supported by the VNFM in the filter expression.
in: query
required: false
schema:
type: string
filter_vnf_lcm_op_occs:
name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI
GS NFV-SOL 013 [6].
The VNFM shall support receiving this parameter as part of the URI query string.
The EM/VNF may supply this parameter.
All attribute names that appear in the VnfLcmOpOcc and in data types referenced
from it shall be supported by the VNFM in the filter expression.
in: query
required: false
schema:
type: string
exclude_default_vnf_lcm_op_occs:
name: exclude_default
in: query
description: >
Indicates to exclude the following complex attributes from the response. See
clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this
parameter.
The following attributes shall be excluded from the VnfLcmOpOcc structure in the
response body if this parameter is provided, or none of the parameters
"all_fields", "fields", "exclude_fields", "exclude_default" are provided:
- operationParams
- error
- resourceChanges
- changedInfo
- changedExtConnectivity
- lcmCoordinations
- modificationsTriggeredByVnfPkgChange
- warnings
required: false
schema:
type: string
filter_vnf_instances:
name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI
GS NFV-SOL 013 [6].
The VNFM shall support receiving this parameter as part of the URI query string.
The EM may supply this parameter.
All attribute names that appear in the VnfInstance and in data types referenced from
it shall be supported by the VNFM in the filter expression.
in: query
required: false
schema:
type: string
exclude_default_vnf_instances:
name: exclude_default
in: query
description: >-
Indicates to exclude the following complex attributes from the response. See
clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this
parameter.
The following attributes shall be excluded from the VnfInstance structure in the
response body if this parameter is provided, or none of the parameters "all_fields",
"fields", "exclude_fields", "exclude_default" are provided:
- vnfConfigurableProperties
- instantiatedVnfInfo
- metadata
- extensions
required: false
schema:
type: string
VnfInstanceId:
name: vnfInstanceId
in: path
description: |
Identifier of the VNF instance. This identifier can be retrieved from the resource referenced by the "Location"
HTTP header in the response to a POST request creating a new VNF instance resource. It can also be retrieved
from the "id" attribute in the message content of that response.
required: true
style: simple
explode: false
schema:
type: string
VnfLcmOpOccId:
name: vnfLcmOpOccId
in: path
description: |
Identifier of a VNF lifecycle management operation occurrence. This identifier can be retrieved from the resource
referenced by the "Location" HTTP header in the response to a PATCH or POST request triggering a VNF LCM operation.
It can also be retrieved from the "vnfLcmOpOccId" attribute in the VnfLcmOperationOccurrenceNotification.
required: true
style: simple
explode: false
schema:
type: string
SubscriptionId:
name: subscriptionId
in: path
description: |
Identifier of this subscription. This identifier can be retrieved from the resource referenced by the "Location"
HTTP header in the response to a POST request creating a new subscription resource. It can also be retrieved from
the "id" attribute in the message content of that response.
required: true
style: simple
explode: false
schema:
type: string
VnfSnapshotInfoId:
name: vnfSnapshotInfoId
in: path
description: |
Identifier of the individual VNF snapshot resource. This identifier can be retrieved from the resource referenced by the
"Location" HTTP header in the response to a POST request creating a new VNF snapshot resource. It can also be
retrieved from the "id" attribute in the message content of that response.
required: true
style: simple
explode: false
schema:
type: string
requestBodies:
VnfInstanceCreationRequest:
description: |
The VNF creation parameters, as defined in clause 5.5.2.3.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/CreateVnfRequest"
required: true
VnfInstanceModificationRequest:
description: Input parameters for VNF info modification
content:
application/json:
schema:
$ref: definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModificationRequest
required: true
VnfInstanceInstantiationRequest:
description: Parameters for the VNF instantiation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/InstantiateVnfRequest
required: true
VnfInstanceScaleRequest:
description: Parameters for the scale VNF operation.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfRequest"
required: true
VnfInstanceScaleToLevelRequest:
description: Parameters for the scale VNF to Level operation.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ScaleVnfToLevelRequest"
required: true
VnfInstanceChangeFlavourRequest:
description: Parameters for the Change VNF Flavour operation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeVnfFlavourRequest
required: true
VnfInstanceTerminationRequest:
description: Parameters for the VNF termination.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/TerminateVnfRequest
required: true
VnfInstanceHealRequest:
description: Parameters for the Heal VNF operation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/HealVnfRequest
required: true
VnfInstanceOperateRequest:
description: Parameters for the Operate VNF operation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/OperateVnfRequest
required: true
VnfInstanceChangeExtConnRequest:
description: |
Parameters for the Change external VNF connectivity operation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeExtVnfConnectivityRequest
required: true
VnfInstanceChangeVnfPkgRequest:
description: |
Parameters for the Change current VNF package operation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ChangeCurrentVnfPkgRequest
required: true
VnfInstanceCancelModeRequest:
description: |
The POST request to this resource shall include a CancelMode structure in the message content to
choose between "graceful" and "forceful" cancellation.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/CancelMode"
VnfLcmSubscriptionRequest:
description: |
Details of the subscription to be created.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LccnSubscriptionRequest"
required: true
VnfInstanceCreateSnapshotRequest:
description: |
Parameters for the “Create VNF/VNFC Snapshot” operation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotRequest
required: true
VnfInstanceRevertToSnapshotRequest:
description: |
Parameters for the Revert-to VNF/VNFC snapshot operation.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/RevertToVnfSnapshotRequest
required: true
VnfSnapshotsRequest:
description: |
The VNF snapshot resource creation parameters.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/CreateVnfSnapshotInfoRequest
required: true
responses:
VnfInstances.Get.200:
description: |
200 OK
Information about zero or more VNF instances has been queried successfully. The response body shall contain in
an array the representations of zero or more VNF instances.
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
content:
application/json:
schema:
type: array
items:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance
VnfInstances.Post.201:
description: |
201 CREATED
Shall be returned when a new "Individual VNF Instance" resource and the associated VNF instance identifier
has been created successfully. The response body shall contain a representation of the created VNF instance,
as defined in clause 5.5.2.2. The HTTP response shall include a "Location" HTTP header that contains the
resource URI of the created VNF instance.
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
Location:
description: |
The resource URI of the created VNF instance
style: simple
explode: false
schema:
type: string
format: url
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance
VnfInstances.Post.422:
description: |
422 Unprocessable Content
Shall be returned upon the following error: The content type of the message content is supported and
the message content of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the VNF package
referenced by the "vnfdId" attribute in the "CreateVnfRequest" structure is not in the "ENABLED" state
or does not exist. In this case, the "detail" attribute in the "ProblemDetails" structure shall convey
more information about the error.
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: Version of the API used in the response.
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/SOL002_def.yaml#/definitions/ProblemDetails"
IndividualVnfInstance.Get.200:
description: |
200 OK
Information about an individual VNF instance has been read successfully. The response body shall contain a
representation of the VNF instance, as defined in clause 5.5.2.2.
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
ETag:
description: >
Used to provide the current entity-tag for the selected resource representation. It can be sent in
"200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
Last-Modified:
description: >
Used to provide a timestamp indicating the date and time at which the server believes the selected resource
representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
format: date-time
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInstance
IndividualVnfInstance.Delete.204:
description: |
204 NO CONTENT
The "Individual VNF instance" resource and the associated VNF identifier were deleted successfully.
The response body shall be empty.
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:
application/json:
schema:
$ref: "../VNFLifecycleManagementNotification/definitions/SOL002VNFLifecycleManagementNotification_def.yaml#/definitions/VnfIdentifierDeletionNotification"
IndividualVnfInstance.Delete.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the "Individual
VNF instance" resource is in INSTANTIATED state.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
IndividualVnfInstance.Patch.202:
description: |
202 ACCEPTED
The request was accepted for processing, but the processing has not been completed. On success, the HTTP
response shall include a "Location" HTTP header that contains the URI of the newly-created an "Individual
VNF LCM operation occurrence" resource corresponding to the operation. The response body shall be empty.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
IndividualVnfInstance.Patch.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the "Individual VNF instance"
resource
Typically, this is due to the fact that another LCM
operation is ongoing.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute should convey
more information about the error
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/SOL002_def.yaml#/definitions/ProblemDetails"
InstantiateVnfInstance.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed. The response body
shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
InstantiateVnfInstance.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the "Individual
VNF instance" resource is in INSTANTIATED state
or that a required (see note) child attribute of the
"extensions" attribute has not been set.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
ScaleVnfInstance.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed. The response body
shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
ScaleVnfInstance.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the "Individual
VNF instance" resource is in NOT_INSTANTIATED
state, that another lifecycle management operation is
ongoing, or that a required (see note) child attribute
of the "extensions" attribute has not been set.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
ScaleVnfInstanceToLevel.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed. The response body shall
be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the newly-created
"VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
ScaleVnfInstanceToLevel.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the VNF instance
resource is in NOT_INSTANTIATED state, that
another lifecycle management operation is ongoing,
or that a required (see note) child attribute of the
"extensions" attribute has not been set.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
Note: Required attributes are marked as "required" in the VNFD.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfInstanceChangeFlavour.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed. The response body
shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
VnfInstanceChangeFlavour.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the
"Individual VNF instance" resource is in
NOT_INSTANTIATED state, that another
lifecycle management operation is ongoing, or
that a required (see note) child attribute of the
"extensions" attribute has not been set.
The response body shall contain a
ProblemDetails structure, in which the "detail"
attribute shall convey more information about the
error.
note: Required attributes are marked as "required" in the VNFD.
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/SOL002_def.yaml#/definitions/ProblemDetails"
TerminateVnfInstance.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing. The response body shall be empty. The HTTP response shall include
a "Location" HTTP header that contains the URI of the newly-created "Individual VNF LCM operation occurrence"
resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
TerminateVnfInstance.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the "Individual VNF
instance" resource is in NOT_INSTANTIATED state, or
that another lifecycle management operation is
ongoing, or that a required (see note) child attribute of
the "extensions" attribute has not been set.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
note: Required attributes are marked as "required" in the VNFD.
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/SOL002_def.yaml#/definitions/ProblemDetails"
HealVnfInstance.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed. The response body
shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "Individual VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
HealVnfInstance.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the "Individual VNF
instance" resource is in NOT_INSTANTIATED state,
that another lifecycle management operation is
ongoing, or that a required (see note) child attribute of
the "extensions" attribute has not been set.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
note: Required attributes are marked as "required" in the VNFD.
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/SOL002_def.yaml#/definitions/ProblemDetails"
OperateVnfInstance.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed. The response body
shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
OperateVnfInstance.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the "Individual VNF
instance" resource is in NOT_INSTANTIATED state,
that another lifecycle management operation is
ongoing, or that a required (see note) child attribute of
the "extensions" attribute has not been set.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
note: Required attributes are marked as "required" in the VNFD.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfInstanceChangeExtConn.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but the processing has not been completed. The response body
shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI of the
newly-created "VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
VnfInstanceChangeExtConn.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that another
lifecycle management operation is ongoing, or that
a required (see note) child attribute of the
"extensions" attribute has not been set.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
note: Required attributes are marked as "required" in the VNFD.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfInstanceChangeVnfPkg.Post.202:
description: |
202 ACCEPTED
Shall be returned when the request has been accepted for processing.
The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI
of the newly-created "Individual VNF LCM operation occurrence" resource corresponding to the instantiation operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
VnfInstanceChangeVnfPkg.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error:
The operation cannot be executed
currently, due to a conflict with the state of
the resource.
Typically, this is due to the fact that another
lifecycle management operation is ongoing.
The response body shall contain a
ProblemDetails structure, in which the
"detail" attribute shall convey more
information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfLcmOpOccs.Get.200:
description: |
200 OK
Status information for zero or more VNF lifecycle management operation occurrences has been queried
successfully. The response body shall contain in an array the status information about zero or more VNF
lifecycle operation occurrences, as defined in clause 5.5.2.13. If the VNFM supports alternative 2 (paging)
according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in
this response shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
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
Link:
description: |
Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
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
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc
IndividualVnfLcmOpOcc.Get.200:
description: |
200 OK
Information about an individual VNF instance has been queried successfully. The response body shall contain
status information about a VNF lifecycle management operation occurrence.
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
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc
VnfLcmOpOccRetry.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but processing has not been completed. The response shall
have an empty message content.
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: {}
VnfLcmOpOccRetry.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the VNF LCM operation
occurrence.
Typically, this is due to the fact that the VNF LCM
operation occurrence is not in FAILED_TEMP state
or another error handling action is starting such as
rollback or fail.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfLcmOpOccRollback.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but processing has not been completed. The response shall have
an empty message content.
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: {}
VnfLcmOpOccRollback.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the VNF LCM operation
occurrence.
Typically, this is due to the fact that the VNF LCM
operation occurrence is not in FAILED_TEMP state
or another error handling action is starting such as
retry or fail.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfLcmOpOccFail.Post.200:
description: |
200 OK
The state of the VNF lifecycle management operation occurrence has been changed successfully. The response
shall include a representation of the "Individual VNF lifecycle operation occurrence" 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
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfLcmOpOcc
VnfLcmOpOccFail.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the VNF LCM operation
occurrence.
Typically, this is due to the fact that the VNF LCM
operation occurrence is not in FAILED_TEMP state or
another error handling action is starting such as retry
or rollback.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfLcmOpOccCancel.Post.202:
description: |
202 ACCEPTED
The request has been accepted for processing, but processing has not been completed. The response shall
have an empty message content.
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: {}
VnfLcmOpOccCancel.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the VNF LCM operation
occurrence.
Typically, this is due to the fact that the operation
occurrence is not in STARTING, PROCESSING or
ROLLING_BACK state.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall convey
more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
Subscriptions.Get.200:
description: |
200 OK
The list of subscriptions has been queried successfully. The response body shall contain in an array the
representations of all active subscriptions of the functional block that invokes the method, i.e. zero or
more representations of lifecycle change notification subscriptions as defined in clause 5.5.2.16.
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
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
Subscriptions.Post.201:
description: |
201 CREATED
The subscription has been created successfully. The response body shall contain a representation of the
created "Individual subscription" resource. The HTTP response shall include a "Location" HTTP header that points
to the created "Individual subscription" 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
Location:
description: The resource URI of the created VNF instance
style: simple
explode: false
schema:
type: string
format: url
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
Subscriptions.Post.442:
description: |
422 Unprocessable Content
Shall be returned upon the following error: The content type of the message content is supported and
the message content of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the VNFM has tested
the Notification endpoint as described in clause 5.4.20.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about
the error.
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: Version of the API used in the response.
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/SOL002_def.yaml#/definitions/ProblemDetails"
IndividualSubscription.Get.200:
description: |
200 OK
The operation has completed successfully. The response body shall contain a representation of the
"Individual subscription" 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
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LccnSubscription"
IndividualSubscription.Delete.204:
description: |
204 NO CONTENT
The "Individual subscription" resource has been deleted successfully. The response body shall be empty.
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: {}
VnfInstanceCreateSnapshot.Post.202:
description: |
202 ACCEPTED
Shall be returned when the request was accepted for processing, but the processing has not been completed.
The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI
of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
VnfInstanceCreateSnapshot.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the VNF
instance resource is in NOT_INSTANTIATED
state, or that another lifecycle management
operation is ongoing.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall
convey more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfInstanceCreateSnapshot.Post.422:
description: |
422 Unprocessable Content
Shall be returned upon the following error: The content type of the message content is supported and the
message content of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the provided
identifier of the target "Individual VNF snapshot" resource for the VNF snapshot is invalid.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information
about the error.
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: Version of the API used in the response.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfInstanceRevertToSnapshot.Post.202:
description: |
202 ACCEPTED
Shall be returned when the request was accepted for processing, but the processing has not been completed.
The response body shall be empty. The HTTP response shall include a "Location" HTTP header that contains the URI
of the newly-created "VNF LCM operation occurrence" resource corresponding to the operation.
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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content: {}
VnfInstanceRevertToSnapshot.Post.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the VNF
instance resource is in NOT_INSTANTIATED
state, or that another lifecycle management
operation is ongoing.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall
convey more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
VnfSnapshots.Post.201:
description: |
201 CREATED
Shall be returned when an individual VNF snapshot resource has been created successfully.
The response body shall contain a representation of the new individual VNF snapshot resource, as defined in
clause 5.5.2.21. The HTTP response shall include a "Location" HTTP header that contains the resource URI of the
individual VNF snapshot 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
Location:
description: |
Used in redirection, or when a new resource has been created. This header field shall be present if the
response status code is 201 or 3xx. In the present document this header field is also used if the response
status code is 202 and a new resource was created.
style: simple
explode: false
schema:
type: string
format: url
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo
VnfSnapshots.Get.200:
description: |
200 OK
Shall be returned when information about zero or more VNF snapshots was queried successfully.
The response body shall contain in an array the representations of zero or more individual VNF
snapshot resources, as defined in clause 5.5.2.21.
If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS NFV-SOL 013
for this resource, inclusion of the Link HTTP header in this response shall follow the provisions
in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
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
content:
application/json:
schema:
type: array
items:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo
IndividualVnfSnapshot.Get.200:
description: |
200 OK
Shall be returned when information about an individual VNF snapshot was read successfully.
The response body shall contain a representation of the individual VNF snapshot 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
Link:
description: |
Reference to other resources.
style: simple
explode: false
schema:
type: string
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfSnapshotInfo
IndividualVnfSnapshot.Delete.204:
description: |
204 NO CONTENT
The "Individual subscription" resource has been deleted successfully. The response body shall be empty.
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: {}
IndividualVnfSnapshot.Delete.409:
description: |
409 CONFLICT
Shall be returned upon the following error: The
operation cannot be executed currently, due to a
conflict with the state of the resource.
Typically, this is due to the fact that the VNF
instance resource is in NOT_INSTANTIATED
state, or that another lifecycle management
operation is ongoing.
The response body shall contain a ProblemDetails
structure, in which the "detail" attribute shall
convey more information about the error.
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/SOL002_def.yaml#/definitions/ProblemDetails"
\ No newline at end of file
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
VnfInstance:
description: >
This type represents a VNF instance.
* NOTE: Clause B.3.2 provides examples illustrating the relationship among the different run-time
data types (CP, VL and link ports) used to represent the connectivity of a VNF.
* NOTE 1: Modifying the value of this attribute shall not be performed when conflicts exist
between the previous and the newly referred VNF package, i.e. when the new VNFD is
changed with respect to the previous VNFD in other aspects than merely referencing
to other VNF software images. In order to avoid misalignment of the VnfInstance with
the current VNF's on-boarded VNF package, the values of attributes in the VnfInstance
that have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.
* NOTE 2: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
* NOTE 3: VNF configurable properties are sometimes also referred to as configuration parameters
applicable to a VNF. Some of these are set prior to instantiation and cannot be modified
if the VNF is instantiated, some are set prior to instantiation (are part of initial configuration)
and can be modified later, and others can be set only after instantiation.
The applicability of certain configuration may depend on the VNF and the required operation of
the VNF at a certain point in time.
* NOTE 4: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child
attributes of "vnfConfigurableProperties", "metadata" and "extensions" that were declared
in the VNFD with a defined initial value. The defined initial values can be declared in the VNFD,
and/or, in case of "metadata", obtained from the "CreateVnfRequest" structure. Child attributes of
"vnfConfigurableProperties", "metadata" and "extensions" that have no defined initial value shall
not be created, in order to be consistent with the semantics of the JSON Merge Patch method
(see IETF RFC 7396) that interprets null values as deletion request.
* NOTE 5: It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case
of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding
to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc
and externally-managed multi-site VL instance (refer to clause 5.5.3.5).
* NOTE 6: Even though externally-managed internal VLs are also used for VNF-internal connectivity,
they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
type: object
required:
- id
- vnfdId
- vnfProvider
- vnfProductName
- vnfSoftwareVersion
- vnfdVersion
- instantiationState
- _links
properties:
id:
description: >
Identifier of the VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfInstanceName:
description: >
Name of the VNF instance.
This attribute can be modified with the PATCH method.
type: string
vnfInstanceDescription:
description: >
Human-readable description of the VNF instance.
This attribute can be modified with the PATCH method.
type: string
vnfdId:
description: >
Identifier of the VNFD on which the VNF instance is based. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
Provider of the VNF and the VNFD. The value is copied from the VNFD.
type: string
vnfProductName:
description: >
Name to identify the VNF Product. The value is copied from the VNFD.
type: string
vnfSoftwareVersion:
description: >
Software version of the VNF. The value is copied from the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfdVersion:
description: >
Identifies the version of the VNFD. The value is copied from the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfConfigurableProperties:
description: >
Additional VNF-specific attributes that provide the current values
of the configurable properties of the VNF instance.
These attributes represent values that are stored persistently in
the VnfInstance structure and that correspond to configuration
parameters of the VNF instance.
Modifying these attributes affects the configuration of the VNF
instance either directly (if the VNF instance is in INSTANTIATED
state at the time of the modification) or as part of the subsequent
VNF instantiation operation (if the VNF instance is in NOT_INSTANTIATED
state at the time of the modification).
Configurable properties referred in these attributes shall be declared
in the VNFD.
The declaration of configurable properties in the VNFD can optionally
contain the specification of initial values. See note 2, note 3 and note 4. The VNFM
shall reject requests to write configurable properties that are not declared in the
VNFD with a "422 Unprocessable Content" error response as defined in clause 6.4 of ETSI GS NFV SOL 013.
These configurable properties include the following standard attributes,
which are declared in the VNFD if auto-scaling and/or auto-healing are
supported by the VNF:
- isAutoscaleEnabled: If present, the VNF supports auto-scaling. If set
to true, auto-scaling is currently enabled. If set to false, auto-scaling
is currently disabled.
- isAutohealEnabled: If present, the VNF supports auto-healing. If set
to true, auto-healing is currently enabled. If set to false, auto-healing
is currently disabled.
These configurable properties can be initialized with default values from the VNFD (see note 4).
Configurable properties can be modified with values passed in the request structures of certain
LCM operations, such as the InstantiateVnfRequest structure.
Further, these configurable properties can be created, modified or deleted with the PATCH method.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
instantiationState:
description: >
The instantiation state of the VNF.
type: string
enum:
- NOT_INSTANTIATED
- INSTANTIATED
instantiatedVnfInfo:
description: >
Information specific to an instantiated VNF instance. This attribute
shall be present if the instantiateState attribute value is
INSTANTIATED.
type: object
required:
- flavourId
- vnfState
- extCpInfo
properties:
flavourId:
description: >
Identifier of the VNF deployment flavour applied to this VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfState:
description: >
The state of the VNF instance.
$ref: "#/definitions/VnfOperationalStateType"
scaleStatus:
description: >
Scale status of the VNF, one entry per aspect. Represents for every
scaling aspect how "big" the VNF has been scaled w.r.t. that aspect.
This attribute shall be present if the VNF supports scaling.
See clause B.2 for an explanation of VNF scaling.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ScaleInfo"
maxScaleLevels:
description: >
Maximum allowed scale levels of the VNF, one entry per aspect.
This attribute shall be present if the VNF supports scaling.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ScaleInfo"
extCpInfo:
description: >
Information about the external CPs exposed by the VNF instance. When trunking is enabled, the list of
entries includes both, external CPs corresponding to parent ports of a trunk, and external CPs associated
to sub-ports of a trunk.
type: array
minItems: 1
items:
$ref: "#/definitions/VnfExtCpInfo"
vipCpInfo:
description: >
VIP CPs that are part of the VNF instance. Shall be present when that particular VIP
CP of the VNFC instance is associated to an external CP of the VNF instance.
May be present otherwise.
type: array
items:
$ref: "#/definitions/VipCpInfo"
extVirtualLinkInfo:
description: >
Information about the external VLs the VNF instance is connected to.
type: array
items:
$ref: "#/definitions/ExtVirtualLinkInfo"
extManagedVirtualLinkInfo:
description: >
Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6.
It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a
multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same
VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed
multi-site VL instance (refer to clause 5.5.3.5).
Even though externally-managed internal VLs are also used for VNF-internal connectivity,
they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
type: array
items:
$ref: "#/definitions/ExtManagedVirtualLinkInfo"
monitoringParameters:
description: >
Active monitoring parameters.
type: array
items:
$ref: "#/definitions/MonitoringParameter"
localizationLanguage:
description: >
Information about localization language of the VNF (includes e.g.
strings in the VNFD). The localization languages supported by a VNF
can be declared in the VNFD, and localization language selection can
take place at instantiation time.
The value shall comply with the format defined in IETF RFC 5646.
type: string
vnfcResourceInfo:
description: >
Information about the virtualised compute and storage resources used
by the VNFCs of the VNF instance.
type: array
items:
$ref: "#/definitions/VnfcResourceInfo"
vnfVirtualLinkResourceInfo:
description: >
Information about the virtualised network resources used by the VLs
of the VNF instance. See note 6.
Even though externally-managed internal VLs are also used for VNF-internal connectivity,
they shall not be listed in the "vnfVirtualLinkResourceInfo" attribute as this would be redundant.
type: array
items:
$ref: "#/definitions/VnfVirtualLinkResourceInfo"
vnfVirtualStorageResourceInfo:
description: >
Information on the virtualised storage resource(s) used as storage for the VNF instance.
type: array
items:
$ref: "#/definitions/VirtualStorageResourceInfo"
vnfcInfo:
description: >
Information about the VNFC instances.
type: array
items:
$ref: "#/definitions/VnfcInfo"
metadata:
description: >
Additional VNF-specific attributes that provide metadata describing the VNF instance.
These attributes represent values that are stored persistently in the VnfInstance
structure for consumption by functional blocks that invoke the VNF lifecycle management
interface. They are not consumed by the VNFM, or the lifecycle management scripts.
Modifying the values of these attributes has no effect on the VNF instance, it only
affects the information represented in the VnfInstance structure.
Metadata that VNF provider foresees shall be declared in the VNFD. The declaration of metadata in
the VNFD can optionally contain the specification of initial values. See note 2 and note 4. The VNFM shall
accept requests to write metadata that are not are declared in the VNFD.
These attributes can be initialized with default values from VNFD (see note 4) and/or with values
passed in the CreateVnfRequest structure (see clause 5.5.2.3).
These attributes can be created, modified or removed with the PATCH method.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
Additional VNF specific attributes that affect the lifecycle management of this VNF instance.
These attributes represent values that are stored persistently in the VnfInstance structure for
consumption by the VNFM, or by the lifecycle management scripts during the execution of VNF
lifecycle management operations.
All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an
extension in the VNFD contains information on whether its presence is optional or required,
and optionally can specify an initial value. See note 2 and note 4. The VNFM shall reject
requests to write extension attributes that are not declared in the VNFD with a "422 Unprocessable
Content" error response as defined in clause 6.4 of ETSI GS NFV SOL 013.
Modifying the values of these attributes has no direct effect on the VNF instance; however, the
modified attribute values can be considered during subsequent VNF lifecycle management operations,
which means that the modified values can indirectly affect the configuration of the VNF instance.
These attributes can be initialized with default values from the VNFD (see note 4).
These attributes can be modified with values passed in the request structures of certain LCM operations,
such as the InstantiateVnfRequest structure.
Further, these attributes can be created, modified or deleted with the PATCH method.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: URI of this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
indicators:
description: Indicators related to this VNF instance, if applicable.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
instantiate:
description: >
Link to the "Instantiate VNF task" resource, if the related operation
is possible based on the current status of this VNF instance
resource (i.e. VNF instance in NOT_INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
terminate:
description: >
Link to the "Terminate VNF task" resource, if the related operation
is possible based on the current status of this VNF instance
resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
scale:
description: >
Link to the "Scale VNF task" resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource (i.e. VNF instance
is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
scaleToLevel:
description: >
Link to the "Scale VNF to Level task" resource, if the related
operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
changeFlavour:
description: >
Link to the "Change VNF flavour task" resource, if the related
operation is supported for this VNF instance, and is possible
based on the current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
heal:
description: >
Link to the "Heal VNF task" resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
operate:
description: >
Link to the "Operate VNF task" resource, if the related operation is
supported for this VNF instance, and is possible based on the
current status of this VNF instance resource
(i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
changeExtConn:
description: >
Link to the "Change external VNF connectivity task" resource, if the related
operation is possible based on the current status of this VNF
instance resource (i.e. VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
createSnapshot:
description: >
Link to the "Create VNF snapshot task" resource, if the related operation is
supported for this VNF instance and is possible based on the current status of
this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
revertToSnapshot:
description: >
Link to the "Revert to VNF snapshot task" resource, if the related operation is
supported for this VNF instance and is possible based on the current status of this
VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
changeCurrentVnfPkg:
description: >
Link to the "Change current VNF package task" resource, if the related operation is
possible based on the current status of this VNF instance resource (i.e. VNF instance is
in INSTANTIATED state).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
InstantiateVnfRequest:
description: >
This type represents request parameters for the "Instantiate VNF" operation.
* NOTE: The indication of externally-managed internal VLs is needed in case networks have been
pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
properties such as security or acceleration features, or to address particular network topologies.
The present document assumes that externally-managed internal VLs are managed by the NFVO and
created towards the VIM.
type: object
required:
- flavourId
properties:
flavourId:
description: >
Identifier of the VNF deployment flavour to be instantiated.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
instantiationLevelId:
description: >
Identifier of the instantiation level of the deployment flavour to be instantiated. If not present,
the default instantiation level as declared in the VNFD is instantiated.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
extVirtualLinks:
description: >
Information about external VLs to connect the VNF to, including configuration information
for the CPs via which the VNF instance can attach to this VL.
The following applies to the "ExtVirtualLinkData" information provided in this request: Even
if the VNF is not instantiated in fully scaled-out state, the API consumer shall provide enough
CP configuration records to allow connecting the VNF instance, fully scaled out in all scaling
aspects, to the external VLs.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about external VLs to connect the VNF to. See note.
type: array
items:
$ref: "#/definitions/ExtManagedVirtualLinkData"
localizationLanguage:
description: >
Localization language of the VNF to be instantiated. The value shall
comply with the format defined in IETF RFC 5646.
type: string
additionalParams:
description: >
Additional input parameters for the instantiation process, specific
to the VNF being instantiated, as declared in the VNFD as part of
"InstantiateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the
"extensions" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling extensions
during the operation are defined in clause 5.4.4.3.1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfConfigurableProperties:
description: >
If present, this attribute provides modifications to the default values, as obtained from the VNFD, of the
"vnfConfigurableProperties" attribute in "VnfInstance", as defined in clause 5.5.2.2.
Provisions for handling configurable properties during the operation are defined in clause 5.4.4.3.1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
ChangeVnfFlavourRequest:
description: >
This type represents request parameters for the "Change VNF flavour" operation.
* NOTE: The indication of externally-managed internal VLs is needed in case networks have been
pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
properties such as security or acceleration features, or to address particular network topologies.
The present document assumes that externally-managed internal VLs are managed by the NFVO and
created towards the VIM.
type: object
required:
- newFlavourId
properties:
newFlavourId:
description: >
Identifier of the VNF deployment flavour to be instantiated.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
instantiationLevelId:
description: >
Identifier of the instantiation level of the deployment flavour to
be instantiated. If not present, the default instantiation level as
declared in the VNFD is instantiated.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
extVirtualLinks:
description: >
Information about external VLs to connect the VNF to, including configuration information
for the CPs via which the VNF instance can attach to this VL.
Entries in the list of external VLs that are unchanged need not be supplied as part of
this request.
The following applies to the "ExtVirtualLinkData" information provided in this request, together
with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance"
structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state after changing the
flavour, the API consumer shall provide enough CP configuration records to allow connecting the VNF
instance, fully scaled out in all scaling aspects, to the external VLs.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about external VLs to connect the VNF to. See note.
type: array
items:
$ref: "#/definitions/ExtManagedVirtualLinkData"
additionalParams:
description: >
Additional input parameters for the flavour change process, specific to the VNF being modified, as
declared in the VNFD as part of "ChangeVnfFlavourOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance",
as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, are defined in clause
5.4.7.3.1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfConfigurableProperties:
description: >
If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute in
"VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the
operation, are defined in clause 5.4.7.3.1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
TerminateVnfRequest:
description: >
This type represents request parameters for the "Terminate VNF" operation.
* NOTE: In case of forceful termination, the VNF instance is terminated immediately.
If the VNF is still in service, this can adversely impact the network service,
and therefore, the EM needs to determine if forceful termination is applicable
in the particular situation.
type: object
required:
- terminationType
properties:
terminationType:
description: >
Indicates the type of termination is requested. See note.
Permitted values:
* FORCEFUL: The VNFM will shut down the VNF and release the resources immediately after accepting the request.
* GRACEFUL: The VNFM will first arrange to take the VNF out of service after accepting the request. Once the
operation of taking the VNF out of service finishes (irrespective of whether it has succeeded or failed) or
once the timer value specified in the "gracefulTerminationTimeout" attribute expires, the VNFM will shut down
the VNF and release the resources.
type: string
enum:
- FORCEFUL
- GRACEFUL
gracefulTerminationTimeout:
description: >
This attribute is only applicable in case of graceful termination. It defines the time to wait for the VNF to be
taken out of service before shutting down the VNF and releasing the resources.
The unit is seconds. If not given and the "terminationType" attribute is set to "GRACEFUL", it is expected that
the VNFM waits for the successful taking out of service of the VNF, no matter how long it takes, before shutting
down the VNF and releasing the resources.
type: integer
additionalParams:
description: >
Additional parameters passed by the EM as input to the termination process, specific to the VNF being terminated,
as declared in the VNFD as part of "TerminateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
HealVnfRequest:
type: object
properties:
vnfcInstanceId:
description: >
List of identifiers of VNFC instances for which a healing action is requested. Each identifier references the
"id" attribute in a "VnfcInfo" structure. Cardinality can be "0" to denote that the request applies to the
whole VNF and not a specific VNFC instance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
cause:
description: >
Indicates the reason why a healing procedure is required.
type: string
additionalParams:
description: >
Additional parameters passed by the EM as input to the healing process, specific to the VNF being healed as
declared in the VNFD as part of "HealVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
healScript:
description: >
Provides link to a script that should be executed as part
of the healing action or a set of rules for healing procedure.
type: string
OperateVnfRequest:
description: >
This type represents request parameters for the "Operate VNF" operation.
* NOTE: The "stopType" and "gracefulStopTimeout" attributes shall be absent, when the "changeStateTo"
attribute is equal to "STARTED". The "gracefulStopTimeout" attribute shall be present, when the
"changeStateTo" is equal to "STOPPED" and the "stopType" attribute is equal to "GRACEFUL".
The "gracefulStopTimeout" attribute shall be absent, when the "changeStateTo" attribute is equal to
"STOPPED" and the "stopType" attribute is equal to "FORCEFUL". The request shall be treated as if
the "stopType" attribute has been set to "FORCEFUL", when the "changeStateTo" attribute is equal
to "STOPPED" and the "stopType" attribute is absent.
type: object
required:
- changeStateTo
properties:
vnfcInstanceId:
description: >
List of identifiers of VNFC instances. Each identifier references the "id" attribute in a "VnfcInfo" structure.
Cardinality can be "0" to denote that the request applies to the whole VNF and not a specific VNFC instance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
changeStateTo:
description: >
The desired operational state (i.e. started or stopped) to change
the VNF to.
$ref: "#/definitions/VnfOperationalStateType"
stopType:
description: >
It signals whether forceful or graceful stop is requested. See note
type: string
enum:
- FORCEFUL
- GRACEFUL
gracefulStopTimeout:
description: >
The time interval (in seconds) to wait for the VNF to be taken out of service during graceful stop,
before stopping the VNF. See note.
type: integer
additionalParams:
description: >
Additional parameters passed by the EM as input to the process, specific to the VNF of which the operation
status is changed, as declared in the VNFD as part of "OperateVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
ChangeExtVnfConnectivityRequest:
description: >
This type represents request parameters for the
"Change external VNF connectivity" operation to modify the external
connectivity of a VNF instance.
type: object
required:
- extVirtualLinks
properties:
extVirtualLinks:
description: >
Information about external VLs to change (e.g. connect the VNF to) including configuration information
for the CPs via which the VNF instance can attach to this VL.
Entries in the list of external VLs that are unchanged need not be supplied as part of this request.
The following applies to the "ExtVirtualLinkData" information provided in this request, together with the
related "ExtVirtualLinkInfo" information known to the VNFM represented in the "VnfInstance" structure (see
clause 5.5.2.2): Even if the VNF is not in fully scaled-out state, the API consumer shall provide enough CP
configuration records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the
external VLs.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
additionalParams:
description: >
Additional parameters passed by the EM as input to the process, specific to the VNF of which the
external connectivity is changed, as declared in the VNFD as part of "ChangeExtVnfConnectivityOpConfig"
defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
ChangeCurrentVnfPkgRequest:
description: >
This type represents request parameters for the "Change current VNF package" operation to replace the VNF package
on which a VNF instance is based.
* NOTE: The indication of externally-managed internal VLs is needed in case networks have been
pre-configured for use with certain VNFs, for instance to ensure that these networks have certain
properties such as security or acceleration features, or to address particular network topologies.
The present document assumes that externally-managed internal VLs are managed by the NFVO and created
towards the VIM.
type: object
required:
- vnfdId
properties:
vnfdId:
description: >
Identifier of the VNFD which defines the destination VNF Package for the change.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
extVirtualLinks:
description: >
Information about external VLs to connect the VNF to, including configuration information for
the CPs via which the VNF instance can attach to this VL.
Entries in the list that are unchanged need not be supplied as part of this request.
The following applies to the "ExtVirtualLinkData" information provided in this request, together
with the related "ExtVirtualLinkInfo" information known to the VNFM represented in the
"VnfInstance" structure (see clause 5.5.2.2): Even if the VNF is not in fully scaled-out state
after the change of the VNF package, the API consumer shall provide enough CP configuration
records to allow connecting the VNF instance, fully scaled out in all scaling aspects, to the
external VLs.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ExtVirtualLinkData"
extManagedVirtualLinks:
description: >
Information about internal VLs that are managed by other entities than the VNFM. See note.
type: array
items:
$ref: "#/definitions/ExtManagedVirtualLinkData"
additionalParams:
description: >
Additional parameters passed by the EM as input to the process, specific to the VNF of which the underlying
VNF package is changed, as declared in the VNFD as part of "ChangeCurrentVnfPkgOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute provides modifications to the values of the "extensions" attribute in "VnfInstance",
as defined in clause 5.5.2.2. Provisions for handling extensions during the operation, and needed passed
parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfConfigurableProperties:
description: >
If present, this attribute provides modifications to the values of the “vnfConfigurableProperties” attribute
in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling VNF configurable properties during the
operation, and needed passed parameter values in case of conflicts, are defined in clause 5.4.11a.3.1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfInfoModificationRequest:
description: >
This type represents attribute modifications for an "Individual VNF instance" resource,
i.e. modifications to a resource representation based on the "VnfInstance" data type.
The attributes of "VnfInstance" that can be modified according to the provisions in clause 5.5.2.2
are included in the "VnfInfoModificationRequest" data type.
type: object
properties:
vnfInstanceName:
description: >
New value of the "vnfInstanceName" attribute in "VnfInstance", or "null" to remove the attribute.
type: string
vnfInstanceDescription:
description: >
New value of the "vnfInstanceDescription" attribute in "VnfInstance", or "null" to remove the attribute.
type: string
vnfdId:
description: >
New value of the "vnfdId" attribute in "VnfInstance". The value "null" is not permitted.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfConfigurableProperties:
description: >
Modifications of the "vnfConfigurableProperties" attribute in "VnfInstance".
If present, these modifications shall be applied according to the rules of
JSON Merge PATCH (see IETF RFC 7396 [15]).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
Modifications of the "metadattametadata" attribute in "VnfInstance".
If present, these modifications shall be applied according to the rules of
JSON Merge PATCH (see IETF RFC 7396 [15]).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
Modifications of the "extensions" attribute in "VnfInstance".
If present, these modifications shall be applied according to the rules of
JSON Merge PATCH (see IETF RFC 7396 [15]).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfcInfoModifications:
description: >
Modifications of certain entries in the "vnfcInfo" attribute array in the
"instantiatedVnfInfo" attribute of "VnfInstance" to be used as "newList" as defined below this table.
The following provisions shall apply when modifying an attribute that is an array of objects of type
"VnfcInfo" by supplying an array of objects of type "VnfcInfoModifications".
Assumptions:
1) "oldList" is the "VnfcInfo" array to be modified and "newList" is the "VnfcInfoModifications"
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 "id" attribute as the "newEntry"; a "newEntry" has no corresponding entry if no such "oldEntry" exists.
4) In any array of "VnfcInfo" resp. "VnfcInfoModifications" structures, the content of "id" is unique
(i.e. there are no two entries with the same content of "id").
Provisions:
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 content of "newEntry" as specified for
the data type of "newEntry (refer to clause 5.5.3.24 for the data type "VnfcInfoModifications").
type: array
items:
$ref: "#/definitions/VnfcInfoModifications"
CreateVnfSnapshotRequest:
description: >
This type represents request parameters for the "Create VNF Snapshot" LCM operation.
type: object
required:
- vnfSnapshotResId
properties:
vnfSnapshotInfoId:
description: >
Identifier of the individual VNF snapshot resource to which the VNF Snapshot is to be associated.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfcInstanceId:
description: >
Identifier of the VNFC instance to be snapshotted. Each identifier references the "id" attribute in a
"VnfcInfo" structure. If this attribute is provided, only a snapshot of the referred VNFC instance shall
be created.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
additionalParams:
description: >
Additional input parameters for the snapshot creation process, specific for the VNF being “snapshotted”,
as declared in the VNFD as part of "CreateSnapshotVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
RevertToVnfSnapshotRequest:
description: >
This type represents request parameters for the "Revert-to VNF Snapshot" operation.
type: object
properties:
vnfSnapshotInfoId:
description: >
Identifier of the “individual VNF snapshot” resource with the information of the VNF snapshot to be reverted to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfcInstanceId:
description: >
List of identifiers of the VNFC instance to be reverted. Each identifier references the "id" attribute in a
"VnfcInfo" structure. Shall be present if the request is for reverting a specific VNFC instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfcSnapshotInfoId:
description: >
Identifier of the VNFC snapshot information with the information of the VNFC snapshot to be reverted to.
Shall only be present if the "vnfcInstanceId" is present.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
additionalParams:
description: >
Additional input parameters for the revert to VNF snapshot process, specific for the VNF being “reverted”,
as declared in the VNFD as part of “RevertToSnapshotVnfOpConfig” defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
CreateVnfSnapshotInfoRequest:
description: |
This type represents request parameters for the creation of an "Individual VNF snapshot" resource which can be
populated with content obtained by invoking the "Create VNF snapshot" LCM operation or extracted from a VNF
snapshot package.
* NOTE: The present attribute shall be provided if the "Individual VNF snapshot" resource
is requested to be created and be filled from a VNF snapshot package extraction.
type: object
properties:
vnfSnapshotPkgId:
description: |
Identifier of the VNF snapshot package information held by the NFVO. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
VnfSnapshotInfo:
description: >
This type represents an individual VNF snapshot resource.
type: object
required:
- id
properties:
id:
description: >
Identifier of the individual VNF snapshot resource. This identifier is allocated by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfSnapshotPkgId:
description: |
Identifier of the VNF snapshot package information held by the EM. Shall be present when the
“Individual VNF snapshot" resource is created from a VNF snapshot package extraction.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfSnapshot:
description: >
Information about the VNF snapshot, content and/or references to its content. Shall be present when the
individual VNF snapshot resource is associated to a VNF snapshot created via the corresponding "Create VNF
snapshot" task resource or extracted from a VNF snapshot package.
$ref: '#/definitions/VnfSnapshot'
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
takenFrom:
description: >
Link to the VNF instance from which this snapshot was taken. Shall be present when the "Individual VNF
snapshot" resource is associated to a VNF snapshot created via the corresponding "Create VNF snapshot"
task resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
VnfSnapshot:
description: >
This type represents a VNF snapshot.
type: object
required:
- id
- vnfInstanceId
- triggeredAt
- vnfdId
- vnfInfo
- vnfcSnapshots
properties:
id:
description: >
Identifier of the VNF Snapshot. This identifier is allocated by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfInstanceId:
description: >
Identifier of the snapshotted VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
creationStartedAt:
description: >
Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
creationFinishedAt:
description: >
Timestamp indicating when the VNF snapshot has been completed by the VNFM.
Shall be present once the VNF snapshot creation has been completed.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfdId:
description: >
Identifier of the VNFD in use at the time the snapshot of the VNF instance has been created.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfInstance:
description: >
VNF Instance information of the snapshotted VNF instance. This is a copy of the individual VNF instance resource.
$ref: '#/definitions/VnfInstance'
vnfcSnapshots:
description: >
Information about VNFC snapshots constituting this VNF snapshot.
type: array
items:
$ref: '#/definitions/VnfcSnapshotInfo'
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfcSnapshotInfo:
description: >
This type represents a VNFC snapshot.
* NOTE 1: The identifier of the compute snapshot resource is assigned during creation of a VNFC
snapshot being returned from the VIM as output data in the response message of the individual
resource operations. This attribute shall only be present for a VNFC snapshot that has been
newly created by the VNFM as a result of the "Create VNF snapshot task".
NOTE 2: The identifier of the storage snapshot resource is assigned during creation of a VNFC snapshot
being returned from the VIM as output data in the response message of the individual resource
operations. This attribute shall only be present for a VNFC snapshot with an associated storage
resource and that has been newly created by the VNFM as a result of the "Create VNF snapshot task".
type: object
required:
- id
- vnfcInstanceId
- creationStartedAt
- vnfcResourceInfoId
properties:
id:
description: >
Identifier of the information held by the VNFM about a specific VNFC snapshot. This identifier is allocated by
the VNFM and is unique within the scope of a VNF snapshot.
The attribute also identifies the compute snapshot image associated
to this VNFC snapshot within the context of a referred VNF snapshot.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfcInstanceId:
description: >
Identifier of the snapshotted VNFC instance.
The identifier references the "id" attribute in a "VnfcInfo" structure.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
creationStartedAt:
description: >
Timestamp indicating when the VNF snapshot creation has been started by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
creationFinishedAt:
description: >
Timestamp indicating when the VNFC snapshot has been completed. Shall be present once the VNFC snapshot
creation has been completed by the VNFM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfcResourceInfoId:
description: >
Reference to the "VnfcResourceInfo" structure in the "VnfInstance" structure that represents the resources of
the snapshotted VNFC instance. A snapshot of that structure is available in the "vnfInstance" attribute of the
"VnfSnapshot" structure.
$ref: "#/definitions/VnfcInfo"
computeSnapshotResource:
description: >
Reference to a compute snapshot resource. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
storageSnapshotResources:
description: >
Mapping of the storage resources associated to the VNFC with the storage snapshot resources.
type: object
required:
- storageResourceId
properties:
storageResourceId:
description: >
Reference to the "VirtualStorageResourceInfo" structure in the "VnfInstance" structure that represents
the virtual storage resource. The attribute also identifies the storage snapshot image
associated to this VNFC snapshot within the context of a referred VNF snapshot
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
storageSnapshotResource:
description: >
Reference to a storage snapshot resource. See note 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
userDefinedData:
description: >
User defined data for the VNF snapshot.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
StopType:
description: >
The enumeration StopType.
* FORCEFUL: The VNFM will stop the VNF instance or VNFC instance(s) immediately after accepting the request.
* GRACEFUL: The VNFM will first arrange to take the VNF instance or VNFC instance(s) out of service after accepting
the request. Once that operation is successful or once the timer value specified in the "gracefulStopTimeout"
attribute expires, the VNFM will stop the VNF instance or VNFC instance(s).
type: string
enum:
- FORCEFUL
- GRACEFUL
ExtManagedVirtualLinkData:
description: >
This type represents an externally-managed internal VL.
* NOTE: The information about the VIM connection referenced by the VIM connection id is known to the VNFM.
Moreover, the identifier of the VIM connection provides scope to the resourceId.
type: object
required:
- id
- virtualLinkDescId
- resourceId
properties:
id:
description: >
The identifier of the externally-managed internal VL instance. The
identifier is assigned by the NFV-MANO entity that manages this VL
instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfVirtualLinkDescId:
description: >
The identifier of the VLD in the VNFD for this VL.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vimConnectionId:
description: >
Identifier of the VIM connection to manage this resource. This
attribute shall only be supported and present if VNF-related
resource management in direct mode is applicable. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
resourceProviderId:
description: >
Identifies the entity responsible for the management of this
resource. This attribute shall only be supported and present if
VNF-related resource management in indirect mode is applicable. The
identification scheme is outside the scope of the present document.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
resourceId:
description: >
The identifier of the resource in the scope of the VIM or the
resource provider.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVim"
ExtManagedVirtualLinkInfo:
description: >
This type represents an externally-managed internal VL.
type: object
required:
- id
- vnfVirtualLinkDescId
- networkResource
properties:
id:
description: >
Identifier of the externally-managed internal VL and the related
externally-managed VL information instance.
The identifier is assigned by the NFV-MANO entity that manages this
VL instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfVirtualLinkDescId:
description: >
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
networkResource:
description: >
Reference to the VirtualNetwork resource providing this VL.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
vnfLinkPorts:
description: >
Link ports of this VL.
type: array
items:
$ref: "#/definitions/VnfLinkPortInfo"
VnfcResourceInfo:
description: >
This type represents the information on virtualised compute and storage
resources used by a VNFC in a VNF instance.
* NOTE 1: ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
* NOTE 2: A VNFC CP is "connected to" an external CP if the VNFC CP is connected to an internal VL that
exposes an external CP. A VNFC CP is "exposed as" an external CP if it is connected directly
to an external VL.
* NOTE 3: The information can be omitted because it is already available as part of the external CP information.
* NOTE 4: If only the value or the presence of this attribute is changed in the "VnfcResourceInfo" structure by
an LCM operation occurrence, this does not represent a change that requires including a related "AffectedVnfc"
structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc" structure related to
this LCM operation occurrence.
type: object
required:
- id
- vduId
- computeResource
properties:
id:
description: >
Identifier of this VnfcResourceInfo instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vduId:
description: >
Reference to the applicable VDU in the VNFD. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure). See note 4.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
computeResource:
description: >
Reference to the VirtualCompute resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
storageResourceIds:
description: >
References to the VirtualStorage resources. The value refers to a
VirtualStorageResourceInfo item in the VnfInstance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfcCpInfo:
description: >
All the CPs of the VNFC instance.
type: array
items:
type: object
required:
- id
- cpdId
properties:
id:
description: >
Identifier of this VNFC CP instance and the associated array
entry.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the VDU CPD, cpdId, in the VNFD. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfExtCpId:
description: >
Identifier of the related external CP. Shall be present when the VNFC CP is exposed as an external CP of
the VNF instance or connected to an external CP of the VNF instance (see note 2) and shall be absent otherwise.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpProtocolInfo:
description: >
Network protocol information for this CP. May be omitted if the VNFC CP is exposed as an external CP.
The information can be omitted because it is already available as part of the external CP information.
See note 3.
type: array
items:
$ref: "#/definitions/CpProtocolInfo"
vnfLinkPortId:
description: >
Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo"
or "ExtManagedVirtualLinkInfo" structure. Shall be present if
the CP is associated to a link port on an internal VL (including externally-managed internal VL)
of the VNF instance and shall be absent otherwise.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
parentCpId:
description: >
Identifier of another VNFC CP instance that corresponds to the parent port
of a trunk that the present VNFC CP instance participates in.
Shall be provided if the present CP instance participates in a trunk as subport.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
metadata:
description: >
Metadata about this CP.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfVirtualLinkResourceInfo:
description: >
This type represents the information that allows addressing a virtualised
resource that is used by an internal VL instance in a VNF instance.
NOTE: If only the value or the presence of this attribute is changed in the "VnfVirtualLinkResourceInfo"
structure by an LCM operation occurrence, this does not represent a change that requires including a
related "AffectedVirtualLink" structure in the VNF LCM operation occurrence notifications or the
"VnfLcmOpOcc" structure related to this LCM operation occurrence.
type: object
required:
- id
- vnfVirtualLinkDescId
- networkResource
- vnfLinkPorts
properties:
id:
description: >
Identifier of this VnfVirtualLinkResourceInfo instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfVirtualLinkDescId:
description: >
Identifier of the VNF Virtual Link Descriptor (VLD) in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure). See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
networkResource:
description: >
Reference to the VirtualNetwork resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfLinkPorts:
description: >
Links ports of this VL.
Shall be present when the linkPort is used for external connectivity
by the VNF (refer to VnfLinkPortInfo).
May be present otherwise.
type: array
items:
$ref: "#/definitions/VnfLinkPortInfo"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VirtualStorageResourceInfo:
description: >
This type represents the information that allows addressing a virtualised
resource that is used by a VNF instance.
NOTE: If only the value or the presence of this attribute is changed in the "VirtualStorageResourceInfo"
structure by an LCM operation occurrence, this does not represent a change that requires
including a related "AffectedVirtualStorage" structure in the VNF LCM operation occurrence
notifications or the "VnfLcmOpOcc" structure related to this LCM operation occurrence.
type: object
required:
- id
- virtualStorageDescId
- storageResource
properties:
id:
description: >
Identifier of this VirtualStorageResourceInfo instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
virtualStorageDescId:
description: >
Identifier of the VirtualStorageDesc in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure). See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
storageResource:
description: >
Reference to the VirtualStorage resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
reservationId:
description: >
The reservation identifier applicable to the resource. It shall be
present when an applicable reservation exists.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
AffectedVnfc:
description: >
This type provides information about added, deleted, modified and
temporary VNFCs.
type: object
required:
- id
- vduId
- changeType
- computeResource
properties:
id:
description: >
Identifier of the Vnfc instance, identifying the applicable
"vnfcResourceInfo" entry in the "VnfInstance" data type.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vduId:
description: >
Identifier of the related VDU in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case of a "change current VNF Package" to identify whether the affected VNFC instance is
associated to a VDU which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change. Permitted values:
* ADDED
* REMOVED
* MODIFIED
* TEMPORARY
For a temporary resource, an AffectedVnfc structure exists as long
as the temporary resource exists.
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
- TEMPORARY
computeResource:
description: >
Reference to the VirtualCompute resource. Detailed information is
(for new and modified resources) or has been (for removed
resources) available from the VIM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
metadata:
description: >
Metadata about this resource.
The content of this attribute shall be a copy of the content of the
"metadata" attribute of the VnfcResourceInfo structure.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
affectedVnfcCpIds:
description: >
Identifiers of CP(s) of the VNFC instance that were affected by the
change.
Shall be present for those affected CPs of the VNFC instance that
are associated to an external CP of the VNF instance.
May be present for further affected CPs of the VNFC instance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
addedStorageResourceIds:
description: >
References to VirtualStorage resources that have been added. Each
value refers to a VirtualStorageResourceInfo item in the
VnfInstance that was added to the VNFC. It shall be provided if at
least one storage resource was added to the VNFC.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
removedStorageResourceIds:
description: >
References to VirtualStorage resources that have been removed.
The value contains the identifier of a VirtualStorageResourceInfo
item that has been removed from the VNFC, and might no longer exist
in the VnfInstance.
It shall be provided if at least one storage resource was removed
from the VNFC.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
AffectedVirtualLink:
description: >
This type provides information about added, deleted, modified and
temporary VLs, and added or removed VNF link ports.
NOTE: When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports,
the "networkResource" attribute refers to the affected virtual link instance, not the link port
instance. The resource handles of the affected VNF link ports can be found by dereferencing the
identifiers in the "vnfLinkPortIds" attribute.
type: object
required:
- id
- vnfVirtualLinkDescId
- changeType
- networkResource
properties:
id:
description: >
Identifier of the virtual link instance, identifying the applicable
"vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" entry in the "VnfInstance" data type.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfVirtualLinkDescId:
description: >
Identifier of the related VLD in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case of a "change current VNF Package" to identify whether the affected VL instance is
associated to a VLD which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change. Permitted values:
* ADDED
* REMOVED
* MODIFIED
* TEMPORARY
* LINK_PORT_ADDED
* LINK_PORT_REMOVED
For a temporary resource, an AffectedVirtualLink structure exists as
long as the temporary resource exists.
When signalling the addition (LINK_PORT_ADDED) or removal (LINK_PORT_REMOVED) of VNF link ports, the
"networkResource" attribute refers to the affected virtual link instance, not the link port instance.
The resource handles of the affected VNF link ports can be found by dereferencing the identifiers in the
"vnfLinkPortIds" attribute.
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
- TEMPORARY
- LINK_PORT_ADDED
- LINK_PORT_REMOVED
networkResource:
description: >
Reference to the VirtualNetwork resource. Detailed information is
(for new and modified resources) or has been (for removed
resources) available from the VIM. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
vnfLinkPortIds:
description: >
Identifiers of the link ports of the affected VL related to the change. Each identifier references a
"VnfLinkPortInfo" structure.
Shall be set when changeType is equal to "LINK_PORT_ADDED" or "LINK_PORT_REMOVED", and the related
"VnfLinkPortInfo" structures are present (case "added") or have been present (case "removed") in the
"VnfVirtualLinkResourceInfo" or "ExtManagedVirtualLinkInfo" structures that are represented by the
"vnfVirtualLinkResourceInfo" or "extManagedVirtualLinkInfo" attribute in the "VnfInstance" structure.
See note.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
metadata:
description: >
Metadata about this resource.
The content of this attribute shall be a copy of the content of the
"metadata" attribute of the applicable "VnfVirtualLinkResourceInfo" structure
if such structure is referenced by the "id" attribute and it has metadata.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
AffectedVirtualStorage:
description: >
This type provides information about added, deleted, modified and
temporary virtual storage resources.
type: object
required:
- id
- virtualStorageDescId
- changeType
- storageResource
properties:
id:
description: >
Identifier of the storage instance, identifying the applicable
"virtualStorageResourceInfo" entry in the "VnfInstance" data type.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
virtualStorageDescId:
description: >
Identifier of the related VirtualStorage descriptor in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case of a "change current VNF Package" to identify whether the affected virtual storage
instance is associated to a VirtualStorage descriptor which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change. Permitted values:
* ADDED
* REMOVED
* MODIFIED
* TEMPORARY
For a temporary resource, an AffectedVirtualStorage structure exists
as long as the temporary resource exists.
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
- TEMPORARY
storageResource:
description: >
Reference to the VirtualStorage resource. Detailed information is
(for new and modified resources) or has been (for removed
resources) available from the VIM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
metadata:
description: >
Metadata about this resource.
The content of this attribute shall be a copy of the content of the
"metadata" attribute of the VirtualStorageResourceInfo structure.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfLcmOpOcc:
description: >
This type represents a VNF lifecycle management operation occurrence. Shall be set to the value of the "id"
attribute in the "Grant" representing the associated "Individual Grant", if such grant exists.
* NOTE 1: This allows the API consumer to obtain the information contained in the latest "result"
notification if it has not received it due to an error or a wrongly configured subscription filter.
* NOTE 2: Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present.
* NOTE 3: For a particular affected VL, there shall be as many "AffectedVirtualLink" entries as needed
for signalling the different types of changes, i.e. one per virtual link and change type.
For instance, in the case of signaling affected VL instances involving the addition of a
particular VL instance with links ports, one "AffectedVirtualLink" entry signals the addition
of the VL by using the "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED",
and another "AffectedVirtualLink" entry signals the addition of VNF link ports of the VL by using the
"changeType" equal to "LINK_PORT_ADDED".
* NOTE 4: A coordination action has timed out if the VNFM has not been able to read the
"Individual coordination action" resource within a timeout interval after requesting the coordination
to be started or to be cancelled. The length of the timeout interval is defined by means outside
the scope of the present document.
* NOTE 5: The list of rejected coordinations may be garbage collected if the LCM operation occurrence has
reached a terminal state, i.e. one of "COMPLETED", "FAILED" and "ROLLED_BACK".
type: object
oneOf:
- required:
- changedInfo
- required:
- modificationsTriggeredByVnfPkgChange
required:
- id
- operationState
- stateEnteredTime
- startTime
- vnfInstanceId
- operation
- isAutomaticInvocation
- isCancelPending
properties:
id:
description: >
Identifier of this VNF lifecycle management operation occurrence.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
operationState:
description: >
The state of the LCM operation.
$ref: "#/definitions/LcmOperationStateType"
stateEnteredTime:
description: >
Date-time when the current state has been entered.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
startTime:
description: >
Date-time of the start of the operation.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfInstanceId:
description: >
Identifier of the VNF instance to which the operation applies
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
grantId:
description: >
Identifier of the grant related to this VNF LCM operation
occurrence. Shall be set to the value of the "id" attribute
in the "Grant" representing the associated "Individual Grant",
if such grant exists.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
operation:
description: >
Type of the actual LCM operation represented by this VNF LCM
operation occurrence.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmOperationType"
isAutomaticInvocation:
description: >
Set to true if this VNF LCM operation occurrence has been triggered
by an automated procedure inside the VNFM (i.e.
ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf
triggered by auto-heal). Set to false otherwise.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Boolean"
operationParams:
description: >
Input parameters of the LCM operation. This attribute shall be
formatted according to the request data type of the related LCM
operation. In addition, the provisions in clause 5.7 shall apply.
The following mapping between operationType and the data type of this attribute shall apply:
* INSTANTIATE: InstantiateVnfRequest
* SCALE: ScaleVnfRequest
* SCALE_TO_LEVEL: ScaleVnfToLevelRequest
* CHANGE_FLAVOUR: ChangeVnfFlavourRequest
* OPERATE: OperateVnfRequest
* HEAL: HealVnfRequest
* CHANGE_EXT_CONN: ChangeExtVnfConnectivityRequest
* TERMINATE: TerminateVnfRequest
* MODIFY_INFO: VnfInfoModifications
* CREATE_SNAPSHOT: CreateVnfSnapshotRequest
* REVERT_TO_SNAPSHOT: RevertToVnfSnapshotRequest
* CHANGE_VNFPKG: ChangeCurrentVnfPkgRequest
type: object
isCancelPending:
description: >
If the VNF LCM operation occurrence is in "STARTING", "PROCESSING"
or "ROLLING_BACK" state and the operation is being cancelled, this
attribute shall be set to true. Otherwise, it shall be set to false.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Boolean"
cancelMode:
description: >
The mode of an ongoing cancellation. Shall be present when
isCancelPending=true, and shall be absent otherwise.
$ref: "#/definitions/CancelModeType"
error:
description: >
If "operationState" is "FAILED_TEMP" or "FAILED" or "operationState"
is "PROCESSING" or "ROLLING_BACK" and previous value of
"operationState" was "FAILED_TEMP", this attribute shall be present
and contain error information, unless it has been requested to be
excluded via an attribute selector.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
resourceChanges:
description: >
This attribute contains information about the cumulative changes to
virtualised resources that were performed so far by the LCM
operation since its start, if applicable.
type: object
properties:
affectedVnfcs:
description: >
Information about VNFC instances that were affected during the
lifecycle operation. See note 1.
type: array
items:
$ref: "#/definitions/AffectedVnfc"
affectedVirtualLinks:
description: >
Information about VL instances that were affected during the
lifecycle operation. See note 1 and note 3.
type: array
items:
$ref: "#/definitions/AffectedVirtualLink"
affectedExtLinkPorts:
description: >
Information about external VNF link ports that were affected during the lifecycle operation.
See note 1.
type: array
items:
$ref: "#/definitions/AffectedExtLinkPort"
affectedVirtualStorages:
description: >
Information about virtualised storage instances that were affected
during the lifecycle operation. See note 1.
type: array
items:
$ref: "#/definitions/AffectedVirtualStorage"
changedInfo:
description: >
Information about the changed VNF instance information, including
VNF configurable properties, if applicable. See note 1 and note 2.
$ref: "#/definitions/VnfInfoModifications"
affectedVipCps:
description: >
Information about virtual IP CP instances that were affected during
the execution of the lifecycle management operation.
type: array
items:
$ref: "#/definitions/AffectedVipCp"
changedExtConnectivity:
description: >
Information about changed external connectivity, if applicable. See note 1.
type: array
items:
$ref: "#/definitions/ExtVirtualLinkInfo"
modificationsTriggeredByVnfPkgChange:
description: >
Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package,
if applicable. Shall be absent if the "operation" attribute is different from "CHANGE_VNFPKG".
See note 1 and note 2.
$ref: "#/definitions/ModificationsTriggeredByVnfPkgChange"
vnfSnapshotInfoId:
description: >
Identifier of the "individual VNF snapshot" resource. Shall be present if applicable to the type of LCM operation,
i.e., if the value of the "operation" attribute is either "CREATE_SNAPSHOT" or "REVERT_TO_SNAPSHOT".
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
lcmCoordinations:
description: >
Information about LCM coordination actions (see clause 10) related to this LCM operation occurrence.
type: object
required:
- id
- coordinationActionName
- startTime
- endpointType
properties:
id:
description: >
Identifier of this coordination action. For a terminated coordination action,
this attribute refers to the "id" attribute in the "LcmCoord" data structure
(see clause 10.5.2.3). For a timed-out or ongoing coordination action,
this attribute refers to the {coordinationId} URI variable in the "Location"
header of the "202 Accepted" HTTP response to the POST request that has initiated
the coordination action (see clause 10.4.2.3.1).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
coordinationActionName:
description: >
Indicator of the actual coordination action.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
coordinationResult:
description: >
The result of executing the coordination action which also implies the action to
be performed by the VNFM as the result of this coordination. See note 4.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmCoordResultType"
startTime:
description: >
The time when the VNFM has received the confirmation that the coordination action has been started.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
endTime:
description: >
The end time when the VNFM has received the confirmation that the coordination action
has finished or has been cancelled, or the time when a coordination action has timed out.
Shall be present for a coordination action that has finished or timed out (see note 4) and
shall be absent if the coordination is ongoing.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
endpointType:
description: >
The endpoint type used by this coordination action.
Valid values:
- MGMT: coordination with other operation supporting management systems (e.g. EM)
- VNF: coordination with the VNF instance
type: string
enum:
- MGMT
- VNF
delay:
description: >
The end of the delay period.
This attribute shall be present if the last known HTTP response related to this coordination
has contained a "Retry-After" header, and shall be absent otherwise.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
rejectedLcmCoordinations:
description: >
Information about LCM coordination actions (see clause 10) that were rejected by 503 error which
means they will be tried again after a delay. See note 5.
type: object
required:
- coordinationActionName
- rejectionTime
- endpointType
- delay
properties:
coordinationActionName:
description: >
Indicator of the actual coordination action.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
rejectionTime:
description: >
The time when the VNFM has received the 503 response that rejects the actual coordination.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
endpointType:
description: >
The endpoint type used by this coordination action.
Valid values:
- MGMT: coordination with other operation supporting management systems (e.g. EM)
- VNF: coordination with the VNF instance
type: string
enum:
- MGMT
- VNF
delay:
description: >
The end of the delay period, as calculated from the startTime and "Retry-After" header.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
warnings:
description: >
Warning messages that were generated while the operation was executing.
If the operation has included LCM coordination actions and these have resulted
in warnings, such warnings should be added to this attribute.
type: array
items:
type: string
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
- vnfInstance
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
vnfInstance:
description: >
Link to the VNF instance that the operation applies to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
grant:
description: >
Link to the grant for this operation, if one exists.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
cancel:
description: >
Link to the task resource that represents the "cancel" operation
for this VNF LCM operation occurrence, if cancelling is
currently allowed.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
retry:
description: >
Link to the task resource that represents the "retry" operation
for this VNF LCM operation occurrence, if retrying is currently
allowed.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
rollback:
description: >
Link to the task resource that represents the "rollback"
operation for this VNF LCM operation occurrence, if rolling back
is currently allowed.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
fail:
description: >
Link to the task resource that represents the "fail" operation
for this VNF LCM operation occurrence, if declaring as failed is
currently allowed.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
vnfSnapshot:
description: >
Link to the VNF snapshot resource, if the VNF LCM operation occurrence is related to a VNF snapshot.
Shall be present if operation="CREATE_SNAPSHOT" or operation="REVERT_TO_SNAPSHOT".
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
AffectedExtLinkPort:
description: >
This type provides information about added and deleted external link ports (link ports attached to external virtual links).
type: object
required:
- id
- changeType
- extCpInstanceId
- resourceHandle
properties:
id:
description: >
Identifier of the link port, identifying the applicable "extLinkPorts" entry in the "ExtVirtualLinkInfo" data
type (see clause 5.5.3.2).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change.
Permitted values:
- ADDED
- MODIFIED
- REMOVED
type: string
enum:
- ADDED
- MODIFIED
- REMOVED
extCpInstanceId:
description: >
Identifier of the related external CP instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
resourceHandle:
description: >
Reference to the link port resource.
Detailed information is (for added resources) or has been (for removed resources) available from the VIM.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
VnfInfoModifications:
description: >
This type represents attribute modifications that were performed on an
"Individual VNF instance" resource. The attributes that can be included
consist of those requested to be modified explicitly in the
"VnfInfoModificationRequest" data structure, and additional attributes
of the "VnfInstance" data structure that were modified implicitly e.g.
when modifying the referenced VNF package.
* NOTE: If present, this attribute (which depends on the value of the "vnfdId" attribute)
was modified implicitly following a request to modify the "vnfdId" attribute, by
copying the value of this attribute from the VNFD in the VNF Package identified
by the "vnfdId" attribute.
type: object
properties:
vnfInstanceName:
description: >
If present, this attribute signals modifications of the
"vnfInstanceName" attribute in "VnfInstance" as defined in clause 5.5.2.12..
type: string
vnfInstanceDescription:
description: >
If present, this attribute signals modifications of the
"vnfInstanceDescription" attribute in "VnfInstance", as defined in clause 5.5.2.12..
type: string
vnfConfigurableProperties:
description: >
If present, this attribute signals modifications of the
"vnfConfigurableProperties" attribute in "VnfInstance" as defined in clause 5.5.2.12.
In addition, the provisions in clause 5.7 shall apply..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
If present, this attribute signals modifications of the "metadata"
attribute in "VnfInstance" , as defined in clause 5.5.2.12..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
If present, this attribute signals modifications of the "extensions"
attribute in "VnfInstance", as defined in clause 5.5.2.12.
In addition, the provisions in clause 5.7 shall apply..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfdId:
description: >
If present, this attribute signals modifications of the "vnfdId"
attribute in "VnfInstance", as defined in clause 5.5.2.12..
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
If present, this attribute signals modifications of the
"vnfProvider" attribute in "VnfInstance". See note.
type: string
vnfProductName:
description: >
If present, this attribute signals modifications of the
"vnfProductName" attribute in "VnfInstance". See note.
type: string
vnfSoftwareVersion:
description: >
If present, this attribute signals modifications of the
"vnfSoftwareVersion" attribute in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfdVersion:
description: >
If present, this attribute signals modifications of the
"vnfdVersion" attribute in "VnfInstance". See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfcInfoModifications:
description: >
If present, this attribute signals modifications of certain
entries in the "vnfcInfo" attribute array in the
"instantiatedVnfInfo" attribute of "VnfInstance", as defined
in clause 5.5.2.12.
type: array
items:
$ref: "#/definitions/VnfcInfoModifications"
CreateVnfRequest:
description: >
This type represents request parameters for the "Create VNF identifier" operation.
type: object
required:
- vnfdId
properties:
vnfdId:
description: >
Identifier that identifies the VNFD which defines the VNF instance to
be created.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfInstanceName:
description: >
Human-readable name of the VNF instance to be created.
type: string
vnfInstanceDescription:
description: >
Human-readable description of the VNF instance to be created.
type: string
metadata:
description: >
If present, this attribute provides additional initial values, overriding those obtained from the VNFD, for
the "metadata" attribute in "VnfInstance", as defined in clause 5.5.2.2. Provisions for handling metadata
during the operation are defined in clause 5.4.2.3.1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
ScaleVnfRequest:
description: >
This type represents request parameters for the "Scale VNF" operation.
type: object
required:
- type
- aspectId
properties:
type:
description: >
Indicates the type of the scale operation requested.
Permitted values:
* SCALE_OUT: adding additional VNFC instances to the VNF to increase
capacity
* SCALE_IN: removing VNFC instances from the VNF in order to release
unused capacity.
type: string
enum:
- SCALE_OUT
- SCALE_IN
aspectId:
description: >
Identifier of the scaling aspect.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
numberOfSteps:
description: >
Number of scaling steps to be executed as part of this Scale VNF
operation. It shall be a positive number and the default value
shall be 1.
type: integer
default: 1
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the scaling
process, specific to the VNF being scaled, as declared in the VNFD
as part of "ScaleVnfOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
ScaleVnfToLevelRequest:
description: >
This type represents request parameters for the "Scale VNF to Level" operation.
for an explanation of VNF scaling.
NOTE: Either the instantiationLevelId attribute or the scaleInfo attribute shall
be included.
type: object
anyOf:
- oneOf:
- required:
- instantiationLevelId
- required:
- scaleInfo
properties:
instantiationLevelId:
description: >
Identifier of the target instantiation level of the current
deployment flavour to which the VNF is requested to be scaled.
See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
scaleInfo:
description: >
For each scaling aspect of the current deployment flavour, indicates
the target scale level to which the VNF is to be scaled.
See note.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ScaleInfo"
additionalParams:
description: >
Additional parameters passed by the NFVO as input to the scaling
process, specific to the VNF being scaled, as declared in the
VNFD as part of "ScaleVnfToLevelOpConfig" defined in ETSI GS NFV-IFA 011.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
CancelMode:
description: >
This type represents a parameter to select the mode of cancelling an
ongoing VNF LCM operation occurrence.
type: object
required:
- cancelMode
properties:
cancelMode:
description: >
Cancellation mode to apply.
$ref: "#/definitions/CancelModeType"
LccnSubscriptionRequest:
description: >
This type represents a subscription request related to notifications
about VNF lifecycle changes.
type: object
required:
- callbackUri
properties:
filter:
description: >
Filter settings for this subscription, to define the subset of all
notifications this subscription relates to. A particular
notification is sent to the subscriber if the filter matches, or if
there is no filter.
$ref: "#/definitions/LifecycleChangeNotificationsFilter"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
authentication:
description: >
Authentication parameters to configure the use of Authorization when
sending notifications corresponding to this subscription, as defined
in clause 8.3.4 of ETSI GS NFV-SOL 013.
This attribute shall only be present if the subscriber requires
authorization of notifications.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/SubscriptionAuthentication"
verbosity:
description: >
This attribute signals the requested verbosity of LCM operation occurrence notifications. If it is not present,
it shall default to the value "FULL".
$ref: "#/definitions/LcmOpOccNotificationVerbosityType"
LccnSubscription:
description: >
This type represents a subscription related to notifications about VNF
lifecycle changes.
type: object
required:
- id
- callbackUri
- verbosity
- _links
properties:
id:
description: >
Identifier of this subscription resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
filter:
description: >
Filter settings for this subscription, to define the subset of all
notifications this subscription relates to. A particular
notification is sent to the subscriber if the filter matches, or if
there is no filter.
$ref: "#/definitions/LifecycleChangeNotificationsFilter"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
verbosity:
description: >
This attribute signals the verbosity of LCM operation occurrence notifications.
$ref: "#/definitions/LcmOpOccNotificationVerbosityType"
_links:
description: >
Links to resources related to this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
ExtVirtualLinkInfo:
description: >
This type represents information about an external VL.
NOTE: This attribute reflects the current configuration information that has resulted from merging into this attribute
the "VnfExtCpData" information which was passed as part of the "ExtVirtualLinkData" structure in the input of the
most recent VNF LCM operation such as "InstantiateVnfRequest", "ChangeExtVnfConnectivityRequest", "ChangeVnfFlavourRequest"
or "ChangeCurrentVnfPkgRequest", or in the Grant response. If applying such change results in an empty list of
"currentVnfExtCpData" structure instances, the affected instance of "ExtVirtualLinkInfo" shall be removed from its
parent data structure.
type: object
required:
- id
- resourceHandle
- currentVnfExtCpData
properties:
id:
description: >
Identifier of the external VL and the related external VL
information instance.
The identifier is assigned by the NFV-MANO entity that manages this
VL instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
resourceHandle:
description: >
Reference to the resource realizing this VL.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
extLinkPorts:
description: >
Link ports of this VL.
type: array
items:
$ref: "#/definitions/ExtLinkPortInfo"
currentVnfExtCpData:
description: >
Allows the API consumer to read the current CP configuration information for the connection of external CPs
to the external virtual link. See note.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/VnfExtCpData"
VnfLinkPortInfo:
description: >
This type represents a link port of an internal VL of a VNF.
NOTE 1: Either cpInstanceId with cpInstanceType set to "EXT_CP" or any combination of cpInstanceId
with cpInstanceType set to "VNFC_CP" and vipCpInstanceId (i.e. one or both of them) shall be
present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to "VNFC_CP"
and vipCpInstanceId are present, the two different CP instances share the linkport.
NOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId
and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or
only vipCpInstanceId is present (UC6 and UC#6-b).
NOTE 3: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle"
attribute.
type: object
required:
- id
- resourceHandle
properties:
id:
description: >
Identifier of this link port as provided by the entity that has created the link port.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
resourceHandle:
description: >
Reference to the virtualised resource realizing this link
port.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
cpInstanceId:
description: >
When the link port is used for external connectivity by the VNF, this attribute represents the
identifier of the external CP associated with this link port.
When the link port is used for internal connectivity in the VNF, this attribute represents the
identifier of the VNFC CP to be connected to this link port.
Shall be present when the link port is used for external connectivity by the VNF.
May be present if used to reference a VNFC CP instance.
There shall be at most one link port associated with any external connection point instance or
internal connection point (i.e. VNFC CP) instance.
The value refers to an "extCpInfo" item in the VnfInstance or a "vnfcCpInfo" item of a "vnfcResourceInfo"
item in the VnfInstance. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpInstanceType:
description: >
Type of the CP instance that is identified by cpInstanceId.
Shall be present if "cpInstanceId" is present and shall be absent otherwise.
Permitted values:
- VNFC_CP: The link port is connected to a VNFC CP.
- EXT_CP: The link port is associated to an external CP.
See note 1.
type: string
enum:
- VNFC_CP
- EXT_CP
vipCpInstanceId:
description: >
VIP CP instance of the VNF connected to this link port. May be present.
See notes 1, and 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
trunkResourceId:
description: >
Identifier of the trunk resource in the VIM.
Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with.
See note 3.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVim"
ExtLinkPortInfo:
description: >
This type represents information about a link port of an external VL, i.e. a port providing connectivity for the VNF to
an NS VL.
NOTE 1: The use cases UC#4 and UC#5 in clause A.4 of ETSI GS NFV-IFA 007 provide examples for such a configuration.
NOTE 2: The value of "trunkResourceId" is scoped by the value of "vimConnectionId" in the "resourceHandle" attribute.
type: object
required:
- id
- resourceHandle
properties:
id:
description: >
Identifier of this link port as provided by the entity that has
created the link port.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
resourceHandle:
description: >
Reference to the virtualised resource realizing this link
port.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ResourceHandle"
cpInstanceId:
description: >
Identifier of the external CP of the VNF connected to this link
port. There shall be at most one link port associated with any
external connection point instance. The value refers to an
"extCpInfo" item in the VnfInstance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
secondaryCpInstanceId:
description: >
Additional external CP of the VNF connected to this link port.
If present, this attribute shall refer to a "secondary" ExtCpInfo item in the VNF instance that exposes a virtual
IP CP instance which shares this linkport with the external CP instance referenced by the "cpInstanceId" attribute.
See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
trunkResourceId:
description: >
Identifier of the trunk resource in the VIM.
Shall be present if the present link port corresponds to the parent port that the trunk resource is associated with.
See note 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVim"
CpProtocolInfo:
description: >
This type describes the protocol layer(s) that a CP uses together with protocol-related information, like addresses.
NOTE: This attribute allows to signal the addition of further types of layer and protocol in future versions of the
present document in a backwards-compatible way. In the current version of the present document, only IP over
Ethernet is supported.
type: object
required:
- layerProtocol
properties:
layerProtocol:
description: >
The identifier of layer(s) and protocol(s) associated to the network address information. Permitted values:
IP_OVER_ETHERNET.
See note.
type: string
enum:
- IP_OVER_ETHERNET
ipOverEthernet:
description: >
IP addresses over Ethernet to assign to the extCP instance. Shall be
present if layerProtocol is equal to " IP_OVER_ETHERNET", and shall
be absent otherwise.
$ref: "#/definitions/IpOverEthernetAddressInfo"
IpOverEthernetAddressInfo:
description: >
This type represents information about a network address that has been assigned.
NOTE 1: At least one of "macAddress" or "ipAddresses" shall be present.
NOTE 2: Exactly one of "addresses" or "addressRange" shall be present.
NOTE 3: If the Cp instance represents a subport in a trunk, segmentationId shall be present.
Otherwise it shall not be present.
NOTE 4: Depending on the NFVI networking infrastructure, the segmentationId may indicate the
actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the
transport header of the packets or it may be an identifier used between the application
and the NFVI networking infrastructure to identify the network sub-interface of the trunk
port in question. In the latter case the NFVI infrastructure will map this local segmentationId
to whatever segmentationId is actually used by the NFVI’s transport technology.
type: object
anyOf:
- required:
- macAddress
- required:
- ipAddresses
oneOf:
- required:
- addresses
- required:
- addressRange
properties:
macAddress:
description: >
MAC address, if assigned. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/MacAddress"
segmentationId:
description: >
Identification of the network segment to which the Cp instance connects to. See notes 3 and 4.
type: string
ipAddresses:
description: >
Addresses assigned to the CP instance. Each entry represents IP addresses assigned by fixed or
dynamic IP address assignment per subnet. See note 1.
type: array
items:
type: object
required:
- type
properties:
type:
description: >
The type of the IP addresses.
Permitted values: IPV4, IPV6.
type: string
enum:
- IPV4
- IPV6
addresses:
description: >
Fixed addresses assigned (from the subnet defined by "subnetId" if provided). See note 2.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IpAddress"
isDynamic:
description: >
Indicates whether this set of addresses was assigned
dynamically (true) or based on address information provided as
input from the API consumer (false). Shall be present if
"addresses" is present and shall be absent otherwise.
type: boolean
addressRange:
description: >
An IP address range used, e.g. in case of egress connections. See note 2.
type: object
required:
- minAddress
- maxAddress
properties:
minAddress:
description: >
Lowest IP address belonging to the range.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IpAddress"
maxAddress:
description: >
Highest IP address belonging to the range
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IpAddress"
subnetId:
description: >
Subnet defined by the identifier of the subnet resource in
the VIM.
In case this attribute is present, IP addresses are bound
to that subnet.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVim"
MonitoringParameter:
type: object
required:
- id
- performanceMetric
properties:
id:
description: >
Identifier of the monitoring parameter defined in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
name:
description: >
Human readable name of the monitoring parameter, as defined in the
VNFD.
type: string
performanceMetric:
description: >
Performance metric that is monitored. This attribute shall contain the
related "Measurement Name" value as defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
LifecycleChangeNotificationsFilter:
description: >
This type represents a subscription filter related to notifications about VNF lifecycle changes.
At a particular nesting level in the filter structure, the following applies: All attributes shall
match in order for the filter to match (logical "and" between different filter attributes).
If an attribute is an array, the attribute shall match if at least one of the values in the array
matches (logical "or" between the values of one filter attribute).
NOTE: The permitted values of the "notificationTypes" attribute are spelled exactly as the names of
the notification types to facilitate automated code generation systems.
type: object
properties:
vnfInstanceSubscriptionFilter:
description: >
Filter criteria to select VNF instances about which to notify.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/VnfInstanceSubscriptionFilter"
notificationTypes:
description: >
Match particular notification types.
Permitted values:
- VnfLcmOperationOccurrenceNotification
- VnfIdentifierCreationNotification
- VnfIdentifierDeletionNotification
See note.
type: array
items:
type: string
enum:
- VnfLcmOperationOccurrenceNotification
- VnfIdentifierCreationNotification
- VnfIdentifierDeletionNotification
operationTypes:
description: >
Match particular VNF lifecycle operation types for the notification
of type VnfLcmOperationOccurrenceNotification.
May be present if the "notificationTypes" attribute contains the
value "VnfLcmOperationOccurrenceNotification", and shall be absent
otherwise.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmOperationType"
operationStates:
description: >
Match particular LCM operation state values as reported in
notifications of type VnfLcmOperationOccurrenceNotification.
May be present if the "notificationTypes" attribute contains the
value "VnfLcmOperationOccurrenceNotification", and shall be absent
otherwise.
type: array
items:
$ref: "#/definitions/LcmOperationStateType"
LccnLinks:
description: >
This type represents the links to resources that a notification can
contain.
type: object
required:
- vnfInstance
- subscription
properties:
vnfInstance:
description: >
Link to the resource representing the VNF instance to which the
notified change applies.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
subscription:
description: >
Link to the related subscription.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
vnfLcmOpOcc:
description: >
Link to the VNF lifecycle management operation occurrence that this
notification is related to. Shall be present if there is a related
lifecycle operation occurrence.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
VnfExtCpInfo:
description: >
This type represents information about an external CP of a VNF.
NOTE 1: The attributes "associatedVnfcCpId", "associatedVipCpId" and "associatedVnfVirtualLinkId"
are mutually exclusive. Exactly one shall be present.
NOTE 2: An external CP instance is not associated to a link port in the cases indicated for the
“extLinkPorts” attribute in clause 4.4.1.11.
type: object
required:
- id
- cpdId
- cpConfigId
- cpProtocolInfo
oneOf:
- required:
- associatedVnfcCpId
- required:
- associatedVipCpId
- required:
- associatedVnfVirtualLinkId
properties:
id:
description: >
Identifier of the external CP instance and the related information instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the external CPD, VnfExtCpd, in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
cpConfigId:
description: >
Identifier that references the applied "VnfExtCpConfig" entry in the "cpConfig" map of the "currentVnfExtCpData"
in the "ExtVirtualLinkInfo" structure.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance (e.g. during a "Change
current VNF package" operation or due to its final failure).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
cpProtocolInfo:
description: >
Network protocol information for this CP.
type: array
items:
$ref: "#/definitions/CpProtocolInfo"
extLinkPortId:
description: >
Identifier of the "ExtLinkPortInfo" structure inside the "ExtVirtualLinkInfo" structure.
Shall be present if the CP is associated to a link port. See note 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
metadata:
description: >
Metadata about this external CP.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
associatedVnfcCpId:
description: >
Identifier of the "vnfcCpInfo" structure in "VnfcResourceInfo" structure that represents the VNFC CP
which is exposed by this external CP instance, either directly or via a floating IP address.
Shall be present in case this CP instance maps to a VNFC CP. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
associatedVipCpId:
description: >
Identifier of the VIP CP instance that is exposed as this VnfExtCp instance, either directly or via a
floating IP address, and the related "VipCpInfo" structure in "VnfInstance". Shall be present if the
cpdId of this VnfExtCp has a vipCpd attribute. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
associatedVnfVirtualLinkId:
description: >
Identifier of the "VnfVirtualLinkResourceInfo" structure that represents the internal VL or of the
"ExtManagedVirtualLinkInfo" structure that represents the externally-managed internal VL which is
exposed by this external CP instance. Shall be present in case this CP instance maps to an internal
VL (including externally-managed internal VL). See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
VnfOperationalStateType:
description: >
STARTED: The VNF instance is up and running.
STOPPED: The VNF instance has been shut down.
type: string
enum:
- STARTED
- STOPPED
LcmOperationStateType:
description: >
STARTING: The LCM operation is starting.
PROCESSING: The LCM operation is currently in execution.
COMPLETED: The LCM operation has been completed successfully.
FAILED_TEMP: The LCM operation has failed and execution has stopped,
but the execution of the operation is not considered to be closed.
FAILED: The LCM operation has failed and it cannot be retried or rolled back,
as it is determined that such action won't succeed.
ROLLING_BACK: The LCM operation is currently being rolled back.
ROLLED_BACK: The LCM operation has been successfully rolled back,
i.e. The state of the VNF prior to the original operation invocation has been restored as closely as possible.
type: string
enum:
- STARTING
- PROCESSING
- COMPLETED
- FAILED_TEMP
- FAILED
- ROLLING_BACK
- ROLLED_BACK
CancelModeType:
description: >
Cancellation mode.
GRACEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
"ROLLING_BACK" state, the VNFM shall not start any new resource
management operation and shall wait for the ongoing resource management
operations in the underlying system, typically the VIM, to finish
execution or to time out. After that, the VNFM shall put the operation
occurrence into the FAILED_TEMP state.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
shall not start any resource management operation and shall wait for
the granting request to finish execution or time out. After that, the
VNFM shall put the operation occurrence into the ROLLED_BACK state.
FORCEFUL: If the VNF LCM operation occurrence is in "PROCESSING" or
"ROLLING_BACK" state, the VNFM shall not start any new resource
management operation, shall cancel the ongoing resource management
operations in the underlying system, typically the VIM, and shall wait
for the cancellation to finish or to time out. After that, the VNFM
shall put the operation occurrence into the FAILED_TEMP state.
If the VNF LCM operation occurrence is in "STARTING" state, the VNFM
shall not start any resource management operation and put the operation
occurrence into the ROLLED_BACK state.
type: string
enum:
- GRACEFUL
- FORCEFUL
########################################################################################################################
VnfcInfoModifications:
description: >
This type represents modifications of an entry in an array of "VnfcInfo" objects.
* NOTE: The attribute "id" in this data type represents the same identifier as the attribute
"vnfcInstanceId" in other related data types in the present document. For reasons of backward
compatibility, this misalignment is not corrected.
type: object
required:
- id
- vnfcConfigurableProperties
properties:
id:
description: >
Identifier of the VNFC instance of which the information is to be modified.
The identifier references the "id" attribute in a "VnfcInfo" structure. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcConfigurableProperties:
description: >
Changes of the configurable properties of the VNFC instance.
When this structure is part of a request, the modifications signalled in this attribute
shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396).
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
VnfcInfo:
description: >
This type represents the information about a VNFC instance that is part of a VNF instance.
* NOTE: This allows to represent the error condition that a VNFC instance has lost its resources.
type: object
required:
- id
- vduId
- vnfcState
properties:
id:
description: >
Identifier of the VNFC instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vduId:
description: >
Reference to the applicable VDU in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcResourceInfoId:
description: >
Identifier of the VnfcResourceInfo instance representing
the virtualised resources used by this VNFC instance. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcState:
description: >
Identifier of the VnfcResourceInfo instance representing
the virtualised resources used by this VNFC instance.
State of the VNFC instance.
Permitted values:
• STARTED: The VNFC instance is up and
running.
• STOPPED: The VNFC instance has been shut down
type: string
enum:
- STARTED
- STOPPED
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfcConfigurableProperties:
description: >
Current values of the configurable properties of the
VNFC instance.
Configurable properties referred in this attribute are
declared in the VNFD.
This attribute can be modified with the PATCH method.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
ModificationsTriggeredByVnfPkgChange:
description: >
This type represents attribute modifications that were performed on an "Individual VNF instance" resource
when changing the current VNF package. The attributes that can be included consist of those requested to
be modified explicitly in the "ChangeCurrentVnfPkgRequest" data structure, and additional attributes of the
"VnfInstance" data structure that were modified implicitly during the operation.
NOTE 1: This attribute represents the delta (semantics as per IETF RFC 7396, JSON Merge Patch) between the value
of the attribute at the start of the "Change current VNF package" operation and the value of the attribute
at its completion.
NOTE 2: If present, this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly
during the related operation and contains a copy of the value of the related attribute from the VNFD in the
VNF Package identified by the "vnfdId" attribute.
type: object
properties:
vnfConfigurableProperties:
description: >
This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance" performed
by the operation and shall be present if that attribute was modified during the operation. See note 1.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
metadata:
description: >
This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation and
shall be present if that attribute was modified during the operation. See note 1.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
extensions:
description: >
This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation and
shall be present if that attribute was modified during the operation. See note 1.
In addition, the provisions in clause 5.7 shall apply.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
vnfdId:
description: >
If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance".
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfProvider:
description: >
If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". See note 2.
type: string
vnfProductName:
description: >
If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". See note 2.
type: string
vnfSoftwareVersion:
description: >
If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". See note 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
vnfdVersion:
description: >
If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". See note 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Version"
LcmOpOccNotificationVerbosityType:
description: >
The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation
occurrence notifications.
* FULL: This signals a full notification which contains all change details.
* SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to
be sent via the notification mechanism.
type: string
enum:
- FULL
- SHORT
AffectedVipCp:
description: >
This type provides information about added, deleted and modified virtual IP CP instances.
type: object
required:
- cpInstanceId
- cpdId
- changeType
properties:
cpInstanceId:
description: >
Identifier of the virtual IP CP instance and the related "VipCpInfo" structure in "VnfInstance".
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the VipCpd in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Reference to the VNFD.
Shall be present in case of a "change current VNF Package" to
identify whether the affected virtual CP instance is associated
to a VipCpd which is referred from the source or destination VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
changeType:
description: >
Signals the type of change.
Permitted values:
- ADDED
- REMOVED
- MODIFIED
type: string
enum:
- ADDED
- REMOVED
- MODIFIED
VipCpInfo:
description: >
This type provides information related to virtual IP (VIP) CP.
NOTE 1: It is possible that there is no associated VnfcCp because the VIP CP is available but not
associated yet.
NOTE 2: If only the value or the presence of this attribute is changed in the "VipCpInfo" structure
by an LCM operation occurrence, this does not represent a change that requires including a related
"AffectedVipCp" structure in the VNF LCM operation occurrence notifications or the "VnfLcmOpOcc"
structure related to this LCM operation occurrence.
type: object
required:
- cpInstanceId
- cpdId
properties:
cpInstanceId:
description: >
Identifier of this VIP CP instance and of this VipCpInfo.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpdId:
description: >
Identifier of the VIP Connection Point Descriptor, VipCpd, in the VNFD.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnfd"
vnfdId:
description: >
Identifier of the VNFD.
Shall be present in case the value differs from the vnfdId attribute of the VnfInstance
(e.g. during a "Change current VNF package" operation or due to its final failure). See note 2.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
vnfExtCpId:
description: >
When the VIP CP is exposed as external CP of the VNF, the identifier of this external VNF CP instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
cpProtocolInfo:
description: >
Protocol information for this CP. There shall be one cpProtocolInfo for layer 3.
There may be one cpProtocolInfo for layer 2.
type: array
items:
$ref: "#/definitions/CpProtocolInfo"
associatedVnfcCpIds:
description: >
Identifiers of the VnfcCps that share the virtual IP addresse allocated to the VIP CP instance. See note.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
vnfLinkPortId:
description: >
Identifier of the "VnfLinkPortInfo" structure in the "VnfVirtualLinkResourceInfo" or
"ExtManagedVirtualLinkInfo" structure. Shall be present if the CP is associated to a
link port on an internal VL (including externally-managed internal VL).
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
metadata:
description: >
Metadata about this VIP CP.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
\ No newline at end of file
openapi: 3.0.2
info:
title: SOL002 - VNF Lifecycle Management Notification interface
description: |
SOL002 - VNF Lifecycle Management Notification 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/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 2.3.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.07.01_60/gs_NFV-SOL002v030701p.pdf
servers:
- url: http://127.0.0.1/callback/v2
- url: https://127.0.0.1/callback/v2
paths:
/URI_is_provided_by_the_client_when_creating_the_subscription-VnfLcmOperationOccurrenceNotification:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the API consumer,
e.g. during subscription. See clause 5.4.20.3.2.
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
post:
description: |
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfLcmOperationOccurrenceNotification'
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierCreationNotification:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the API consumer,
e.g. during subscription. See clause 5.4.20.3.2.
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
post:
description: |
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfIdentifierCreationNotification'
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI_is_provided_by_the_client_when_creating_the_subscription-VnfIdentifierDeletionNotification:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the API consumer,
e.g. during subscription. See clause 5.4.20.3.2.
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
post:
description: |
The POST method delivers a notification from the API producer to an API consumer. The API consumer shall have
previously created an "Individual subscription" resource with a matching filter. See clause 5.4.20.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/VnfIdentifierDeletionNotification'
responses:
"204":
$ref: '#/components/responses/VNFLCMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
components:
requestBodies:
VnfLcmOperationOccurrenceNotification:
description: |
A notification about lifecycle changes triggered by a VNF LCM operation occurrence.
content:
application/json:
schema:
$ref: ./definitions/SOL002VNFLifecycleManagementNotification_def.yaml#/definitions/VnfLcmOperationOccurrenceNotification
required: true
VnfIdentifierCreationNotification:
description: |
A notification about lifecycle changes triggered by a VNF LCM operation occurrence.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagementNotification_def.yaml#/definitions/VnfIdentifierCreationNotification"
required: true
VnfIdentifierDeletionNotification:
description: |
A notification about the deletion of a VNF identifier and the related "Individual VNF instance" resource.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFLifecycleManagementNotification_def.yaml#/definitions/VnfIdentifierDeletionNotification"
required: true
responses:
VNFLCMNotification.Get.204:
description: |
204 NO CONTENT
Shall be returned to indicate the notification endpoint has been tested successfully. The response body
shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
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: {}
VNFLCMNotification.Post.204:
description: |
204 NO CONTENT
Shall be returned when the notification has been delivered successfully. The response body shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
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: {}
\ No newline at end of file
......@@ -30,9 +30,23 @@ definitions:
such a situation.
If this is a notification about a final or intermediate result state of
a VNF LCM operation occurrence, the notification shall be sent after
all related actions of the LCM operation that led to this state have
been executed. The new state shall be set in the VnfLcmOpOcc resource
before the notification about the state change is sent.
all related actions of the LCM operation that led to this state have
been executed.
The new state shall be set in the "Individual VNF LCM operation occurrence"
resource before the notification about the state change is sent.
* NOTE 1: Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity" attribute is set
to "FULL" and the operation has performed any resource modification. Shall be absent otherwise.
This attribute contains information about the cumulative changes to virtualised resources that
were performed so far by the VNF LCM operation occurrence and by any of the error handling
procedures for that operation occurrence.
NOTE 2: For a particular affected VL, there shall be as many "AffectedVirtualLink" entries as needed
for signalling the different types of changes, i.e. one per virtual link and change type.
For instance, in the case of signaling affected VL instances involving the addition of a particular
VL instance with links ports, one "AffectedVirtualLink" entry signals the addition of the VL by using
the "changeType" attribute of "AffectedVirtualLink" structure equal to "ADDED", and another
"AffectedVirtualLink" entry signals the addition of VNF link ports of the VL by using the
"changeType" equal to "LINK_PORT_ADDED".
NOTE 3: Not more than one of changedInfo and modificationsTriggeredByVnfPkgChange shall be present.
type: object
required:
- id
......@@ -52,7 +66,7 @@ definitions:
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
......@@ -63,11 +77,11 @@ definitions:
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/DateTime"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
notificationStatus:
description: >
Indicates whether this notification reports about the start of a
......@@ -78,100 +92,205 @@ definitions:
* RESULT: Informs about the final or intermediate result of the VNF
LCM operation occurrence.
type: string
enum:
enum:
- START
- RESULT
operationState:
description: >
The state of the VNF LCM operation occurrence.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LcmOperationStateType"
vnfInstanceId:
description: >
The identifier of the VNF instance affected.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
The identifier of the VNF instance affected.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
operation:
description: >
The lifecycle management operation.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/LcmOperationType"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/LcmOperationType"
isAutomaticInvocation:
description: >
Set to true if this VNF LCM operation occurrence has been triggered
by an automated procedure inside the VNFM
by an automated procedure inside the VNFM
(i.e. ScaleVnf / ScaleVnfToLevel triggered by auto-scale, or HealVnf
triggered by auto-heal).
Set to false otherwise.
type: boolean
verbosity:
description: >
This attribute signals the verbosity of the notification. If it is not present, it shall default to the value "FULL".
If the value is "SHORT", full change details can be obtained by performing a GET request on the "Individual LCM
operation occurrence" resource that is signalled by the "vnfLcmOpOcc" child attribute of the "_links" attribute.
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LcmOpOccNotificationVerbosityType"
vnfLcmOpOccId:
description: >
The identifier of the VNF lifecycle management operation occurrence
associated to the notification.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
affectedVnfcs:
description: >
Information about VNFC instances that were affected during the
lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any resource modification. Shall be
absent otherwise. This attribute contains information about the
cumulative changes to virtualised resources that were performed so
far by the VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
lifecycle operation. See note 1.
type: array
items:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/AffectedVnfc"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVnfc"
affectedVirtualLinks:
description: >
Information about VL instances that were affected during the
lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any resource modification. Shall be
absent otherwise. This attribute contains information about the
cumulative changes to virtualised resources that were performed so
far by the VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
lifecycle operation. See note 1 and note 2.
type: array
items:
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
affectedExtLinkPorts:
description: >
Information about external VNF link ports that were affected during the lifecycle operation.
See note 1.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualLink"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedExtLinkPort"
affectedVirtualStorages:
description: >
Information about virtualised storage instances that were affected
during the lifecycle operation.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any resource modification. Shall be
absent otherwise. This attribute contains information about the
cumulative changes to virtualised resources that were performed so
far by the VNF LCM operation occurrence and by any of the error
handling procedures for that operation occurrence.
during the lifecycle operation. See note 1.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVirtualStorage"
changedInfo:
description: >
Information about the changed VNF instance information, including
changed VNF configurable properties.
Shall be present if the "notificationStatus" is set to "RESULT" and
the operation has performed any changes to VNF instance information,
including VNF configurable properties.
Shall be absent otherwise.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/VnfInfoModificationRequest"
including VNF configurable properties. Shall be absent otherwise. See
note 3.
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/VnfInfoModifications"
affectedVipCps:
description: >
Information about virtual IP CP instances that were affected during the execution
of the lifecycle management operation, if this notification represents the result
of a lifecycle management operation occurrence.
Shall be present if the "notificationStatus" is set to "RESULT", the "verbosity"
attribute is set to "FULL" and the operation has made any changes to the VIP CP
instances of the VNF instance. Shall be absent otherwise. Only information about
VIP CP instances that have been added, deleted or modified shall be provided.
type: array
items:
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/AffectedVipCp"
changedExtConnectivity:
description: >
Information about changed external connectivity, if this
notification represents the result of a lifecycle operation
occurrence. Shall be present if the "notificationStatus" is set to
"RESULT" and the "operation" is set to "CHANGE_EXT_CONN".
"RESULT" and the "operation" has made any change of the external
connectivity of the VNF instance.
Shall be absent otherwise.
type: array
items:
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo"
modificationsTriggeredByVnfPkgChange:
description: >
Information about performed changes of "VnfInstance" attributes triggered by changing the current VNF package.
Shall be present if the "notificationStatus" is set to "RESULT", the "operation" attribute is equal to
"CHANGE_VNFPKG", the "verbosity" attribute is set to "FULL" and the operation has performed any changes to
"VnfInstance" attributes. Shall be absent otherwise. See note 3
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/ModificationsTriggeredByVnfPkgChange"
error:
description: >
Details of the latest error, if one has occurred during executing
the LCM operation. Shall be present if the "operationState"
attribute is "FAILED_TEMP" or "FAILED", and shall be absent
otherwise.
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/ProblemDetails"
_links:
description: >
Links to resources related to this notification.
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"
VnfIdentifierCreationNotification:
description: >
This type represents a VNF identifier creation notification, which
informs the receiver of the creation of a new "Individual VNF instance" resource and
the associated VNF instance identifier.
This notification shall be triggered by the VNFM when it has created an
"Individual VNF instance" resource and the associated VNF instance identifier.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- vnfInstanceId
- _links
properties:
id:
description: >
Identifier of the VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"VnfIdentifierCreationNotification" for this notification type.
type: string
enum:
- VnfIdentifierCreationNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfInstanceId:
description: >
The created VNF instance identifier.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"
VnfIdentifierDeletionNotification:
description: >
This type represents a VNF identifier deletion notification, which
informs the receiver of the deletion of a new "Individual VNF instance" resource and
the associated VNF instance identifier.
This notification shall be triggered by the VNFM when it has deleted an
"Individual VNF instance" resource and the associated VNF instance identifier.
type: object
required:
- id
- notificationType
- subscriptionId
- timeStamp
- vnfInstanceId
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"VnfIdentifierDeletionNotification" for this notification type.
type: string
enum:
- VnfIdentifierDeletionNotification
subscriptionId:
description: >
Identifier of the subscription that this notification relates to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
timeStamp:
description: >
Date-time of the generation of the notification.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
vnfInstanceId:
description: >
The deleted VNF instance identifier.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
_links:
description: >
Links to resources related to this notification.
$ref: "../../../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"
$ref: "../../VNFLifecycleManagement/definitions/SOL002VNFLifecycleManagement_def.yaml#/definitions/LccnLinks"
\ No newline at end of file
openapi: 3.0.2
info:
title: SOL002 - VNF Perfomance Management interface
description: |
SOL002 - VNF Performance Management 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/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.07.01_60/gs_NFV-SOL002v030701p.pdf
servers:
- url: http://127.0.0.1/vnfpm/v2
- url: https://127.0.0.1/vnfpm/v2
paths:
/api_versions:
$ref: ../../endpoints/SOL002SOL003_endpoints.yaml#/endpoints/api-versions
/pm_jobs:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The API consumer can use this method to retrieve information about PM jobs. See clause 6.4.2.3.2.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
- $ref: '#/components/parameters/filter_pm_jobs'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/all_fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/fields_vnfm
- $ref: ../../components/SOL002_params.yaml#/components/parameters/exclude_fields_vnfm
- $ref: '#/components/parameters/exclude_default_pm_jobs'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
responses:
"200":
$ref: '#/components/responses/PmJobs.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
post:
description: |
The POST method creates a PM job. See clause 6.4.2.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/PmJobCreationRequest'
responses:
"201":
$ref: '#/components/responses/PmJobs.Post.201'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: '#/components/responses/PmJobs.Post.422'
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/pm_jobs/{pmJobId}:
parameters:
- $ref: '#/components/parameters/PmJobId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The API consumer can use this method for reading an individual PM job. See clause 6.4.3.3.2.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
responses:
"200":
$ref: '#/components/responses/IndividualPmJob.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
delete:
description: |
This method terminates an individual PM job. See clause 6.4.3.3.5.
responses:
"204":
$ref: '#/components/responses/IndividualPmJob.Delete.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
patch:
description: |
This method allows to modify an "individual PM job" resource. See clause 6.4.3.3.4.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Unmodified-Since
- $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Match
requestBody:
$ref: '#/components/requestBodies/PmJobModificationRequest'
responses:
"200":
$ref: '#/components/responses/IndividualPmJob.Patch.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"409":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
"412":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: '#/components/responses/IndividualPmJob.Patch.422'
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/pm_jobs/{pmJobId}/reports/{reportId}:
parameters:
- $ref: '#/components/parameters/PmJobId'
- $ref: '#/components/parameters/ReportId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The API consumer can use this method for reading an individual performance report. See clause 6.4.4.3.2.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
responses:
"200":
$ref: '#/components/responses/IndividualPmJobReport.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/thresholds:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The API cosumer can use this method to query information about thresholds. See clause 6.4.5.3.2.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: '#/components/parameters/filter_thresholds'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/nextpage_opaque_marker_vnfm
responses:
"200":
$ref: '#/components/responses/Thresholds.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
post:
description: |
The POST method can be used by API consumer to create a threshold. See clause 6.4.5.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/ThresholdCreationRequest'
responses:
"201":
$ref: '#/components/responses/Thresholds.Post.201'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: '#/components/responses/Thresholds.Post.422'
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
/thresholds/{thresholdId}:
parameters:
- $ref: '#/components/parameters/ThresholdId'
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The client can use this method for reading an individual threshold. See clause 6.4.6.3.2.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
responses:
"200":
$ref: '#/components/responses/IndividualThreshold.Get.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
delete:
description: |
This method allows to delete a threshold. See clause 6.4.6.3.5.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Accept
responses:
"204":
$ref: '#/components/responses/IndividualThreshold.Delete.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/422
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
patch:
description: |
This method allows to modify an "Individual threshold" resource. See clause 6.4.6.3.4.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Unmodified-Since
- $ref: ../../components/SOL002_params.yaml#/components/parameters/If-Match
requestBody:
$ref: '#/components/requestBodies/ThresholdModificationRequest'
responses:
"200":
$ref: '#/components/responses/IndividualThreshold.Patch.200'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"404":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/404
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"409":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/409
"412":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/412
"416":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/416
"422":
$ref: '#/components/responses/IndividualThreshold.Patch.422'
"429":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/429
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
"504":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/504
components:
parameters:
filter_thresholds:
name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI
GS NFV-SOL 013 [6].
The VNFM shall support receiving this parameter as part of the URI query string.
The API consumer may supply this parameter.
All attribute names that appear in the Thresholds data type and in data types
referenced from it shall be supported by the VNFM in the filter expression.
in: query
required: false
schema:
type: string
exclude_default_pm_jobs:
name: exclude_default
in: query
description: >-
Indicates to exclude the following complex attributes from the response. See
clause 5.3 of ETSI GS NFV-SOL 013 [6] for details. The VNFM shall support this
parameter.
The following attributes shall be excluded from the PmJob structure in the response
body if this parameter is provided, or none of the parameters "all_fields", "fields",
"exclude_fields", "exclude_default" are provided:
- reports
required: false
schema:
type: string
filter_pm_jobs:
name: filter
description: >
Attribute-based filtering expression according to clause 5.2 of ETSI
GS NFV-SOL 013 [6].
The VNFM shall support receiving this parameter as part of the URI query string. The
API consumer may supply this parameter.
All attribute names that appear in the PmJob and in data types referenced from it shall
be supported by the VNFM in the filter expression.
in: query
required: false
schema:
type: string
PmJobId:
name: pmJobId
in: path
description: |
Identifier of the PM job. This identifier can be retrieved from the resource referenced by the "Location" HTTP
header in the response to a POST request creating a new PM job resource. It can also be retrieved from the "id"
attribute in the message content of that response.
required: true
style: simple
explode: false
schema:
type: string
ReportId:
name: reportId
in: path
description: |
Identifier of the performance report.
required: true
style: simple
explode: false
schema:
type: string
ThresholdId:
name: thresholdId
in: path
description: |
Identifier of the threshold. This identifier can be retrieved from the resource referenced by the "Location"
HTTP header in the response to a POST request creating a new threshold resource. It can also be retrieved from
the "id" attribute in the message content of that response.
required: true
style: simple
explode: false
schema:
type: string
requestBodies:
PmJobCreationRequest:
description: The VNF creation parameters
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/CreatePmJobRequest
required: true
PmJobModificationRequest:
description: Parameters for the PM job modification
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications
required: true
ThresholdCreationRequest:
description: |
Request parameters to create a new "Individual threshold" resource.
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/CreateThresholdRequest
required: true
ThresholdModificationRequest:
description: Parameters for the threshold modification.
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications
required: true
responses:
PmJobs.Get.200:
description: |
200 OK
Shall be returned when information about zero or more PM jobs was queried successfully. The response body
shall contain in an array the representations of zero or more PM jobs, as defined in clause 6.5.2.7.
If the "filter" URI parameter or one of the "all_fields", "fields" (if supported), "exclude_fields"
(if supported) or "exclude_default" URI parameters was supplied in the request, the data in the response
body shall have been transformed according to the rules specified in clauses 5.2.2 and 5.3.2 of
ETSI GS NFV-SOL 013, respectively. If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1
of ETSI GS NFV-SOL 013for this resource, inclusion of the Link HTTP header in this response shall follow
the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
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
Link:
description: |
Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
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
content:
application/json:
schema:
type: array
items:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJob
PmJobs.Post.201:
description: |
201 CREATED
Shall be returned when the PM job has been created successfully. The response body shall contain a
representation of the created PM job resource. The HTTP response shall include a "Location" HTTP header that
points to the created "Individual PM job" 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
Location:
description: The resource URI of the created PM Job
style: simple
explode: false
schema:
type: string
format: url
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJob
PmJobs.Post.422:
description: |
422 Unprocessable Content
Shall be returned upon the following error: The content type of the message content is supported and the
message content of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the VNFM has
tested the Notification endpoint as described in clause 6.4.9.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information
about the error.
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: Version of the API used in the response.
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/SOL002_def.yaml#/definitions/ProblemDetails"
IndividualPmJob.Get.200:
description: |
200 OK
Shall be returned when information about an individual PM job has been ueried successfully. The response
body shall contain a representation of the "Individual PM job" 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
ETag:
description: >
Used to provide the current entity-tag for the selected resource representation. It can be sent in
"200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
Last-Modified:
description: >
Used to provide a timestamp indicating the date and time at which the server believes the selected resource
representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
format: date-time
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJob
IndividualPmJob.Delete.204:
description: |
204 NO CONTENT
Shall be returned when the PM job has been deleted successfully. The response body shall be empty.
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
content: {}
IndividualPmJob.Patch.200:
description: |
200 OK
Shall be returned when the request has been processed successfully. The response body shall contain a data
structure of type "PmJobModifications".
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
ETag:
description: >
Used to provide the current entity-tag for the selected resource representation. It can be sent in
"200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
Last-Modified:
description: >
Used to provide a timestamp indicating the date and time at which the server believes the selected resource
representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
format: date-time
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PmJobModifications
IndividualPmJob.Patch.422:
description: |
422 Unprocessable Content
Shall be returned upon the following error: The content type of the message content is supported and
the message content of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the VNFM has
tested the Notification endpoint as described in clause 6.4.9.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information
about the error.
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: Version of the API used in the response.
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/SOL002_def.yaml#/definitions/ProblemDetails"
IndividualPmJobReport.Get.200:
description: |
200 OK
Shall be returned when information of an individual performance report has been read successfully.
The response body shall contain a representation of the "Individual performance report" 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
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/PerformanceReport
Thresholds.Get.200:
description: |
200 OK
Information about zero or more thresholds was queried successfully.
If the "filter" URI parameter was supplied in the request, the data in the response body shall have
been transformed according to the rules specified in clause 5.2.2 of ETSI GS NFV SOL 013.
The response body shall contain in an array the representations of zero or more thresholds,
as defined in clause 6.5.2.9. If the VNFM supports alternative 2 (paging) according to clause 5.4.2.1
of ETSI GS NFV-SOL 013 for this resource, inclusion of the Link HTTP header in this response shall
follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL 013.
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
Link:
description: |
Reference to other resources. Used for paging in the present document, see clause 4.7.2.1.
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
content:
application/json:
schema:
type: array
items:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/Threshold
Thresholds.Post.201:
description: |
201 CREATED
Shall be returned when a threshold has been created successfully. The response body shall contain a
representation of the created "Individual threshold" resource. The HTTP response shall include a
"Location" HTTP header that contains the resource URI of the created 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
Location:
description: The resource URI of the created threshold
style: simple
explode: false
schema:
type: string
format: url
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/Threshold
Thresholds.Post.422:
description: |
422 Unprocessable Content
Shall be returned upon the following error: The content type of the message content is supported and the
message content of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the VNFM has
tested the Notification endpoint as described in clause 6.4.9.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information about
the error.
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: Version of the API used in the response.
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/SOL002_def.yaml#/definitions/ProblemDetails"
IndividualThreshold.Get.200:
description: |
200 OK
Shall be returned when information about an individual threshold has been queried successfully.
The response body shall contain a representation of the threshold.
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
ETag:
description: >
Used to provide the current entity-tag for the selected resource representation. It can be sent in
"200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
Last-Modified:
description: >
Used to provide a timestamp indicating the date and time at which the server believes the selected resource
representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
format: date-time
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/Threshold
IndividualThreshold.Delete.204:
description: |
204 NO CONTENT
Shall be returned when the threshold was deleted successfully. The response body shall be empty.
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: {}
IndividualThreshold.Patch.200:
description: |
200 OK
Shall be returned when the request has been processed successfully. The response body shall contain a data
structure of type "ThresholdModifications".
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
ETag:
description: >
Used to provide the current entity-tag for the selected resource representation. It can be sent in
"200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
Last-Modified:
description: >
Used to provide a timestamp indicating the date and time at which the server believes the selected resource
representation was last modified. It can be sent in "200 OK", "201 Created" and "204 No Content" responses.
style: simple
schema:
type: string
format: date-time
content:
application/json:
schema:
$ref: definitions/SOL002VNFPerformanceManagement_def.yaml#/definitions/ThresholdModifications
IndividualThreshold.Patch.422:
description: |
422 Unprocessable Content
Shall be returned upon the following error: The content type of the message content is supported
and the message content of a request contains syntactically correct data but the data cannot be processed.
The general cause for this error and its handling is specified in clause 6.4 of ETSI GS NFV-SOL 013 [6],
including rules for the presence of the response body.
Specifically in case of this resource, the response code 422 shall also be returned if the VNFM has
tested the Notification endpoint as described in clause 6.4.9.3.2 and the test has failed.
In this case, the "detail" attribute in the "ProblemDetails" structure shall convey more information
about the error.
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: Version of the API used in the response.
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/SOL002_def.yaml#/definitions/ProblemDetails"
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
CreateThresholdRequest:
description: >
This type represents a request to create a threshold.
type: object
required:
- objectType
- objectInstanceId
- criteria
- callbackUri
properties:
objectType:
description: >
Type of the measured object.
The applicable measured object type for a measurement
is defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
objectInstanceId:
description: >
Identifier of the VNF instance associated with this threshold.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
subObjectInstanceIds:
description: >
Identifiers of the sub-object instances of the measured
object instance associated with this threshold.
May be present if a sub-object is defined in clause 6.2
of ETSI GS NFV-IFA 027 for the related measured object type.
If this attribute is absent and a sub-object is defined in
clause 6.2 of ETSI GS NFV-IFA 027 for the measured object type,
measurements will be taken for all sub-object instances of
the measured object instance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
criteria:
description: >
Criteria that define this threshold.
$ref: "#/definitions/ThresholdCriteria"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
authentication:
description: >
Authentication parameters to configure the use of Authorization
when sending notifications corresponding to this threshold,
as defined in clause 8.3.4 of ETSI GS NFV-SOL 013.
This attribute shall only be present if the API consumer requires
authorization of notifications.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/SubscriptionAuthentication"
CreatePmJobRequest:
description: >
This type represents a request to create a PM job.
type: object
required:
- objectType
- objectInstanceIds
- criteria
- callbackUri
properties:
objectType:
description: >
Type of the measured object.
The applicable measured object type for a measurement
is defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
objectInstanceIds:
description: >
Identifiers of the measured object instances for
which performance information is requested to be collected.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
subObjectInstanceIds:
description: >
Identifiers of the sub-object instances of the measured
object instance for which performance information is requested to be collected.
May be present if a sub-object is defined in clause 6.2
of ETSI GS NFV-IFA 027for the related measured object type.
If this attribute is present, the cardinality of the "objectInstanceIds"
attribute shall be 1.
If this attribute is absent and a sub-object is defined in clause 6.2
of ETSI GS NFV IFA 027 for the related measured object type, measurements
will be taken for all sub-object instances of the measured object instance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
criteria:
description: >
Criteria of the collection of performance information.
$ref: "#/definitions/PmJobCriteria"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
authentication:
description: >
Authentication parameters to configure the use of Authorization
when sending notifications corresponding to this PM job, as defined
in clause 8.3.4 of ETSI GS NFV-SOL 013.
This attribute shall only be present if the API consumer
requires authorization of notifications.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/SubscriptionAuthentication"
PerformanceReport:
description: >
This type defines the format of a performance report provided by the VNFM to the NFVO as a result of collecting
performance information as part of a PM job.
NOTE: The sub-object allows to structure the measured object but is not to be confused with sub-counters which allow
to structure the measurement value.
EXAMPLE:
Measured object: VnfInstanceXYZ
Sub-object: VnfcInstance1
Measurement: vCPU_utilization
Sub-counters: vCPU utilization of each of the vCPUs of VnfcInstance1 (vCPU utilization.vCPU1, vCPU_utilization.vCPU2, etc.).
type: object
required:
- entries
properties:
entries:
description: >
List of performance information entries. Each performance report
entry is for a given metric of a given object (i.e. VNF instance),
but can include multiple collected values.
type: array
items:
type: object
required:
- objectType
- objectInstanceId
- performanceMetric
- performanceValue
properties:
objectType:
description: >
Type of the measured object.
The applicable measured object type for a measurement is defined
in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
objectInstanceId:
description: >
Identifier of the measured object instance for which the performance metric is reported
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
subObjectInstanceId:
description: >
Identifier of the sub-object instance of the measured object instance for which the performance
metric is reported. Shall be present if this is required in clause 6.2 of ETSI GS NFV-IFA 027
for the related measured object type. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
performanceMetric:
description: >
Name of the metric collected. This attribute shall contain the related "Measurement Name"
value as defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
performanceValues:
description: >
List of performance values with associated timestamp.
type: array
items:
type: object
required:
- timeStamp
- value
properties:
timeStamp:
description: >
Time stamp indicating when the data has been collected.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
value:
description: >
Value of the metric collected.
The type of this attribute shall correspond to the related "Measurement Unit"
as defined in clause 7.2. of ETSI GS NFV-IFA 027.
type: object
context:
description: >
Measurement context information related to the measured value.
The set of applicable keys is defined per measurement in the
related "Measurement Context" in clause 7.2 of ETSI GS NFV-IFA 027.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
PmJob:
description: >
This type represents a PM job.
type: object
required:
- id
- objectType
- objectInstanceIds
- criteria
- callbackUri
- _links
properties:
id:
description: >
Identifier of this PM job.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
objectType:
description: >
Type of the measured object.
The applicable measured object type for a measurement
is defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
objectInstanceIds:
description: >
Identifiers of the VNF instances for which performance information
is collected.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
subObjectInstanceIds:
description: >
Identifiers of the sub-object instances of the measured object
instance for which performance information is requested to be collected.
May be present if a sub-object is defined in clause 6.2 of
ETSI GS NFV-IFA 027 for the related measured object type.
If this attribute is present, the cardinality of the "objectInstanceIds"
attribute shall be 1.
If this attribute is absent and a sub-object is defined in clause 6.2 of
ETSI GS NFV IFA 027 for the related measured object type, measurements will
be taken for all sub-object instances of the measured object instance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
criteria:
description: >
Criteria of the collection of performance information.
$ref: "#/definitions/PmJobCriteria"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
reports:
description: >
Information about available reports collected by this PM job.
type: object
required:
- href
- readyTime
properties:
href:
description: >
The URI where the report can be obtained.
type: string
format: url
readyTime:
description: >
The time when the report was made available.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
expiryTime:
description: >
The time when the report will expire.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
fileSize:
description: >
The size of the report file in bytes, if known.
type: integer
minimum: 0
maximum: 1024
# TODO: How to express unsigned int?
# Done using min and max params to set a range for positive int.
_links:
description: >
Links for this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
objects:
description: >
Links to resources representing the measure
object instances for which performance
information is collected. Shall be present if the
measured object instance information is
accessible as a resource.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
PmJobModifications:
description: >
This type represents modifications to a PM job.
NOTE: At least one of the attributes defined in this type shall be present in request bodies.
type: object
oneOf:
- required:
- callbackUri
- required:
- authentication
properties:
callbackUri:
description: >
New value of the "callbackUri" attribute. The value "null" is not permitted. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
authentication:
description: >
New value of the "authentication" attribute, or "null" to remove the attribute. If present
in a request body, these modifications shall be applied according to the rules of JSON Merge
Patch (see IETF RFC 7396).
This attribute shall not be present in response bodies. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/SubscriptionAuthentication"
PmJobCriteria:
description: >
This type represents collection criteria for PM jobs.
NOTE 1: At the end of each reportingPeriod, the API producer will inform the API consumer about availability of the
performance data collected for each completed collection period during this reportingPeriod.
The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance
data for the collection periods within one reporting period are reported together.
NOTE 2: In particular when choosing short collection and reporting periods, the number of PM jobs that can be supported
depends on the capability of the producing entity.
type: object
required:
- collectionPeriod
- reportingPeriod
properties:
performanceMetric:
description: >
This defines the types of performance metrics for the specified object instances.
Valid values are specified as "Measurement Name" values in clause 7.2 of ETSI GS NFV-IFA 027.
At least one of the two attributes (performance metric or group) shall be present.
type: array
items:
type: string
performanceMetricGroup:
description: >
Group of performance metrics. A metric group is a pre-defined list
of metrics, known to the API producer that it can decompose to
individual metrics. Valid values are specified as "Measurement Group"
values in clause 7.2 of ETSI GS NFV-IFA 027.
At least one of the two attributes (performance metric or group)
shall be present.
type: array
items:
type: string
collectionPeriod:
description: >
SSpecifies the periodicity at which the API producer will collect performance information.
The unit shall be seconds. See notes 1 and 2.
type: integer
minimum: 0
maximum: 1024
# TODO: How to express unsigned int?
# Done using min and max params to set a range for positive int.
reportingPeriod:
description: >
Specifies the periodicity at which the API producer will report to the API consumer
about performance information. The unit shall be seconds. See notes 1 and 2.
type: integer
minimum: 0
maximum: 1024
# TODO: How to express unsigned int?
# Done using min and max params to set a range for positive int.
reportingBoundary:
description: >
Identifies a time boundary after which the reporting will stop.
The boundary shall allow a single reporting as well as periodic
reporting up to the boundary.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
Threshold:
description: >
This type represents a threshold.
type: object
required:
- id
- objectType
- objectInstanceId
- criteria
- callbackUri
- _links
properties:
id:
description: >
Identifier of this threshold resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
objectType:
description: >
Type of the measured object.
The applicable measured object type for a measurement
is defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
objectInstanceId:
description: >
Identifier of the VNF instance associated with the threshold.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
subObjectInstanceIds:
description: >
Identifiers of the sub-object instances of the measured object
instance associated with the threshold.
May be present if a sub-object is defined in clause 6.2 of
ETSI GS NFV-IFA 027 for the related measurement type.
If this attribute is absent and a sub-object is defined in clause 6.2
of ETSI GS NFV-IFA 027 for the related measured object type,
measurements will be taken for all sub-object instances of the
measured object instance.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
criteria:
description: >
Criteria that define this threshold.
$ref: "#/definitions/ThresholdCriteria"
callbackUri:
description: >
The URI of the endpoint to send the notification to.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
_links:
description: >
Links for this resource.
type: object
required:
- self
properties:
self:
description: >
URI of this resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
object:
description: >
Link to a resource representing the measured object instance for which
performance information is collected. Shall be present if the
measured object instance information is accessible as a resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Link"
ThresholdModifications:
description: >
This type represents modifications to a threshold.
NOTE: At least one of the attributes defined in this type shall be present in request bodies.
type: object
oneOf:
- required:
- callbackUri
- required:
- authentication
properties:
callbackUri:
description: >
New value of the "callbackUri" attribute. The value "null" is not permitted. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Uri"
authentication:
description: >
New value of the "authentication" attribute, or "null" to remove the attribute. If present
in a request body, these modifications shall be applied according to the rules of JSON Merge
Patch (see IETF RFC 7396).
This attribute shall not be present in response bodies. See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/SubscriptionAuthentication"
ThresholdCriteria:
description: >
This type represents criteria that define a threshold.
NOTE 1: In the present document, simple thresholds are defined. The definition of additional threshold types is left for
future specification.
NOTE 2: The hysteresis is defined to prevent storms of threshold crossing notifications. When processing a request to create
a threshold, implementations should enforce a suitable minimum value for this attribute (e.g. override the value or
reject the request).
type: object
required:
- performanceMetric
- thresholdType
properties:
performanceMetric:
description: >
Defines the performance metric associated with the threshold.
Valid values are specified as "Measurement Name" values in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
thresholdType:
description: >
Type of threshold. This attribute determines which other attributes are present in the data structure.
Permitted values:
- SIMPLE: Single-valued static threshold.
See note 1.
type: string
enum:
- SIMPLE
simpleThresholdDetails:
description: >
Details of a simple threshold. Shall be present if
thresholdType="SIMPLE".
type: object
required:
- thresholdValue
- hysteresis
properties:
thresholdValue:
description: >
The threshold value. Shall be represented as a floating point
number.
# TODO: This should be floating.
# Done using Number type and floating formate
type: number
format: float
hysteresis:
description: >
The hysteresis of the threshold.
Shall be represented as a non-negative floating point number.
A notification with crossing direction "UP" will be generated if the measured value reaches or exceeds
"thresholdValue" + "hysteresis". A notification with crossing direction "DOWN" will be generated if the
measured value reaches or undercuts "thresholdValue" - "hysteresis". See note 2.
# TODO: This should be floating.
# Done using Number type and floating format.
type: number
minimum: 0
maximum: 1024
format: float
openapi: 3.0.2
info:
title: SOL002 - VNF Performance Management Notification interface
description: |
SOL002 - VNF Performance Management Notification 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/rep/nfv/SOL002-SOL003/issues
contact:
name: NFV-SOL WG
license:
name: ETSI Forge copyright notice
url: https://forge.etsi.org/etsi-forge-copyright-notice.txt
version: 2.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1
externalDocs:
description: ETSI GS NFV-SOL 002 V3.7.1
url: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/03.07.01_60/gs_NFV-SOL002v030701p.pdf
servers:
- url: http://127.0.0.1/callback/v2
- url: https://127.0.0.1/callback/v2
paths:
'/URI_is_provided_by_the_client_when_creating_the_subscription-PerformanceInformationAvailableNotification':
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the client,
e.g. during subscription. See clause 6.4.9.3.2.
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
post:
description: |
The POST method delivers a notification regarding a performance management event from API producer to an API
consumer. See clause 6.4.9.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/PerformanceInformationAvailableNotification'
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
/URI_is_provided_by_the_client_when_creating_the_subscription-ThresholdCrossedNotification:
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Version
- $ref: ../../components/SOL002_params.yaml#/components/parameters/Authorization
get:
description: |
The GET method allows the server to test the notification endpoint that is provided by the client,
e.g. during subscription. See clause 6.4.9.3.2.
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Get.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
post:
description: |
The POST method delivers a notification regarding a performance management event from API producer to an API
consumer. See clause 6.4.9.3.1.
parameters:
- $ref: ../../components/SOL002_params.yaml#/components/parameters/ContentType
requestBody:
$ref: '#/components/requestBodies/ThresholdCrossedNotification'
responses:
"204":
$ref: '#/components/responses/VNFPMNotification.Post.204'
"400":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/400
"401":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/401
"403":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/403
"405":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/405
"406":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/406
"500":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/500
"503":
$ref: ../../responses/SOL002SOL003_resp.yaml#/components/responses/503
components:
requestBodies:
PerformanceInformationAvailableNotification:
description: |
Notification about performance information availability.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFPerformanceManagementNotification_def.yaml#/definitions/PerformanceInformationAvailableNotification"
required: true
ThresholdCrossedNotification:
description: |
Notification about crossed threshold.
content:
application/json:
schema:
$ref: "definitions/SOL002VNFPerformanceManagementNotification_def.yaml#/definitions/ThresholdCrossedNotification"
required: true
responses:
VNFPMNotification.Get.204:
description: |
204 NO CONTENT
Shall be returned to indicate the notification endpoint has been tested successfully. The response body
shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
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: {}
VNFPMNotification.Post.204:
description: |
204 NO CONTENT
Shall be returned when the notification has been delivered successfully. The response body shall be empty.
headers:
Version:
description: |
Version of the API used in the response.
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: {}
\ No newline at end of file
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
PerformanceInformationAvailableNotification:
description: >
This notification informs the receiver that performance information is
available.
The notification shall be triggered by the VNFM when new performance
information collected by a PM job is available.
The periodicity of triggering this notification is influenced by the
"reportingPeriod" attribute in the "PmJobCriteria" data structure.
type: object
required:
- id
- notificationType
- timeStamp
- pmJobId
- objectType
- objectInstanceId
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"PerformanceInformationAvailableNotification" for this notification
type.
type: string
enum:
- PerformanceInformationAvailableNotification
timeStamp:
description: >
Date and time of the generation of the notification.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
pmJobId:
description: >
Identifier of the PM job for which performance information is available.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
objectType:
description: >
Type of the measured object.
The applicable measured object type for a measurement
is defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
objectInstanceId:
description: >
Identifier of the measured object instance. as per clause 6.2 of ETSI GS NFV-IFA 027.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
subObjectInstanceIds:
description: >
Identifiers of the sub-object instances of the measured
object instance for which the measurements have been taken.
Shall be present if the related PM job has been set up to
measure only a subset of all sub-object instances of the
measured object instance and a sub-object is defined in clause
6.2 of ETSI GS NFV-IFA 027 for the related measured object type.
Shall be absent otherwise.
type: array
items:
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
_links:
description: >
Links to resources related to this notification.
type: object
required:
- pmJob
- performanceReport
properties:
objectInstance:
description: >
Link to the resource representing the measured object instance to which the
notification applies. Shall be present if the measured object instance
information is accessible as a resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
pmJob:
description: >
Link to the resource that represents the PM job for which
performance information is available.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
performanceReport:
description: >
Link from which the available performance information of data
type "PerformanceReport" can be obtained. This link should point
to an "Individual performance report" resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
ThresholdCrossedNotification:
description: >
This type represents a notification that is sent when a threshold has been crossed.
NOTE: The timing of sending this notification is determined by the capability of the
producing entity to evaluate the threshold crossing condition.
The notification shall be triggered by the VNFM when a threshold has been crossed.
NOTE: The sub-object allows to structure the measured object, but is not to be confused
with sub-counters which allow to structure the measurement.
type: object
required:
- id
- notificationType
- timeStamp
- thresholdId
- crossingDirection
- objectType
- objectInstanceId
- performanceMetric
- performanceValue
- _links
properties:
id:
description: >
Identifier of this notification. If a notification is sent multiple
times due to multiple subscriptions, the "id" attribute of all these
notifications shall have the same value.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
notificationType:
description: >
Discriminator for the different notification types. Shall be set to
"ThresholdCrossedNotification" for this notification type.
type: string
enum:
- ThresholdCrossedNotification
timeStamp:
description: >
Date and time of the generation of the notification.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/DateTime"
thresholdId:
description: >
Identifier of the threshold which has been crossed.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
crossingDirection:
description: >
An indication of whether the threshold was crossed in upward or
downward direction.
$ref: "#/definitions/CrossingDirectionType"
objectType:
description: >
Type of the measured object.
The applicable measured object type for a measurement is defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
objectInstanceId:
description: >
Identifier that identifies a VNF instance.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/Identifier"
subObjectInstanceId:
description: >
Identifier of the sub-object of the measured object to which the measurement applies.
Shall be present if this is required in clause 6.2 of ETSI GS NFV-IFA 027 for the related
measured object type.
See note.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/IdentifierInVnf"
performanceMetric:
description: >
Performance metric associated with the threshold.
This attribute shall contain the related "Measurement Name"
value as defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: string
performanceValue:
description: >
Value of the metric that resulted in threshold crossing.
The type of this attribute shall correspond to the related
"Measurement Unit" as defined in clause 7.2 of ETSI GS NFV-IFA 027.
type: object
context:
description: >
Measurement context information related to the measured value.
The set of applicable keys is defined per measurement in the
related "Measurement Context" in clause 7.2 of ETSI GS NFV-IFA 027.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/KeyValuePairs"
_links:
description: >
Links to resources related to this notification.
type: object
required:
- threshold
properties:
objectInstance:
description: >
Link to the resource representing the measured object instance to which the
notified change applies. Shall be present if the measured object instance
information is accessible as a resource.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
threshold:
description: >
Link to the resource that represents the threshold that was
crossed.
$ref: "../../General_Definitions/SOL002_def.yaml#/definitions/NotificationLink"
CrossingDirectionType:
type: string
enum:
- UP
- DOWN
\ No newline at end of file