Commit 46079d2d authored by Gergely Csatari's avatar Gergely Csatari
Browse files

WIP: VNF Lifecycle Management interface



Things to do:
   - Fix the attribite fliters as it was discussed

Change-Id: I008b6f98cdb96f718ceb68c1d32d81ae0101a8d5
Signed-off-by: Gergely Csatari's avatarGergely Csatari <gergely.csatari@nokia.com>
parent 9c8ebfec
This diff is collapsed.
responses:
202-with-Location:
description: >
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
"VNF LCM operation occurrence" resource corresponding to the
operation.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created VNF instance
type: string
format: url
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../definitions/VNFLifecycleManagement_def.yaml#/definitions/VnfInstance"
404-task-not-suported-VNF-LCM:
description: >
If the API producer did not find a current representation for the
resource addressed by the URI passed in the request, or is not
willing to disclose that one exists, it shall respond with this
response code.
Specifically in case of this task resource, the reason can also be that
the task is not supported for the VNF LCM operation occurrence
represented by the parent resource, and that the task resource
consequently does not exist.
The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the sourceof the problem, e.g. a
wrong resource URI variable.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
409-another-lcm-operation-ongoing:
description: >
The operation cannot be executed currently, due to a conflict with the
state of the 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:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
409-inconsistent-state:
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
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
409-state-conflict-INSTANTIATED:
description: >
The operation cannot be executed currently, due to a conflict with the
state of the VNF instance resource.
Typically, this is due to the fact that the VNF instance resource is in
INSTANTIATED state.
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.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
409-state-conflict-not-FAILED_TEMP:
description: >
The operation cannot be executed currently, due to a conflict with the
state of the VNF instance resource.
Typically, this is due to the fact that the VNF instance resource 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 should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
409-state-conflict-NOT-INSTANTIATED:
description: >
The operation cannot be executed currently, due to a conflict with the
state of the VNF instance 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 should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "../../../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
This diff is collapsed.
# Copyright (c) ETSI 2017.
# https://forge.etsi.org/etsi-forge-copyright-notice.txt
definitions:
DateTime:
description: >
Date-time stamp.
Representation: String formatted according to IETF RFC 3339.
type: string
Identifier:
description: >
An identifier with the intention of being globally unique.
type: string
IdentifierInVnf:
description: >
An identifier that is unique for the respective type within a VNF
instance, but may not be globally unique.
type: string
IdentifierInVnfd:
description: >
An identifier that is unique within a VNF descriptor.
type: string
KeyValuePairs:
description: >
This type is represented in JSON as an extensible JSON object
type: object
ProblemDetails:
#SOL003 location: 4.3.5.3
description: >
The definition of the general "ProblemDetails" data structure from
IETF RFC 7807 [19] is reproduced inthis structure. Compared to the
general framework defined in IETF RFC 7807 [19], the "status" and
"detail" attributes are mandated to be included by the present document,
to ensure that the response contains additional textual information about
an error. IETF RFC 7807 [19] foresees extensibility of the
"ProblemDetails" type. It is possible that particular APIs in the present
document, or particular implementations, define extensions to define
additional attributes that provide more information about the error.
The description column only provides some explanation of the meaning to
Facilitate understanding of the design. For a full description, see
IETF RFC 7807 [19].
type: object
required:
- status
- detail
properties:
type:
description: >
A URI reference according to IETF RFC 3986 [5] that identifies the
problem type. It is encouraged that the URI provides human-readable
documentation for the problem (e.g. using HTML) when dereferenced.
When this member is not present, its value is assumed to be
"about:blank".
type: string
format: URI
title:
description: >
A short, human-readable summary of the problem type. It should not
change from occurrence to occurrence of the problem, except for
purposes of localization. If type is given and other than
"about:blank", this attribute shall also be provided.
A short, human-readable summary of the problem
type. It SHOULD NOT change from occurrence to occurrence of the
problem, except for purposes of localization (e.g., using
proactive content negotiation; see [RFC7231], Section 3.4).
type: string
status:
description: >
The HTTP status code for this occurrence of the problem.
The HTTP status code ([RFC7231], Section 6) generated by the origin
server for this occurrence of the problem.
type: integer
detail:
description: >
A human-readable explanation specific to this occurrence of the
problem.
type: string
instance:
description: >
A URI reference that identifies the specific occurrence of the
problem. It may yield further information if dereferenced.
type: string
format: URI
#TODO: How to express "any additional attributes"?
Uri:
description: >
String formatted according to IETF RFC 3986.
type: string
responses:
202:
description: >
The request was accepted for processing, but processing has not
been completed. The response shall have an empty payload body.
headers:
#TODO: Add headers defined in 4.3.4.3
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
Location:
description: The resource URI of the created VNF instance
type: string
format: url
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
400:
description: >
It fhe request is malformed or syntactically incorrect (e.g. if the
request URI contains incorrect query parameters or a syntactically
incorrect payload body), the API producer shall respond with this
response code. The "ProblemDetails" structure shall be provided,
and should include in the "detail" attribute more information about
the source of the problem.
If the request contains a malformed access token, the API producer
should respond with this response. The details of the error shall
be returned in the WWW-Authenticate HTTP header, as defined in
IETF RFC 6750 [11] and IETF RFC 7235 [16]. The ProblemDetails
structure may be provided.
If there is an application error related to the client's input that
cannot be easily mapped to any other HTTP response code ("catch all
error"), the API producer shall respond with this response code.The
"ProblemDetails" structure shall be provided, and shall include in
the "detail" attribute more information about the source of the
problem.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
400-attr-selector:
description: >
It fhe request is malformed or syntactically incorrect (e.g. if the
request URI contains incorrect query parameters or a syntactically
incorrect payload body), the API producer shall respond with this
response code. The "ProblemDetails" structure shall be provided,
and should include in the "detail" attribute more information about
the source of the problem.
If the request contains a malformed access token, the API producer
should respond with this response. The details of the error shall
be returned in the WWW-Authenticate HTTP header, as defined in
IETF RFC 6750 [11] and IETF RFC 7235 [16]. The ProblemDetails
structure may be provided.
If there is an application error related to the client's input that
cannot be easily mapped to any other HTTP response code ("catch all
error"), the API producer shall respond with this response code.The
"ProblemDetails" structure shall be provided, and shall include in
the "detail" attribute more information about the source of the
problem.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
401:
description: >
If the request contains no access token even though one is
required, or if the request contains an authorization token that
is invalid (e.g. expired or revoked), the API producer should
respond with this response. The details of the error shall be
returned in the WWW-Authenticate HTTP header, as defined in
IETF RFC 6750 [11] and IETF RFC 7235 [16]. The ProblemDetails
structure may be provided.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
403:
description: >
If the API consumer is not allowed to perform a particular request
to a particular resource, the API producer shall respond with this
response code. The "ProblemDetails" structure shall be provided.
It should include in the "detail" attribute information about the
source of the problem, and may indicate how to solve it.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
404:
description: >
If the API producer did not find a current representation for the
resource addressed by the URI passed in the request, or is not
willing to disclose that one exists, it shall respond with this
response code.
The "ProblemDetails" structure may be provided,
including in the "detail" attribute information about the source
of the problem, e.g. a wrong resource URI variable.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
404-task-not-suported:
description: >
If the API producer did not find a current representation for the
resource addressed by the URI passed in the request, or is not
willing to disclose that one exists, it shall respond with this
response code.
Specifically in case of this task resource, the reason can also be that
the task is not supported for the VNF instance represented by the parent
resource, and that the task resource consequently does not exist.
The "ProblemDetails" structure may be provided, including in the
"detail" attribute information about the sourceof the problem, e.g. a
wrong resource URI variable.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
405:
description: >
If a particular HTTP method is not supported for a particular
resource, the API producer shall respond with this response code.
The "ProblemDetails" structure may be omitted in that case.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
406:
description: >
If the "Accept" HTTP header does not contain at least one name of
a content type that is acceptable to the API producer, the API
producer shall respond with this response code. The
"ProblemDetails" structure may be omitted in that case.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
412:
description: >
A precondition given in an HTTP request header is not fulfilled.
Typically, this is due to an ETag mismatch, indicating that the
resource was modified by another entity. The response body should
contain a ProblemDetails structure, in which the "detail" attribute
should convey more information about the error.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
416:
description: >
This code is returned if the requested byte range in the
Range HTTP header is not present in the requested resource.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
422:
description: >
If the payload body of a request contains syntactically correct
data (e.g. well-formed JSON) but the data cannot be processed
(e.g. because it fails validation against a schema), the API
producer shall respond with this response code. The
"ProblemDetails" structure shall be provided, and should include
in the "detail" attribute more information about the source of the
problem.
NOTE 2: This error response code is only applicable for methods
that have a request body.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
500:
description: >
If there is an application error not related to the client's input
that cannot be easily mapped to any other HTTP response code
("catch all error"), the API producer shall respond withthis
response code. The "ProblemDetails" structure shall be provided,
and shall include in the "detail" attribute more information about
the source of the problem.
headers:
Content-Type:
description: The MIME type of the body of the response.
type: string
maximum: 1
minimum: 1
WWW-Authenticate:
description: >
Challenge if the corresponding HTTP request has not provided
authorization, or error details if the corresponding HTTP
request has provided an invalid authorization token.
type: string
maximum: 1
minimum: 0
schema:
$ref: "/../definitions/SOL002SOL003_def.yaml#/definitions/ProblemDetails"
503:
description: >
If the API producer encounters an internal overload situation of