From c690aee9df0859ccedc97277fb793d8301c26cb6 Mon Sep 17 00:00:00 2001 From: uihassan Date: Tue, 11 Aug 2020 11:56:58 +0500 Subject: [PATCH 01/41] API added --- .gitignore | 1 + ...onfigurationInformationManagement-API.yaml | 33445 ++++++++++++++++ 2 files changed, 33446 insertions(+) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml diff --git a/.gitignore b/.gitignore index a40199d34..3667399ca 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /red.xml build/ dist/ +/libspecs/ diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml b/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml new file mode 100644 index 000000000..3fed77a90 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/SOL009-NFVMANOConfigurationInformationManagement-API.yaml @@ -0,0 +1,33445 @@ +openapi: 3.0.2 +info: + version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' + title: SOL009 - NFV-MANO Configuration and Information Management Interface + description: > + SOL009 - NFV-MANO Configuration and Information Management Interface + + IMPORTANT: Please note that this file might be not aligned to the current + version of the ETSI Group Specification it refers to and has not been + approved by the ETSI NFV ISG. In case of discrepancies the published ETSI + Group Specification takes precedence. Please report bugs to + https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + license: + name: ETSI Forge copyright notice + url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' + contact: + name: NFV-SOL WG +externalDocs: + description: ETSI GS NFV-SOL 009 V3.3.1 + url: >- + https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/009/03.03.01_60/gs_NFV-SOL009v030301p.pdf +servers: + - url: 'http://0.0.0.0/nfvmanocim/v1' + description: | + API HTTP Server + - url: 'https://0.0.0.0/nfvmanocim/v1' + description: | + API HTTPS Server +paths: + /api_versions: + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: false + schema: + type: string + - name: Authorization + description: 'The authorization token for the request. Reference: IETF RFC 7235' + in: header + required: false + schema: + type: string + get: + summary: Retrieve API version information + description: > + The GET method reads API version information. This method shall follow + the provisions specified in table 4.6.3.3.3.2-1 for request and response + data structures, and response codes. URI query parameters are not + supported. + responses: + '200': + description: > + 200 OK + + API version information was read successfully. The response body + shall contain 4.4 API version information, as defined in clause + 4.4.1.13. + content: + application/json: + schema: + description: | + This type represents API version information. + type: object + required: + - uriPrefix + - apiVersions + properties: + uriPrefix: + description: > + Specifies the URI prefix for the API, in the following + form {apiRoot}/{apiName}/{apiMajorVersion}/. + type: string + apiVersions: + description: > + Version(s) supported for the API signaled by the uriPrefix + attribute. + type: array + items: + type: object + required: + - version + properties: + version: + description: > + Identifies a supported version. The value of the + version attribute shall be a version identifier as + specified in clause 9.1 (SOL013). + type: string + isDeprecated: + description: > + If such information is available, this attribute + indicates whether use of the version signaled by the + version attribute is deprecated (true) or not + (false). + + A deprecated version is still supported by the API + producer but is recommended not to be used any + longer. When a version is no longer supported, it + does not appear in the response body. + type: boolean + retirementDate: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + 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: The used API version. + schema: + type: string + maximum: 1 + minimum: 1 + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '413': + description: > + 413 PAYLOAD TOO LARGE + + If the payload body of a request is larger than the amount of data + the API producer is willing or able to process, it shall respond + with this response code, following the provisions in IETF RFC 7231 + for the use of the "Retry-After" HTTP header and for closing the + connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '414': + description: > + 414 URI TOO LONG + + If the request URI of a request is longer than the API producer is + willing or able to process, it shall respond with this response + code. This condition can e.g. be caused by passing long queries in + the request URI of a GET request. The "ProblemDetails" structure may + be omitted. + 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: + 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 + '416': + description: | + 416 Range Not Satisfiable + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '429': + description: > + 429 TOO MANY REQUESTS + + If the API consumer has sent too many requests in a defined period + of time and the API producer is able to detect that condition ("rate + limiting"), the API producer shall respond with this response code, + following the provisions in IETF RFC 6585 [17] for the use of the + "Retry-After" HTTP header. The "ProblemDetails" structure shall be + provided and shall include in the "detail" attribute more + information about the source of the problem. + + The period of time and allowed number of requests are configured + within the API producer by means outside the scope of the present + document. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + /mano_entity: + get: + description: > + Retrives information about an NFV-MANO functional entity by reading the + NFV-MANO entity resource. This method shall follow the provisions + specified in the tables 5.5.3.3.2-1 and 5.5.3.3.2-2 for URI query + parameters, request and response data structures, and response + codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when configuration and information about the + NFV-MANO functional entity has been read successfully. The response + body shall contain a representation of the NFV-MANO functional + entity, as defined in clause 5.6.2.2. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: | + This type represents an NFV-MANO functional entity. + type: object + required: + - id + - type + - name + - description + - provider + - softwareVersion + - manoConfigurableParams + - manoApplicationState + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + name: + description: | + Human-readable name of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + description: + description: > + Human-readable description of the NFV-MANO functional + entity. + + This attribute can be modified with the PATCH method. + type: string + provider: + description: > + Information about the provider of the NFV-MANO functional + entity. It typically includes the name of the provider. + type: string + softwareVersion: + description: > + The version of the software of the NFV-MANO functional + entity. $ref: + "../components/SOL009_schemas.yaml#/components/schemas/Version" + manoEntityComponents: + description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" + type: array + items: + description: > + This type represents information of a deployed component + realizing part of an NFV-MANO functional entity. It is + optional for the API producer to support this type. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceIds: + description: > + References to the NFV-MANO services that depend on + the NFV-MANO functional entity component. The + identifier of the ManoService is referred. A + service may depend on multiple components. Multiple + services may depend on the same component. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + required: + - id + manoServices: + description: > + Information about the NFV-MANO services provided by the + NFV-MANO functional entity. + type: array + items: + description: > + This type represents information about an NFV-MANO + service provided by the NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + name: + description: > + Human-readable name of the NFV-MANO service. + + This attribute can be modified with the PATCH + method. + type: string + description: + description: > + Human-readable description of the NFV-MANO service. + + This attribute can be modified with the PATCH + method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service + interface" resources with information about the + associated interfaces to the NFV-MANO service. + type: array + items: + description: > + This type represents a link to a resource + using an absolute URI. + type: object + required: + - href + properties: + href: + description: > + String formatted according to IETF RFC + 3986. + type: string + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + manoConfigurableParams: + description: > + # Warning: No definition found in the document + ManoConfigurableParams + manoApplicationState: + description: > + Information and current values of the NFV-MANO functional + entity’s application state. + type: object + required: + - operationalState + - administrativeState + - usageState + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + nfvoSpecificInfo: + description: > + This type represents information attributes specific to an + NFVO entity, and that can be relevant to more than one + NFV-MANO service offered by an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the + NFVO. + + NOTE: If this attribute is not present, the value of + this parameter is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded + on the NFVO. + + NOTE: If this attribute is not present, the value of + this parameter is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + vnfmSpecificInfo: + description: > + This type represents information attributes specific to a + VNFM entity, and that can be relevant to more than one + NFV-MANO service offered by a VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. + to determine the compatibility of a VNF with certain + VNFM according to the vnfmInfo attribute in the VNFD + (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + vimSpecificInfo: + description: > + This type represents information attributes specific to a + VIM entity, and that can be relevant to more than one + NFV-MANO service offered by a VIM entity. + type: object + _links: + description: | + Links to resources related to this resource. + type: object + required: + - self + - manoServiceInterfaces + - peerEntities + - changeState + - changeStateOpOccs + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + manoServiceInterfaces: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + peerEntities: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + changeState: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + changeStateOpOccs: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + patch: + description: > + Modifies the NFV-MANO entity resource. Changes to the various + configuration and information attributes are applied to the NFV-MANO + functional entity, and are reflected in the representation of this + resource. This method shall follow the provisions specified in the + tables 5.5.3.3.4-1 and 5.5.3.3.4-2 for URI query parameters, request + and response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Parameters for the NFV-MANO configuration and information + modification, as defined in clause 5.6.2.3. The Content-Type header + shall be set to "application/merge-patch+json" according to IETF RFC + 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO functional entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "ManoEntity". + type: string + description: + description: | + New value of the "description" attribute in "ManoEntity". + type: string + clockSyncs: + description: > + New content of certain entries in the "clockSyncs" attribute + array in the "ManoEntityConfigurableParams", as defined + below this table. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. + Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + List of identifiers entries to be deleted from the + "clockSyncs" attribute array in the + "ManoEntityConfigurableParams", as defined below this + table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + New content of certain entries in the "manoServices" + attribute array in the "ManoEntity", as defined below this + table. + type: array + items: + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + name: + description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + description: + description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + required: + - id + required: true + responses: + '200': + description: > + 200 OK + + Shall be returned when the modification of configuration on the + NFV-MANO functional entity has been accepted and completed. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents attribute modifications that were + performed on the "NFV-MANO entity" resource of the producer + NFV-MANO functional entity. The attributes that can be + included consist of those requested to be modified explicitly + in the "ManoConfigModificationRequest" data structure. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "ManoEntity", as defined in clause + 5.6.2.3 + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "ManoEntity", as defined in + clause 5.6.2.3. + type: string + clockSyncs: + description: > + If present, this attribute signals modifications of the + "clockSyncs" attribute in "ManoEntityConfigurableParams", + as defined in clause 5.6.2.3. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock + synchronization. Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case + of an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero + to four hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. + In JSON, a set of keyvalue pairs is represented as + an object. It shall comply with the provisions + defined in clause 4 of IETF RFC 8259. In the + following example, a list of key-value pairs with + four keys ("aString", "aNumber", "anArray" and + "anObject") is provided to illustrate that the + values associated with different keys can be of + different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + If present, this attribute signals modifications of + certain entries in "clockSyncs" attribute in + "ManoEntityConfigurableParams", as defined in clause + 5.6.2.3. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + If present, this attribute signals modifications of the + "manoServices" attribute array in the "ManoEntity", as + defined in clause 5.6.2.3. + type: array + items: + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + name: + description: > + If present, this attribute signals modification of + the "name" attribute in the "ManoService". + type: string + description: + description: > + If present, this attribute signals modification of + the "description" attribute in the "ManoService". + type: string + required: + - id + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '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 + "NFV-MANO entity" resource. + + Typically, this is due to the fact that another configuration and + information modification 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + /mano_entity/change_state: + post: + description: > + Requests to change the state of the NFV-MANO functional entity + application. + + This method shall follow the provisions specified in the tables + 5.5.7.3.1-1 and 5.5.7.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Parameters for the change state operation, as defined in clause + 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state + of a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + responses: + '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 change state + operation occurrence" resource corresponding to the operation. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '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 resource is in an + incompatible state, or that another change state 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + /mano_entity/mano_interfaces: + get: + description: > + Queries information about multiple NFV-MANO service interfaces of the + NFV-MANO functional entity. This method shall follow the provisions + specified in the tables 5.5.10.3.2-1 and 5.5.10.3.2-2 for URI query + parameters, request and response data structures, and response codes. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity 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 ManoServiceInterface and in + data types referenced from it shall be supported by the NFV-MANO + functional entity in the expression. + in: query + required: false + schema: + type: string + - name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of + ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support + this parameter. + in: query + required: false + schema: + type: string + - name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the + ManoServiceInterface structure in the response body if this + parameter is provided, or none of the parameters "all_fields," + "fields", "exclude_fields", "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when information about zero or more NFV-MANO + service interfaces has been queried successfully. + + The response body shall contain in an array the representations of + zero or more NFV-MANO service interfaces, as defined in clause + 5.6.2.11. + + 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 NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents an individual NFV-MANO service + interface produced by an NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: > + Information about supported operations of this + interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the + API producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing + the SSL or TLS negotiation with the API client. + Valid values of cipher suites are defined in + IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + '/mano_entity/mano_interfaces/{manoServiceInterfaceId}': + parameters: + - name: manoServiceInterfaceId + in: path + description: Identifier of the MANO service interface. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: > + retrieves information about an NFV-MANO service interface of the + producer NFV-MANO functional entity by reading an "Individual NFV-MANO + service interface" resource. + + This method shall follow the provisions specified in the tables + 5.5.11.3.2-1 and 5.5.11.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when information about an individual NFV-MANO + service interface has been read successfully. + + The response body shall contain a representation of the NFV-MANO + service interface, as defined in clause 5.6.2.11. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents an individual NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant to + (see also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall + be present for ETSI NFV specified RESTful NFV-MANO + APIs. The major version is defined in the standard + the interface is compliant to (see also clause 4.1 of + ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the + API producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order + of the pairs in the list is not significant. In JSON, a + set of keyvalue pairs is represented as an object. It + shall comply with the provisions defined in clause 4 of + IETF RFC 8259. In the following example, a list of + key-value pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of + different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + patch: + description: > + Modifies an "Individual NFV-MANO service interface" resource. + + Changes to the configurable parameters of the corresponding NFV-MANO + service interface are applied to the information managed by the + producer NFV-MANO functional entity and reflected in the representation + of this resource. + + This method shall follow the provisions specified in the tables + 5.5.11.3.4-1 and 5.5.11.3.4-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Parameters for the modification of configuration parameters of the + NFV-MANO service interface, as defined in clause 5.6.2.12. + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO service interface of the producer + NFV-MANO functional entity. + type: object + properties: + name: + description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: true + responses: + '200': + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual NFV-MANO service interface" + resource, as defined in clause 5.6.2.13. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents attribute modifications that were + performed on an Individual NFV-MANO service interface" + resource. The attributes that can be included consist of + those requested to be modified explicitly in the + "ManoServiceInterfaceModificationRequest" data structure. If + applicable, additional attributes of the + "ManoServiceInterface" data structure that were modified + implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "ManoServiceInterface", as defined in + clause 5.6.2.11. + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the + API producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order + of the pairs in the list is not significant. In JSON, a + set of keyvalue pairs is represented as an object. It + shall comply with the provisions defined in clause 4 of + IETF RFC 8259. In the following example, a list of + key-value pairs with four keys ("aString", "aNumber", + "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of + different type. + type: object + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '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 NFV-MANO service interface" resource. + + Typically, this is due to the fact that another 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + '/mano_entity/mano_interfaces/{manoServiceInterfaceId}/change_state': + parameters: + - name: manoServiceInterfaceId + in: path + description: Identifier of the MANO service interface. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + post: + description: > + Requests to change the state of the NFV-MANO service interface produced + by the NFV-MANO functional entity. + + This method shall follow the provisions specified in the tables + 5.5.12.3.1-1 and 5.5.12.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Parameters for the change state operation, as defined in clause + 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state + of a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + responses: + '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 change state + operation occurrence" resource corresponding to the operation. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state + operation occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '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 resource is in an + incompatible state, or that another change state 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + /subscriptions: + post: + description: > + Creates a new subscription. + + This method shall follow the provisions specified in the tables + 5.5.4.3.1-1 and 5.5.4.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Details of the subscription to be created, as defined in clause + 5.6.2.5-1. + content: + application/json: + schema: + description: > + This type represents a subscription request related to + notifications about NFV-MANO configuration and information + management changes. + type: object + properties: + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their associated + managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference to + NFV-MANO services in a filter. They should not be + used together in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed in + this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed in + this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + authentication: + type: object + required: + - authType + properties: + authType: + description: > + Defines the types of Authentication / Authorization + which the API consumer is willing to accept when + receiving a notification. Permitted values: * BASIC: In + every HTTP request to the notification endpoint, use + HTTP Basic authentication with the client credentials. + * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to + the + notification endpoint, use an OAuth 2.0 Bearer token, obtained + using the client credentials grant type. + * TLS_CERT: Every HTTP request to the notification + endpoint is sent + over a mutually authenticated TLS session, i.e. not only the + server is authenticated, but also the client is authenticated + during the TLS tunnel setup. + type: array + items: + type: string + enum: + - BASIC + - OAUTH2_CLIENT_CREDENTIALS + - TLS_CERT + paramsBasic: + description: > + Parameters for authentication/authorization using BASIC. + Shall be present if authType is "BASIC" and the + contained information has not been provisioned out of + band. Shall be absent otherwise. + type: object + properties: + userName: + description: > + Username to be used in HTTP Basic authentication. + Shall be present if it has not been provisioned out + of band. + type: string + password: + description: > + Password to be used in HTTP Basic authentication. + Shall be present if it has not been provisioned out + of band. + type: string + paramsOauth2ClientCredentials: + description: > + Parameters for authentication/authorization using + OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType + is "OAUTH2_CLIENT_CREDENTIALS" and the contained + information has not been provisioned out of band. Shall + be absent otherwise. + type: object + properties: + clientId: + description: > + Client identifier to be used in the access token + request of the OAuth 2.0 client credentials grant + type. Shall be present if it has not been + provisioned out of band. The clientId and + clientPassword passed in a subscription shall not be + the same as the clientId and clientPassword that are + used to obtain authorization for API requests. + Client credentials may differ between subscriptions. + The value of clientPassword should be generated by a + random process. + type: string + clientPassword: + description: > + Client password to be used in the access token + request of the OAuth 2.0 client credentials grant + type. Shall be present if it has not been + provisioned out of band. The clientId and + clientPassword passed in a subscription shall not be + the same as the clientId and clientPassword that are + used to obtain authorization for API requests. + Client credentials may differ between subscriptions. + The value of clientPassword should be generated by a + random process. + type: string + tokenEndpoint: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - callbackUri + required: true + responses: + '201': + description: > + 201 CREATED + + Shall be returned when 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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual subscription" + resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management + changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and + information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an + NFV-MANO service name listed in this attribute. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference + to NFV-MANO services in a filter. They should not + be used together in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed + in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed + in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - self + required: + - id + - callbackUri + - _links + '303': + description: > + 303 SEE OTHER + + SShall be returned when a subscription with the same callbackURI + and the same filter already exists and the policy of NFV-MANO + functional entity is to not create redundant subscriptions. + + The HTTP response shall include a "Location" HTTP header that + contains the resource URI of the existing "Individual subscription" + resource. + + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual subscription" + resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + get: + description: > + queries the list of active subscriptions of the API consumer that + invokes the method. It can be used, e.g., for resynchronization after + error situations. + + This method shall follow the provisions specified in the tables + 5.5.4.3.2-1 and 5.5.4.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity 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 CimSubscription and in data + types referenced from it shall be supported by the NFV-MANO + functional entity in the expression. + in: query + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when 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 NFV-MANO + configuration and information management subscriptions as defined + in clause 5.6.2.6. + + 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. + + If the NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management + changes + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and + information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being + globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the + respective type within a NFV-MANO functional + entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an + NFV-MANO service name listed in this attribute. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to + reference to NFV-MANO services in a filter. They + should not be used together in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity + produced interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + description: > + An identifier that is unique for the + respective type within a NFV-MANO functional + entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance Name + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity + produced interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives + to reference to NFV-MANO functional entity + consumed interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives + to reference to NFV-MANO functional entity + consumed interfaces in a filter. They should + not be used both in the same filter instance, + but one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - self + required: + - id + - callbackUri + - _links + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + '/subscriptions/{subscriptionId}': + parameters: + - name: subscriptionId + in: path + description: Identifier of the subscription + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: > + Retrieves information about a subscription by reading an "Individual + subscription" resource. + + This method shall follow the provisions specified in the tables + 5.5.5.3.2-1 and 5.5.5.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when information about an individual subscription + has been read successfully. + + The response body shall contain a representation of the "Individual + subscription" resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management + changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and + information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their + associated managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an + NFV-MANO service name listed in this attribute. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference + to NFV-MANO services in a filter. They should not + be used together in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but + that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed + in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + description: > + An identifier with the intention of being + globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed + in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used + both in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - self + required: + - id + - callbackUri + - _links + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + delete: + description: > + Terminates an individual subscription. + + This method shall follow the provisions specified in the tables + 5.5.5.3.5-1 and 5.5.5.3.5-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '204': + description: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has + been deleted successfully. + + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + /change_state_ops: + get: + description: > + The API consumer can use the GET method to query status information + about multiple change state operation occurrences. + + This method shall follow the provisions specified in the tables + 5.5.8.3.2-1 and 5.5.8.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity 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 ChangeStateOpOcc and in data + types referenced from it shall be supported by the NFV-MANO + functional entity in the expression. + in: query + required: false + schema: + type: string + - name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of + ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support + this parameter. + in: query + required: false + schema: + type: string + - name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the + ChangeStateOpOcc structure in the response body if this parameter + is provided, or none of the parameters "all_fields," "fields", + "exclude_fields", "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when status information for zero or more "change + state operation occurrences" has been queried successfully. + + The response body shall contain in an array the status information + about zero or more "Individual change state operation occurrences", + as defined in clause 5.6.2.9. + + 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 NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + description: > + This type represents the identifier to reference a + managed object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + required: + - type + - objectId + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This + attribute shall be formatted according to the request + data type of the related change state operation. + + The following mapping between operationType and the data + type of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is + returned in a response to reading an individual + resource, and may be present according to the chosen + attribute selector parameter if this data type is + returned in a response to a query of a container + resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + '/change_state_ops/{changeStateOpOccId}': + parameters: + - name: changeStateOpOccId + in: path + description: Identifier of the change state operation occurrence + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: > + The API consumer can use the GET method to retrieve status information + about a change state operation occurrence by reading an "Individual + change state operation occurrence" resource. + + This method shall follow the provisions specified in the tables + 5.5.9.3.2-1 and 5.5.9.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when information about an "Individual change + state operation occurrence" resource has been read successfully. + + The response body shall contain status information about a change + state operation occurrence, as defined in clause 5.6.2.9. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted + according to IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted + values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This + attribute shall be formatted according to the request + data type of the related change state operation. + + The following mapping between operationType and the data + type of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is + returned in a response to reading an individual resource, + and may be present according to the chosen attribute + selector parameter if this data type is returned in a + response to a query of a container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + /peer_entities: + post: + description: > + Creates in the producer NFV-MANO functional entity a new peer entity + resource which contains configuration and information with regards to + the peer functional entity. + + This method shall follow the provisions specified in the tables + 5.5.13.3.1-1 and 5.5.13.3.1-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: | + The peer entity creation parameters, as defined in clause 5.6.2.14. + content: + application/json: + schema: + description: > + This type represents request parameters for the creation of a + new peer entity resource. + type: object + properties: + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined + in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be + accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface + is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by + an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, + as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: + Using access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + API producer. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: | + Current values of the state of the peer functional entity. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - peerEntityId + - name + - type + required: true + responses: + '201': + description: > + 201 CREATED + + Shall be returned when a new "Individual peer entity" resource has + been created successfully. + + The response body shall contain a representation of the created + resource with regards to a peer entity, as defined in clause + 5.6.2.15. + + The HTTP response shall include a “Location” HTTP header that + points to the created "Individual peer entity" resource. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual peer entity" + resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause 4.1 + of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI + GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the + OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the authorization server. Valid values of + cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the API producer. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it + with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + get: + description: > + Queries information and configuration in the producer NFV-MANO + functional entity with regards to multiple peer entities. + + This method shall follow the provisions specified in the tables + 5.5.13.3.2-1 and 5.5.13.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of + ETSI GS NFV-SOL 013. + + The NFV-MANO functional entity 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 PeerEntity and in data types + referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + - name: all_fields + description: > + Include all complex attributes in the response. See clause 5.3 of + ETSI GS NFV-SOL 013. The NFV-MANO functional entity shall support + this parameter. + in: query + required: false + schema: + type: string + - name: fields + description: > + Complex attributes to be included into the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_fields + description: > + Complex attributes to be excluded from the response. See clause 5.3 + of ETSI GS NFV-SOL 013 for details. The NFV-MANO functional entity + should support this parameter. + in: query + required: false + schema: + type: string + - name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the PeerEntity + structure in the response body if this parameter is provided, or + none of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + - name: nextpage_opaque_marker + description: > + Marker to obtain the next page of a paged response. Shall be + supported by the NFV-MANO functional entity if the entity supports + alternative 2 (paging) according to clause 5.4.2.1 of ETSI GS + NFV-SOL 013 for this resource. + in: query + required: false + schema: + type: string + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when information about zero or more peer entities + has been queried successfully. + + The response body shall contain in an array the resource + representations of zero or more peer entities, as defined in clause + 5.6.2.15. + + 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 NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + peerEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: > + Human-readable description of the peer functional + entity. + + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the + API. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The major version is + defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used + by the API consumer accessing the API. + + The support of authorization methods for the + API consumer is specified in clause 8.3.6 of + ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC + 5246. - OAUTH2: Using access token, as defined + by the OAuth 2.0 specification in IETF RFC + 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be + declared as supported by the API consumer + when performing the SSL or TLS + negotiation with the authorization server. + Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the + use of TLS tunnel. Shall be present if + authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be + declared as supported by the API consumer + when performing the SSL or TLS negotiation + with the API producer. Valid values of + cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the + API consumer when creating the resource or when + updating it with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + '400': + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + '/peer_entities/{peerEntityId}': + parameters: + - name: peerEntityId + in: path + description: Identifier of the peer entity + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + get: + description: > + Retrieves information and configuration hold in the producer NFV-MANO + functional entity with regards to a peer entity by reading an + individual peer entity resource. + + This method shall follow the provisions specified in the tables + 5.5.14.3.2-1 and 5.5.14.3.2-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '200': + description: > + 200 OK + + Shall be returned when information about an individual peer + functional entity has been read successfully. + + The response body shall contain a resource representation of the + peer functional entity, as defined in clause 5.6.2.15. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause 4.1 + of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI + GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the + OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the authorization server. Valid values of + cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the API producer. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it + with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + '400': + description: > + 400 BAD REQUEST + + 400 code can be returned in the following specified cases, the + specific cause has to be proper specified in the "ProblemDetails" + structure to be returned. + + If the request is malformed or syntactically incorrect (e.g. if the + request URI contains incorrect query parameters or the payload body + contains a syntactically incorrect data structure), 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 response to a GET request which queries a container resource + would be so big that the performance of the API producer is + adversely affected, and the API producer does not support paging for + the affected resource, it 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 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. + + 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 and IETF RFC 7235. The ProblemDetails structure may be + provided. + + The use of this HTTP error response code described above is + applicable to the use of the OAuth 2.0 for the authorization of API + requests and notifications, as defined in clauses 4.5.3.3 and + 4.5.3.4. + 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: + 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 + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + patch: + description: > + Modifies configuration and information of the producer NFV-MANO + functional entity with regards to a peer functional entity by updating + the corresponding "Individual peer entity" resource. + + Changes to the configurable parameters of the corresponding peer entity + are applied to the information managed by the producer NFV-MANO + functional entity and reflected in the representation of this resource. + + This method shall follow the provisions specified in the tables + 5.5.14.3.4-1 and 5.5.14.3.4-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + requestBody: + description: > + Parameters for the modification of configuration parameters of the + peer functional entity, as defined in clause 5.6.2.16 + + The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of a peer entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "PeerEntity". + type: string + description: + description: > + New value of the "description" attribute in "PeerEntity", or + "null" to remove the attribute. + type: string + consumedManoInterfaces: + description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined + in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be + accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface + is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by + an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, + as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: + Using access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + API producer. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + List of identifiers entries to be deleted from the + "consumedManoInterfaces" attribute array in the " + PeerEntity ", as defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: true + responses: + '200': + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual peer entity" resource, as defined + in clause 5.6.2.17. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents attribute modifications that were + performed on an "Individual peer entity" resource. The + attributes that can be included consist of those requested to + be modified explicitly in the + "PeerEntityConfigModificationRequest" data structure. If + applicable, additional attributes of the "PeerEntity" data + structure that were modified implicitly shall also be + provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "PeerEntity", as defined in clause + 5.6.2.15. + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "PeerEntity", as defined in + clause 5.6.2.15. + type: string + consumedManoInterfaces: + description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" + type: array + items: + description: > + This type represents an interface consumed by the + producer NFV MANO functional entity from another peer + functional entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by + the NFV-MANO functional entity. Valid values are + defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It + provides the information relevant about the + protocol, host and port, and path where the + interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the + interface is compliant to (see also clause 4.1 + of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information + for accessing an NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI + GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS + tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the + OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as + defined in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the authorization server. Valid values of + cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with + the API producer. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + If present, this attribute signals the deletions of + certain entries in the "consumedManoInterfaces" attribute + in "PeerEntity", as defined in clause 5.6.2.15. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '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 peer entity" resource. + + Typically, this is due to the fact that another 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 + delete: + description: > + Ddeletes an individual peer entity resource. By deleting such a + resource in the producer NFV-MANO functional entity representing a peer + NFV-MANO entity, the configuration and information with regards to such + peer entity is deleted. Consequently, the peering relationship between + the producer NFV-MANO functional entity and the peer entity is + terminated, i.e., the producer NFV-MANO functional entity does not have + the necessary information to communicate/interact with the peer entity. + + This method shall follow the provisions specified in the tables + 5.5.14.3.5-1 and 5.5.14.3.5-2 for URI query parameters, request and + response data structures, and response codes. + parameters: + - name: Version + description: | + Version of the API requested to use when responding to this request. + in: header + required: true + schema: + type: string + - name: Accept + description: > + Content-Types that are acceptable for the response. Reference: IETF + RFC 7231. + in: header + required: true + schema: + type: string + - name: Authorization + description: | + The authorization token for the request. Reference: IETF RFC 7235. + in: header + required: false + schema: + type: string + responses: + '204': + description: > + 204 NO CONTENT + + Shall be returned when the "Individual peer entity" resource has + been deleted successfully. + + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP + request has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + '401': + description: > + 401 UNAUTHORIZED + + 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 and IETF + RFC 7235. The ProblemDetails structure may be provided. + 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: + 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 + '403': + description: > + 403 FORBIDDEN + + 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. + 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: + 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 + '404': + description: > + 404 NOT FOUND + + 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. + + This response code is not appropriate in case the resource addressed + by the URI is a container resource which is designed to contain + child resources, but does not contain any child resource at the time + the request is received. For a GET request to an existing empty + container resource, a typical response contains a 200 OK response + code and a payload body with an empty array. + 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: + 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 + '405': + description: > + 405 METHOD NOT ALLOWED + + 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. + 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: + 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 + '406': + description: > + 406 NOT ACCEPTABLE + + 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. + 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: + 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 + '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 peer entity" resource. + + Typically, this is due to the fact that another 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '412': + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in + an HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in + which the "detail" attribute should convey more information about + the error. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + '422': + description: > + 422 UNPROCESSABLE ENTITY + + 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. + + 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. + 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: + 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 + '500': + description: > + 500 INTERNAL SERVER ERROR + + 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 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. + 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: + 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 + '503': + description: > + 503 SERVICE UNAVAILABLE + + If the API producer encounters an internal overload situation of + itself or of a system it relies on, it should respond with this + response code, following the provisions in IETF RFC 7231 for the use + of the "Retry-After" HTTP header and for the alternative to refuse + the connection. The "ProblemDetails" structure may be omitted. + 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: + 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 + '504': + description: > + 504 GATEWAY TIMEOUT + + If the API producer encounters a timeout while waiting for a + response from an upstream server (i.e. a server that the API + producer communicates with when fulfilling a request), it should + respond with this response code. + 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: + 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 +components: + schemas: + ManoEntity: + description: | + This type represents an NFV-MANO functional entity. + type: object + required: + - id + - type + - name + - description + - provider + - softwareVersion + - manoConfigurableParams + - manoApplicationState + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + name: + description: | + Human-readable name of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + provider: + description: > + Information about the provider of the NFV-MANO functional entity. + It typically includes the name of the provider. + type: string + softwareVersion: + description: > + The version of the software of the NFV-MANO functional entity. $ref: + "../components/SOL009_schemas.yaml#/components/schemas/Version" + manoEntityComponents: + description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" + type: array + items: + description: > + This type represents information of a deployed component realizing + part of an NFV-MANO functional entity. It is optional for the API + producer to support this type. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + manoServiceIds: + description: > + References to the NFV-MANO services that depend on the + NFV-MANO functional entity component. The identifier of the + ManoService is referred. A service may depend on multiple + components. Multiple services may depend on the same + component. + type: array + items: + description: > + An identifier that is unique for the respective type within + a NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + required: + - id + manoServices: + description: > + Information about the NFV-MANO services provided by the NFV-MANO + functional entity. + type: array + items: + description: > + This type represents information about an NFV-MANO service + provided by the NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + name: + description: | + Human-readable name of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + type: array + items: + description: > + An identifier that is unique for the respective type within + a NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service interface" + resources with information about the associated + interfaces to the NFV-MANO service. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + manoConfigurableParams: + description: > + # Warning: No definition found in the document + ManoConfigurableParams + manoApplicationState: + description: > + Information and current values of the NFV-MANO functional entity’s + application state. + type: object + required: + - operationalState + - administrativeState + - usageState + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + nfvoSpecificInfo: + description: > + This type represents information attributes specific to an NFVO + entity, and that can be relevant to more than one NFV-MANO service + offered by an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded on the + NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + vnfmSpecificInfo: + description: > + This type represents information attributes specific to a VNFM + entity, and that can be relevant to more than one NFV-MANO service + offered by a VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. to + determine the compatibility of a VNF with certain VNFM + according to the vnfmInfo attribute in the VNFD (see table + 7.1.2.2-1 in ETSI GS NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + vimSpecificInfo: + description: > + This type represents information attributes specific to a VIM + entity, and that can be relevant to more than one NFV-MANO service + offered by a VIM entity. + type: object + _links: + description: | + Links to resources related to this resource. + type: object + required: + - self + - manoServiceInterfaces + - peerEntities + - changeState + - changeStateOpOccs + properties: + self: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + manoServiceInterfaces: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + peerEntities: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + changeState: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + changeStateOpOccs: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + ManoConfigModificationRequest: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO functional entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "ManoEntity". + type: string + description: + description: | + New value of the "description" attribute in "ManoEntity". + type: string + clockSyncs: + description: > + New content of certain entries in the "clockSyncs" attribute array + in the "ManoEntityConfigurableParams", as defined below this + table. + type: array + items: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + List of identifiers entries to be deleted from the "clockSyncs" + attribute array in the "ManoEntityConfigurableParams", as defined + below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + New content of certain entries in the "manoServices" attribute + array in the "ManoEntity", as defined below this table. + type: array + items: + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + name: + description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + description: + description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + required: + - id + ManoConfigModifications: + description: > + This type represents attribute modifications that were performed on the + "NFV-MANO entity" resource of the producer NFV-MANO functional entity. + The attributes that can be included consist of those requested to be + modified explicitly in the "ManoConfigModificationRequest" data + structure. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "ManoEntity", as defined in clause 5.6.2.3 + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "ManoEntity", as defined in clause + 5.6.2.3. + type: string + clockSyncs: + description: > + If present, this attribute signals modifications of the + "clockSyncs" attribute in "ManoEntityConfigurableParams", as + defined in clause 5.6.2.3. + type: array + items: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + If present, this attribute signals modifications of certain entries + in "clockSyncs" attribute in "ManoEntityConfigurableParams", as + defined in clause 5.6.2.3. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + If present, this attribute signals modifications of the + "manoServices" attribute array in the "ManoEntity", as defined in + clause 5.6.2.3. + type: array + items: + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + name: + description: > + If present, this attribute signals modification of the "name" + attribute in the "ManoService". + type: string + description: + description: > + If present, this attribute signals modification of the + "description" attribute in the "ManoService". + type: string + required: + - id + CimSubscriptionRequest: + description: > + This type represents a subscription request related to notifications + about NFV-MANO configuration and information management changes. + type: object + properties: + filter: + description: > + This type represents a subscription filter related to notifications + about NFV-MANO configuration and information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO service + name listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" are + alternatives to reference to NFV-MANO services in a filter. + They should not be used together in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + authentication: + type: object + required: + - authType + properties: + authType: + description: > + Defines the types of Authentication / Authorization which the + API consumer is willing to accept when receiving a notification. + Permitted values: * BASIC: In every HTTP request to the + notification endpoint, use + HTTP Basic authentication with the client credentials. + * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the + notification endpoint, use an OAuth 2.0 Bearer token, obtained + using the client credentials grant type. + * TLS_CERT: Every HTTP request to the notification endpoint is + sent + over a mutually authenticated TLS session, i.e. not only the + server is authenticated, but also the client is authenticated + during the TLS tunnel setup. + type: array + items: + type: string + enum: + - BASIC + - OAUTH2_CLIENT_CREDENTIALS + - TLS_CERT + paramsBasic: + description: > + Parameters for authentication/authorization using BASIC. Shall + be present if authType is "BASIC" and the contained information + has not been provisioned out of band. Shall be absent otherwise. + type: object + properties: + userName: + description: > + Username to be used in HTTP Basic authentication. Shall be + present if it has not been provisioned out of band. + type: string + password: + description: > + Password to be used in HTTP Basic authentication. Shall be + present if it has not been provisioned out of band. + type: string + paramsOauth2ClientCredentials: + description: > + Parameters for authentication/authorization using + OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is + "OAUTH2_CLIENT_CREDENTIALS" and the contained information has + not been provisioned out of band. Shall be absent otherwise. + type: object + properties: + clientId: + description: > + Client identifier to be used in the access token request of + the OAuth 2.0 client credentials grant type. Shall be + present if it has not been provisioned out of band. The + clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are + used to obtain authorization for API requests. Client + credentials may differ between subscriptions. The value of + clientPassword should be generated by a random process. + type: string + clientPassword: + description: > + Client password to be used in the access token request of + the OAuth 2.0 client credentials grant type. Shall be + present if it has not been provisioned out of band. The + clientId and clientPassword passed in a subscription shall + not be the same as the clientId and clientPassword that are + used to obtain authorization for API requests. Client + credentials may differ between subscriptions. The value of + clientPassword should be generated by a random process. + type: string + tokenEndpoint: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - callbackUri + CimSubscription: + description: > + This type represents a subscription related to notifications about + NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to notifications + about NFV-MANO configuration and information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO service + name listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" are + alternatives to reference to NFV-MANO services in a filter. + They should not be used together in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference + to NFV-MANO functional entity produced interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference + to NFV-MANO functional entity consumed interfaces in a + filter. They should not be used both in the same filter + instance, but one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + properties: + self: + description: | + This type represents a link to a resource using an absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - self + required: + - id + - callbackUri + - _links + ChangeStateRequest: + description: > + This type represents request parameters for changing the state of a + managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + ChangeStateOpOcc: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted according to IETF + RFC 3339. + type: string + format: date-time + managedObjectRef: + description: > + This type represents the identifier to reference a managed object of + a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if attribute + "manoEntityComponents" in "ManoEntity" is supported by the API + producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + required: + - type + - objectId + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This attribute shall + be formatted according to the request data type of the related + change state operation. + + The following mapping between operationType and the data type of + this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is returned in a + response to reading an individual resource, and may be present + according to the chosen attribute selector parameter if this data + type is returned in a response to a query of a container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + ManoServiceInterface: + description: > + This type represents an individual NFV-MANO service interface produced + by an NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + name: + description: | + Human-readable name of the NFV-MANO functional entity interface. + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the NFV-MANO + functional entity. Valid values are defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + {apiName} of each interface is defined in the standard the + interface is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be present + for ETSI NFV specified RESTful NFV-MANO APIs. The major version + is defined in the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the API client. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + ManoServiceInterfaceModificationRequest: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO service interface of the producer NFV-MANO + functional entity. + type: object + properties: + name: + description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the API client. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + ManoServiceInterfaceModifications: + description: > + This type represents attribute modifications that were performed on an + Individual NFV-MANO service interface" resource. The attributes that + can be included consist of those requested to be modified explicitly in + the "ManoServiceInterfaceModificationRequest" data structure. If + applicable, additional attributes of the "ManoServiceInterface" data + structure that were modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "ManoServiceInterface", as defined in clause 5.6.2.11. + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the API client. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + CreatePeerEntityRequest: + description: > + This type represents request parameters for the creation of a new peer + entity resource. + type: object + properties: + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO functional + entity from the peer functional entity. + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: | + Current values of the state of the peer functional entity. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - peerEntityId + - name + - type + PeerEntity: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO functional + entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API consumer + when creating the resource or when updating it with the PATCH + method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + PeerEntityConfigModificationRequest: + description: > + This type represents attribute modifications for configuration + parameters of a peer entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "PeerEntity". + type: string + description: + description: > + New value of the "description" attribute in "PeerEntity", or "null" + to remove the attribute. + type: string + consumedManoInterfaces: + description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + List of identifiers entries to be deleted from the + "consumedManoInterfaces" attribute array in the " PeerEntity ", as + defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + PeerEntityConfigModifications: + description: > + This type represents attribute modifications that were performed on an + "Individual peer entity" resource. The attributes that can be included + consist of those requested to be modified explicitly in the + "PeerEntityConfigModificationRequest" data structure. If applicable, + additional attributes of the "PeerEntity" data structure that were + modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "PeerEntity", as defined in clause 5.6.2.15. + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "PeerEntity", as defined in clause + 5.6.2.15. + type: string + consumedManoInterfaces: + description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer NFV + MANO functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and + path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API + consumer accessing the API. + + The support of authorization methods for the API consumer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When + used, the request to the WebFinger resource shall + conform as specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI + GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing the SSL + or TLS negotiation with the API producer. Valid + values of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + If present, this attribute signals the deletions of certain entries + in the "consumedManoInterfaces" attribute in "PeerEntity", as + defined in clause 5.6.2.15. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + ManoConfigurableParams: + description: | + # Warning: No definition found in the document ManoConfigurableParams + ManoEntityComponent: + description: > + This type represents information of a deployed component realizing part + of an NFV-MANO functional entity. It is optional for the API producer + to support this type. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + manoServiceIds: + description: > + References to the NFV-MANO services that depend on the NFV-MANO + functional entity component. The identifier of the ManoService is + referred. A service may depend on multiple components. Multiple + services may depend on the same component. + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + required: + - id + ManoService: + description: > + This type represents information about an NFV-MANO service provided by + the NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + name: + description: | + Human-readable name of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally unique. + Representation: string of variable length.. + type: string + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service interface" resources + with information about the associated interfaces to the + NFV-MANO service. + type: array + items: + description: > + This type represents a link to a resource using an absolute + URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + NfvoSpecificInfo: + description: > + This type represents information attributes specific to an NFVO entity, + and that can be relevant to more than one NFV-MANO service offered by + an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the NFVO. + + NOTE: If this attribute is not present, the value of this parameter + is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded on the NFVO. + + NOTE: If this attribute is not present, the value of this parameter + is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + VnfmSpecificInfo: + description: > + This type represents information attributes specific to a VNFM entity, + and that can be relevant to more than one NFV-MANO service offered by a + VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. to determine + the compatibility of a VNF with certain VNFM according to the + vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS + NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + VimSpecificInfo: + description: > + This type represents information attributes specific to a VIM entity, + and that can be relevant to more than one NFV-MANO service offered by a + VIM entity. + type: object + ManoEntityConfigurableParams: + description: > + This type represents list of parameters that can be configured on the + NFV MANO functional entity. + type: object + properties: + clockSyncs: + description: >- + Properties of the clock synchronization to be used by the NFV-MANO + functional entity. + type: array + items: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an + IPV4 address, string that consists of four decimal + integers separated by dots, each integer ranging from 0 to + 255. In case of an IPV6 address, string that consists of + groups of zero to four hexadecimal digits, separated by + colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - type + minItems: 1 + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + required: + - clockSyncs + - defaultLogCompileBySizeValue + - defaultLogCompileByTimerValue + ConsumedManoInterfaceInfo: + description: > + This type represents an interface consumed by the producer NFV MANO + functional entity from another peer functional entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the NFV-MANO + functional entity. Valid values are defined in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides the + information relevant about the protocol, host and port, and path + where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + {apiName} of each interface is defined in the standard the + interface is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be present + for ETSI NFV specified RESTful NFV-MANO APIs. The major version + is defined in the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for accessing an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API consumer + accessing the API. + + The support of authorization methods for the API consumer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by + TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as + defined by the OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When used, + the request to the WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI GS + NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API consumer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API consumer when performing the SSL or TLS negotiation + with the API producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + CimNotificationsFilter: + description: > + This type represents a subscription filter related to notifications + about NFV-MANO configuration and information management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match NFV-MANO + functional entities and their associated managed objects. + type: object + properties: + manoEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO service + name listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" are + alternatives to reference to NFV-MANO services in a filter. + They should not be used together in the same filter instance, + but one alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced interfaces + with an instance identifier listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference to + NFV-MANO functional entity produced interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced interfaces + with an instance Name listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to reference to + NFV-MANO functional entity produced interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed interfaces + with an instance identifier listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference to + NFV-MANO functional entity consumed interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed interfaces + with an instance Name listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to reference to + NFV-MANO functional entity consumed interfaces in a filter. + They should not be used both in the same filter instance, but + one alternative should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + ClockSyncInfo: + description: | + This type represents parameters for connecting to an NTP server. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. Shall be + present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of an IPV4 + address, string that consists of four decimal integers separated + by dots, each integer ranging from 0 to 255. In case of an IPV6 + address, string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The order of the + pairs in the list is not significant. In JSON, a set of keyvalue + pairs is represented as an object. It shall comply with the + provisions defined in clause 4 of IETF RFC 8259. In the following + example, a list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to illustrate that + the values associated with different keys can be of different type. + type: object + required: + - id + - type + ServerInterfaceSecurityInfo: + description: > + This type represents security related information of an NFV-MANO + service interface produced by an NFV-MANO functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API producer. + + The support of authorization methods for the API producer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by + the API producer when performing the SSL or TLS negotiation + with the authorization server. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as supported by the + API producer when performing the SSL or TLS negotiation with the + API client. Valid values of cipher suites are defined in IETF + RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + ClientInterfaceSecurityInfo: + description: > + This type represents security related information for accessing an + NFV-MANO service interface produced by an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the API consumer + accessing the API. + + The support of authorization methods for the API consumer is + specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS + 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by + the OAuth 2.0 specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: | + OAuth 2.0 authorization server information and configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is hosted. When used, the + request to the WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined in ETSI GS + NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as supported by the + API consumer when performing the SSL or TLS negotiation with + the authorization server. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS tunnel. + Shall be present if authType contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as supported by the + API consumer when performing the SSL or TLS negotiation with + the API producer. Valid values of cipher suites are defined in + IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + ManoServiceInterfaceTypeShortName: + description: "For the RESTful NFV-MANO APIs, valid values are all values for \"apiName\" as defined in ETSI GS NFV-SOL 002, ETSI GS NFV-SOL 003, and ETSI GS NFV-SOL 005.\nFor the NFV-MANO service interfaces for which no API is specified by ETSI NFV, valid values are defined in table 5.6.4.3-1.\nNOTE:\tThe table is expected to be updated, by removing the corresponding listed entries, once the interfaces are specified as a RESTful NFV-MANO API. \n" + type: string + UsageStateEnumType: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + ChangeOperationalStateEnumType: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + ChangeAdministrativeStateEnumType: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + InterfaceOperationalStateEnumType: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + StopEnumType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + ManoEntityEnumType: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + PeerEntityEnumType: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + parameters: + filter.ManoServiceInterface: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI GS + NFV-SOL 013. + + The NFV-MANO functional entity 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 ManoServiceInterface and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.CimSubscription: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI GS + NFV-SOL 013. + + The NFV-MANO functional entity 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 CimSubscription and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.ChangeStateOpOcc: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI GS + NFV-SOL 013. + + The NFV-MANO functional entity 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 ChangeStateOpOcc and in data + types referenced from it shall be supported by the NFV-MANO functional + entity in the expression. + in: query + required: false + schema: + type: string + filter.PeerEntity: + name: filter + description: > + Attribute-based filtering expression according to clause 5.2 of ETSI GS + NFV-SOL 013. + + The NFV-MANO functional entity 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 PeerEntity and in data types + referenced from it shall be supported by the NFV-MANO functional entity + in the expression. + in: query + required: false + schema: + type: string + exclude_default.ManoServiceInterface: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the + ManoServiceInterface structure in the response body if this parameter + is provided, or none of the parameters "all_fields," "fields", + "exclude_fields", "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + exclude_default.CimSubscription: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the CimSubscription + structure in the response body if this parameter is provided, or none + of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + exclude_default.ChangeStateOpOcc: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the ChangeStateOpOcc + structure in the response body if this parameter is provided, or none + of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + exclude_default.PeerEntity: + name: exclude_default + description: > + Indicates to exclude the following complex attributes from the + response. See clause 5.3 of ETSI GS NFV-SOL 013 for details. The + NFV-MANO functional entity shall support this parameter. + + The following attributes shall be excluded from the PeerEntity + structure in the response body if this parameter is provided, or none + of the parameters "all_fields," "fields", "exclude_fields", + "exclude_default" are provided: - none + in: query + required: false + schema: + type: string + manoServiceInterfaceId: + name: manoServiceInterfaceId + in: path + description: Identifier of the MANO service interface. + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + subscriptionId: + name: subscriptionId + in: path + description: Identifier of the subscription + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + changeStateOpOccId: + name: changeStateOpOccId + in: path + description: Identifier of the change state operation occurrence + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + name: peerEntityId + in: path + description: Identifier of the peer entity + required: true + schema: + description: | + An identifier with the intention of being globally unique. + type: string + requestBodies: + ModifyManoEntityRequest: + description: > + Parameters for the NFV-MANO configuration and information modification, + as defined in clause 5.6.2.3. The Content-Type header shall be set to + "application/merge-patch+json" according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO functional entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "ManoEntity". + type: string + description: + description: | + New value of the "description" attribute in "ManoEntity". + type: string + clockSyncs: + description: > + New content of certain entries in the "clockSyncs" attribute + array in the "ManoEntityConfigurableParams", as defined below + this table. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. + Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of + an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + List of identifiers entries to be deleted from the + "clockSyncs" attribute array in the + "ManoEntityConfigurableParams", as defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + New content of certain entries in the "manoServices" attribute + array in the "ManoEntity", as defined below this table. + type: array + items: + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + name: + description: "New value for the \"name\" attribute in the \"ManoService\". \nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + description: + description: "New value for the \"description\" attribute in the \"ManoService\".\nNOTE:\tAt least one of these attributes shall be provided if requesting a modification of the NFV-MANO service identified by \"id\".\n" + type: string + required: + - id + required: true + ChangeManoEntityStateRequest: + description: | + Parameters for the change state operation, as defined in clause 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state of + a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + ModifyManoEnityInterfaceRequest: + description: > + Parameters for the modification of configuration parameters of the + NFV-MANO service interface, as defined in clause 5.6.2.12. + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of an NFV-MANO service interface of the producer + NFV-MANO functional entity. + type: object + properties: + name: + description: "New value of the \"name\" attribute in \"ManoServiceInterface\". \nNOTE:\tChanging the name does not change the corresponding standardized API name in the resource URI (refer to \"{apiName}\" defined in clause 4.1 of ETSI GS NFV-SOL 013).\n" + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the API client. Valid values + of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: true + ChangeManoEntityInterfaceStateRequest: + description: > + Parameters for the change state operation, as defined in clause + 5.6.2.8. + content: + application/json: + schema: + description: > + This type represents request parameters for changing the state of + a managed entity. + type: object + properties: + operationalStateChange: + description: "A change of operational state. Shall be present if the state change request refers to the operational state. NOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + operationalStateAction: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + stopType: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions:\n - GRACEFUL\tTo stop the managed entity immediately after accepting the request.\n - FORCEFUL\tTo stop the managed entity attempting to gracefully discharge the entity from service.\n" + type: string + enum: + - GRACEFUL + - FORCEFUL + gracefulStopTimeout: + description: "The time internal (in seconds) to wait for the entity to be taken out of service during graceful stop. \nNOTE:\tThe \"stopType\" shall only be provided when the \"operationalStateAction\" attribute is equal to \"STOP\" or \"RESTART\". The \"gracefulStopTimeout\" shall be absent when the \"stopType\" attribute is equal to \"FORCEFUL\", and may be provided otherwise.\n" + type: integer + required: + - operationalStateAction + administrativeStateChange: + description: "A change of administrative state. Shall be present if the state change request refers to the administrative state. \nNOTE:\tIn the present document version, a request shall only include an operational state change (attribute \"operationalStateChange\") or an administrative state change request (attribute \"administrativeStateChange\"), but not both.\n" + type: object + properties: + administrativeStateAction: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + required: + - administrativeStateAction + required: true + CimSubscriptionRequest: + description: > + Details of the subscription to be created, as defined in clause + 5.6.2.5-1. + content: + application/json: + schema: + description: > + This type represents a subscription request related to + notifications about NFV-MANO configuration and information + management changes. + type: object + properties: + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" + are alternatives to reference to NFV-MANO services in + a filter. They should not be used together in the + same filter instance, but one alternative should be + chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + authentication: + type: object + required: + - authType + properties: + authType: + description: > + Defines the types of Authentication / Authorization which + the API consumer is willing to accept when receiving a + notification. Permitted values: * BASIC: In every HTTP + request to the notification endpoint, use + HTTP Basic authentication with the client credentials. + * OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the + notification endpoint, use an OAuth 2.0 Bearer token, obtained + using the client credentials grant type. + * TLS_CERT: Every HTTP request to the notification + endpoint is sent + over a mutually authenticated TLS session, i.e. not only the + server is authenticated, but also the client is authenticated + during the TLS tunnel setup. + type: array + items: + type: string + enum: + - BASIC + - OAUTH2_CLIENT_CREDENTIALS + - TLS_CERT + paramsBasic: + description: > + Parameters for authentication/authorization using BASIC. + Shall be present if authType is "BASIC" and the contained + information has not been provisioned out of band. Shall be + absent otherwise. + type: object + properties: + userName: + description: > + Username to be used in HTTP Basic authentication. + Shall be present if it has not been provisioned out of + band. + type: string + password: + description: > + Password to be used in HTTP Basic authentication. + Shall be present if it has not been provisioned out of + band. + type: string + paramsOauth2ClientCredentials: + description: > + Parameters for authentication/authorization using + OAUTH2_CLIENT_CREDENTIALS. Shall be present if authType is + "OAUTH2_CLIENT_CREDENTIALS" and the contained information + has not been provisioned out of band. Shall be absent + otherwise. + type: object + properties: + clientId: + description: > + Client identifier to be used in the access token + request of the OAuth 2.0 client credentials grant + type. Shall be present if it has not been provisioned + out of band. The clientId and clientPassword passed in + a subscription shall not be the same as the clientId + and clientPassword that are used to obtain + authorization for API requests. Client credentials may + differ between subscriptions. The value of + clientPassword should be generated by a random + process. + type: string + clientPassword: + description: > + Client password to be used in the access token request + of the OAuth 2.0 client credentials grant type. Shall + be present if it has not been provisioned out of band. + The clientId and clientPassword passed in a + subscription shall not be the same as the clientId and + clientPassword that are used to obtain authorization + for API requests. Client credentials may differ + between subscriptions. The value of clientPassword + should be generated by a random process. + type: string + tokenEndpoint: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - callbackUri + required: true + CreatePeerEntityRequest: + description: | + The peer entity creation parameters, as defined in clause 5.6.2.14. + content: + application/json: + schema: + description: > + This type represents request parameters for the creation of a new + peer entity resource. + type: object + properties: + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: | + Current values of the state of the peer functional entity. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - peerEntityId + - name + - type + required: true + ModifyPeerEntityRequest: + description: > + Parameters for the modification of configuration parameters of the peer + functional entity, as defined in clause 5.6.2.16 + + The Content-Type header shall be set to "application/merge-patch+json" + according to IETF RFC 7396. + content: + application/merge-patch+json: + schema: + description: > + This type represents attribute modifications for configuration + parameters of a peer entity. + type: object + properties: + name: + description: | + New value of the "name" attribute in "PeerEntity". + type: string + description: + description: > + New value of the "description" attribute in "PeerEntity", or + "null" to remove the attribute. + type: string + consumedManoInterfaces: + description: "New content of certain entries in the \"consumedManoInterfaces\" attribute array in the \"PeerEntity\", as defined below this table. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to modify the value of the security sensitive attribute, and the modification request includes new attribute values, the whole modification request shall be rejected, and proper error information returned.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + List of identifiers entries to be deleted from the + "consumedManoInterfaces" attribute array in the " PeerEntity + ", as defined below this table. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: true + responses: + mano_entity.get.200: + description: > + 200 OK + + Shall be returned when configuration and information about the NFV-MANO + functional entity has been read successfully. The response body shall + contain a representation of the NFV-MANO functional entity, as defined + in clause 5.6.2.2. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: | + This type represents an NFV-MANO functional entity. + type: object + required: + - id + - type + - name + - description + - provider + - softwareVersion + - manoConfigurableParams + - manoApplicationState + - _links + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + type: + description: "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + name: + description: | + Human-readable name of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO functional entity. + This attribute can be modified with the PATCH method. + type: string + provider: + description: > + Information about the provider of the NFV-MANO functional + entity. It typically includes the name of the provider. + type: string + softwareVersion: + description: > + The version of the software of the NFV-MANO functional entity. + $ref: + "../components/SOL009_schemas.yaml#/components/schemas/Version" + manoEntityComponents: + description: "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n" + type: array + items: + description: > + This type represents information of a deployed component + realizing part of an NFV-MANO functional entity. It is + optional for the API producer to support this type. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + manoServiceIds: + description: > + References to the NFV-MANO services that depend on the + NFV-MANO functional entity component. The identifier of + the ManoService is referred. A service may depend on + multiple components. Multiple services may depend on the + same component. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - id + manoServices: + description: > + Information about the NFV-MANO services provided by the + NFV-MANO functional entity. + type: array + items: + description: > + This type represents information about an NFV-MANO service + provided by the NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + name: + description: | + Human-readable name of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + description: + description: | + Human-readable description of the NFV-MANO service. + This attribute can be modified with the PATCH method. + type: string + manoServiceInterfaceIds: + description: "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n" + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + minItems: 1 + _links: + description: | + Links to resources related to this resource. + type: object + properties: + manoServiceInterfaces: + description: > + Link to the "individual NFV-MANO service interface" + resources with information about the associated + interfaces to the NFV-MANO service. + type: array + items: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + minItems: 1 + required: + - manoServiceInterfaces + required: + - id + - name + - description + - manoServiceInterfaceIds + - _links + manoConfigurableParams: + description: > + # Warning: No definition found in the document + ManoConfigurableParams + manoApplicationState: + description: > + Information and current values of the NFV-MANO functional + entity’s application state. + type: object + required: + - operationalState + - administrativeState + - usageState + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + nfvoSpecificInfo: + description: > + This type represents information attributes specific to an + NFVO entity, and that can be relevant to more than one + NFV-MANO service offered by an NFVO entity. + type: object + properties: + maxOnboardedNsdNum: + description: > + Maximum number of NSDs that can be on-boarded on the + NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + maxOnboardedVnfPkgNum: + description: > + Maximum number of VNF Packages that can be on-boarded on + the NFVO. + + NOTE: If this attribute is not present, the value of this + parameter is undefined. + type: integer + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + supportedNsdFormats: + description: | + Supported NSD data formats. + type: object + properties: + nsdFormat: + description: | + Name of the NSD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - nsdFormat + - standardVersion + required: + - supportedVnfdFormats + - supportedNsdFormats + vnfmSpecificInfo: + description: > + This type represents information attributes specific to a VNFM + entity, and that can be relevant to more than one NFV-MANO + service offered by a VNFM entity. + type: object + properties: + resoruceMgmtModeSupport: + description: | + The supported resource management modes of the VNFM. + Permitted values: + - DIRECT: The VNFM supports direct mode only. + - INDIRECT: The VNFM supports indirect mode only. + - BOTH: The VNFM supports both direct and indirect mode. + type: string + enum: + - DIRECT + - INDIRECT + - BOTH + managedVnfInstanceInfos: + description: > + The kinds of VNF instances that can be managed, e.g. to + determine the compatibility of a VNF with certain VNFM + according to the vnfmInfo attribute in the VNFD (see + table 7.1.2.2-1 in ETSI GS NFV-IFA 011). + type: array + items: + type: string + minItems: 1 + supportedVnfdFormats: + description: | + Supported VNFD data formats. + type: array + items: + type: object + properties: + vnfdFormat: + description: | + Name of the VNFD format. + Permitted values: + - TOSCA: The VNFD follows TOSCA definition, according to ETSI + GS NFV-SOL 001 standard. + - YANG: The VNFD follows YANG definition according to ETSI + GS NFV-SOL 006 standard. + type: string + enum: + - TOSCA + - YANG + standardVersion: + description: | + A version. + type: string + required: + - vnfdFormat + - standardVersion + minItems: 1 + required: + - resoruceMgmtModeSupport + - managedVnfInstanceInfos + - supportedVnfdFormats + vimSpecificInfo: + description: > + This type represents information attributes specific to a VIM + entity, and that can be relevant to more than one NFV-MANO + service offered by a VIM entity. + type: object + _links: + description: | + Links to resources related to this resource. + type: object + required: + - self + - manoServiceInterfaces + - peerEntities + - changeState + - changeStateOpOccs + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + manoServiceInterfaces: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + peerEntities: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + changeState: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + changeStateOpOccs: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + mano_entity.patch.200: + description: > + 200 OK + + Shall be returned when the modification of configuration on the + NFV-MANO functional entity has been accepted and completed. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents attribute modifications that were performed + on the "NFV-MANO entity" resource of the producer NFV-MANO + functional entity. The attributes that can be included consist of + those requested to be modified explicitly in the + "ManoConfigModificationRequest" data structure. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the + "name" attribute in "ManoEntity", as defined in clause + 5.6.2.3 + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "ManoEntity", as defined in clause + 5.6.2.3. + type: string + clockSyncs: + description: > + If present, this attribute signals modifications of the + "clockSyncs" attribute in "ManoEntityConfigurableParams", as + defined in clause 5.6.2.3. + type: array + items: + description: > + This type represents parameters for connecting to an NTP + server. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + type: + description: | + Type of clock synchronization. + Permitted values: + - NTP: For Network Time Protocol (NTP) based clock synchronization. + - OTHER: For other types of clock synchronization. + type: string + enum: + - NTP + - OTHER + ntpServerInfo: + description: > + Information for the NTP based clock synchronization. + Shall be present if type = "NTP". + type: object + properties: + ipAddress: + description: > + An IPV4 or IPV6 address. Representation: In case of + an IPV4 address, string that consists of four + decimal integers separated by dots, each integer + ranging from 0 to 255. In case of an IPV6 address, + string that consists of groups of zero to four + hexadecimal digits, separated by colons. + type: string + format: IP + hostname: + description: "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n" + type: string + otherClockSyncParams: + description: > + This type represents a list of key-value pairs. The + order of the pairs in the list is not significant. In + JSON, a set of keyvalue pairs is represented as an + object. It shall comply with the provisions defined in + clause 4 of IETF RFC 8259. In the following example, a + list of key-value pairs with four keys ("aString", + "aNumber", "anArray" and "anObject") is provided to + illustrate that the values associated with different + keys can be of different type. + type: object + required: + - id + - type + clockSyncsDeleteIds: + description: > + If present, this attribute signals modifications of certain + entries in "clockSyncs" attribute in + "ManoEntityConfigurableParams", as defined in clause 5.6.2.3. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + defaultLogCompileBySizeValue: + description: | + Unsigned integer + type: number + defaultLogCompileByTimerValue: + description: | + Unsigned integer + type: number + manoServiceModifications: + description: > + If present, this attribute signals modifications of the + "manoServices" attribute array in the "ManoEntity", as + defined in clause 5.6.2.3. + type: array + items: + type: object + properties: + id: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + name: + description: > + If present, this attribute signals modification of the + "name" attribute in the "ManoService". + type: string + description: + description: > + If present, this attribute signals modification of the + "description" attribute in the "ManoService". + type: string + required: + - id + mano_entity.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 "NFV-MANO + entity" resource. + + Typically, this is due to the fact that another configuration and + information modification 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + mano_entity.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + mano_entity-change_state.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 change state operation + occurrence" resource corresponding to the operation. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state operation + occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + mano_entity-change_state.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 resource is in an + incompatible state, or that another change state 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + mano_entity-mano_interfaces.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more NFV-MANO service + interfaces has been queried successfully. + + The response body shall contain in an array the representations of zero + or more NFV-MANO service interfaces, as defined in clause 5.6.2.11. + + 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 NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents an individual NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within + a NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant to + (see also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. + The major version is defined in the standard the + interface is compliant to (see also clause 4.1 of ETSI + GS NFV-SOL 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO + functional entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API + producer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the authorization + server. Valid values of cipher suites are defined + in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the + SSL or TLS negotiation with the API client. Valid + values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + mano_entity-mano_interfaces.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + mano_entity-mano_interface.get.200: + description: > + 200 OK + + Shall be returned when information about an individual NFV-MANO service + interface has been read successfully. + + The response body shall contain a representation of the NFV-MANO + service interface, as defined in clause 5.6.2.11. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents an individual NFV-MANO service interface + produced by an NFV-MANO functional entity. + type: object + properties: + id: + description: > + An identifier that is unique for the respective type within a + NFV-MANO functional entity, but that need not be globally + unique. Representation: string of variable length.. + type: string + name: + description: > + Human-readable name of the NFV-MANO functional entity + interface. + + This attribute can be modified with the PATCH method. + type: string + type: + description: > + Type of the NFV-MANO service interface produced by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + providerSpecificApiVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: | + Exposed API endpoint of the interface. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. Shall + be present for ETSI NFV specified RESTful NFV-MANO APIs. + The {apiName} of each interface is defined in the + standard the interface is compliant to (see also clause + 4.1 of ETSI GS NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. Shall be + present for ETSI NFV specified RESTful NFV-MANO APIs. The + major version is defined in the standard the interface is + compliant to (see also clause 4.1 of ETSI GS NFV-SOL + 013). May be present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + maxConcurrentIntOpNumber: + description: "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + supportedOperations: + description: | + Information about supported operations of this interface. + type: array + items: + type: object + properties: + operationName: + description: | + Name of the operation supported on the interface. + type: string + maxConcurrentOpNumber: + description: "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n" + type: integer + required: + - operationName + minItems: 1 + interfaceState: + description: | + State of the NFV-MANO service interface. + properties: + operationalState: + description: "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + usageState: + description: "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n" + type: string + enum: + - IN_USE + - NOT_IN_USE + required: + - operationalState + - administrativeState + - usageState + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the API client. Valid values + of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + required: + - id + - name + - type + - standardVersion + - providerSpecificApiVersion + - apiVersion + - apiEndpoint + - supportedOperations + - interfaceState + mano_entity-mano_interface.patch.200: + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual NFV-MANO service interface" resource, + as defined in clause 5.6.2.13. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents attribute modifications that were performed + on an Individual NFV-MANO service interface" resource. The + attributes that can be included consist of those requested to be + modified explicitly in the + "ManoServiceInterfaceModificationRequest" data structure. If + applicable, additional attributes of the "ManoServiceInterface" + data structure that were modified implicitly shall also be + provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "ManoServiceInterface", as defined in clause + 5.6.2.11. + type: string + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + securityInfo: + description: > + This type represents security related information of an + NFV-MANO service interface produced by an NFV-MANO functional + entity. + type: object + properties: + authType: + description: > + Type of API request authorization to be used by the API + producer. + + The support of authorization methods for the API producer + is specified in clause 8.3.6 of ETSI GS NFV-SOL 013. + + Permitted values: + - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. + - OAUTH2: Using access token, as defined by the OAuth 2.0 specification + in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + webFingerHost: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - webFingerHost + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + properties: + authServerId: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - authServerId + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the authorization server. + Valid values of cipher suites are defined in IETF RFC + 8447. + type: array + items: + type: string + minItems: 1 + required: + - providedConfiguration + - tlsCipherSuites + tlsTunnelInfo: + description: > + Information and configuration related to the use of TLS + tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: >- + List of cipher suites that shall be declared as + supported by the API producer when performing the SSL + or TLS negotiation with the API client. Valid values + of cipher suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - tlsTunnelCipherSuites + required: + - authType + - oauthServerInfo + metadata: + description: > + This type represents a list of key-value pairs. The order of + the pairs in the list is not significant. In JSON, a set of + keyvalue pairs is represented as an object. It shall comply + with the provisions defined in clause 4 of IETF RFC 8259. In + the following example, a list of key-value pairs with four + keys ("aString", "aNumber", "anArray" and "anObject") is + provided to illustrate that the values associated with + different keys can be of different type. + type: object + mano_entity-mano_interface.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 + NFV-MANO service interface" resource. + + Typically, this is due to the fact that another 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + mano_entity-mano_interface.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + mano_entity-mano_interface-change_state.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 change state operation + occurrence" resource corresponding to the operation. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: > + The resource URI of the created "Individual change state operation + occurence" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + mano_entity-mano_interface-change_state.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 resource is in an + incompatible state, or that another change state 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + subscriptions.post.201: + description: > + 201 CREATED + + Shall be returned when 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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + The resource URI of the created "Individual subscription" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" + are alternatives to reference to NFV-MANO services in + a filter. They should not be used together in the + same filter instance, but one alternative should be + chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - self + required: + - id + - callbackUri + - _links + subscriptions.post.303: + description: > + 303 SEE OTHER + + SShall be returned when a subscription with the same callbackURI and + the same filter already exists and the policy of NFV-MANO functional + entity is to not create redundant subscriptions. + + The HTTP response shall include a "Location" HTTP header that contains + the resource URI of the existing "Individual subscription" resource. + + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + The resource URI of the created "Individual subscription" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + subscriptions.get.200: + description: > + 200 OK + + Shall be returned when 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 NFV-MANO configuration and + information management subscriptions as defined in clause 5.6.2.6. + + 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. + + If the NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to + match NFV-MANO functional entities and their associated + managed objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + + The attributes "manoServiceIds" and + "manoServiceNames" are alternatives to reference to + NFV-MANO services in a filter. They should not be + used together in the same filter instance, but one + alternative should be chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance identifier + listed in this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective + type within a NFV-MANO functional entity, but that + need not be globally unique. Representation: + string of variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity + produced interfaces with an instance Name listed in + this attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance identifier + listed in this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity + consumed interfaces with an instance Name listed in + this attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - self + required: + - id + - callbackUri + - _links + subscriptions.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + subscription.get.200: + description: > + 200 OK + + Shall be returned when information about an individual subscription has + been read successfully. + + The response body shall contain a representation of the "Individual + subscription" resource. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents a subscription related to notifications + about NFV-MANO configuration and information management changes + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + filter: + description: > + This type represents a subscription filter related to + notifications about NFV-MANO configuration and information + management. + type: object + properties: + manoEntitySubscriptionFilter: + description: > + This type represents subscription filter criteria to match + NFV-MANO functional entities and their associated managed + objects. + type: object + properties: + manoEntityId: + description: > + An identifier with the intention of being globally + unique. + type: string + manoServiceIds: + description: "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n" + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceNames: + description: > + If present, match NFV-MANO services with an NFV-MANO + service name listed in this attribute. + + The attributes "manoServiceIds" and "manoServiceNames" + are alternatives to reference to NFV-MANO services in + a filter. They should not be used together in the + same filter instance, but one alternative should be + chosen. + type: array + items: + type: string + manoServiceInterfaceIds: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance identifier listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need + not be globally unique. Representation: string of + variable length.. + type: string + manoServiceInterfaceNames: + description: > + If present, match NFV-MANO functional entity produced + interfaces with an instance Name listed in this + attribute. + + The attributes "manoServiceInterfaceIds" and + "manoServiceInterfaceNames" are alternatives to + reference to NFV-MANO functional entity produced + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + consumedManoInterfaceIds: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance identifier listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + description: > + An identifier with the intention of being globally + unique. + type: string + consumedManoInterfaceNames: + description: > + If present, match NFV-MANO functional entity consumed + interfaces with an instance Name listed in this + attribute. + + The attributes "consumedManoInterfaceIds" and + "consumedManoInterfaceNames" are alternatives to + reference to NFV-MANO functional entity consumed + interfaces in a filter. They should not be used both + in the same filter instance, but one alternative + should be chosen. + type: array + items: + type: string + notificationTypes: + description: "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n" + type: array + items: + type: string + enum: + - InformationChangedNotification + - ChangeStateNotification + callbackUri: + description: | + String formatted according to IETF RFC 3986. + type: string + _links: + description: | + Links to resources related to this resource. + type: object + properties: + self: + description: > + This type represents a link to a resource using an + absolute URI. + type: object + required: + - href + properties: + href: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - self + required: + - id + - callbackUri + - _links + subscription.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual subscription" resource has been + deleted successfully. + + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + change_state_ops.get.200: + description: > + 200 OK + + Shall be returned when status information for zero or more "change + state operation occurrences" has been queried successfully. + + The response body shall contain in an array the status information + about zero or more "Individual change state operation occurrences", as + defined in clause 5.6.2.9. + + 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 NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted according + to IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted according + to IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: > + An identifier with the intention of being globally + unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not + be globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This + attribute shall be formatted according to the request data + type of the related change state operation. + + The following mapping between operationType and the data + type of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is + returned in a response to reading an individual resource, + and may be present according to the chosen attribute + selector parameter if this data type is returned in a + response to a query of a container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + change_state_ops.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: > + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + change_state_op.get.200: + description: > + 200 OK + + Shall be returned when information about an "Individual change state + operation occurrence" resource has been read successfully. + + The response body shall contain status information about a change state + operation occurrence, as defined in clause 5.6.2.9. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: | + This type represents a Change state operation occurrence. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + operationState: + description: "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n" + type: string + enum: + - PROCESSING + - COMPLETED + - FAILED + stateEnteredTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + startTime: + description: > + Date-time stamp. Representation: String formatted according to + IETF RFC 3339. + type: string + format: date-time + managedObjectRef: + description: > + This type represents the identifier to reference a managed + object of a particular type. + type: object + properties: + type: + description: > + Indicates the type of managed object. Permitted values: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + + The "MANO_ENTITY COMPONENT" is only applicable if + attribute "manoEntityComponents" in "ManoEntity" is + supported by the API producer. + type: string + enum: + - MANO_ENTITY + - MANO_SERVICE + - MANO_SERVICE_IF + - CONSUMED_MANO_IF + - MANO_ENTITY_COMPONENT + objectId: + description: | + An identifier with the intention of being globally unique. + type: string + subObjectId: + description: > + An identifier that is unique for the respective type + within a NFV-MANO functional entity, but that need not be + globally unique. Representation: string of variable + length.. + type: string + required: + - type + - objectId + changeOperationalStateRequest: + description: "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n" + type: string + enum: + - START + - STOP + - RESTART + changeAdministrativeStateRequest: + description: "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n" + type: string + enum: + - LOCK + - UNLOCK + operationParams: + description: > + Input parameters of the change state operation. This attribute + shall be formatted according to the request data type of the + related change state operation. + + The following mapping between operationType and the data type + of this attribute shall apply: + - CHANGE_STATE: ChangeStateRequest + + This attribute shall be present if this data type is returned + in a response to reading an individual resource, and may be + present according to the chosen attribute selector parameter + if this data type is returned in a response to a query of a + container resource. + required: + - id + - operationState + - stateEnteredTime + - startTime + - managedObjectRef + peer_entities.post.201: + description: > + 201 CREATED + + Shall be returned when a new "Individual peer entity" resource has been + created successfully. + + The response body shall contain a representation of the created + resource with regards to a peer entity, as defined in clause 5.6.2.15. + + The HTTP response shall include a “Location” HTTP header that points to + the created "Individual peer entity" resource. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + Location: + description: | + The resource URI of the created "Individual peer entity" resource. + schema: + type: string + format: url + minimum: 1 + maximum: 1 + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it with + the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + peer_entities.get.200: + description: > + 200 OK + + Shall be returned when information about zero or more peer entities has + been queried successfully. + + The response body shall contain in an array the resource + representations of zero or more peer entities, as defined in clause + 5.6.2.15. + + 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 NFV-MANO functional entity supports alternative N°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: + 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 + Version: + description: | + Version of the API used in the response. + schema: + type: string + Link: + description: > + Reference to other resources. Link HTTP header in this response + shall follow the provisions in clause 5.4.2.3 of ETSI GS NFV-SOL + 013. + schema: + type: string + minimum: 0 + maximum: 1 + content: + application/json: + schema: + type: array + items: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined + in clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be + accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated + form. Shall be present for ETSI NFV specified + RESTful NFV-MANO APIs. The {apiName} of each + interface is defined in the standard the interface + is compliant to (see also clause 4.1 of ETSI GS + NFV-SOL 013). May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in + the standard the interface is compliant to (see + also clause 4.1 of ETSI GS NFV-SOL 013). May be + present otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by + an NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by + the API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, + as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: + Using access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use + of TLS tunnel. Shall be present if authType + contains "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared + as supported by the API consumer when + performing the SSL or TLS negotiation with the + API producer. Valid values of cipher suites + are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it + with the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + peer_entities.get.400: + description: | + 400 BAD REQUEST + Shall be returned upon the following errors: + - Invalid attribute-based filtering expression. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Invalid attribute selector. + The response body shall contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + - Response too big. + If the NFV-MANO functional entity supports alternative N°1 (error) + according to clause 5.4.2.1 of ETSI GS NFV-SOL 013 for this resource, + this error response shall follow the provisions in clause 5.4.2.2 of + ETSI GS NFV-SOL 013. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + peer_entitie.get.200: + description: > + 200 OK + + Shall be returned when information about an individual peer functional + entity has been read successfully. + + The response body shall contain a resource representation of the peer + functional entity, as defined in clause 5.6.2.15. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: | + This type represents an individual peer entity. + type: object + properties: + id: + description: | + An identifier with the intention of being globally unique. + type: string + peerEntityId: + description: | + An identifier with the intention of being globally unique. + type: string + name: + description: | + Human-readable name of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + type: + description: "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n" + type: string + enum: + - NFVO + - VNFM + - VIM + - WIM + - EM + - OSS + description: + description: | + Human-readable description of the peer functional entity. + This attribute can be modified with the PATCH method. + type: string + consumedManoInterfaces: + description: > + Information of the interface consumed by the NFV-MANO + functional entity from the peer functional entity. + + This attribute can be modified with the PATCH method. + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + peerEntityState: + description: > + State of the peer functional entity as provided by the API + consumer when creating the resource or when updating it with + the PATCH method. + type: object + properties: + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + required: + - operationalState + - administrativeState + required: + - id + - peerEntityId + - name + - type + - peerEntityState + peer_entitie.patch.200: + description: > + 200 OK + + Shall be returned when the request has been accepted and completed. + + The response body shall contain a representation of the attribute + modifications for the "Individual peer entity" resource, as defined in + clause 5.6.2.17. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + description: > + This type represents attribute modifications that were performed + on an "Individual peer entity" resource. The attributes that can + be included consist of those requested to be modified explicitly + in the "PeerEntityConfigModificationRequest" data structure. If + applicable, additional attributes of the "PeerEntity" data + structure that were modified implicitly shall also be provided. + type: object + properties: + name: + description: > + If present, this attribute signals modifications of the "name" + attribute in "PeerEntity", as defined in clause 5.6.2.15. + type: string + description: + description: > + If present, this attribute signals modifications of the + "description" attribute in "PeerEntity", as defined in clause + 5.6.2.15. + type: string + consumedManoInterfaces: + description: "If present, this attribute signals modifications of certain entries in \"consumedManoInterfaces\" attribute in \"PeerEntity\", as defined in clause 5.6.2.15. \nNOTE:\tDue to the security sensitive information contained within the attribute (refer to \"securityInfo\" within the \"ConsumedManoInterfaceInfo\"), based on access control policies, the API consumer might have read only, write only, read/write, or no access at all to the attribute’s value. In case the API consumer is not allowed to read the value of the security sensitive attribute, the attribute shall be omitted when the information is to be provided in a response message.\n" + type: array + items: + description: > + This type represents an interface consumed by the producer + NFV MANO functional entity from another peer functional + entity. + type: object + properties: + id: + description: > + An identifier with the intention of being globally + unique. + type: string + name: + description: | + Human-readable name of the NFV-MANO interface. + type: string + type: + description: > + Type of the NFV-MANO service interface consumed by the + NFV-MANO functional entity. Valid values are defined in + clause 5.6.4.3. + type: string + standardVersion: + description: | + A version. + type: string + apiVersion: + description: | + A version. + type: string + apiEndpoint: + description: > + Consumable API endpoint of the interface. It provides + the information relevant about the protocol, host and + port, and path where the interface API can be accessed. + type: object + properties: + apiRoot: + description: | + String formatted according to IETF RFC 3986. + type: string + apiName: + description: > + Indicates the interface name in an abbreviated form. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The {apiName} of each interface is + defined in the standard the interface is compliant + to (see also clause 4.1 of ETSI GS NFV-SOL 013). + May be present otherwise. + type: string + apiMajorVersion: + description: > + Indicates the current major version of the API. + Shall be present for ETSI NFV specified RESTful + NFV-MANO APIs. The major version is defined in the + standard the interface is compliant to (see also + clause 4.1 of ETSI GS NFV-SOL 013). May be present + otherwise. + type: string + apiUri: + description: | + String formatted according to IETF RFC 3986. + type: string + required: + - apiUri + securityInfo: + description: > + This type represents security related information for + accessing an NFV-MANO service interface produced by an + NFV-MANO functional entity. + type: object + required: + - authType + - oauthServerInfo + properties: + authType: + description: > + Type of API request authorization to be used by the + API consumer accessing the API. + + The support of authorization methods for the API + consumer is specified in clause 8.3.6 of ETSI GS + NFV-SOL 013. + + Permitted values: - TLS_TUNNEL: Using TLS tunnel, as + defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using + access token, as defined by the OAuth 2.0 + specification in IETF RFC 6749. + type: array + items: + type: string + enum: + - TLS_TUNNEL + - OAUTH2 + minItems: 1 + oauthServerInfo: + description: > + OAuth 2.0 authorization server information and + configuration. + type: object + properties: + dynamicDiscovery: + description: "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - webFingerHost + properties: + webFingerHost: + description: > + Server where the WebFinger service is + hosted. When used, the request to the + WebFinger resource shall conform as + specified in clause 5.1.3 of ETSI GS + NFV-SEC 022. + type: string + format: uri + providedConfiguration: + description: "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n" + type: object + required: + - authServerId + properties: + authServerId: + description: > + Authorization server identifier as defined + in ETSI GS NFV-SEC 022. + type: string + format: uri + tlsCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the + authorization server. Valid values of cipher + suites are defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + tlsTunnelInfo: + description: > + Information and configuration related to the use of + TLS tunnel. Shall be present if authType contains + "TLS_TUNNEL". + type: object + properties: + tlsTunnelCipherSuites: + description: > + List of cipher suites that shall be declared as + supported by the API consumer when performing + the SSL or TLS negotiation with the API + producer. Valid values of cipher suites are + defined in IETF RFC 8447. + type: array + items: + type: string + minItems: 1 + required: + - id + - name + - type + - standardVersion + - apiVersion + - apiEndpoint + consumedManoInterfaceDeleteIds: + description: > + If present, this attribute signals the deletions of certain + entries in the "consumedManoInterfaces" attribute in + "PeerEntity", as defined in clause 5.6.2.15. + type: array + items: + description: | + An identifier with the intention of being globally unique. + type: string + operationalState: + description: "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n" + type: string + enum: + - STARTED + - STOPPED + - STOPPING + - STARTING + - RESTARTING + administrativeState: + description: "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n" + type: string + enum: + - LOCKED + - UNLOCKED + - LOCKING + peer_entitie.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 + peer entity" resource. + + Typically, this is due to the fact that another 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + peer_entitie.patch.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + peer_entitie.delete.204: + description: > + 204 NO CONTENT + + Shall be returned when the "Individual peer entity" resource has been + deleted successfully. + + The response body shall be empty. + headers: + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + peer_entitie.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 "Individual + peer entity" resource. + + Typically, this is due to the fact that another 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + peer_entitie.delete.412: + description: > + 412 PRECONDITION FAILED + + Shall be returned upon the following error: A precondition given in an + HTTP request header is not fulfilled. + + Typically, this is due to an ETag mismatch, indicating that the + resource was modified by another entity. + + The response body should contain a ProblemDetails structure, in which + the "detail" attribute should convey more information about the error. + 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. + schema: + type: string + Version: + description: | + Version of the API used in the response. + schema: + type: string + content: + application/json: + schema: + 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 + -- GitLab From 23121a0d7a3dff1e036092466157649cf2a5321f Mon Sep 17 00:00:00 2001 From: uihassan Date: Tue, 11 Aug 2020 12:43:20 +0500 Subject: [PATCH 02/41] Added Test Cases for NFV-MANO Entity.robot --- .../NFV-MANO Entity.robot | 97 +++++ .../NFVMANOCimKeywords.robot | 74 ++++ .../environment/variables.txt | 23 ++ .../jsons/ManoConfigModificationRequest.json | 3 + .../schemas/ManoConfigModifications.json | 99 +++++ .../schemas/ManoEntity.json | 375 ++++++++++++++++++ .../schemas/ProblemDetails.schema.json | 1 + 7 files changed, 672 insertions(+) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/NFV-MANO Entity.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFV-MANO Entity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFV-MANO Entity.robot new file mode 100644 index 000000000..eeaf33930 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFV-MANO Entity.robot @@ -0,0 +1,97 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST NFV-MANO entity - Method not implemented + [Documentation] Test ID: 8.3.4.1.1 + ... Test title: POST NFV-MANO entity - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create an NFV-MANO Entity. + ... Pre-conditions: + ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for NFV-MANO Entity + Check HTTP Response Status Code Is 405 + +GET NFV-MANO entity + [Documentation] Test ID: 8.3.4.1.2 + ... Test title: Get NFV-MANO entity + ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource and perform a JSON schema and content validation of the collected job data structure. + ... Pre-conditions: + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET NFV-MANO entity resource + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoEntity + +PUT NFV-MANO entity - Method not implemented + [Documentation] Test ID: 8.3.4.1.3 + ... Test title: PUT NFV-MANO entity - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. + ... Pre-conditions: + ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for NFV-MANO Entity + Check HTTP Response Status Code Is 405 + +PATCH NFV-MANO entity + [Documentation] Test ID: 8.3.4.1.4 + ... Test title: PATCH NFV-MANO entity + ... Test objective: This method modifies the NFV-MANO entity resource + ... Pre-conditions: NFV-MANO entity resource is already created. + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The NFV-MANO entity is modified by the operation + Send Patch request for NFV-MANO Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoConfigModifications + +PATCH NFV-MANO entity - Conflict + [Documentation] Test ID: 8.3.4.1.5 + ... Test title: PATCH NFV-MANO entity - Conflict + ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: NFV-MANO entity resource is already created. + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The NFV-MANO entity is not modified by the operation + Send Patch request for NFV-MANO Entity + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH NFV-MANO entity - PreCondition Failed + [Documentation] Test ID: 8.3.4.1.6 + ... Test title: PATCH NFV-MANO entity - PreCondition Failed + ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: NFV-MANO entity resource is already created. + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The NFV-MANO entity is not modified by the operation + Send Patch request for NFV-MANO Entity + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +DELETE NFV-MANO entity - Method not implemented + [Documentation] Test ID: 8.3.4.1.7 + ... Test title: DELETE NFV-MANO entity - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. + ... Pre-conditions: + ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for NFV-MANO Entity + Check HTTP Response Status Code Is 405 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot new file mode 100644 index 000000000..e6a760bcc --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -0,0 +1,74 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary +Library OperatingSystem +Library BuiltIn +Library JSONLibrary +Library Collections +Library JSONSchemaLibrary schemas/ +Library Process + +*** Keywords *** +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + ${status}= Convert To Integer ${expected_status} + Should Be Equal ${response['status']} ${status} + Log Status code validated + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + +Send Post request for NFV-MANO Entity + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO entity resource + Log Trying to get a NFV-MANO entity resource + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for NFV-MANO Entity + Log Trying to perform a PUT (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for NFV-MANO Entity + log Trying to modify an NFV-MANO Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${body}= Get File jsons/ManoConfigModificationRequest.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Delete request for NFV-MANO Entity + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity + ${output}= Output response + Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt new file mode 100644 index 000000000..f0ea01072 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -0,0 +1,23 @@ +*** Variables *** +${NFVMANOHOST} localhost +${NFVMANO_PORT} 8080 +${NFVMANO_SCHEMA} https + + +${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION} Bearer negativetoken + +${CONTENT_TYPE_JSON} application/json +${ACCEPT_JSON} application/json +${CONTENT_TYPE_PATCH} application/merge-patch+json +${AUTH_USAGE} 1 +${FIELD_USAGE} 1 +${NFVMANO_CHECKS_NOTIF_ENDPOINT} 1 ## If true, during subscription, the FUT performs a get to the notification endpoint + +${NFVMANO_ALLOWS_DUPLICATE_SUBS} 1 + +${apiRoot} / +${apiMajorVersion} v1 +${apiName} nfvmanocim + +${response} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json new file mode 100644 index 000000000..eca04e508 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json @@ -0,0 +1,3 @@ +{ + "name": "NFV-MANO Entity" +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json new file mode 100644 index 000000000..7970b361e --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoConfigModifications.json @@ -0,0 +1,99 @@ +{ + "description": "This type represents attribute modifications that were performed on the \"NFV-MANO entity\" resource of the producer NFV-MANO functional entity. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoConfigModificationRequest\" data structure. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modifications of the \"description\" attribute in \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "string" + }, + "clockSyncs": { + "description": "If present, this attribute signals modifications of the \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "description": "This type represents parameters for connecting to an NTP server. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "Type of clock synchronization.\nPermitted values:\n - NTP: For Network Time Protocol (NTP) based clock synchronization.\n - OTHER: For other types of clock synchronization.\n", + "type": "string", + "enum": [ + "NTP", + "OTHER" + ] + }, + "ntpServerInfo": { + "description": "Information for the NTP based clock synchronization. Shall be present if type = \"NTP\".\n", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IPV4 or IPV6 address. Representation: In case of an IPV4 address, string that consists of four decimal integers separated by dots, each integer ranging from 0 to 255. In case of an IPV6 address, string that consists of groups of zero to four hexadecimal digits, separated by colons.\n", + "type": "string", + "format": "IP" + }, + "hostname": { + "description": "Indicates the hostname of the NTP server. \nNOTE:\tEither ipAddress or hostname shall be set, but not both at the same time.\n", + "type": "string" + } + } + }, + "otherClockSyncParams": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + }, + "required": [ + "id", + "type" + ] + } + }, + "clockSyncsDeleteIds": { + "description": "If present, this attribute signals modifications of certain entries in \"clockSyncs\" attribute in \"ManoEntityConfigurableParams\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "defaultLogCompileBySizeValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "defaultLogCompileByTimerValue": { + "description": "Unsigned integer\n", + "type": "number" + }, + "manoServiceModifications": { + "description": "If present, this attribute signals modifications of the \"manoServices\" attribute array in the \"ManoEntity\", as defined in clause 5.6.2.3.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "If present, this attribute signals modification of the \"name\" attribute in the \"ManoService\".\n", + "type": "string" + }, + "description": { + "description": "If present, this attribute signals modification of the \"description\" attribute in the \"ManoService\".\n", + "type": "string" + } + }, + "required": [ + "id" + ] + } + } + } + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json new file mode 100644 index 000000000..388b9e00e --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoEntity.json @@ -0,0 +1,375 @@ +{ + "description": "This type represents an NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "id", + "type", + "name", + "description", + "provider", + "softwareVersion", + "manoConfigurableParams", + "manoApplicationState", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "type": { + "description": "The enumeration ManoEntityEnumType defines the permitted values to represent NFV-MANO functional entities. It shall comply with the provisions :\n - NFVO\tThe NFV-MANO functional entity is an NFVO.\n - VNFM\tThe NFV-MANO functional entity is a VNFM.\n - VIM\tThe NFV-MANO functional entity is a VIM.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM" + ] + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "provider": { + "description": "Information about the provider of the NFV-MANO functional entity. It typically includes the name of the provider.\n", + "type": "string" + }, + "softwareVersion": { + "description": "The version of the software of the NFV-MANO functional entity. $ref: \"../components/SOL009_schemas.yaml#/components/schemas/Version\"\n" + }, + "manoEntityComponents": { + "description": "The deployed NFV-MANO functional entity components which realize the NFV-MANO functional entity. \nNOTE:\tIt is optional for the API producer to support the \"manoEntityComponents\" attribute.\n", + "type": "array", + "items": { + "description": "This type represents information of a deployed component realizing part of an NFV-MANO functional entity. It is optional for the API producer to support this type. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "manoServiceIds": { + "description": "References to the NFV-MANO services that depend on the NFV-MANO functional entity component. The identifier of the ManoService is referred. A service may depend on multiple components. Multiple services may depend on the same component.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + } + }, + "required": [ + "id" + ] + } + }, + "manoServices": { + "description": "Information about the NFV-MANO services provided by the NFV-MANO functional entity.\n", + "type": "array", + "items": { + "description": "This type represents information about an NFV-MANO service provided by the NFV-MANO functional entity.\n", + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "description": { + "description": "Human-readable description of the NFV-MANO service.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "manoServiceInterfaceIds": { + "description": "Reference to the NFV-MANO interfaces associated to the NFV-MANO service. If cardinality is greater than one, the type of ManoServiceInterface (see clause 5.6.3.3) shall be the same. The identifier of the ManoServiceInterface is referred. \nNOTE:\tA cardinality greater than one supports having different interface versions or apiEndpoints to be used for accessing the same instance of a NFV-MANO service.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "minItems": 1 + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "manoServiceInterfaces": { + "description": "Link to the \"individual NFV-MANO service interface\" resources with information about the associated interfaces to the NFV-MANO service.\n", + "type": "array", + "items": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "minItems": 1 + } + }, + "required": [ + "manoServiceInterfaces" + ] + } + }, + "required": [ + "id", + "name", + "description", + "manoServiceInterfaceIds", + "_links" + ] + } + }, + "manoConfigurableParams": { + "description": "# Warning: No definition found in the document ManoConfigurableParams\n" + }, + "manoApplicationState": { + "description": "Information and current values of the NFV-MANO functional entity’s application state. \n", + "type": "object", + "required": [ + "operationalState", + "administrativeState", + "usageState" + ], + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + } + }, + "nfvoSpecificInfo": { + "description": "This type represents information attributes specific to an NFVO entity, and that can be relevant to more than one NFV-MANO service offered by an NFVO entity. \n", + "type": "object", + "properties": { + "maxOnboardedNsdNum": { + "description": "Maximum number of NSDs that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", + "type": "integer" + }, + "maxOnboardedVnfPkgNum": { + "description": "Maximum number of VNF Packages that can be on-boarded on the NFVO. \nNOTE: If this attribute is not present, the value of this parameter is undefined.\n", + "type": "integer" + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "supportedNsdFormats": { + "description": "Supported NSD data formats.\n", + "type": "object", + "properties": { + "nsdFormat": { + "description": "Name of the NSD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "nsdFormat", + "standardVersion" + ] + } + }, + "required": [ + "supportedVnfdFormats", + "supportedNsdFormats" + ] + }, + "vnfmSpecificInfo": { + "description": "This type represents information attributes specific to a VNFM entity, and that can be relevant to more than one NFV-MANO service offered by a VNFM entity.\n", + "type": "object", + "properties": { + "resoruceMgmtModeSupport": { + "description": "The supported resource management modes of the VNFM.\nPermitted values:\n - DIRECT: The VNFM supports direct mode only.\n - INDIRECT: The VNFM supports indirect mode only.\n - BOTH: The VNFM supports both direct and indirect mode.\n", + "type": "string", + "enum": [ + "DIRECT", + "INDIRECT", + "BOTH" + ] + }, + "managedVnfInstanceInfos": { + "description": "The kinds of VNF instances that can be managed, e.g. to determine the compatibility of a VNF with certain VNFM according to the vnfmInfo attribute in the VNFD (see table 7.1.2.2-1 in ETSI GS NFV-IFA 011).\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + "supportedVnfdFormats": { + "description": "Supported VNFD data formats.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "vnfdFormat": { + "description": "Name of the VNFD format.\nPermitted values:\n - TOSCA: The VNFD follows TOSCA definition, according to ETSI \n GS NFV-SOL 001 standard.\n - YANG: The VNFD follows YANG definition according to ETSI \n GS NFV-SOL 006 standard.\n", + "type": "string", + "enum": [ + "TOSCA", + "YANG" + ] + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + } + }, + "required": [ + "vnfdFormat", + "standardVersion" + ] + }, + "minItems": 1 + } + }, + "required": [ + "resoruceMgmtModeSupport", + "managedVnfInstanceInfos", + "supportedVnfdFormats" + ] + }, + "vimSpecificInfo": { + "description": "This type represents information attributes specific to a VIM entity, and that can be relevant to more than one NFV-MANO service offered by a VIM entity.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "manoServiceInterfaces", + "peerEntities", + "changeState", + "changeStateOpOccs" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "manoServiceInterfaces": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "peerEntities": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeState": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeStateOpOccs": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json new file mode 100644 index 000000000..2af3ef9b3 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ProblemDetails.schema.json @@ -0,0 +1 @@ +{ "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].\n", "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\".\n", "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).\n", "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.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string", "format": "URI" } }} \ No newline at end of file -- GitLab From fa68ea3b0724534e0a63d9454678cf1175ada891 Mon Sep 17 00:00:00 2001 From: uihassan Date: Tue, 11 Aug 2020 14:21:59 +0500 Subject: [PATCH 03/41] Added Test Cases for ChangeNFVMANOEntityStateTask.robot --- .../ChangeNFVMANOEntityStateTask.robot | 82 +++++++++++++++++++ .../NFVMANOCimKeywords.robot | 47 +++++++++++ ...-MANO Entity.robot => NFVMANOEntity.robot} | 2 +- 3 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot rename SOL009/NFVManoConfigurationAndInformationManagement-API/{NFV-MANO Entity.robot => NFVMANOEntity.robot} (97%) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot new file mode 100644 index 000000000..bc5062631 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -0,0 +1,82 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary +*** Test Cases *** +POST NFV-MANO functional entity application state change + [Documentation] Test ID: 8.3.4.2.1 + ... Test title: POST NFV-MANO functional entity application state change + ... Test objective: The objective is to request state change of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 202 + Check Operation Occurrence Id + +POST NFV-MANO functional entity application state change - Conflict + [Documentation] Test ID: 8.3.4.2.2 + ... Test title: POST NFV-MANO functional entity application state change - Conflict + ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.4.2.3 + ... Test title: GET NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Get request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 + +PUT NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.4.2.4 + ... Test title: PUT NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 + +PATCH NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.4.2.5 + ... Test title: PATCH NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Patch request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 + +DELETE NFV-MANO functional entity application state change - Method not implemented + [Documentation] Test ID: 8.3.4.2.6 + ... Test title: DELETE NFV-MANO functional entity application state change - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for NFV-MANO functional entity application state change + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index e6a760bcc..8eed9958e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -27,6 +27,10 @@ Check HTTP Response Body Json Schema Is ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK + +Check Operation Occurrence Id + ${OpOccId}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${OpOccId} Send Post request for NFV-MANO Entity Log Trying to perform a POST (method should not be implemented) @@ -71,4 +75,47 @@ Send Delete request for NFV-MANO Entity Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for NFV-MANO functional entity application state change + Log Trying to perform a POST for NFV-MANO functional entity application state change + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Get request for NFV-MANO functional entity application state change + Log Trying to perform a GET (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for NFV-MANO functional entity application state change + Log Trying to perform a PUT (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity/change_state + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/log_jobs/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for NFV-MANO functional entity application state change + Log Trying to perform a PATCH (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for NFV-MANO functional entity application state change + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state + ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFV-MANO Entity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot similarity index 97% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/NFV-MANO Entity.robot rename to SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index eeaf33930..b6c85e15f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFV-MANO Entity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -94,4 +94,4 @@ DELETE NFV-MANO entity - Method not implemented ... Applicability: none ... Post-Conditions: Send Delete request for NFV-MANO Entity - Check HTTP Response Status Code Is 405 + Check HTTP Response Status Code Is 405 \ No newline at end of file -- GitLab From 2fbd8f5f5a4522da8e11c306f7b87e46743fc47c Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 12 Aug 2020 09:27:03 +0500 Subject: [PATCH 04/41] Added Test Cases for ChangeStateOpperationOccurance.robot --- .../ChangeStateOperationOccurance.robot | 188 ++++++++++++++++++ .../NFVMANOCimKeywords.robot | 96 ++++++++- .../environment/variables.txt | 7 +- .../schemas/ChangeStateOpOcc.json | 85 ++++++++ .../schemas/ChangeStateOpOccs.json | 87 ++++++++ 5 files changed, 461 insertions(+), 2 deletions(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot new file mode 100644 index 000000000..323e678d4 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot @@ -0,0 +1,188 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.3.1 + ... Test title: POST Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for Change State Operation Occurance + Check HTTP Response Status Code Is 405 + +GET Change State Operation Occurance + [Documentation] Test ID: 8.3.1.3.2 + ... Test title: GET Change State Operation Occurance + ... Test objective: The objective is to query status information about multiple change state operation occurrences. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOccs + +GET Change State Operation Occurance - invalid attribute-based filter + [Documentation] Test ID: 8.3.1.3.3 + ... Test title: GET Change State Operation Occurance - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change State Operation Occurance - invalid attribute selector + [Documentation] Test ID: 8.3.1.3.4 + ... Test title: GET Change State Operation Occurance - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc with invalid selector + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change State Operation Occurance - Bad Request Response too Big + [Documentation] Test ID: 8.3.1.3.5 + ... Test title: GET Change State Operation Occurance - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change State Operation Occurance with attribute-based filter + [Documentation] Test ID: 8.3.1.3.6 + ... Test title: GET Change State Operation Occurance with attribute-based filter + ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc with filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurance with "all_fields" attribute selector + [Documentation] Test ID: 8.3.1.3.7 + ... Test title: GET Change State Operation Occurance with "all_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurance with "all_fields" attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurance with "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.3.8 + ... Test title: GET Change State Operation Occurance with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurance with "exclude_default" attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + + +GET Change State Operation Occurance with "fields" attribute selector + [Documentation] Test ID: 8.3.1.3.9 + ... Test title: GET Change State Operation Occurance with "fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurance with fields attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurance with "exclude_fields" attribute selector + [Documentation] Test ID: 8.3.1.3.10 + ... Test title: GET Change State Operation Occurance with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurance with "exclude_fields" attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: none + Get Change State OpOcc with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +GET Change State Operation Occurance with Paged Response + [Documentation] Test ID: 8.3.1.3.11 + ... Test title: GET Change State Operation Occurance with Paged Response + ... Test objective: The objective is to query Change State Operation Occurance to get Paged Response. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Change State OpOcc + Check HTTP Response Status Code Is 200 + Check LINK in Header + +PUT Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.3.12 + ... Test title: PUT Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for Change State Operation Occurance + Check HTTP Response Status Code Is 405 + +PATCH Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.3.13 + ... Test title: PATCH Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Patch request for Change State Operation Occurance + Check HTTP Response Status Code Is 405 + +DELETE Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.3.14 + ... Test title: DELETE Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for Change State Operation Occurance + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 8eed9958e..5e3d67847 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -118,4 +118,98 @@ Send Delete request for NFV-MANO functional entity application state change Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response - Set Suite Variable ${response} ${output} \ No newline at end of file + Set Suite Variable ${response} ${output} + +Send Post request for Change State Operation Occurance + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State OpOcc + Log Query to GET information about multiple change state operation occurrences. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State OpOcc with invalid filter + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?attribute_not_exist=some_value + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State OpOcc with invalid selector + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State OpOcc with filter + Log Query information about multiple change state operation occurrences with attribute filters. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?${filter}=${filter_value} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Change State OpOcc with all_fields attribute selector + Log Queries information about multiple change state operation occurrences, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State OpOcc with fields attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Change State OpOcc with exclude_fields attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check LINK in Header + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +Send PUT request for Change State Operation Occurance + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PATCH request for Change State Operation Occurance + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send DELETE request for Change State Operation Occurance + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index f0ea01072..f94eed9d7 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -20,4 +20,9 @@ ${apiRoot} / ${apiMajorVersion} v1 ${apiName} nfvmanocim -${response} \ No newline at end of file +${response} + +${filter} +${filter_value} + +${fields} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json new file mode 100644 index 000000000..f9238e4d2 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOcc.json @@ -0,0 +1,85 @@ +{ + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + }, + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json new file mode 100644 index 000000000..7c203be47 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateOpOccs.json @@ -0,0 +1,87 @@ +{ "type": "array", + "items": { + "description": "This type represents a Change state operation occurrence. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "operationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "stateEnteredTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "startTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "changeOperationalStateRequest": { + "description": "The enumeration ChangeOperationalStateEnumType defines permitted values for the change state operation. The ChangeOperationalStateEnumType shall comply with the provisions:\n - START\tTo start the managed entity.\n - STOP\tTo stop the managed entity.\n - RESTART\tTo stop and start again the managed entity.\n", + "type": "string", + "enum": [ + "START", + "STOP", + "RESTART" + ] + }, + "changeAdministrativeStateRequest": { + "description": "The enumeration ChangeAdministrativeStateEnumType defines permitted values for the change of administrative state operation. The ChangeAdministrativeStateEnumType shall comply with the provisions:\n - LOCK\tTo lock the managed entity.\n - UNLOCK\tTo unlock the managed entity.\n", + "type": "string", + "enum": [ + "LOCK", + "UNLOCK" + ] + }, + "operationParams": { + "description": "Input parameters of the change state operation. This attribute shall be formatted according to the request data type of the related change state operation. \nThe following mapping between operationType and the data type of this attribute shall apply:\n - CHANGE_STATE: ChangeStateRequest\n \nThis attribute shall be present if this data type is returned in a response to reading an individual resource, and may be present according to the chosen attribute selector parameter if this data type is returned in a response to a query of a container resource.\n" + } + }, + "required": [ + "id", + "operationState", + "stateEnteredTime", + "startTime", + "managedObjectRef" + ] + } + } \ No newline at end of file -- GitLab From 9a30dd5d0b12a3b8bebd845f19775de6ba0d3722 Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 12 Aug 2020 09:29:14 +0500 Subject: [PATCH 05/41] fixed TID mismatch in NFVMANOEntity.robot --- .../NFVMANOEntity.robot | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index b6c85e15f..ba7ee2ec0 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -9,7 +9,7 @@ Library MockServerLibrary *** Test Cases *** POST NFV-MANO entity - Method not implemented - [Documentation] Test ID: 8.3.4.1.1 + [Documentation] Test ID: 8.3.1.1.1 ... Test title: POST NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an NFV-MANO Entity. ... Pre-conditions: @@ -21,7 +21,7 @@ POST NFV-MANO entity - Method not implemented Check HTTP Response Status Code Is 405 GET NFV-MANO entity - [Documentation] Test ID: 8.3.4.1.2 + [Documentation] Test ID: 8.3.1.1.2 ... Test title: Get NFV-MANO entity ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource and perform a JSON schema and content validation of the collected job data structure. ... Pre-conditions: @@ -34,7 +34,7 @@ GET NFV-MANO entity Check HTTP Response Body Json Schema Is ManoEntity PUT NFV-MANO entity - Method not implemented - [Documentation] Test ID: 8.3.4.1.3 + [Documentation] Test ID: 8.3.1.1.3 ... Test title: PUT NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. ... Pre-conditions: @@ -46,7 +46,7 @@ PUT NFV-MANO entity - Method not implemented Check HTTP Response Status Code Is 405 PATCH NFV-MANO entity - [Documentation] Test ID: 8.3.4.1.4 + [Documentation] Test ID: 8.3.1.1.4 ... Test title: PATCH NFV-MANO entity ... Test objective: This method modifies the NFV-MANO entity resource ... Pre-conditions: NFV-MANO entity resource is already created. @@ -59,7 +59,7 @@ PATCH NFV-MANO entity Check HTTP Response Body Json Schema Is ManoConfigModifications PATCH NFV-MANO entity - Conflict - [Documentation] Test ID: 8.3.4.1.5 + [Documentation] Test ID: 8.3.1.1.5 ... Test title: PATCH NFV-MANO entity - Conflict ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. @@ -72,7 +72,7 @@ PATCH NFV-MANO entity - Conflict Check HTTP Response Body Json Schema Is ProblemDetails PATCH NFV-MANO entity - PreCondition Failed - [Documentation] Test ID: 8.3.4.1.6 + [Documentation] Test ID: 8.3.1.1.6 ... Test title: PATCH NFV-MANO entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. @@ -85,7 +85,7 @@ PATCH NFV-MANO entity - PreCondition Failed Check HTTP Response Body Json Schema Is ProblemDetails DELETE NFV-MANO entity - Method not implemented - [Documentation] Test ID: 8.3.4.1.7 + [Documentation] Test ID: 8.3.1.1.7 ... Test title: DELETE NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. ... Pre-conditions: -- GitLab From b3c2d785e0fd5f47f298c4c378faca8d830c940c Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 12 Aug 2020 09:30:02 +0500 Subject: [PATCH 06/41] fixed TID mismatch in ChangeNFVMANOEntityStateTask.robot --- .../ChangeNFVMANOEntityStateTask.robot | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index bc5062631..c1914e7c8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -8,7 +8,7 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** POST NFV-MANO functional entity application state change - [Documentation] Test ID: 8.3.4.2.1 + [Documentation] Test ID: 8.3.1.2.1 ... Test title: POST NFV-MANO functional entity application state change ... Test objective: The objective is to request state change of the NFV-MANO functional entity application. ... Pre-conditions: @@ -21,7 +21,7 @@ POST NFV-MANO functional entity application state change Check Operation Occurrence Id POST NFV-MANO functional entity application state change - Conflict - [Documentation] Test ID: 8.3.4.2.2 + [Documentation] Test ID: 8.3.1.2.2 ... Test title: POST NFV-MANO functional entity application state change - Conflict ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: @@ -34,7 +34,7 @@ POST NFV-MANO functional entity application state change - Conflict Check HTTP Response Body Json Schema Is ProblemDetails GET NFV-MANO functional entity application state change - Method not implemented - [Documentation] Test ID: 8.3.4.2.3 + [Documentation] Test ID: 8.3.1.2.3 ... Test title: GET NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. ... Pre-conditions: @@ -46,7 +46,7 @@ GET NFV-MANO functional entity application state change - Method not implemented Check HTTP Response Status Code Is 405 PUT NFV-MANO functional entity application state change - Method not implemented - [Documentation] Test ID: 8.3.4.2.4 + [Documentation] Test ID: 8.3.1.2.4 ... Test title: PUT NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: @@ -58,7 +58,7 @@ PUT NFV-MANO functional entity application state change - Method not implemented Check HTTP Response Status Code Is 405 PATCH NFV-MANO functional entity application state change - Method not implemented - [Documentation] Test ID: 8.3.4.2.5 + [Documentation] Test ID: 8.3.1.2.5 ... Test title: PATCH NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: @@ -70,7 +70,7 @@ PATCH NFV-MANO functional entity application state change - Method not implement Check HTTP Response Status Code Is 405 DELETE NFV-MANO functional entity application state change - Method not implemented - [Documentation] Test ID: 8.3.4.2.6 + [Documentation] Test ID: 8.3.1.2.6 ... Test title: DELETE NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. ... Pre-conditions: -- GitLab From ea49ff8c272d7aa30d00d17982976acda41fbd66 Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 12 Aug 2020 11:04:14 +0500 Subject: [PATCH 07/41] Added Test Cases for IndividualChangeStateOpperationOccurance.robot --- ...vidualStateChangeOpperationOccurance.robot | 70 +++++++++++++++++++ .../NFVMANOCimKeywords.robot | 41 +++++++++++ .../environment/variables.txt | 4 +- 3 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot new file mode 100644 index 000000000..765b7b866 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot @@ -0,0 +1,70 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Individual Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.4.1 + ... Test title: POST Individual Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for Individual Change State Operation Occurance + Check HTTP Response Status Code Is 405 + +GET Individual Change State Operation Occurance + [Documentation] Test ID: 8.3.1.4.2 + ... Test title: GET Individual Change State Operation Occurance + ... Test objective: The objective is to query status information about Individual change state operation occurrences. + ... Pre-conditions: + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Individual Change State OpOcc + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc + +PUT Individual Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.4.3 + ... Test title: PUT Individual Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for Individual Change State Operation Occurance + Check HTTP Response Status Code Is 405 + +PATCH Individual Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.4.4 + ... Test title: PATCH Individual Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Patch request for Individual Change State Operation Occurance + Check HTTP Response Status Code Is 405 + +DELETE Individual Change State Operation Occurance - Method not implemented + [Documentation] Test ID: 8.3.1.4.5 + ... Test title: DELETE Individual Change State Operation Occurance - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for Individual Change State Operation Occurance + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 5e3d67847..2f849184d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -213,3 +213,44 @@ Send DELETE request for Change State Operation Occurance Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} + +Send Post request for Individual Change State Operation Occurance + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Change State OpOcc + Log Query to GET information about individual change state operation occurrences. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PUT request for Individual Change State Operation Occurance + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PATCH request for Individual Change State Operation Occurance + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send DELETE request for Individual Change State Operation Occurance + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index f94eed9d7..c2f296e36 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -25,4 +25,6 @@ ${response} ${filter} ${filter_value} -${fields} \ No newline at end of file +${fields} + +${changeStateOpOccId} \ No newline at end of file -- GitLab From c22a0154acdb0026abb44658d773b7aa175d57d6 Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 12 Aug 2020 12:46:12 +0500 Subject: [PATCH 08/41] Added Test Cases for NFVMANOServiceInterface.robot --- .../NFVMANOCimKeywords.robot | 90 +++++++++ .../NFVMANOServiceInterface.robot | 188 ++++++++++++++++++ 2 files changed, 278 insertions(+) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 2f849184d..461fa1fad 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -252,5 +252,95 @@ Send DELETE request for Individual Change State Operation Occurance Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops/${changeStateOpOccId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for NFV-MANO Serive Interface + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get NFV-MANO Serive Interface + Log Query to GET information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Serive Interface with invalid filter + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?attribute_not_exist=some_value + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Serive Interface with invalid selector + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Serive Interface with filter + Log Query information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity with attribute filters. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?${filter}=${filter_value} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get NFV-MANO Serive Interface with all_fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get NFV-MANO Serive Interface with fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get NFV-MANO Serive Interface with exclude_fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT request for NFV-MANO Serive Interface + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PATCH request for NFV-MANO Serive Interface + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send DELETE request for NFV-MANO Serive Interface + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot new file mode 100644 index 000000000..46fcf9102 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot @@ -0,0 +1,188 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST NFV-MANO Serive Interface - Method not implemented + [Documentation] Test ID: 8.3.1.5.1 + ... Test title: POST NFV-MANO Serive Interface - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for NFV-MANO Serive Interface + Check HTTP Response Status Code Is 405 + +GET NFV-MANO Serive Interface + [Documentation] Test ID: 8.3.1.5.2 + ... Test title: GET NFV-MANO Serive Interface + ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Serive Interface - invalid attribute-based filter + [Documentation] Test ID: 8.3.1.5.3 + ... Test title: GET NFV-MANO Serive Interface - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO Serive Interface - invalid attribute selector + [Documentation] Test ID: 8.3.1.5.4 + ... Test title: GET NFV-MANO Serive Interface - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface with invalid selector + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO Serive Interface - Bad Request Response too Big + [Documentation] Test ID: 8.3.1.5.5 + ... Test title: GET NFV-MANO Serive Interface - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NFV-MANO Serive Interface with attribute-based filter + [Documentation] Test ID: 8.3.1.5.6 + ... Test title: GET NFV-MANO Serive Interface with attribute-based filter + ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface with filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Serive Interface with "all_fields" attribute selector + [Documentation] Test ID: 8.3.1.5.7 + ... Test title: GET NFV-MANO Serive Interface with "all_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "all_fields" attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Serive Interface with "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.5.8 + ... Test title: GET NFV-MANO Serive Interface with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "exclude_default" attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + + +GET NFV-MANO Serive Interface with "fields" attribute selector + [Documentation] Test ID: 8.3.1.5.9 + ... Test title: GET NFV-MANO Serive Interface with "fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with fields attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Serive Interface with "exclude_fields" attribute selector + [Documentation] Test ID: 8.3.1.5.10 + ... Test title: GET NFV-MANO Serive Interface with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "exclude_fields" attribute selector + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: none + Get NFV-MANO Serive Interface with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Serive Interface with Paged Response + [Documentation] Test ID: 8.3.1.5.11 + ... Test title: GET NFV-MANO Serive Interface with Paged Response + ... Test objective: The objective is to query NFV-MANO Serive Interface to get Paged Response. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get NFV-MANO Serive Interface + Check HTTP Response Status Code Is 200 + Check LINK in Header + +PUT NFV-MANO Serive Interface - Method not implemented + [Documentation] Test ID: 8.3.1.5.12 + ... Test title: PUT NFV-MANO Serive Interface - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for NFV-MANO Serive Interface + Check HTTP Response Status Code Is 405 + +PATCH NFV-MANO Serive Interface - Method not implemented + [Documentation] Test ID: 8.3.1.5.13 + ... Test title: PATCH NFV-MANO Serive Interface - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Patch request for NFV-MANO Serive Interface + Check HTTP Response Status Code Is 405 + +DELETE NFV-MANO Serive Interface - Method not implemented + [Documentation] Test ID: 8.3.1.5.14 + ... Test title: DELETE NFV-MANO Serive Interface - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for NFV-MANO Serive Interface + Check HTTP Response Status Code Is 405 \ No newline at end of file -- GitLab From 32283511cefa6df9d546e5db6a1aeba11135a57e Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 12 Aug 2020 17:00:24 +0500 Subject: [PATCH 09/41] Added Test Cases for IndividualNFVMANOServiceInterface.robot --- .../IndividualNFVMANOServiceInterface.robot | 97 ++++++++ .../NFVMANOCimKeywords.robot | 42 ++++ .../environment/variables.txt | 4 +- ...noServiceInterfaceModificationRequest.json | 3 + .../schemas/ManoServiceInterface.json | 215 +++++++++++++++++ .../ManoServiceInterfaceModifications.json | 105 +++++++++ .../schemas/ManoServiceInterfaces.json | 218 ++++++++++++++++++ 7 files changed, 683 insertions(+), 1 deletion(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoServiceInterfaceModificationRequest.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot new file mode 100644 index 000000000..f5815448d --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -0,0 +1,97 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Individual NFV-MANO Serive Interface - Method not implemented + [Documentation] Test ID: 8.3.1.6.1 + ... Test title: POST Individual NFV-MANO Serive Interface - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for Individual NFV-MANO Serive Interface + Check HTTP Response Status Code Is 405 + +GET Individual NFV-MANO Serive Interface + [Documentation] Test ID: 8.3.1.6.2 + ... Test title: GET Individual NFV-MANO Serive Interface + ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource. + ... Pre-conditions: + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Individual NFV-MANO Serive Interface + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterface + +PUT Individual NFV-MANO Serive Interface - Method not implemented + [Documentation] Test ID: 8.3.1.6.3 + ... Test title: PUT Individual NFV-MANO Serive Interface - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for Individual NFV-MANO Serive Interface + Check HTTP Response Status Code Is 405 + +PATCH Individual NFV-MANO Serive Interface + [Documentation] Test ID: 8.3.1.6.4 + ... Test title: PATCH Individual NFV-MANO Serive Interface + ... Test objective: This method modifies the Individual NFV-MANO Serive Interface resource + ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The Individual NFV-MANO Serive Interface is modified by the operation + Send Patch request for Individual NFV-MANO Serive Interface + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications + +PATCH Individual NFV-MANO Serive Interface - Conflict + [Documentation] Test ID: 8.3.1.6.5 + ... Test title: PATCH Individual NFV-MANO Serive Interface - Conflict + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Serive Interface resource failed due to a conflict with the state of the Individual NFV-MANO Serive Interface resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The Individual NFV-MANO Serive Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Serive Interface + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH Individual NFV-MANO Serive Interface - PreCondition Failed + [Documentation] Test ID: 8.3.1.6.6 + ... Test title: PATCH Individual NFV-MANO Serive Interface - PreCondition Failed + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Serive Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The Individual NFV-MANO Serive Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Serive Interface + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails + +DELETE Individual NFV-MANO Serive Interface - Method not implemented + [Documentation] Test ID: 8.3.1.6.7 + ... Test title: DELETE Individual NFV-MANO Serive Interface - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for Individual NFV-MANO Serive Interface + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 461fa1fad..b5479c3f8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -342,5 +342,47 @@ Send DELETE request for NFV-MANO Serive Interface Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for Individual NFV-MANO Serive Interface + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual NFV-MANO Serive Interface + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Put request for Individual NFV-MANO Serive Interface + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Patch request for Individual NFV-MANO Serive Interface + log Trying to modify an NFV-MANO Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${body}= Get File jsons/ManoServiceInterfaceModificationRequest.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Delete request for Individual NFV-MANO Serive Interface + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index c2f296e36..709f9421e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -27,4 +27,6 @@ ${filter_value} ${fields} -${changeStateOpOccId} \ No newline at end of file +${changeStateOpOccId} + +${manoServiceInterfaceId} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoServiceInterfaceModificationRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoServiceInterfaceModificationRequest.json new file mode 100644 index 000000000..1b080e7cd --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoServiceInterfaceModificationRequest.json @@ -0,0 +1,3 @@ +{ + "name": "ManoServiceInterfaceModificationRequest" +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json new file mode 100644 index 000000000..16b7cc3fe --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterface.json @@ -0,0 +1,215 @@ +{ + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "webFingerHost" + ] + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "authServerId" + ] + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ] + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + }, + "required": [ + "authType", + "oauthServerInfo" + ] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json new file mode 100644 index 000000000..080fc11f2 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaceModifications.json @@ -0,0 +1,105 @@ +{ + "description": "This type represents attribute modifications that were performed on an Individual NFV-MANO service interface\" resource. The attributes that can be included consist of those requested to be modified explicitly in the \"ManoServiceInterfaceModificationRequest\" data structure. If applicable, additional attributes of the \"ManoServiceInterface\" data structure that were modified implicitly shall also be provided. \n", + "type": "object", + "properties": { + "name": { + "description": "If present, this attribute signals modifications of the \"name\" attribute in \"ManoServiceInterface\", as defined in clause 5.6.2.11.\n", + "type": "string" + }, + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "webFingerHost" + ] + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "authServerId" + ] + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ] + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + }, + "required": [ + "authType", + "oauthServerInfo" + ] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json new file mode 100644 index 000000000..ad71446bf --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ManoServiceInterfaces.json @@ -0,0 +1,218 @@ +{ "type": "array", + "items": { + "description": "This type represents an individual NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO functional entity interface.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface produced by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "providerSpecificApiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Exposed API endpoint of the interface.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "maxConcurrentIntOpNumber": { + "description": "Maximum number of concurrent operation requests supported on this interface. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + }, + "supportedOperations": { + "description": "Information about supported operations of this interface.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "operationName": { + "description": "Name of the operation supported on the interface.\n", + "type": "string" + }, + "maxConcurrentOpNumber": { + "description": "Maximum number of concurrent requests supported by the interface operation. \nNOTE:\tIf this attribute is not present, the value of this parameter is undefined. Overload is handled by the error handling schemes defined by the applicable API specification.\n", + "type": "integer" + } + }, + "required": [ + "operationName" + ] + }, + "minItems": 1 + }, + "interfaceState": { + "description": "State of the NFV-MANO service interface.\n", + "properties": { + "operationalState": { + "description": "The enumeration InterfaceOperationalStateEnumType defines values representing the operational state of an NFV-MANO service interface type of managed entity. The InterfaceOperationalStateEnumType shall comply with the provisions :\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "usageState": { + "description": "The enumeration UsageStateEnumType defines values representing the usage state of a managed entity. The UsageStateEnumType shall comply with the provisions:\n - IN_USE\tThe managed entity is currently being used.\n - NOT_IN_USE\tThe managed entity is currently not being used.\n", + "type": "string", + "enum": [ + "IN_USE", + "NOT_IN_USE" + ] + } + }, + "required": [ + "operationalState", + "administrativeState", + "usageState" + ] + }, + "securityInfo": { + "description": "This type represents security related information of an NFV-MANO service interface produced by an NFV-MANO functional entity. \n", + "type": "object", + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API producer.\nThe support of authorization methods for the API producer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values:\n - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246.\n - OAUTH2: Using access token, as defined by the OAuth 2.0 specification \n in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "webFingerHost": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "webFingerHost" + ] + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "properties": { + "authServerId": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "authServerId" + ] + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "providedConfiguration", + "tlsCipherSuites" + ] + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API producer when performing the SSL or TLS negotiation with the API client. Valid values of cipher suites are defined in IETF RFC 8447.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + }, + "required": [ + "tlsTunnelCipherSuites" + ] + } + }, + "required": [ + "authType", + "oauthServerInfo" + ] + }, + "metadata": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "providerSpecificApiVersion", + "apiVersion", + "apiEndpoint", + "supportedOperations", + "interfaceState" + ] + } + +} \ No newline at end of file -- GitLab From aa9e9bd3c586137e51989de8404ab392fa47fe56 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 09:58:40 +0500 Subject: [PATCH 10/41] Added Test Cases for ChangeInterfaceStateTask.robot --- .../ChangeInterfaceStateTask.robot | 83 +++++++++++++++++++ .../NFVMANOCimKeywords.robot | 45 +++++++++- 2 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot new file mode 100644 index 000000000..62b638355 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -0,0 +1,83 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Change interface state task + [Documentation] Test ID: 8.3.1.7.1 + ... Test title: POST Change interface state task + ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity + ... Pre-conditions: + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for Change interface state task + Check HTTP Response Status Code Is 202 + Check Operation Occurrence Id + +POST Change interface state task - Conflict + [Documentation] Test ID: 8.3.1.7.2 + ... Test title: POST Change interface state task - Conflict + ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for Change interface state task + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.3 + ... Test title: GET Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Get request for Change interface state task + Check HTTP Response Status Code Is 405 + +PUT Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.4 + ... Test title: PUT Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for Change interface state task + Check HTTP Response Status Code Is 405 + +PATCH Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.5 + ... Test title: PATCH Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Patch request for Change interface state task + Check HTTP Response Status Code Is 405 + +DELETE Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.6 + ... Test title: DELETE Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: + ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for Change interface state task + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index b5479c3f8..ba2e36482 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -385,4 +385,47 @@ Send Delete request for Individual NFV-MANO Serive Interface Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable @{response} ${outputResponse} + +Send Post request for Change interface state task + Log Trying to perform a POST for Change interface state task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Get request for Change interface state task + Log Trying to perform a GET (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for Change interface state task + Log Trying to perform a PUT (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for Change interface state task + Log Trying to perform a PATCH (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for Change interface state task + Log Trying to perform a DELETE (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}//mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${output}= Output response + Set Suite Variable ${response} ${output} \ No newline at end of file -- GitLab From 906e76965653fa945fa2d23915113ecfdecfd177 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 10:47:11 +0500 Subject: [PATCH 11/41] Added Test Cases for PeerEntities.robot --- .../NFVMANOCimKeywords.robot | 96 +++++++- .../PeerEntities.robot | 190 ++++++++++++++++ .../jsons/CreatePeerEntityRequest.json | 5 + .../schemas/PeerEntities.json | 215 ++++++++++++++++++ .../schemas/PeerEntity.json | 212 +++++++++++++++++ 5 files changed, 716 insertions(+), 2 deletions(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index ba2e36482..0f6997096 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -391,7 +391,8 @@ Send Post request for Change interface state task Log Trying to perform a POST for Change interface state task Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state + ${body}= Get File jsons/ManoConfigModificationRequest.json + POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -428,4 +429,95 @@ Send Delete request for Change interface state task Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiMajorVersion}//mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${output}= Output response - Set Suite Variable ${response} ${output} \ No newline at end of file + Set Suite Variable ${response} ${output} + +Send Post request for Peer Entity + Log Trying to perform a POST for Peer Entity + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${body}= Get File jsons/CreatePeerEntityRequest.json + POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Peer Entity + Log Query to GET information about multiple peer entities. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with invalid filter + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?attribute_not_exist=some_value + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with invalid selector + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with filter + Log Query information about multiple peer entities with attribute filters. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?${filter}=${filter_value} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get Peer Entity with all_fields attribute selector + Log Queries information about multiple peer entities, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Peer Entity with fields attribute selector + Log Queries information about multiple peer entities, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Peer Entity with exclude_fields attribute selector + Log Queries information about multiple peer entities, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT request for Peer Entity + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send PATCH request for Peer Entity + log Trying to perform a PATCH. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send DELETE request for Peer Entity + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot new file mode 100644 index 000000000..e40ee058a --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -0,0 +1,190 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Peer Entity + [Documentation] Test ID: 8.3.1.8.1 + ... Test title: POST Peer Entity + ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity. + ... Pre-conditions: + ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for Peer Entity + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is PeerEntity + Check Operation Occurrence Id + +GET Peer Entity + [Documentation] Test ID: 8.3.1.8.2 + ... Test title: GET Peer Entity + ... Test objective: The objective is to queries information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entity - invalid attribute-based filter + [Documentation] Test ID: 8.3.1.8.3 + ... Test title: GET Peer Entity - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Peer Entity - invalid attribute selector + [Documentation] Test ID: 8.3.1.8.4 + ... Test title: GET Peer Entity - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity with invalid selector + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Peer Entity - Bad Request Response too Big + [Documentation] Test ID: 8.3.1.8.5 + ... Test title: GET Peer Entity - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Peer Entity with attribute-based filter + [Documentation] Test ID: 8.3.1.8.6 + ... Test title: GET Peer Entity with attribute-based filter + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity with filter + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entity with "all_fields" attribute selector + [Documentation] Test ID: 8.3.1.8.7 + ... Test title: GET Peer Entity with "all_fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entity with "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.8.8 + ... Test title: GET Peer Entity with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity with all_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + + +GET Peer Entity with "fields" attribute selector + [Documentation] Test ID: 8.3.1.8.9 + ... Test title: GET Peer Entity with "fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity with fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entity with "exclude_fields" attribute selector + [Documentation] Test ID: 8.3.1.8.10 + ... Test title: GET Peer Entity with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: none + Get Peer Entity with exclude_fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entity with Paged Response + [Documentation] Test ID: 8.3.1.8.11 + ... Test title: GET Peer Entity with Paged Response + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities to get Paged Response. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Peer Entity + Check HTTP Response Status Code Is 200 + Check LINK in Header + +PUT Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.8.12 + ... Test title: PUT Peer Entity - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for Peer Entity + Check HTTP Response Status Code Is 405 + +PATCH Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.8.13 + ... Test title: PATCH Peer Entity - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Patch request for Peer Entity + Check HTTP Response Status Code Is 405 + +DELETE Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.8.14 + ... Test title: DELETE Peer Entity - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for Peer Entity + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json new file mode 100644 index 000000000..baa48b7e2 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json @@ -0,0 +1,5 @@ +{ + "peerEntityId": "", + "name": "NFV-MANO Entity", + "type": "NFVO" +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json new file mode 100644 index 000000000..c7e85d04b --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntities.json @@ -0,0 +1,215 @@ +{ "type": "array", + "items": { + "description": "This type represents an individual peer entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "array", + "items": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ] + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + }, + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ] + } + +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json new file mode 100644 index 000000000..cbf0cbe24 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/PeerEntity.json @@ -0,0 +1,212 @@ +{ + "description": "This type represents an individual peer entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "peerEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "type": { + "description": "The enumeration PeerEntityEnumType defines the permitted values to represent peer functional entities. it shall complains with the provisions : - NFVO\tThe peer functional entity is an NFVO. - VNFM\tThe peer functional entity is a VNFM. - VIM\t The peer functional entity is a VIM. - WIM\t The peer functional entity is a WIM. - EM\t The peer functional entity is an EM. - OSS\t The peer functional entity is an OSS/BSS.\n", + "type": "string", + "enum": [ + "NFVO", + "VNFM", + "VIM", + "WIM", + "EM", + "OSS" + ] + }, + "description": { + "description": "Human-readable description of the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "string" + }, + "consumedManoInterfaces": { + "description": "Information of the interface consumed by the NFV-MANO functional entity from the peer functional entity.\nThis attribute can be modified with the PATCH method.\n", + "type": "array", + "items": { + "description": "This type represents an interface consumed by the producer NFV MANO functional entity from another peer functional entity. \n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "name": { + "description": "Human-readable name of the NFV-MANO interface.\n", + "type": "string" + }, + "type": { + "description": "Type of the NFV-MANO service interface consumed by the NFV-MANO functional entity. Valid values are defined in clause 5.6.4.3.\n", + "type": "string" + }, + "standardVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiVersion": { + "description": "A version.\n", + "type": "string" + }, + "apiEndpoint": { + "description": "Consumable API endpoint of the interface. It provides the information relevant about the protocol, host and port, and path where the interface API can be accessed.\n", + "type": "object", + "properties": { + "apiRoot": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "apiName": { + "description": "Indicates the interface name in an abbreviated form. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The {apiName} of each interface is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiMajorVersion": { + "description": "Indicates the current major version of the API. Shall be present for ETSI NFV specified RESTful NFV-MANO APIs. The major version is defined in the standard the interface is compliant to (see also clause 4.1 of ETSI GS NFV-SOL 013). May be present otherwise.\n", + "type": "string" + }, + "apiUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + }, + "required": [ + "apiUri" + ] + }, + "securityInfo": { + "description": "This type represents security related information for accessing an NFV-MANO service interface produced by an NFV-MANO functional entity.\n", + "type": "object", + "required": [ + "authType", + "oauthServerInfo" + ], + "properties": { + "authType": { + "description": "Type of API request authorization to be used by the API consumer accessing the API.\nThe support of authorization methods for the API consumer is specified in clause 8.3.6 of ETSI GS NFV-SOL 013.\nPermitted values: - TLS_TUNNEL: Using TLS tunnel, as defined by TLS 1.2 in IETF RFC 5246. - OAUTH2: Using access token, as defined by the OAuth 2.0 specification in IETF RFC 6749. \n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_TUNNEL", + "OAUTH2" + ] + }, + "minItems": 1 + }, + "oauthServerInfo": { + "description": "OAuth 2.0 authorization server information and configuration.\n", + "type": "object", + "properties": { + "dynamicDiscovery": { + "description": "Configuration data used when performing dynamic discovery of the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "webFingerHost" + ], + "properties": { + "webFingerHost": { + "description": "Server where the WebFinger service is hosted. When used, the request to the WebFinger resource shall conform as specified in clause 5.1.3 of ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "providedConfiguration": { + "description": "Configuration data used to setup the authorization server identifier. \nNOTE:\tProvided configuration of the OAuth 2.0 authorization server information and configuration shall be supported, and dynamic configuration may be supported.\n", + "type": "object", + "required": [ + "authServerId" + ], + "properties": { + "authServerId": { + "description": "Authorization server identifier as defined in ETSI GS NFV-SEC 022.\n", + "type": "string", + "format": "uri" + } + } + }, + "tlsCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the authorization server. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + }, + "tlsTunnelInfo": { + "description": "Information and configuration related to the use of TLS tunnel. Shall be present if authType contains \"TLS_TUNNEL\".\n", + "type": "object", + "properties": { + "tlsTunnelCipherSuites": { + "description": "List of cipher suites that shall be declared as supported by the API consumer when performing the SSL or TLS negotiation with the API producer. Valid values of cipher suites are defined in IETF RFC 8447.\n", + "type": "array", + "items": { + "type": "string", + "minItems": 1 + } + } + } + } + } + } + }, + "required": [ + "id", + "name", + "type", + "standardVersion", + "apiVersion", + "apiEndpoint" + ] + } + }, + "peerEntityState": { + "description": "State of the peer functional entity as provided by the API consumer when creating the resource or when updating it with the PATCH method.\n", + "type": "object", + "properties": { + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + } + }, + "required": [ + "operationalState", + "administrativeState" + ] + } + }, + "required": [ + "id", + "peerEntityId", + "name", + "type", + "peerEntityState" + ] + } \ No newline at end of file -- GitLab From f3212cc268671af90131d3f2551f551e378eaa35 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 10:48:18 +0500 Subject: [PATCH 12/41] fixed Response Code issue --- .../NFVMANOEntity.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index ba7ee2ec0..2a4d56277 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -81,7 +81,7 @@ PATCH NFV-MANO entity - PreCondition Failed ... Applicability: none ... Post-Conditions: The NFV-MANO entity is not modified by the operation Send Patch request for NFV-MANO Entity - Check HTTP Response Status Code Is 409 + Check HTTP Response Status Code Is 412 Check HTTP Response Body Json Schema Is ProblemDetails DELETE NFV-MANO entity - Method not implemented -- GitLab From f559da068f286828ebd79c47b45ffde31cfffbeb Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 10:51:41 +0500 Subject: [PATCH 13/41] Json file added ChangeStateRequest --- .../NFVMANOCimKeywords.robot | 2 +- .../jsons/ChangeStateRequest.json | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 0f6997096..1c249dc6c 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -391,7 +391,7 @@ Send Post request for Change interface state task Log Trying to perform a POST for Change interface state task Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${body}= Get File jsons/ManoConfigModificationRequest.json + ${body}= Get File jsons/ChangeStateRequest.json POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json new file mode 100644 index 000000000..82608e379 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json @@ -0,0 +1,7 @@ +{ + "operationalStateChange": + { + "operationalStateAction":"START" + } + +} \ No newline at end of file -- GitLab From 502db35111a4f2927547fc074a4a1e2ed94d44ec Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 11:48:58 +0500 Subject: [PATCH 14/41] Added Test Cases for IndividualPeerEntity.robot --- .../IndividualPeerEntity.robot | 97 +++++++++++++++++++ .../NFVMANOCimKeywords.robot | 42 ++++++++ .../environment/variables.txt | 4 +- .../PeerEntityConfigModificationRequest.json | 3 + 4 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/PeerEntityConfigModificationRequest.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot new file mode 100644 index 000000000..1eaf748e1 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot @@ -0,0 +1,97 @@ +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Individual Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.9.1 + ... Test title: POST Individual Peer Entity - Method not implemented + ... Test objective: The objective is to test that POST method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Post request for Individual Peer Entity + Check HTTP Response Status Code Is 405 + +GET Individual Peer Entity + [Documentation] Test ID: 8.3.1.9.2 + ... Test title: GET Individual Peer Entity + ... Test objective: The objective is to retrieves information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource + ... Pre-conditions: + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get Individual Peer Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntity + +PUT Individual Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.9.3 + ... Test title: PUT Individual Peer Entity - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Put request for Individual Peer Entity + Check HTTP Response Status Code Is 405 + +PATCH Individual Peer Entity + [Documentation] Test ID: 8.3.1.9.4 + ... Test title: PATCH Individual Peer Entity + ... Test objective: This method modifies configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource. + ... Pre-conditions: At least one Peer Entity resource is created + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Peer Entity Resource is modified by the operation + Send Patch request for Individual Peer Entity + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications + +PATCH Individual Peer Entity - Conflict + [Documentation] Test ID: 8.3.1.9.5 + ... Test title: PATCH Individual Peer Entity - Conflict + ... Test objective: The objective is to test that the modification of configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource failed due to a conflict with the state of the Individual Peer Entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity resource is created + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Peer Entity Resource is not modified by the operation + Send Patch request for Individual Peer Entity + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +PATCH Individual Peer Entity - PreCondition Failed + [Documentation] Test ID: 8.3.1.9.6 + ... Test title: PATCH Individual Peer Entity - PreCondition Failed + ... Test objective: The objective is to test that the modification of the Individual Peer Entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one Peer Entity resource is created + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Peer Entity Resource is not modified by the operation + Send Patch request for Individual Peer Entity + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails + +DELETE Individual Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.9.7 + ... Test title: DELETE Individual Peer Entity - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemeted. + ... Pre-conditions: + ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: + Send Delete request for Individual Peer Entity + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 1c249dc6c..86d22e718 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -519,5 +519,47 @@ Send DELETE request for Peer Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Post request for Individual Peer Entity + Log Trying to perform a POST (method should not be implemented) + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Peer Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Put request for Individual Peer Entity + log Trying to perform a PUT. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Patch request for Individual Peer Entity + log Trying to modify an NFV-MANO Entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${body}= Get File jsons/PeerEntityConfigModificationRequest.json + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${body} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Send Delete request for Individual Peer Entity + log Trying to perform a DELETE. This method should not be implemented + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 709f9421e..8ae28f3ad 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -29,4 +29,6 @@ ${fields} ${changeStateOpOccId} -${manoServiceInterfaceId} \ No newline at end of file +${manoServiceInterfaceId} + +${peerEntityId} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/PeerEntityConfigModificationRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/PeerEntityConfigModificationRequest.json new file mode 100644 index 000000000..f5704760d --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/PeerEntityConfigModificationRequest.json @@ -0,0 +1,3 @@ +{ + "name": "PeerEntityConfigModificationRequest" +} \ No newline at end of file -- GitLab From 1fc3da7300ff0bd3166e08005060319616f357f6 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 15:06:01 +0500 Subject: [PATCH 15/41] Added Test Cases for Subscriptions.robot --- .../NFVMANOCimKeywords.robot | 126 ++++++++++++- .../Subscriptions.robot | 176 ++++++++++++++++++ .../environment/variables.txt | 25 ++- .../jsons/CimSubscriptionRequest.json | 3 + .../schemas/CimSubscription.json | 113 +++++++++++ .../schemas/CimSubscriptions.json | 117 ++++++++++++ 6 files changed, 558 insertions(+), 2 deletions(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 86d22e718..5843e8823 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -562,4 +562,128 @@ Send Delete request for Individual Peer Entity Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities/${peerEntityId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable @{response} ${outputResponse} + + + + +Create Sessions + Pass Execution If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} + +Check Notification Endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + + +Get all Subscriptions + [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications + Set headers {"Accept": "application/json"} + Set headers {"Content-Type": "application/json"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + + Get Subscriptions with attribute-based filters + [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ok} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Subscriptions with invalid attribute-based filters + [Documentation] The api consumer can use this method to query the list of active subscriptions to log management notifications + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${filter_ko} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request for Subscription + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + ${body_request}= Get File jsons/CimSubscriptionRequest.json + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} + ${output}= Output response + Set Suite Variable ${response} ${output} + Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 + ... Check Notification Endpoint + +Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription + Log Check Response matches subscription + ${body}= Get File jsons/subscriptions.json + ${subscription}= evaluate json.loads('''${body}''') json + Should Be Equal As Strings ${response['body']['callbackUri']} ${subscription['callbackUri']} + +Check Postcondition Subscription Is Set + Log Check Postcondition subscription exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + +Send Post Request for Duplicated Subscription + Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${body_request}= Get File jsons/CimSubscriptionRequest.json + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Body Is Empty + Should Be Empty ${response['body']} + Log No json schema is provided. Validation OK + +Check Postcondition Subscription Resource Returned in Location Header Is Available + Log Going to check postcondition + GET ${response['headers']['Location']} + Integer response status 200 + Log Received a 200 OK as expected + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json CimSubscription.schema.json ${result} + Log Validated CimSubscription schema + ${body}= Get File jsons/subscriptions.json + ${subscription}= evaluate json.loads('''${body}''') json + Should Be Equal ${result['callbackUri']} ${subscription['callbackUri']} + Log Validated Issued subscription is same as original + +Send Put Request for Subscriptions + [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method + ... Not Allowed" response as defined in clause 4.3.5.4. + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch Request for Subscriptions + [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method + ... Not Allowed" response as defined in clause 4.3.5.4. + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete Request for Subscriptions + [Documentation] This method is not supported. When this method is requested on this resource, the NFV-MANO shall return a "405 Method + ... Not Allowed" response as defined in clause 4.3.5.4. + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Subscriptions Exists + Log Checking that subscriptions exists + Get all Subscriptions + Check HTTP Response Status Code Is 200 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot new file mode 100644 index 000000000..142a5c08d --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -0,0 +1,176 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library OperatingSystem +Library JSONLibrary +Resource NFVMANOCimKeywords.robot +Library MockServerLibrary +Library Process +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true + +*** Test Cases *** +GET all Subscriptions + [Documentation] Test ID: 8.3.1.10.1 + ... Test title: GET all Subscriptions + ... Test objective: The objective is to test the retrieval list of active subscriptions of API consumer and perform a JSON schema validation of the returned subscriptions data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get all Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is CimSubscriptions + +GET Subscriptions with attribute-based filter + [Documentation] Test ID: 8.3.1.10.2 + ... Test title: GET Subscriptions with attribute-based filter + ... Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Subscriptions with attribute-based filters + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is CimSubscriptions + +GET Subscriptions with Paged Response + [Documentation] Test ID: 8.3.1.10.3 + ... Test title: GET Subscriptions with Paged Response + ... Test objective: The objective is to query information of active subscriptions list to of API consumer to get Paged Response. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: + ... Post-Conditions: + Get all Subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET Subscriptions - invalid attribute-based filter + [Documentation] Test ID: 8.3.1.10.4 + ... Test title: GET Subscriptions - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Subscriptions with invalid attribute-based filters + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + + +GET Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 8.3.1.10.5 + ... Test title: GET Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get all Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Subscriptions - invalid resource endpoint + [Documentation] Test ID: 8.3.1.10.6 + ... Test title: GET Subscriptions - invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid resource endpoint. + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get all Subscriptions + Check HTTP Response Status Code Is 404 + + +Create new Subscription + [Documentation] Test ID 8.3.1.10.7 + ... Test title: Create new Subscription + ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The subscription is successfully set and it matches the issued subscription + Send Post Request for Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is CimSubscription + Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription + Check Postcondition Subscription Is Set + + +Create request for duplicated Subscription not creating duplicated subscriptions + [Tags] no-duplicated-subs + [Documentation] Test ID 8.3.1.10.8 + ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions + ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions + ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO + Send Post Request for Duplicated Subscription + Check HTTP Response Status Code Is 303 + Check HTTP Response Body Is Empty + Check HTTP Response Header Contains Location + Check Postcondition Subscription Resource Returned in Location Header Is Available + +Create request for duplicated Subscription creating duplicated subscriptions + [Tags] duplicated-subs + [Documentation] Test ID 8.3.1.10.9 + ... Test title: Create request for duplicated Subscription creating duplicated subscriptions + ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions + ... Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription + Send Post Request for Duplicated Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is PmSubscription + Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription + Check Postcondition Subscription Is Set + +PUT Subscriptions - Method not implemented + [Documentation] Test ID 8.3.1.10.10 + ... Test title: PUT Subscriptions - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Put Request for Subscriptions + Check HTTP Response Status Code Is 405 + +PATCH Subscriptions - Method not implemented + [Documentation] Test ID 8.3.1.10.11 + ... Test title: PATCH Subscriptions - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Patch Request for Subscriptions + Check HTTP Response Status Code Is 405 + +DELETE Subscriptions - Method not implemented + [Documentation] Test ID 8.3.1.10.12 + ... Test title: DELETE Subscriptions - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The subscriptions are not deleted by the failed operation + Send Delete Request for Subscriptions + Check HTTP Response Status Code Is 405 + Check Postcondition Subscriptions Exists diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 8ae28f3ad..7d785da9a 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -31,4 +31,27 @@ ${changeStateOpOccId} ${manoServiceInterfaceId} -${peerEntityId} \ No newline at end of file +${peerEntityId} + +${callback_port} 9091 +${callback_uri} http://172.22.1.7:${callback_port} +${callback_endpoint} /nfvmanocim/subscriptions +${filter_ok} callbackUri=${callbackUri} +${filter_ko} erroneousFilter=erroneous +${callback_endpoint_fwd} /endpoint/check +${callback_endpoint_error} /subs_404 +${sleep_interval} 20s + +${total_polling_time} 2 min +${polling_interval} 10 sec + +${notification_request} [] +${notification_response} [] + +${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar + +${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa +${erroneousSubscriptionId} erroneousSubscriptionId +${newSubscriptionId} newSubsciptionId + +${origResponse} {} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json new file mode 100644 index 000000000..3475fa745 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json @@ -0,0 +1,3 @@ +{ + "callbackUri": "http://172.22.1.7:9091" +} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json new file mode 100644 index 000000000..819a5d99e --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscription.json @@ -0,0 +1,113 @@ +{ + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + }, + "required": [ + "id", + "callbackUri", + "_links" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json new file mode 100644 index 000000000..6ac082d31 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/CimSubscriptions.json @@ -0,0 +1,117 @@ +{ "type": "array", + "items": { + "description": "This type represents a subscription related to notifications about NFV-MANO configuration and information management changes\n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "filter": { + "description": "This type represents a subscription filter related to notifications about NFV-MANO configuration and information management. \n", + "type": "object", + "properties": { + "manoEntitySubscriptionFilter": { + "description": "This type represents subscription filter criteria to match NFV-MANO functional entities and their associated managed objects. \n", + "type": "object", + "properties": { + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "manoServiceIds": { + "description": "manoServiceIds\tIdentifierInManoEntity\t0..N\tIf present, match NFV-MANO services with an instance identifier listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceNames": { + "description": "If present, match NFV-MANO services with an NFV-MANO service name listed in this attribute.\nThe attributes \"manoServiceIds\" and \"manoServiceNames\" are alternatives to reference to NFV-MANO services in a filter. They should not be used together in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "manoServiceInterfaceIds": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance identifier listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "manoServiceInterfaceNames": { + "description": "If present, match NFV-MANO functional entity produced interfaces with an instance Name listed in this attribute.\nThe attributes \"manoServiceInterfaceIds\" and \"manoServiceInterfaceNames\" are alternatives to reference to NFV-MANO functional entity produced interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "consumedManoInterfaceIds": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance identifier listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, + "consumedManoInterfaceNames": { + "description": "If present, match NFV-MANO functional entity consumed interfaces with an instance Name listed in this attribute.\nThe attributes \"consumedManoInterfaceIds\" and \"consumedManoInterfaceNames\" are alternatives to reference to NFV-MANO functional entity consumed interfaces in a filter. They should not be used both in the same filter instance, but one alternative should be chosen.\n", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "notificationTypes": { + "description": "Match particular notification types. \nPermitted values:\n - InformationChangedNotification\n - ChangeStateNotification\n\nNOTE:\tThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", + "type": "array", + "items": { + "type": "string", + "enum": [ + "InformationChangedNotification", + "ChangeStateNotification" + ] + } + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource using an absolute URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + }, + "required": [ + "id", + "callbackUri", + "_links" + ] + } + + +} \ No newline at end of file -- GitLab From 237f9292809233ea872848729f1384497df9f7b9 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 15:11:30 +0500 Subject: [PATCH 16/41] Added Test Cases for IndividualSubscription.robot --- .../IndividualSubscription.robot | 98 +++++++++++++++++++ .../NFVMANOCimKeywords.robot | 81 ++++++++++++++- 2 files changed, 178 insertions(+), 1 deletion(-) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot new file mode 100644 index 000000000..26f01755e --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -0,0 +1,98 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library OperatingSystem +Library JSONLibrary +Resource NFVMANOCimKeywords.robot + +*** Test Cases *** +GET Individual Subscription + [Documentation] Test ID: 8.3.1.11.1 + ... Test title: GET Individual Subscription + ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Subscription + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is CimSubscription + Check HTTP Response Body Subscription Identifier matches the requested Subscription + +GET Individual Subscription - invalid resource identifier + [Documentation] Test ID: 8.3.1.11.2 + ... Test title: GET Individual Subscription - invalid resource identifier + ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET individual Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + +DELETE Individual Subscription + [Documentation] Test ID: 8.3.1.11.3 + ... Test title: DELETE Individual Subscription + ... Test objective: The objective is to test the deletion of an individual subscription + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The is not available anymore in the NFV-MANO + Send Delete request for individual Subscription + Check HTTP Response Status Code Is 204 + Check Postcondition Subscription is Deleted + +DELETE Individual Subscription - invalid resource identifier + [Documentation] Test ID: 8.3.1.11.4 + ... Test title: DELETE Individual Subscription - invalid resource identifier + ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Delete request for individual Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + +POST Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.1.11.5 + ... Test title: POST Individual Subscription - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription + ... Pre-conditions: + ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The VNF Performance Subscription is not created on the NFV-MANO + Send Post request for individual Subscription + Check HTTP Response Status Code Is 405 + Check Postcondition Subscription is not Created + +PUT Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.1.11.6 + ... Test title: PUT Individual Subscription - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The subscription is not modified by the operation + Send Put request for individual Subscription + Check HTTP Response Status Code Is 405 + Check Postcondition Subscription is Unmodified (Implicit) + +PATCH Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.1.11.7 + ... Test title: PATCH Individual Subscription - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The subscription is not modified by the operation + Send Patch request for individual Subscription + Check HTTP Response Status Code Is 405 + Check Postcondition Subscription is Unmodified (Implicit) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 5843e8823..f2a01f2aa 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -686,4 +686,83 @@ Send Delete Request for Subscriptions Check Postcondition Subscriptions Exists Log Checking that subscriptions exists Get all Subscriptions - Check HTTP Response Status Code Is 200 \ No newline at end of file + Check HTTP Response Status Code Is 200 + +Get Individual Subscription + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Body Subscription Identifier matches the requested Subscription + Log Trying to check response ID + Should Be Equal As Strings ${response['body']['id']} ${subscriptionId} + Log Subscription identifier as expected + +GET individual Subscription with invalid resource identifier + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual Subscription + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Subscription is Deleted + Log Check Postcondition Subscription is deleted + GET individual Subscription + Check HTTP Response Status Code Is 404 + +Send Delete request for individual Subscription with invalid resource identifier + Log Trying to delete a subscription in the VNFM with invalid id + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post request for individual Subscription + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Put request for individual Subscription + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Subscription + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition Subscription is Unmodified (Implicit) + Log Check postconidtion subscription not modified + GET individual Subscription + Log Check Response matches original Subscription + ${subscription}= evaluate json.loads('''${response['body']}''') json + Should Be Equal As Strings ${origResponse['body']['id']} ${subscription.id} + Should Be Equal As Strings ${origResponse['body']['callbackUri']} ${subscription.callbackUri} + +Check Postcondition Subscription is not Created + Log Trying to get a new subscription + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + Check HTTP Response Status Code Is 404 \ No newline at end of file -- GitLab From 034f9e6746cb7423ad0d3e82bfdd5496d640b1da Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 13 Aug 2020 15:27:31 +0500 Subject: [PATCH 17/41] Added Test Cases for NotificationEndpoint.robot --- .../NotificationEndpoint.robot | 112 +++++++++++++ .../schemas/ChangeStateNotification.json | 151 ++++++++++++++++++ .../InformationChangedNotification.json | 81 ++++++++++ 3 files changed, 344 insertions(+) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot new file mode 100644 index 000000000..9a8e00d21 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot @@ -0,0 +1,112 @@ +*** Setting *** +Resource environment/variables.txt +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true +Library MockServerLibrary +Library Process +Library OperatingSystem +Library BuiltIn +Library Collections +Library String + + +*** Test Cases *** +Information Changed Notification + [Documentation] Test ID: 8.3.1.12.1 + ... Test title: Information Changed Notification + ... Test objective: The objective is to test the dispatch of Information Changed Notification when configuration or information is changed in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A subscription for information availability notifications is available in the NFV-MANO. + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Trigger the availability of Information Changed Notification (external action) + Check Information Changed Notification Available Http POST Request Body Json Schema Is InformationChangedNotification + Check Information Changed Notification Available Http POST Request Body notificationType attribute Is InformationChangedNotification + +Change State Notification + [Documentation] Test ID: 8.3.1.12.2 + ... Test title: Change State Notification + ... Test objective: The objective is to test the dispatch of Change State Notification when state changes of the NFV-MANO functional entity and its managed objects, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. + ... Pre-conditions: A performance job is created, and a state change subscription is available in the NFV-MANO. + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANOz + ... Applicability: none + ... Post-Conditions: none + Trigger the cross of Change State (external action) + Check Change State Notification Http POST Request Body Json Schema Is ChangeStateNotification + Check Change State Notification Http POST Request Body notificationType attribute Is ChangeStateNotification + + +*** Keywords *** +Trigger the availability of Information Changed Notification (external action) + #do nothing + Log do nothing + +Trigger the cross of Change State (external action) + #do nothing + Log do nothing + +Check Information Changed Notification Available Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check Information Changed Notification Available Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Information Changed Notification Available Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Change State Notification Http POST Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + + +Check Change State Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification State Crossed Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + + +Check Change State Notification Http POST Request Body changeType attribute Is + [Arguments] ${type} + #do nothing + Log do nothing + + +Configure Notification Information Changed Notification Available Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{notification_request}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification State Crossed Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{notification_request}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + &{notification_response}= Create Mock Response headers="Content-Type: application/json" status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock Http POST forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json new file mode 100644 index 000000000..fc3b68c99 --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/ChangeStateNotification.json @@ -0,0 +1,151 @@ +{ + "description": "This type represents a Change state operation occurrence.\n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"ChangeStateNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timestamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "stateChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "changeStateOperationState": { + "description": "The enumeration ChangeStateOpOccStateEnumType defines permitted values for the change state operation. It shall comply with the provisions :\n - PROCESSING\tThe change state operation is currently in execution.\n - COMPLETED\tThe change state operation has been completed successfully.\n - FAILED\tThe change state operation has failed.\n", + "type": "string", + "enum": [ + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, + "managedObjectRef": { + "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "type": "object", + "properties": { + "type": { + "description": "Indicates the type of managed object. Permitted values:\n - MANO_ENTITY\n - MANO_SERVICE\n - MANO_SERVICE_IF\n - CONSUMED_MANO_IF\n - MANO_ENTITY_COMPONENT\n\nThe \"MANO_ENTITY COMPONENT\" is only applicable if attribute \"manoEntityComponents\" in \"ManoEntity\" is supported by the API producer.\n", + "type": "string", + "enum": [ + "MANO_ENTITY", + "MANO_SERVICE", + "MANO_SERVICE_IF", + "CONSUMED_MANO_IF", + "MANO_ENTITY_COMPONENT" + ] + }, + "objectId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectId": { + "description": "An identifier that is unique for the respective type within a NFV-MANO functional entity, but that need not be globally unique. Representation: string of variable length..\n", + "type": "string" + } + }, + "required": [ + "type", + "objectId" + ] + }, + "operationalState": { + "description": "The enumeration OperationalStateEnumType defines values representing the operational state of an NFV-MANO functional application type of managed entity. The OperationalStateEnumType shall comply with the provisions:\n - STARTED\tThe managed entity is operational.\n - STOPPED\tThe managed entity is not operational.\n - STOPPING\tThe managed entity is in the transition to stop.\n - STARTING\tThe managed entity is in the transition to start and become operational.\n - RESTARTING\tThe managed entity is in the transition to stop and start again.\n", + "type": "string", + "enum": [ + "STARTED", + "STOPPED", + "STOPPING", + "STARTING", + "RESTARTING" + ] + }, + "administrativeState": { + "description": "The enumeration AdministrativeStateEnumType defines values representing the administrative state of a managed entity. The AdministrativeStateEnumType shall comply with the provisions:\n - LOCKED\tThe managed entity is administratively prohibited to be used.\n - UNLOCKED\tThe managed entity is administratively allowed to be used.\n - LOCKING\tThe managed entity is in the transition to be locked.\n", + "type": "string", + "enum": [ + "LOCKED", + "UNLOCKED", + "LOCKING" + ] + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "objectInstance": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "changeStateOpOcc": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "subscription", + "objectInstance", + "changeStateOpOcc" + ] + } + }, + "required": [ + "id", + "notificationType", + "subscriptionId", + "timestamp", + "changeStateOpOccId", + "stateChangedTime", + "changeStateOperationState", + "managedObjectRef", + "_links" + ] + } \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json new file mode 100644 index 000000000..941a4bb5c --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/schemas/InformationChangedNotification.json @@ -0,0 +1,81 @@ +{ + "description": "This type represents a notification that is sent when data about configuration and information of the NFV-MANO functional entity have been changed.\n", + "type": "object", + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "Discriminator for the different notification types. Shall be set to \"InformationChangedNotification\" for this notification type.\n", + "type": "string" + }, + "subscriptionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "informationChangedTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "manoEntityId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "changedInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "self": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + }, + "subscription": { + "description": "This type represents a link to a resource in a notification, using an absolute or relative URI.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + }, + "required": [ + "self" + ] + } + }, + "required": [ + "id", + "notificationType", + "subscriptionId", + "timeStamp", + "informationChangedTime", + "manoEntityId", + "changedInfo", + "_links" + ] + } \ No newline at end of file -- GitLab From 17203f8b1656b05ba8f5d0eccd357579cbcc4160 Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 17 Aug 2020 12:21:13 +0500 Subject: [PATCH 18/41] Added Test Cases for ApiVersion.robot --- .../ApiVersion.robot | 211 ++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot new file mode 100644 index 000000000..fac4978ca --- /dev/null +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot @@ -0,0 +1,211 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 8.3.1.13.1 + ... Test title: POST API version - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 8.3.1.13.2 + ... Test title: GET API Version + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 8.3.1.13.3 + ... Test title: PUT API Version - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 8.3.1.13.4 + ... Test title: PATCH API Version - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 8.3.1.13.5 + ... Test title: DELETE API Version - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 8.3.1.13.6 + ... Test title: POST API version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that POST method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 8.3.1.13.7 + ... Test title: GET API Version with apiMajorVerion + ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 8.3.1.13.8 + ... Test title: PUT API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PUT method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 8.3.1.13.9 + ... Test title: PATCH API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that PATCH method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 8.3.1.13.10 + ... Test title: DELETE API Version with apiMajorVerion - Method not implemented + ... Test objective: The objective is to test that DELETE method is not implemented + ... Pre-conditions: none + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_version + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK -- GitLab From d205864ddd4688c39f71f0a0a7433e8d278b809f Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 27 Aug 2020 13:53:15 +0500 Subject: [PATCH 19/41] fixed issues --- .../ChangeInterfaceStateTask.robot | 28 +++---- .../ChangeNFVMANOEntityStateTask.robot | 24 +++--- .../ChangeStateOperationOccurance.robot | 40 +++++----- ...vidualStateChangeOpperationOccurance.robot | 22 +++--- .../NFVMANOEntity.robot | 14 ++-- .../NFVMANOServiceInterface.robot | 74 +++++++++---------- 6 files changed, 101 insertions(+), 101 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot index 62b638355..76278ffc6 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -12,11 +12,11 @@ POST Change interface state task [Documentation] Test ID: 8.3.1.7.1 ... Test title: POST Change interface state task ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for Change interface state task Check HTTP Response Status Code Is 202 Check Operation Occurrence Id @@ -25,24 +25,24 @@ POST Change interface state task - Conflict [Documentation] Test ID: 8.3.1.7.2 ... Test title: POST Change interface state task - Conflict ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for Change interface state task Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails -GET Change interface state task - Conflict - Method not implemented +GET Change interface state task - Method not implemented [Documentation] Test ID: 8.3.1.7.3 - ... Test title: GET Change interface state task - Conflict - Method not implemented + ... Test title: GET Change interface state task - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Get request for Change interface state task Check HTTP Response Status Code Is 405 @@ -50,11 +50,11 @@ PUT Change interface state task - Conflict - Method not implemented [Documentation] Test ID: 8.3.1.7.4 ... Test title: PUT Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for Change interface state task Check HTTP Response Status Code Is 405 @@ -62,11 +62,11 @@ PATCH Change interface state task - Conflict - Method not implemented [Documentation] Test ID: 8.3.1.7.5 ... Test title: PATCH Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Patch request for Change interface state task Check HTTP Response Status Code Is 405 @@ -74,10 +74,10 @@ DELETE Change interface state task - Conflict - Method not implemented [Documentation] Test ID: 8.3.1.7.6 ... Test title: DELETE Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for Change interface state task Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index c1914e7c8..a4a4b9935 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -11,11 +11,11 @@ POST NFV-MANO functional entity application state change [Documentation] Test ID: 8.3.1.2.1 ... Test title: POST NFV-MANO functional entity application state change ... Test objective: The objective is to request state change of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 202 Check Operation Occurrence Id @@ -24,11 +24,11 @@ POST NFV-MANO functional entity application state change - Conflict [Documentation] Test ID: 8.3.1.2.2 ... Test title: POST NFV-MANO functional entity application state change - Conflict ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails @@ -37,11 +37,11 @@ GET NFV-MANO functional entity application state change - Method not implemented [Documentation] Test ID: 8.3.1.2.3 ... Test title: GET NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Get request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 405 @@ -49,11 +49,11 @@ PUT NFV-MANO functional entity application state change - Method not implemented [Documentation] Test ID: 8.3.1.2.4 ... Test title: PUT NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 405 @@ -61,11 +61,11 @@ PATCH NFV-MANO functional entity application state change - Method not implement [Documentation] Test ID: 8.3.1.2.5 ... Test title: PATCH NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Patch request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 405 @@ -73,10 +73,10 @@ DELETE NFV-MANO functional entity application state change - Method not implemen [Documentation] Test ID: 8.3.1.2.6 ... Test title: DELETE NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot index 323e678d4..f3bbd69d0 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot @@ -12,11 +12,11 @@ POST Change State Operation Occurance - Method not implemented [Documentation] Test ID: 8.3.1.3.1 ... Test title: POST Change State Operation Occurance - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for Change State Operation Occurance Check HTTP Response Status Code Is 405 @@ -24,11 +24,11 @@ GET Change State Operation Occurance [Documentation] Test ID: 8.3.1.3.2 ... Test title: GET Change State Operation Occurance ... Test objective: The objective is to query status information about multiple change state operation occurrences. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State OpOcc Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOccs @@ -37,11 +37,11 @@ GET Change State Operation Occurance - invalid attribute-based filter [Documentation] Test ID: 8.3.1.3.3 ... Test title: GET Change State Operation Occurance - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State OpOcc with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -50,11 +50,11 @@ GET Change State Operation Occurance - invalid attribute selector [Documentation] Test ID: 8.3.1.3.4 ... Test title: GET Change State Operation Occurance - invalid attribute selector ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State OpOcc with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -63,11 +63,11 @@ GET Change State Operation Occurance - Bad Request Response too Big [Documentation] Test ID: 8.3.1.3.5 ... Test title: GET Change State Operation Occurance - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State OpOcc Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -76,11 +76,11 @@ GET Change State Operation Occurance with attribute-based filter [Documentation] Test ID: 8.3.1.3.6 ... Test title: GET Change State Operation Occurance with attribute-based filter ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State OpOcc with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc @@ -89,11 +89,11 @@ GET Change State Operation Occurance with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.3.7 ... Test title: GET Change State Operation Occurance with "all_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurance with "all_fields" attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State OpOcc with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot index 765b7b866..dd5e63246 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot @@ -12,11 +12,11 @@ POST Individual Change State Operation Occurance - Method not implemented [Documentation] Test ID: 8.3.1.4.1 ... Test title: POST Individual Change State Operation Occurance - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for Individual Change State Operation Occurance Check HTTP Response Status Code Is 405 @@ -24,11 +24,11 @@ GET Individual Change State Operation Occurance [Documentation] Test ID: 8.3.1.4.2 ... Test title: GET Individual Change State Operation Occurance ... Test objective: The objective is to query status information about Individual change state operation occurrences. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Individual Change State OpOcc Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc @@ -37,11 +37,11 @@ PUT Individual Change State Operation Occurance - Method not implemented [Documentation] Test ID: 8.3.1.4.3 ... Test title: PUT Individual Change State Operation Occurance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for Individual Change State Operation Occurance Check HTTP Response Status Code Is 405 @@ -49,11 +49,11 @@ PATCH Individual Change State Operation Occurance - Method not implemented [Documentation] Test ID: 8.3.1.4.4 ... Test title: PATCH Individual Change State Operation Occurance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Patch request for Individual Change State Operation Occurance Check HTTP Response Status Code Is 405 @@ -61,10 +61,10 @@ DELETE Individual Change State Operation Occurance - Method not implemented [Documentation] Test ID: 8.3.1.4.5 ... Test title: DELETE Individual Change State Operation Occurance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for Individual Change State Operation Occurance Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index 2a4d56277..edbdfe53f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -12,11 +12,11 @@ POST NFV-MANO entity - Method not implemented [Documentation] Test ID: 8.3.1.1.1 ... Test title: POST NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an NFV-MANO Entity. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for NFV-MANO Entity Check HTTP Response Status Code Is 405 @@ -24,7 +24,7 @@ GET NFV-MANO entity [Documentation] Test ID: 8.3.1.1.2 ... Test title: Get NFV-MANO entity ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource and perform a JSON schema and content validation of the collected job data structure. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none @@ -37,11 +37,11 @@ PUT NFV-MANO entity - Method not implemented [Documentation] Test ID: 8.3.1.1.3 ... Test title: PUT NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for NFV-MANO Entity Check HTTP Response Status Code Is 405 @@ -88,10 +88,10 @@ DELETE NFV-MANO entity - Method not implemented [Documentation] Test ID: 8.3.1.1.7 ... Test title: DELETE NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for NFV-MANO Entity Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot index 46fcf9102..3c88c58d8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot @@ -12,11 +12,11 @@ POST NFV-MANO Serive Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.1 ... Test title: POST NFV-MANO Serive Interface - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for NFV-MANO Serive Interface Check HTTP Response Status Code Is 405 @@ -24,11 +24,11 @@ GET NFV-MANO Serive Interface [Documentation] Test ID: 8.3.1.5.2 ... Test title: GET NFV-MANO Serive Interface ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces @@ -37,11 +37,11 @@ GET NFV-MANO Serive Interface - invalid attribute-based filter [Documentation] Test ID: 8.3.1.5.3 ... Test title: GET NFV-MANO Serive Interface - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -50,11 +50,11 @@ GET NFV-MANO Serive Interface - invalid attribute selector [Documentation] Test ID: 8.3.1.5.4 ... Test title: GET NFV-MANO Serive Interface - invalid attribute selector ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -63,11 +63,11 @@ GET NFV-MANO Serive Interface - Bad Request Response too Big [Documentation] Test ID: 8.3.1.5.5 ... Test title: GET NFV-MANO Serive Interface - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -76,11 +76,11 @@ GET NFV-MANO Serive Interface with attribute-based filter [Documentation] Test ID: 8.3.1.5.6 ... Test title: GET NFV-MANO Serive Interface with attribute-based filter ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces @@ -89,11 +89,11 @@ GET NFV-MANO Serive Interface with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.5.7 ... Test title: GET NFV-MANO Serive Interface with "all_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "all_fields" attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces @@ -102,11 +102,11 @@ GET NFV-MANO Serive Interface with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.5.8 ... Test title: GET NFV-MANO Serive Interface with "exclude_default" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "exclude_default" attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces @@ -116,11 +116,11 @@ GET NFV-MANO Serive Interface with "fields" attribute selector [Documentation] Test ID: 8.3.1.5.9 ... Test title: GET NFV-MANO Serive Interface with "fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with fields attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces @@ -129,10 +129,10 @@ GET NFV-MANO Serive Interface with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.5.10 ... Test title: GET NFV-MANO Serive Interface with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "exclude_fields" attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: + ... Applicability: none ... Post-Conditions: none Get NFV-MANO Serive Interface with exclude_fields attribute selector Check HTTP Response Status Code Is 200 @@ -142,11 +142,11 @@ GET NFV-MANO Serive Interface with Paged Response [Documentation] Test ID: 8.3.1.5.11 ... Test title: GET NFV-MANO Serive Interface with Paged Response ... Test objective: The objective is to query NFV-MANO Serive Interface to get Paged Response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get NFV-MANO Serive Interface Check HTTP Response Status Code Is 200 Check LINK in Header @@ -155,11 +155,11 @@ PUT NFV-MANO Serive Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.12 ... Test title: PUT NFV-MANO Serive Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for NFV-MANO Serive Interface Check HTTP Response Status Code Is 405 @@ -167,11 +167,11 @@ PATCH NFV-MANO Serive Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.13 ... Test title: PATCH NFV-MANO Serive Interface - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Patch request for NFV-MANO Serive Interface Check HTTP Response Status Code Is 405 @@ -179,10 +179,10 @@ DELETE NFV-MANO Serive Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.14 ... Test title: DELETE NFV-MANO Serive Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for NFV-MANO Serive Interface Check HTTP Response Status Code Is 405 \ No newline at end of file -- GitLab From d4c9d68bc0085d9320c25f33690712806806325c Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 3 Sep 2020 10:20:58 +0200 Subject: [PATCH 20/41] Fixe typos on NFVMANOCIM API tests --- .../ChangeStateOperationOccurance.robot | 100 +++++++++--------- .../NFVMANOCimKeywords.robot | 64 +++++------ .../NFVMANOServiceInterface.robot | 100 +++++++++--------- 3 files changed, 132 insertions(+), 132 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot index f3bbd69d0..388272b51 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot @@ -8,181 +8,181 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -POST Change State Operation Occurance - Method not implemented +POST Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.3.1 - ... Test title: POST Change State Operation Occurance - Method not implemented + ... Test title: POST Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Post request for Change State Operation Occurance + Send Post request for Change State Operation Occurrence Check HTTP Response Status Code Is 405 -GET Change State Operation Occurance +GET Change State Operation Occurrence [Documentation] Test ID: 8.3.1.3.2 - ... Test title: GET Change State Operation Occurance + ... Test title: GET Change State Operation Occurrence ... Test objective: The objective is to query status information about multiple change state operation occurrences. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State OpOcc + Get Change State Operation Occurrence Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOccs -GET Change State Operation Occurance - invalid attribute-based filter +GET Change State Operation Occurrence - invalid attribute-based filter [Documentation] Test ID: 8.3.1.3.3 - ... Test title: GET Change State Operation Occurance - invalid attribute-based filter - ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET Change State Operation Occurrence - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrence fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State OpOcc with invalid filter + Get Change State Operation Occurrence with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Change State Operation Occurance - invalid attribute selector +GET Change State Operation Occurrence - invalid attribute selector [Documentation] Test ID: 8.3.1.3.4 - ... Test title: GET Change State Operation Occurance - invalid attribute selector - ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET Change State Operation Occurrence - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrence fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State OpOcc with invalid selector + Get Change State Operation Occurrence with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Change State Operation Occurance - Bad Request Response too Big +GET Change State Operation Occurrence - Bad Request Response too Big [Documentation] Test ID: 8.3.1.3.5 - ... Test title: GET Change State Operation Occurance - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of Change State Operation Occurance fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET Change State Operation Occurrence - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrence fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State OpOcc + Get Change State Operation Occurrence Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Change State Operation Occurance with attribute-based filter +GET Change State Operation Occurrence with attribute-based filter [Documentation] Test ID: 8.3.1.3.6 - ... Test title: GET Change State Operation Occurance with attribute-based filter + ... Test title: GET Change State Operation Occurrence with attribute-based filter ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State OpOcc with filter + Get Change State Operation Occurrence with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurance with "all_fields" attribute selector +GET Change State Operation Occurrence with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.3.7 - ... Test title: GET Change State Operation Occurance with "all_fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurance with "all_fields" attribute selector + ... Test title: GET Change State Operation Occurrence with "all_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrence with "all_fields" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State OpOcc with all_fields attribute selector + Get Change State Operation Occurrence with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurance with "exclude_default" attribute selector +GET Change State Operation Occurrence with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.3.8 - ... Test title: GET Change State Operation Occurance with "exclude_default" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurance with "exclude_default" attribute selector + ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: - Get Change State OpOcc with all_fields attribute selector + Get Change State Operation Occurrence with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurance with "fields" attribute selector +GET Change State Operation Occurrence with "fields" attribute selector [Documentation] Test ID: 8.3.1.3.9 - ... Test title: GET Change State Operation Occurance with "fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurance with fields attribute selector + ... Test title: GET Change State Operation Occurrence with "fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrence with fields attribute selector ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: - Get Change State OpOcc with fields attribute selector + Get Change State Operation Occurrence with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurance with "exclude_fields" attribute selector +GET Change State Operation Occurrence with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.3.10 - ... Test title: GET Change State Operation Occurance with "exclude_fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurance with "exclude_fields" attribute selector + ... Test title: GET Change State Operation Occurrence with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_fields" attribute selector ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: none - Get Change State OpOcc with exclude_fields attribute selector + Get Change State Operation Occurrence with exclude_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurance with Paged Response +GET Change State Operation Occurrence with Paged Response [Documentation] Test ID: 8.3.1.3.11 - ... Test title: GET Change State Operation Occurance with Paged Response - ... Test objective: The objective is to query Change State Operation Occurance to get Paged Response. + ... Test title: GET Change State Operation Occurrence with Paged Response + ... Test objective: The objective is to query Change State Operation Occurrence to get Paged Response. ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: - Get Change State OpOcc + Get Change State Operation Occurrence Check HTTP Response Status Code Is 200 Check LINK in Header -PUT Change State Operation Occurance - Method not implemented +PUT Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.3.12 - ... Test title: PUT Change State Operation Occurance - Method not implemented + ... Test title: PUT Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Put request for Change State Operation Occurance + Send Put request for Change State Operation Occurrence Check HTTP Response Status Code Is 405 -PATCH Change State Operation Occurance - Method not implemented +PATCH Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.3.13 - ... Test title: PATCH Change State Operation Occurance - Method not implemented + ... Test title: PATCH Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Patch request for Change State Operation Occurance + Send Patch request for Change State Operation Occurrence Check HTTP Response Status Code Is 405 -DELETE Change State Operation Occurance - Method not implemented +DELETE Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.3.14 - ... Test title: DELETE Change State Operation Occurance - Method not implemented + ... Test title: DELETE Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Delete request for Change State Operation Occurance + Send Delete request for Change State Operation Occurrence Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index f2a01f2aa..a6a71fa43 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -120,7 +120,7 @@ Send Delete request for NFV-MANO functional entity application state change ${output}= Output response Set Suite Variable ${response} ${output} -Send Post request for Change State Operation Occurance +Send Post request for Change State Operation Occurrence Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -128,7 +128,7 @@ Send Post request for Change State Operation Occurance ${output}= Output response Set Suite Variable ${response} ${output} -Get Change State OpOcc +Get Change State Operation Occurrence Log Query to GET information about multiple change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -137,7 +137,7 @@ Get Change State OpOcc ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State OpOcc with invalid filter +Get Change State Operation Occurrence with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -145,7 +145,7 @@ Get Change State OpOcc with invalid filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State OpOcc with invalid selector +Get Change State Operation Occurrence with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -153,7 +153,7 @@ Get Change State OpOcc with invalid selector ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State OpOcc with filter +Get Change State Operation Occurrence with filter Log Query information about multiple change state operation occurrences with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -162,7 +162,7 @@ Get Change State OpOcc with filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State OpOcc with all_fields attribute selector +Get Change State Operation Occurrence with all_fields attribute selector Log Queries information about multiple change state operation occurrences, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -170,7 +170,7 @@ Get Change State OpOcc with all_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get Change State OpOcc with fields attribute selector +Get Change State Operation Occurrence with fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -178,7 +178,7 @@ Get Change State OpOcc with fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get Change State OpOcc with exclude_fields attribute selector +Get Change State Operation Occurrence with exclude_fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -190,7 +190,7 @@ Check LINK in Header ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} -Send PUT request for Change State Operation Occurance +Send PUT request for Change State Operation Occurrence log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -198,7 +198,7 @@ Send PUT request for Change State Operation Occurance ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PATCH request for Change State Operation Occurance +Send PATCH request for Change State Operation Occurrence log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -206,7 +206,7 @@ Send PATCH request for Change State Operation Occurance ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send DELETE request for Change State Operation Occurance +Send DELETE request for Change State Operation Occurrence log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -214,7 +214,7 @@ Send DELETE request for Change State Operation Occurance ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Post request for Individual Change State Operation Occurance +Send Post request for Individual Change State Operation Occurrence Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -222,7 +222,7 @@ Send Post request for Individual Change State Operation Occurance ${output}= Output response Set Suite Variable ${response} ${output} -Get Individual Change State OpOcc +Get Individual Change State Operation Occurrence Log Query to GET information about individual change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -231,7 +231,7 @@ Get Individual Change State OpOcc ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PUT request for Individual Change State Operation Occurance +Send PUT request for Individual Change State Operation Occurrence log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -239,7 +239,7 @@ Send PUT request for Individual Change State Operation Occurance ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PATCH request for Individual Change State Operation Occurance +Send PATCH request for Individual Change State Operation Occurrence log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -247,7 +247,7 @@ Send PATCH request for Individual Change State Operation Occurance ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send DELETE request for Individual Change State Operation Occurance +Send DELETE request for Individual Change State Operation Occurrence log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -255,7 +255,7 @@ Send DELETE request for Individual Change State Operation Occurance ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Post request for NFV-MANO Serive Interface +Send Post request for NFV-MANO Service Interface Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -263,7 +263,7 @@ Send Post request for NFV-MANO Serive Interface ${output}= Output response Set Suite Variable ${response} ${output} -Get NFV-MANO Serive Interface +Get NFV-MANO Service Interface Log Query to GET information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -272,7 +272,7 @@ Get NFV-MANO Serive Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Serive Interface with invalid filter +Get NFV-MANO Service Interface with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -280,7 +280,7 @@ Get NFV-MANO Serive Interface with invalid filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Serive Interface with invalid selector +Get NFV-MANO Service Interface with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -288,7 +288,7 @@ Get NFV-MANO Serive Interface with invalid selector ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Serive Interface with filter +Get NFV-MANO Service Interface with filter Log Query information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -297,7 +297,7 @@ Get NFV-MANO Serive Interface with filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Serive Interface with all_fields attribute selector +Get NFV-MANO Service Interface with all_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -305,7 +305,7 @@ Get NFV-MANO Serive Interface with all_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get NFV-MANO Serive Interface with fields attribute selector +Get NFV-MANO Service Interface with fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -313,7 +313,7 @@ Get NFV-MANO Serive Interface with fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get NFV-MANO Serive Interface with exclude_fields attribute selector +Get NFV-MANO Service Interface with exclude_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -321,7 +321,7 @@ Get NFV-MANO Serive Interface with exclude_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Send PUT request for NFV-MANO Serive Interface +Send PUT request for NFV-MANO Service Interface log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -329,7 +329,7 @@ Send PUT request for NFV-MANO Serive Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PATCH request for NFV-MANO Serive Interface +Send PATCH request for NFV-MANO Service Interface log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -337,7 +337,7 @@ Send PATCH request for NFV-MANO Serive Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send DELETE request for NFV-MANO Serive Interface +Send DELETE request for NFV-MANO Service Interface log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -345,7 +345,7 @@ Send DELETE request for NFV-MANO Serive Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Post request for Individual NFV-MANO Serive Interface +Send Post request for Individual NFV-MANO Service Interface Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -353,7 +353,7 @@ Send Post request for Individual NFV-MANO Serive Interface ${output}= Output response Set Suite Variable ${response} ${output} -Get Individual NFV-MANO Serive Interface +Get Individual NFV-MANO Service Interface Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -361,7 +361,7 @@ Get Individual NFV-MANO Serive Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Put request for Individual NFV-MANO Serive Interface +Send Put request for Individual NFV-MANO Service Interface log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -369,7 +369,7 @@ Send Put request for Individual NFV-MANO Serive Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Patch request for Individual NFV-MANO Serive Interface +Send Patch request for Individual NFV-MANO Service Interface log Trying to modify an NFV-MANO Entity Set Headers {"Accept":"${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} @@ -379,7 +379,7 @@ Send Patch request for Individual NFV-MANO Serive Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Delete request for Individual NFV-MANO Serive Interface +Send Delete request for Individual NFV-MANO Service Interface log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot index 3c88c58d8..4badcf112 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot @@ -8,181 +8,181 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -POST NFV-MANO Serive Interface - Method not implemented +POST NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.1 - ... Test title: POST NFV-MANO Serive Interface - Method not implemented + ... Test title: POST NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Post request for NFV-MANO Serive Interface + Send Post request for NFV-MANO Service Interface Check HTTP Response Status Code Is 405 -GET NFV-MANO Serive Interface +GET NFV-MANO Service Interface [Documentation] Test ID: 8.3.1.5.2 - ... Test title: GET NFV-MANO Serive Interface + ... Test title: GET NFV-MANO Service Interface ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface + Get NFV-MANO Service Interface Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Serive Interface - invalid attribute-based filter +GET NFV-MANO Service Interface - invalid attribute-based filter [Documentation] Test ID: 8.3.1.5.3 - ... Test title: GET NFV-MANO Serive Interface - invalid attribute-based filter - ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET NFV-MANO Service Interface - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interface fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface with invalid filter + Get NFV-MANO Service Interface with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET NFV-MANO Serive Interface - invalid attribute selector +GET NFV-MANO Service Interface - invalid attribute selector [Documentation] Test ID: 8.3.1.5.4 - ... Test title: GET NFV-MANO Serive Interface - invalid attribute selector - ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET NFV-MANO Service Interface - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interface fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface with invalid selector + Get NFV-MANO Service Interface with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET NFV-MANO Serive Interface - Bad Request Response too Big +GET NFV-MANO Service Interface - Bad Request Response too Big [Documentation] Test ID: 8.3.1.5.5 - ... Test title: GET NFV-MANO Serive Interface - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of NFV-MANO Serive Interface fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET NFV-MANO Service Interface - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interface fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface + Get NFV-MANO Service Interface Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET NFV-MANO Serive Interface with attribute-based filter +GET NFV-MANO Service Interface with attribute-based filter [Documentation] Test ID: 8.3.1.5.6 - ... Test title: GET NFV-MANO Serive Interface with attribute-based filter + ... Test title: GET NFV-MANO Service Interface with attribute-based filter ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface with filter + Get NFV-MANO Service Interface with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Serive Interface with "all_fields" attribute selector +GET NFV-MANO Service Interface with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.5.7 - ... Test title: GET NFV-MANO Serive Interface with "all_fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "all_fields" attribute selector + ... Test title: GET NFV-MANO Service Interface with "all_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interface with "all_fields" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface with all_fields attribute selector + Get NFV-MANO Service Interface with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Serive Interface with "exclude_default" attribute selector +GET NFV-MANO Service Interface with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.5.8 - ... Test title: GET NFV-MANO Serive Interface with "exclude_default" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "exclude_default" attribute selector + ... Test title: GET NFV-MANO Service Interface with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interface with "exclude_default" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface with all_fields attribute selector + Get NFV-MANO Service Interface with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Serive Interface with "fields" attribute selector +GET NFV-MANO Service Interface with "fields" attribute selector [Documentation] Test ID: 8.3.1.5.9 - ... Test title: GET NFV-MANO Serive Interface with "fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with fields attribute selector + ... Test title: GET NFV-MANO Service Interface with "fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interface with fields attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface with fields attribute selector + Get NFV-MANO Service Interface with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Serive Interface with "exclude_fields" attribute selector +GET NFV-MANO Service Interface with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.5.10 - ... Test title: GET NFV-MANO Serive Interface with "exclude_fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Serive Interface with "exclude_fields" attribute selector + ... Test title: GET NFV-MANO Service Interface with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interface with "exclude_fields" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface with exclude_fields attribute selector + Get NFV-MANO Service Interface with exclude_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Serive Interface with Paged Response +GET NFV-MANO Service Interface with Paged Response [Documentation] Test ID: 8.3.1.5.11 - ... Test title: GET NFV-MANO Serive Interface with Paged Response - ... Test objective: The objective is to query NFV-MANO Serive Interface to get Paged Response. + ... Test title: GET NFV-MANO Service Interface with Paged Response + ... Test objective: The objective is to query NFV-MANO Service Interface to get Paged Response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Serive Interface + Get NFV-MANO Service Interface Check HTTP Response Status Code Is 200 Check LINK in Header -PUT NFV-MANO Serive Interface - Method not implemented +PUT NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.12 - ... Test title: PUT NFV-MANO Serive Interface - Method not implemented + ... Test title: PUT NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Put request for NFV-MANO Serive Interface + Send Put request for NFV-MANO Service Interface Check HTTP Response Status Code Is 405 -PATCH NFV-MANO Serive Interface - Method not implemented +PATCH NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.13 - ... Test title: PATCH NFV-MANO Serive Interface - Method not implemented + ... Test title: PATCH NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Patch request for NFV-MANO Serive Interface + Send Patch request for NFV-MANO Service Interface Check HTTP Response Status Code Is 405 -DELETE NFV-MANO Serive Interface - Method not implemented +DELETE NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.5.14 - ... Test title: DELETE NFV-MANO Serive Interface - Method not implemented + ... Test title: DELETE NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Delete request for NFV-MANO Serive Interface + Send Delete request for NFV-MANO Service Interface Check HTTP Response Status Code Is 405 \ No newline at end of file -- GitLab From e4c48d6af7971dfd6af6180a3efbda62dfeb2160 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 3 Sep 2020 16:04:38 +0500 Subject: [PATCH 21/41] added new test case in NFVMANOEntity --- .../NFVMANOEntity.robot | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index edbdfe53f..d3b9e2fd4 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -33,8 +33,22 @@ GET NFV-MANO entity Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoEntity -PUT NFV-MANO entity - Method not implemented +GET NFV-MANO entity - Not Found [Documentation] Test ID: 8.3.1.1.3 + ... Test title: Get NFV-MANO entity - Not Found + ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource fails when the resource is not present and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET NFV-MANO entity resource + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + + +PUT NFV-MANO entity - Method not implemented + [Documentation] Test ID: 8.3.1.1.4 ... Test title: PUT NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. ... Pre-conditions: none @@ -46,7 +60,7 @@ PUT NFV-MANO entity - Method not implemented Check HTTP Response Status Code Is 405 PATCH NFV-MANO entity - [Documentation] Test ID: 8.3.1.1.4 + [Documentation] Test ID: 8.3.1.1.5 ... Test title: PATCH NFV-MANO entity ... Test objective: This method modifies the NFV-MANO entity resource ... Pre-conditions: NFV-MANO entity resource is already created. @@ -59,7 +73,7 @@ PATCH NFV-MANO entity Check HTTP Response Body Json Schema Is ManoConfigModifications PATCH NFV-MANO entity - Conflict - [Documentation] Test ID: 8.3.1.1.5 + [Documentation] Test ID: 8.3.1.1.6 ... Test title: PATCH NFV-MANO entity - Conflict ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. @@ -72,7 +86,7 @@ PATCH NFV-MANO entity - Conflict Check HTTP Response Body Json Schema Is ProblemDetails PATCH NFV-MANO entity - PreCondition Failed - [Documentation] Test ID: 8.3.1.1.6 + [Documentation] Test ID: 8.3.1.1.7 ... Test title: PATCH NFV-MANO entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. @@ -85,7 +99,7 @@ PATCH NFV-MANO entity - PreCondition Failed Check HTTP Response Body Json Schema Is ProblemDetails DELETE NFV-MANO entity - Method not implemented - [Documentation] Test ID: 8.3.1.1.7 + [Documentation] Test ID: 8.3.1.1.8 ... Test title: DELETE NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. ... Pre-conditions: none -- GitLab From 858b4a3992711b8a3531136573ce76dcfb7da35d Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 3 Sep 2020 17:46:17 +0500 Subject: [PATCH 22/41] fix typo --- .../NFVMANOEntity.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index d3b9e2fd4..113a69e6c 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -43,7 +43,7 @@ GET NFV-MANO entity - Not Found ... Applicability: none ... Post-Conditions: none GET NFV-MANO entity resource - Check HTTP Response Status Code Is 404 + Check HTTP Response Status Code Is 404 Check HTTP Response Body Json Schema Is ProblemDetails -- GitLab From 14a0a24be2048638fa12f6be62bb97f422f058d6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 9 Sep 2020 18:02:43 +0200 Subject: [PATCH 23/41] fixed typos and added missing documentation --- .../NFVMANOCimKeywords.robot | 20 +-- .../PeerEntities.robot | 130 +++++++++--------- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index a6a71fa43..280de0257 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -440,7 +440,7 @@ Send Post request for Peer Entity ${output}= Output response Set Suite Variable ${response} ${output} -Get Peer Entity +Get Peer Entities Log Query to GET information about multiple peer entities. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -449,7 +449,7 @@ Get Peer Entity ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Peer Entity with invalid filter +Get Peer Entities with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -457,7 +457,7 @@ Get Peer Entity with invalid filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Peer Entity with invalid selector +Get Peer Entities with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -465,7 +465,7 @@ Get Peer Entity with invalid selector ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Peer Entity with filter +Get Peer Entities with filter Log Query information about multiple peer entities with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -474,7 +474,7 @@ Get Peer Entity with filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Peer Entity with all_fields attribute selector +Get Peer Entities with all_fields attribute selector Log Queries information about multiple peer entities, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -482,7 +482,7 @@ Get Peer Entity with all_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get Peer Entity with fields attribute selector +Get Peer Entities with fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -490,7 +490,7 @@ Get Peer Entity with fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get Peer Entity with exclude_fields attribute selector +Get Peer Entities with exclude_fields attribute selector Log Queries information about multiple peer entities, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -498,7 +498,7 @@ Get Peer Entity with exclude_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Send PUT request for Peer Entity +Send PUT request for Peer Entities log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -506,7 +506,7 @@ Send PUT request for Peer Entity ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PATCH request for Peer Entity +Send PATCH request for Peer Entities log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -514,7 +514,7 @@ Send PATCH request for Peer Entity ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send DELETE request for Peer Entity +Send DELETE request for Peer Entities log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index e40ee058a..8283e094f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -11,132 +11,132 @@ Library MockServerLibrary POST Peer Entity [Documentation] Test ID: 8.3.1.8.1 ... Test title: POST Peer Entity - ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity. - ... Pre-conditions: + ... Test objective: The objective is to create in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity. + ... Pre-conditions: none ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for Peer Entity Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is PeerEntity Check Operation Occurrence Id -GET Peer Entity +GET Peer Entities [Documentation] Test ID: 8.3.1.8.2 - ... Test title: GET Peer Entity - ... Test objective: The objective is to queries information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities. + ... Test title: GET Peer Entities + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities -GET Peer Entity - invalid attribute-based filter +GET Peer Entities - invalid attribute-based filter [Documentation] Test ID: 8.3.1.8.3 - ... Test title: GET Peer Entity - invalid attribute-based filter + ... Test title: GET Peer Entities - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity with invalid filter + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Peer Entity - invalid attribute selector +GET Peer Entities - invalid attribute selector [Documentation] Test ID: 8.3.1.8.4 - ... Test title: GET Peer Entity - invalid attribute selector + ... Test title: GET Peer Entities - invalid attribute selector ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity with invalid selector + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Peer Entity - Bad Request Response too Big +GET Peer Entities - Bad Request Response too Big [Documentation] Test ID: 8.3.1.8.5 - ... Test title: GET Peer Entity - Bad Request Response too Big + ... Test title: GET Peer Entities - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Peer Entity with attribute-based filter +GET Peer Entities with attribute-based filter [Documentation] Test ID: 8.3.1.8.6 - ... Test title: GET Peer Entity with attribute-based filter + ... Test title: GET Peer Entities with attribute-based filter ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity with filter + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities -GET Peer Entity with "all_fields" attribute selector +GET Peer Entities with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.8.7 - ... Test title: GET Peer Entity with "all_fields" attribute selector + ... Test title: GET Peer Entities with "all_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity with all_fields attribute selector + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities -GET Peer Entity with "exclude_default" attribute selector +GET Peer Entities with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.8.8 - ... Test title: GET Peer Entity with "exclude_default" attribute selector + ... Test title: GET Peer Entities with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity with all_fields attribute selector + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities -GET Peer Entity with "fields" attribute selector +GET Peer Entities with "fields" attribute selector [Documentation] Test ID: 8.3.1.8.9 - ... Test title: GET Peer Entity with "fields" attribute selector + ... Test title: GET Peer Entities with "fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity with fields attribute selector + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities -GET Peer Entity with "exclude_fields" attribute selector +GET Peer Entities with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.8.10 - ... Test title: GET Peer Entity with "exclude_fields" attribute selector + ... Test title: GET Peer Entities with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: + ... Applicability: none ... Post-Conditions: none - Get Peer Entity with exclude_fields attribute selector + Get Peer Entities with exclude_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities @@ -147,44 +147,44 @@ GET Peer Entity with Paged Response ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Peer Entity + ... Applicability: none + ... Post-Conditions: none + Get Peer Entities Check HTTP Response Status Code Is 200 Check LINK in Header -PUT Peer Entity - Method not implemented +PUT Peer Entities - Method not implemented [Documentation] Test ID: 8.3.1.8.12 - ... Test title: PUT Peer Entity - Method not implemented + ... Test title: PUT Peer Entities - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: - Send Put request for Peer Entity + ... Post-Conditions: none + Send Put request for Peer Entities Check HTTP Response Status Code Is 405 -PATCH Peer Entity - Method not implemented +PATCH Peer Entities - Method not implemented [Documentation] Test ID: 8.3.1.8.13 - ... Test title: PATCH Peer Entity - Method not implemented + ... Test title: PATCH Peer Entities - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: - Send Patch request for Peer Entity + ... Post-Conditions: none + Send Patch request for Peer Entities Check HTTP Response Status Code Is 405 -DELETE Peer Entity - Method not implemented +DELETE Peer Entities - Method not implemented [Documentation] Test ID: 8.3.1.8.14 - ... Test title: DELETE Peer Entity - Method not implemented + ... Test title: DELETE Peer Entities - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: - Send Delete request for Peer Entity + ... Post-Conditions: none + Send Delete request for Peer Entities Check HTTP Response Status Code Is 405 \ No newline at end of file -- GitLab From a018c5429ad984ff6cfd45080a1073451b2de7e2 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 9 Sep 2020 18:30:20 +0200 Subject: [PATCH 24/41] fixed typos and updated NFVMANOCim tests --- .../ChangeNFVMANOEntityStateTask.robot | 2 +- ... => ChangeStateOperationOccurrences.robot} | 100 +++++++++--------- ...vidualStateChangeOpperationOccurance.robot | 32 +++--- .../NFVMANOCimKeywords.robot | 22 ++-- 4 files changed, 78 insertions(+), 78 deletions(-) rename SOL009/NFVManoConfigurationAndInformationManagement-API/{ChangeStateOperationOccurance.robot => ChangeStateOperationOccurrences.robot} (61%) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index a4a4b9935..ae6bd72be 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -23,7 +23,7 @@ POST NFV-MANO functional entity application state change POST NFV-MANO functional entity application state change - Conflict [Documentation] Test ID: 8.3.1.2.2 ... Test title: POST NFV-MANO functional entity application state change - Conflict - ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application fails due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot similarity index 61% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot rename to SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot index 388272b51..fec1d7b69 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot @@ -8,181 +8,181 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -POST Change State Operation Occurrence - Method not implemented +POST Change State Operation Occurrences - Method not implemented [Documentation] Test ID: 8.3.1.3.1 - ... Test title: POST Change State Operation Occurrence - Method not implemented + ... Test title: POST Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Post request for Change State Operation Occurrence + Send Post request for Change State Operation Occurrences Check HTTP Response Status Code Is 405 -GET Change State Operation Occurrence +GET Change State Operation Occurrences [Documentation] Test ID: 8.3.1.3.2 - ... Test title: GET Change State Operation Occurrence + ... Test title: GET Change State Operation Occurrences ... Test objective: The objective is to query status information about multiple change state operation occurrences. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State Operation Occurrence + Get Change State Operation Occurrences Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOccs -GET Change State Operation Occurrence - invalid attribute-based filter +GET Change State Operation Occurrences - invalid attribute-based filter [Documentation] Test ID: 8.3.1.3.3 - ... Test title: GET Change State Operation Occurrence - invalid attribute-based filter - ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrence fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET Change State Operation Occurrences - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State Operation Occurrence with invalid filter + Get Change State Operation Occurrences with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Change State Operation Occurrence - invalid attribute selector +GET Change State Operation Occurrences - invalid attribute selector [Documentation] Test ID: 8.3.1.3.4 - ... Test title: GET Change State Operation Occurrence - invalid attribute selector - ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrence fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET Change State Operation Occurrences - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State Operation Occurrence with invalid selector + Get Change State Operation Occurrences with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Change State Operation Occurrence - Bad Request Response too Big +GET Change State Operation Occurrences - Bad Request Response too Big [Documentation] Test ID: 8.3.1.3.5 - ... Test title: GET Change State Operation Occurrence - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrence fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET Change State Operation Occurrences - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State Operation Occurrence + Get Change State Operation Occurrences Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET Change State Operation Occurrence with attribute-based filter +GET Change State Operation Occurrences with attribute-based filter [Documentation] Test ID: 8.3.1.3.6 - ... Test title: GET Change State Operation Occurrence with attribute-based filter + ... Test title: GET Change State Operation Occurrences with attribute-based filter ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State Operation Occurrence with filter + Get Change State Operation Occurrences with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurrence with "all_fields" attribute selector +GET Change State Operation Occurrences with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.3.7 - ... Test title: GET Change State Operation Occurrence with "all_fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrence with "all_fields" attribute selector + ... Test title: GET Change State Operation Occurrences with "all_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with "all_fields" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State Operation Occurrence with all_fields attribute selector + Get Change State Operation Occurrences with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurrence with "exclude_default" attribute selector +GET Change State Operation Occurrences with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.3.8 - ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector + ... Test title: GET Change State Operation Occurrences with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_default" attribute selector ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: - Get Change State Operation Occurrence with all_fields attribute selector + Get Change State Operation Occurrences with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurrence with "fields" attribute selector +GET Change State Operation Occurrences with "fields" attribute selector [Documentation] Test ID: 8.3.1.3.9 - ... Test title: GET Change State Operation Occurrence with "fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrence with fields attribute selector + ... Test title: GET Change State Operation Occurrences with "fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields attribute selector ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: - Get Change State Operation Occurrence with fields attribute selector + Get Change State Operation Occurrences with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurrence with "exclude_fields" attribute selector +GET Change State Operation Occurrences with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.3.10 - ... Test title: GET Change State Operation Occurrence with "exclude_fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_fields" attribute selector + ... Test title: GET Change State Operation Occurrences with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_fields" attribute selector ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: none - Get Change State Operation Occurrence with exclude_fields attribute selector + Get Change State Operation Occurrences with exclude_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -GET Change State Operation Occurrence with Paged Response +GET Change State Operation Occurrences with Paged Response [Documentation] Test ID: 8.3.1.3.11 - ... Test title: GET Change State Operation Occurrence with Paged Response - ... Test objective: The objective is to query Change State Operation Occurrence to get Paged Response. + ... Test title: GET Change State Operation Occurrences with Paged Response + ... Test objective: The objective is to query Change State Operation Occurrences to get Paged Response. ... Pre-conditions: ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: - Get Change State Operation Occurrence + Get Change State Operation Occurrences Check HTTP Response Status Code Is 200 Check LINK in Header -PUT Change State Operation Occurrence - Method not implemented +PUT Change State Operation Occurrences - Method not implemented [Documentation] Test ID: 8.3.1.3.12 - ... Test title: PUT Change State Operation Occurrence - Method not implemented + ... Test title: PUT Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Put request for Change State Operation Occurrence + Send Put request for Change State Operation Occurrences Check HTTP Response Status Code Is 405 -PATCH Change State Operation Occurrence - Method not implemented +PATCH Change State Operation Occurrences - Method not implemented [Documentation] Test ID: 8.3.1.3.13 - ... Test title: PATCH Change State Operation Occurrence - Method not implemented + ... Test title: PATCH Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Patch request for Change State Operation Occurrence + Send Patch request for Change State Operation Occurrences Check HTTP Response Status Code Is 405 -DELETE Change State Operation Occurrence - Method not implemented +DELETE Change State Operation Occurrences - Method not implemented [Documentation] Test ID: 8.3.1.3.14 - ... Test title: DELETE Change State Operation Occurrence - Method not implemented + ... Test title: DELETE Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Delete request for Change State Operation Occurrence + Send Delete request for Change State Operation Occurrences Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot index dd5e63246..ccd61f63b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot @@ -8,63 +8,63 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -POST Individual Change State Operation Occurance - Method not implemented +POST Individual Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.4.1 - ... Test title: POST Individual Change State Operation Occurance - Method not implemented + ... Test title: POST Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Post request for Individual Change State Operation Occurance + Send Post request for Individual Change State Operation Occurrence Check HTTP Response Status Code Is 405 -GET Individual Change State Operation Occurance +GET Individual Change State Operation Occurrence [Documentation] Test ID: 8.3.1.4.2 - ... Test title: GET Individual Change State Operation Occurance - ... Test objective: The objective is to query status information about Individual change state operation occurrences. + ... Test title: GET Individual Change State Operation Occurrence + ... Test objective: The objective is to query status information about Individual change state operation occurrence. ... Pre-conditions: none ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Individual Change State OpOcc + Get Individual Change State Operation Occurrence Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -PUT Individual Change State Operation Occurance - Method not implemented +PUT Individual Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.4.3 - ... Test title: PUT Individual Change State Operation Occurance - Method not implemented + ... Test title: PUT Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Put request for Individual Change State Operation Occurance + Send Put request for Individual Change State Operation Occurrence Check HTTP Response Status Code Is 405 -PATCH Individual Change State Operation Occurance - Method not implemented +PATCH Individual Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.4.4 - ... Test title: PATCH Individual Change State Operation Occurance - Method not implemented + ... Test title: PATCH Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Patch request for Individual Change State Operation Occurance + Send Patch request for Individual Change State Operation Occurrence Check HTTP Response Status Code Is 405 -DELETE Individual Change State Operation Occurance - Method not implemented +DELETE Individual Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.4.5 - ... Test title: DELETE Individual Change State Operation Occurance - Method not implemented + ... Test title: DELETE Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Delete request for Individual Change State Operation Occurance + Send Delete request for Individual Change State Operation Occurrence Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 280de0257..9549bd2c1 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -120,7 +120,7 @@ Send Delete request for NFV-MANO functional entity application state change ${output}= Output response Set Suite Variable ${response} ${output} -Send Post request for Change State Operation Occurrence +Send Post request for Change State Operation Occurrences Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -128,7 +128,7 @@ Send Post request for Change State Operation Occurrence ${output}= Output response Set Suite Variable ${response} ${output} -Get Change State Operation Occurrence +Get Change State Operation Occurrences Log Query to GET information about multiple change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -137,7 +137,7 @@ Get Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State Operation Occurrence with invalid filter +Get Change State Operation Occurrences with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -145,7 +145,7 @@ Get Change State Operation Occurrence with invalid filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State Operation Occurrence with invalid selector +Get Change State Operation Occurrences with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -153,7 +153,7 @@ Get Change State Operation Occurrence with invalid selector ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State Operation Occurrence with filter +Get Change State Operation Occurrences with filter Log Query information about multiple change state operation occurrences with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -162,7 +162,7 @@ Get Change State Operation Occurrence with filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get Change State Operation Occurrence with all_fields attribute selector +Get Change State Operation Occurrences with all_fields attribute selector Log Queries information about multiple change state operation occurrences, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -170,7 +170,7 @@ Get Change State Operation Occurrence with all_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get Change State Operation Occurrence with fields attribute selector +Get Change State Operation Occurrences with fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -178,7 +178,7 @@ Get Change State Operation Occurrence with fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get Change State Operation Occurrence with exclude_fields attribute selector +Get Change State Operation Occurrences with exclude_fields attribute selector Log Queries information about multiple change state operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -190,7 +190,7 @@ Check LINK in Header ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} -Send PUT request for Change State Operation Occurrence +Send PUT request for Change State Operation Occurrences log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -198,7 +198,7 @@ Send PUT request for Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PATCH request for Change State Operation Occurrence +Send PATCH request for Change State Operation Occurrences log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -206,7 +206,7 @@ Send PATCH request for Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send DELETE request for Change State Operation Occurrence +Send DELETE request for Change State Operation Occurrences log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} -- GitLab From 5adff7b0b8a30cb4c9ded1c860e5c7b59aeb79c9 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 9 Sep 2020 18:30:58 +0200 Subject: [PATCH 25/41] renamed NFVMANOCim robot file --- ...rance.robot => IndividualStateChangeOperationOccurrence.robot} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename SOL009/NFVManoConfigurationAndInformationManagement-API/{IndividualStateChangeOpperationOccurance.robot => IndividualStateChangeOperationOccurrence.robot} (100%) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot similarity index 100% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOpperationOccurance.robot rename to SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot -- GitLab From a10e229ee8f77638f17a3f86087ed5956dfe732f Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 9 Sep 2020 18:36:10 +0200 Subject: [PATCH 26/41] fixed NFVMANOCim NFVMANO interface(s) --- .../IndividualNFVMANOServiceInterface.robot | 60 ++++++------ .../NFVMANOCimKeywords.robot | 22 ++--- .../NFVMANOServiceInterface.robot | 96 +++++++++---------- 3 files changed, 89 insertions(+), 89 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index f5815448d..55008b4a3 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -8,90 +8,90 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -POST Individual NFV-MANO Serive Interface - Method not implemented +POST Individual NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.6.1 - ... Test title: POST Individual NFV-MANO Serive Interface - Method not implemented + ... Test title: POST Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Post request for Individual NFV-MANO Serive Interface + Send Post request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 405 -GET Individual NFV-MANO Serive Interface +GET Individual NFV-MANO Service Interface [Documentation] Test ID: 8.3.1.6.2 - ... Test title: GET Individual NFV-MANO Serive Interface + ... Test title: GET Individual NFV-MANO Service Interface ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource. ... Pre-conditions: ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: - Get Individual NFV-MANO Serive Interface + Get Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterface -PUT Individual NFV-MANO Serive Interface - Method not implemented +PUT Individual NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.6.3 - ... Test title: PUT Individual NFV-MANO Serive Interface - Method not implemented + ... Test title: PUT Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Put request for Individual NFV-MANO Serive Interface + Send Put request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 405 -PATCH Individual NFV-MANO Serive Interface +PATCH Individual NFV-MANO Service Interface [Documentation] Test ID: 8.3.1.6.4 - ... Test title: PATCH Individual NFV-MANO Serive Interface - ... Test objective: This method modifies the Individual NFV-MANO Serive Interface resource - ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Test title: PATCH Individual NFV-MANO Service Interface + ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The Individual NFV-MANO Serive Interface is modified by the operation - Send Patch request for Individual NFV-MANO Serive Interface + ... Post-Conditions: The Individual NFV-MANO Service Interface is modified by the operation + Send Patch request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications -PATCH Individual NFV-MANO Serive Interface - Conflict +PATCH Individual NFV-MANO Service Interface - Conflict [Documentation] Test ID: 8.3.1.6.5 - ... Test title: PATCH Individual NFV-MANO Serive Interface - Conflict - ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Serive Interface resource failed due to a conflict with the state of the Individual NFV-MANO Serive Interface resource and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Serive Interface resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The Individual NFV-MANO Serive Interface is not modified by the operation - Send Patch request for Individual NFV-MANO Serive Interface + ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails -PATCH Individual NFV-MANO Serive Interface - PreCondition Failed +PATCH Individual NFV-MANO Service Interface - PreCondition Failed [Documentation] Test ID: 8.3.1.6.6 - ... Test title: PATCH Individual NFV-MANO Serive Interface - PreCondition Failed - ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Serive Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Test title: PATCH Individual NFV-MANO Service Interface - PreCondition Failed + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The Individual NFV-MANO Serive Interface is not modified by the operation - Send Patch request for Individual NFV-MANO Serive Interface + ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 412 Check HTTP Response Body Json Schema Is ProblemDetails -DELETE Individual NFV-MANO Serive Interface - Method not implemented +DELETE Individual NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.6.7 - ... Test title: DELETE Individual NFV-MANO Serive Interface - Method not implemented + ... Test title: DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: - Send Delete request for Individual NFV-MANO Serive Interface + Send Delete request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 9549bd2c1..d9b4e3a2e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -255,7 +255,7 @@ Send DELETE request for Individual Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Post request for NFV-MANO Service Interface +Send Post request for NFV-MANO Service Interfaces Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -263,7 +263,7 @@ Send Post request for NFV-MANO Service Interface ${output}= Output response Set Suite Variable ${response} ${output} -Get NFV-MANO Service Interface +Get NFV-MANO Service Interfaces Log Query to GET information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -272,7 +272,7 @@ Get NFV-MANO Service Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Service Interface with invalid filter +Get NFV-MANO Service Interfaces with invalid filter Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -280,7 +280,7 @@ Get NFV-MANO Service Interface with invalid filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Service Interface with invalid selector +Get NFV-MANO Service Interfaces with invalid selector Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response @@ -288,7 +288,7 @@ Get NFV-MANO Service Interface with invalid selector ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Service Interface with filter +Get NFV-MANO Service Interfaces with filter Log Query information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity with attribute filters. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -297,7 +297,7 @@ Get NFV-MANO Service Interface with filter ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get NFV-MANO Service Interface with all_fields attribute selector +Get NFV-MANO Service Interfaces with all_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -305,7 +305,7 @@ Get NFV-MANO Service Interface with all_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get NFV-MANO Service Interface with fields attribute selector +Get NFV-MANO Service Interfaces with fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -313,7 +313,7 @@ Get NFV-MANO Service Interface with fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Get NFV-MANO Service Interface with exclude_fields attribute selector +Get NFV-MANO Service Interfaces with exclude_fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -321,7 +321,7 @@ Get NFV-MANO Service Interface with exclude_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Send PUT request for NFV-MANO Service Interface +Send PUT request for NFV-MANO Service Interfaces log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -329,7 +329,7 @@ Send PUT request for NFV-MANO Service Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PATCH request for NFV-MANO Service Interface +Send PATCH request for NFV-MANO Service Interfaces log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -337,7 +337,7 @@ Send PATCH request for NFV-MANO Service Interface ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send DELETE request for NFV-MANO Service Interface +Send DELETE request for NFV-MANO Service Interfaces log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot index 4badcf112..ba1c97bf2 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot @@ -8,181 +8,181 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -POST NFV-MANO Service Interface - Method not implemented +POST NFV-MANO Service Interfaces - Method not implemented [Documentation] Test ID: 8.3.1.5.1 - ... Test title: POST NFV-MANO Service Interface - Method not implemented + ... Test title: POST NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Post request for NFV-MANO Service Interface + Send Post request for NFV-MANO Service Interfaces Check HTTP Response Status Code Is 405 -GET NFV-MANO Service Interface +GET NFV-MANO Service Interfaces [Documentation] Test ID: 8.3.1.5.2 - ... Test title: GET NFV-MANO Service Interface + ... Test title: GET NFV-MANO Service Interfaces ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface + Get NFV-MANO Service Interfaces Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Service Interface - invalid attribute-based filter +GET NFV-MANO Service Interfaces - invalid attribute-based filter [Documentation] Test ID: 8.3.1.5.3 - ... Test title: GET NFV-MANO Service Interface - invalid attribute-based filter - ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interface fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET NFV-MANO Service Interfaces - invalid attribute-based filter + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface with invalid filter + Get NFV-MANO Service Interfaces with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET NFV-MANO Service Interface - invalid attribute selector +GET NFV-MANO Service Interfaces - invalid attribute selector [Documentation] Test ID: 8.3.1.5.4 - ... Test title: GET NFV-MANO Service Interface - invalid attribute selector - ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interface fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET NFV-MANO Service Interfaces - invalid attribute selector + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface with invalid selector + Get NFV-MANO Service Interfaces with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET NFV-MANO Service Interface - Bad Request Response too Big +GET NFV-MANO Service Interfaces - Bad Request Response too Big [Documentation] Test ID: 8.3.1.5.5 - ... Test title: GET NFV-MANO Service Interface - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interface fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Test title: GET NFV-MANO Service Interfaces - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface + Get NFV-MANO Service Interfaces Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET NFV-MANO Service Interface with attribute-based filter +GET NFV-MANO Service Interfaces with attribute-based filter [Documentation] Test ID: 8.3.1.5.6 - ... Test title: GET NFV-MANO Service Interface with attribute-based filter + ... Test title: GET NFV-MANO Service Interfaces with attribute-based filter ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface with filter + Get NFV-MANO Service Interfaces with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Service Interface with "all_fields" attribute selector +GET NFV-MANO Service Interfaces with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.5.7 ... Test title: GET NFV-MANO Service Interface with "all_fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interface with "all_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "all_fields" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface with all_fields attribute selector + Get NFV-MANO Service Interfaces with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Service Interface with "exclude_default" attribute selector +GET NFV-MANO Service Interfaces with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.5.8 - ... Test title: GET NFV-MANO Service Interface with "exclude_default" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interface with "exclude_default" attribute selector + ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface with all_fields attribute selector + Get NFV-MANO Service Interfaces with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Service Interface with "fields" attribute selector +GET NFV-MANO Service Interfaces with "fields" attribute selector [Documentation] Test ID: 8.3.1.5.9 - ... Test title: GET NFV-MANO Service Interface with "fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interface with fields attribute selector + ... Test title: GET NFV-MANO Service Interfaces with "fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with fields attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface with fields attribute selector + Get NFV-MANO Service Interfaces with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Service Interface with "exclude_fields" attribute selector +GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.5.10 - ... Test title: GET NFV-MANO Service Interface with "exclude_fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interface with "exclude_fields" attribute selector + ... Test title: GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_fields" attribute selector ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface with exclude_fields attribute selector + Get NFV-MANO Service Interfaces with exclude_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Service Interface with Paged Response +GET NFV-MANO Service Interfaces with Paged Response [Documentation] Test ID: 8.3.1.5.11 - ... Test title: GET NFV-MANO Service Interface with Paged Response + ... Test title: GET NFV-MANO Service Interfaces with Paged Response ... Test objective: The objective is to query NFV-MANO Service Interface to get Paged Response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get NFV-MANO Service Interface + Get NFV-MANO Service Interfaces Check HTTP Response Status Code Is 200 Check LINK in Header -PUT NFV-MANO Service Interface - Method not implemented +PUT NFV-MANO Service Interfaces - Method not implemented [Documentation] Test ID: 8.3.1.5.12 - ... Test title: PUT NFV-MANO Service Interface - Method not implemented + ... Test title: PUT NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Put request for NFV-MANO Service Interface + Send Put request for NFV-MANO Service Interfaces Check HTTP Response Status Code Is 405 -PATCH NFV-MANO Service Interface - Method not implemented +PATCH NFV-MANO Service Interfaces - Method not implemented [Documentation] Test ID: 8.3.1.5.13 - ... Test title: PATCH NFV-MANO Service Interface - Method not implemented + ... Test title: PATCH NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Patch request for NFV-MANO Service Interface + Send Patch request for NFV-MANO Service Interfaces Check HTTP Response Status Code Is 405 -DELETE NFV-MANO Service Interface - Method not implemented +DELETE NFV-MANO Service Interfaces - Method not implemented [Documentation] Test ID: 8.3.1.5.14 - ... Test title: DELETE NFV-MANO Service Interface - Method not implemented + ... Test title: DELETE NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Send Delete request for NFV-MANO Service Interface + Send Delete request for NFV-MANO Service Interfaces Check HTTP Response Status Code Is 405 \ No newline at end of file -- GitLab From a83820899082b0716e018dbb58d7e964527e1bf7 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Wed, 9 Sep 2020 18:36:39 +0200 Subject: [PATCH 27/41] renamed NFVMANOCim robot file --- ...VMANOServiceInterface.robot => NFVMANOServiceInterfaces.robot} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename SOL009/NFVManoConfigurationAndInformationManagement-API/{NFVMANOServiceInterface.robot => NFVMANOServiceInterfaces.robot} (100%) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot similarity index 100% rename from SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterface.robot rename to SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot -- GitLab From ebd1366979e05efedc9d422c55a9c207ba087cb8 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 10 Sep 2020 10:14:41 +0500 Subject: [PATCH 28/41] added suggestion, fixed bugs and keywords mismatch --- .../ChangeInterfaceStateTask.robot | 2 +- .../ChangeNFVMANOEntityStateTask.robot | 2 +- .../ChangeStateOperationOccurance.robot | 34 ++++---- .../IndividualNFVMANOServiceInterface.robot | 78 +++++++++---------- .../IndividualPeerEntity.robot | 18 ++--- .../IndividualSubscription.robot | 2 +- .../NFVMANOCimKeywords.robot | 24 ++++-- .../PeerEntities.robot | 59 +++++++------- 8 files changed, 116 insertions(+), 103 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot index 76278ffc6..cbd81a3ce 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -19,7 +19,7 @@ POST Change interface state task ... Post-Conditions: none Send Post request for Change interface state task Check HTTP Response Status Code Is 202 - Check Operation Occurrence Id + Check HTTP Response Header Contains Location POST Change interface state task - Conflict [Documentation] Test ID: 8.3.1.7.2 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index a4a4b9935..c9bc8ec49 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -18,7 +18,7 @@ POST NFV-MANO functional entity application state change ... Post-Conditions: none Send Post request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 202 - Check Operation Occurrence Id + Check HTTP Response Header Contains Location POST NFV-MANO functional entity application state change - Conflict [Documentation] Test ID: 8.3.1.2.2 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot index 388272b51..b1163478a 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurance.robot @@ -102,11 +102,11 @@ GET Change State Operation Occurrence with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.3.8 ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State Operation Occurrence with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc @@ -116,11 +116,11 @@ GET Change State Operation Occurrence with "fields" attribute selector [Documentation] Test ID: 8.3.1.3.9 ... Test title: GET Change State Operation Occurrence with "fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrence with fields attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State Operation Occurrence with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc @@ -129,10 +129,10 @@ GET Change State Operation Occurrence with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.3.10 ... Test title: GET Change State Operation Occurrence with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_fields" attribute selector - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: + ... Applicability: none ... Post-Conditions: none Get Change State Operation Occurrence with exclude_fields attribute selector Check HTTP Response Status Code Is 200 @@ -142,11 +142,11 @@ GET Change State Operation Occurrence with Paged Response [Documentation] Test ID: 8.3.1.3.11 ... Test title: GET Change State Operation Occurrence with Paged Response ... Test objective: The objective is to query Change State Operation Occurrence to get Paged Response. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State Operation Occurrence Check HTTP Response Status Code Is 200 Check LINK in Header @@ -155,11 +155,11 @@ PUT Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.3.12 ... Test title: PUT Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for Change State Operation Occurrence Check HTTP Response Status Code Is 405 @@ -167,11 +167,11 @@ PATCH Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.3.13 ... Test title: PATCH Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Patch request for Change State Operation Occurrence Check HTTP Response Status Code Is 405 @@ -179,10 +179,10 @@ DELETE Change State Operation Occurrence - Method not implemented [Documentation] Test ID: 8.3.1.3.14 ... Test title: DELETE Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for Change State Operation Occurrence Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index f5815448d..8115bf4bb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -8,90 +8,90 @@ Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} Library MockServerLibrary *** Test Cases *** -POST Individual NFV-MANO Serive Interface - Method not implemented +POST Individual NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.6.1 - ... Test title: POST Individual NFV-MANO Serive Interface - Method not implemented + ... Test title: POST Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: - Send Post request for Individual NFV-MANO Serive Interface + ... Post-Conditions: none + Send Post request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 405 -GET Individual NFV-MANO Serive Interface +GET Individual NFV-MANO Service Interface [Documentation] Test ID: 8.3.1.6.2 - ... Test title: GET Individual NFV-MANO Serive Interface + ... Test title: GET Individual NFV-MANO Service Interface ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get Individual NFV-MANO Serive Interface + ... Applicability: none + ... Post-Conditions: none + Get Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterface -PUT Individual NFV-MANO Serive Interface - Method not implemented +PUT Individual NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.6.3 - ... Test title: PUT Individual NFV-MANO Serive Interface - Method not implemented + ... Test title: PUT Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: - Send Put request for Individual NFV-MANO Serive Interface + ... Post-Conditions: none + Send Put request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 405 -PATCH Individual NFV-MANO Serive Interface +PATCH Individual NFV-MANO Service Interface [Documentation] Test ID: 8.3.1.6.4 - ... Test title: PATCH Individual NFV-MANO Serive Interface - ... Test objective: This method modifies the Individual NFV-MANO Serive Interface resource - ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Test title: PATCH Individual NFV-MANO Service Interface + ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The Individual NFV-MANO Serive Interface is modified by the operation - Send Patch request for Individual NFV-MANO Serive Interface + ... Post-Conditions: The Individual NFV-MANO Service Interface is modified by the operation + Send Patch request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications -PATCH Individual NFV-MANO Serive Interface - Conflict +PATCH Individual NFV-MANO Service Interface - Conflict [Documentation] Test ID: 8.3.1.6.5 - ... Test title: PATCH Individual NFV-MANO Serive Interface - Conflict - ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Serive Interface resource failed due to a conflict with the state of the Individual NFV-MANO Serive Interface resource and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Service Interface resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The Individual NFV-MANO Serive Interface is not modified by the operation - Send Patch request for Individual NFV-MANO Serive Interface + ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails -PATCH Individual NFV-MANO Serive Interface - PreCondition Failed +PATCH Individual NFV-MANO Service Interface - PreCondition Failed [Documentation] Test ID: 8.3.1.6.6 - ... Test title: PATCH Individual NFV-MANO Serive Interface - PreCondition Failed - ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Serive Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: Individual NFV-MANO Serive Interface resource is already created. + ... Test title: PATCH Individual NFV-MANO Service Interface - PreCondition Failed + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The Individual NFV-MANO Serive Interface is not modified by the operation - Send Patch request for Individual NFV-MANO Serive Interface + ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation + Send Patch request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 412 Check HTTP Response Body Json Schema Is ProblemDetails -DELETE Individual NFV-MANO Serive Interface - Method not implemented +DELETE Individual NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.6.7 - ... Test title: DELETE Individual NFV-MANO Serive Interface - Method not implemented + ... Test title: DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: - Send Delete request for Individual NFV-MANO Serive Interface + ... Post-Conditions: none + Send Delete request for Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot index 1eaf748e1..e8b7bc85d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot @@ -12,11 +12,11 @@ POST Individual Peer Entity - Method not implemented [Documentation] Test ID: 8.3.1.9.1 ... Test title: POST Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Post request for Individual Peer Entity Check HTTP Response Status Code Is 405 @@ -24,11 +24,11 @@ GET Individual Peer Entity [Documentation] Test ID: 8.3.1.9.2 ... Test title: GET Individual Peer Entity ... Test objective: The objective is to retrieves information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Individual Peer Entity Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntity @@ -37,11 +37,11 @@ PUT Individual Peer Entity - Method not implemented [Documentation] Test ID: 8.3.1.9.3 ... Test title: PUT Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for Individual Peer Entity Check HTTP Response Status Code Is 405 @@ -88,10 +88,10 @@ DELETE Individual Peer Entity - Method not implemented [Documentation] Test ID: 8.3.1.9.7 ... Test title: DELETE Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for Individual Peer Entity Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot index 26f01755e..8801e21f1 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -62,7 +62,7 @@ POST Individual Subscription - Method not implemented [Documentation] Test ID: 8.3.1.11.5 ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index a6a71fa43..427eef2c9 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -214,7 +214,7 @@ Send DELETE request for Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send Post request for Individual Change State Operation Occurrence +Send Post request for Individual Change State Operation Occurance Log Trying to perform a POST (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -222,7 +222,7 @@ Send Post request for Individual Change State Operation Occurrence ${output}= Output response Set Suite Variable ${response} ${output} -Get Individual Change State Operation Occurrence +Get Individual Change State OpOcc Log Query to GET information about individual change state operation occurrences. Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -231,7 +231,7 @@ Get Individual Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PUT request for Individual Change State Operation Occurrence +Send Put request for Individual Change State Operation Occurance log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -239,7 +239,7 @@ Send PUT request for Individual Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send PATCH request for Individual Change State Operation Occurrence +Send Patch request for Individual Change State Operation Occurance log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -247,7 +247,7 @@ Send PATCH request for Individual Change State Operation Occurrence ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send DELETE request for Individual Change State Operation Occurrence +Send Delete request for Individual Change State Operation Occurance log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -765,4 +765,16 @@ Check Postcondition Subscription is not Created GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} - Check HTTP Response Status Code Is 404 \ No newline at end of file + Check HTTP Response Status Code Is 404 + +Check Postcondition Peer Entity Resource is created + Log Check Postcondition Peer Entity resource + Set Headers {"Accept": "${ACCEPT_JSON}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + +Check HTTP Response Header Contains Location + ${loc}= Get Value From Json ${response['headers']} $..Location + Should Not Be Empty ${loc} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index e40ee058a..4423fa77b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -11,16 +11,17 @@ Library MockServerLibrary POST Peer Entity [Documentation] Test ID: 8.3.1.8.1 ... Test title: POST Peer Entity - ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity. - ... Pre-conditions: + ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: none ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: Peer Entity is created Send Post request for Peer Entity Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is PeerEntity - Check Operation Occurrence Id + Check HTTP Response Header Contains Location + Check Postcondition Peer Entity Resource is created GET Peer Entity [Documentation] Test ID: 8.3.1.8.2 @@ -29,8 +30,8 @@ GET Peer Entity ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities @@ -42,8 +43,8 @@ GET Peer Entity - invalid attribute-based filter ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -55,8 +56,8 @@ GET Peer Entity - invalid attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity with invalid selector Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -68,8 +69,8 @@ GET Peer Entity - Bad Request Response too Big ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails @@ -81,8 +82,8 @@ GET Peer Entity with attribute-based filter ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity with filter Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities @@ -94,8 +95,8 @@ GET Peer Entity with "all_fields" attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities @@ -107,8 +108,8 @@ GET Peer Entity with "exclude_default" attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities @@ -121,8 +122,8 @@ GET Peer Entity with "fields" attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities @@ -134,7 +135,7 @@ GET Peer Entity with "exclude_fields" attribute selector ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: + ... Applicability: none ... Post-Conditions: none Get Peer Entity with exclude_fields attribute selector Check HTTP Response Status Code Is 200 @@ -147,8 +148,8 @@ GET Peer Entity with Paged Response ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Peer Entity Check HTTP Response Status Code Is 200 Check LINK in Header @@ -157,11 +158,11 @@ PUT Peer Entity - Method not implemented [Documentation] Test ID: 8.3.1.8.12 ... Test title: PUT Peer Entity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Put request for Peer Entity Check HTTP Response Status Code Is 405 @@ -169,11 +170,11 @@ PATCH Peer Entity - Method not implemented [Documentation] Test ID: 8.3.1.8.13 ... Test title: PATCH Peer Entity - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. - ... Pre-conditions: + ... Pre-conditions:none ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Patch request for Peer Entity Check HTTP Response Status Code Is 405 @@ -181,10 +182,10 @@ DELETE Peer Entity - Method not implemented [Documentation] Test ID: 8.3.1.8.14 ... Test title: DELETE Peer Entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: + ... Post-Conditions: none Send Delete request for Peer Entity Check HTTP Response Status Code Is 405 \ No newline at end of file -- GitLab From a33fae2b274ead9dff94cbaa991d2d171c774bda Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 10 Sep 2020 10:35:15 +0500 Subject: [PATCH 29/41] fix typo --- .../IndividualNFVMANOServiceInterface.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index fcb244739..8115bf4bb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -61,7 +61,7 @@ PATCH Individual NFV-MANO Service Interface PATCH Individual NFV-MANO Service Interface - Conflict [Documentation] Test ID: 8.3.1.6.5 ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict - ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Serive Interface resource and perform the JSON schema validation of the failed operation HTTP response. + ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Service Interface resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO -- GitLab From f0252a14c1c1055e6fd8f94f59eb86ecc1539fac Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 10 Sep 2020 17:23:22 +0200 Subject: [PATCH 30/41] updated check link in header --- .../NFVMANOCimKeywords.robot | 2 +- .../Subscriptions.robot | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index c2d545f3d..b2f726e43 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -186,7 +186,7 @@ Get Change State Operation Occurrences with exclude_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} -Check LINK in Header +Check HTTP Response Header Contains Link ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 142a5c08d..2bc55ce8b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -48,8 +48,8 @@ GET Subscriptions with Paged Response ... Post-Conditions: Get all Subscriptions Check HTTP Response Status Code Is 200 - Check LINK in Header - + Check HTTP Response Header Contains Link + GET Subscriptions - invalid attribute-based filter [Documentation] Test ID: 8.3.1.10.4 ... Test title: GET Subscriptions - invalid attribute-based filter -- GitLab From 6e2bb4153329b0e3db7f7644ae2888f07583f038 Mon Sep 17 00:00:00 2001 From: uihassan Date: Fri, 11 Sep 2020 16:55:32 +0500 Subject: [PATCH 31/41] added authentication tests --- .../NFVMANOCimKeywords.robot | 31 ++++++++++++- .../PeerEntities.robot | 43 +++++++++++++++++-- .../environment/variables.txt | 3 +- 3 files changed, 72 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index b2f726e43..82286db44 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -777,4 +777,33 @@ Check Postcondition Peer Entity Resource is created Check HTTP Response Header Contains Location ${loc}= Get Value From Json ${response['headers']} $..Location - Should Not Be Empty ${loc} \ No newline at end of file + Should Not Be Empty ${loc} + +GET Peer Entity with malformed authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as NFVO is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${BAD_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Peer Entity without authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries omitting token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Peer Entity with expired or revoked authorization token + Pass Execution If ${AUTH_USAGE} == 0 Skipping test as it is not supporting authentication + Log The GET method queries using invalid token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Authorization": "${NEG_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities + ${output}= Output response + Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index 5403863de..ba327529c 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -153,9 +153,46 @@ GET Peer Entity with Paged Response Get Peer Entity Check HTTP Response Status Code Is 200 Check LINK in Header + +Get Peer Entity with malformed authorization token + [Documentation] Test ID: 8.3.1.8.12 + ... Test title: Get Peer Entity with malformed authorization token + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using malformed authorization token. + ... Pre-conditions: none + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] v3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. + ... Post-Conditions: none + GET Peer Entity with malformed authorization token + Check HTTP Response Status Code Is 400 + +Get Peer Entity without authorization token + [Documentation] Test ID: 8.3.1.8.13 + ... Test title: Get Peer Entity without authorization token + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when omitting the authorization token. + ... Pre-conditions: none + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] v3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. + ... Post-Conditions: none + GET Peer Entity without authorization token + Check HTTP Response Status Code Is 401 + +GET information about multiple alarms with expired or revoked authorization token + [Documentation] Test ID: 8.3.1.8.14 + ... Test title: GET information about multiple alarms with expired or revoked authorization token + ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using expired or revoked authorization token. + ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] v3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. + ... Post-Conditions: none + GET Peer Entity with expired or revoked authorization token + Check HTTP Response Status Code Is 401 + PUT Peer Entities - Method not implemented - [Documentation] Test ID: 8.3.1.8.12 + [Documentation] Test ID: 8.3.1.8.15 ... Test title: PUT Peer Entities - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none @@ -167,7 +204,7 @@ PUT Peer Entities - Method not implemented Check HTTP Response Status Code Is 405 PATCH Peer Entities - Method not implemented - [Documentation] Test ID: 8.3.1.8.13 + [Documentation] Test ID: 8.3.1.8.16 ... Test title: PATCH Peer Entities - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none @@ -179,7 +216,7 @@ PATCH Peer Entities - Method not implemented Check HTTP Response Status Code Is 405 DELETE Peer Entities - Method not implemented - [Documentation] Test ID: 8.3.1.8.14 + [Documentation] Test ID: 8.3.1.8.17 ... Test title: DELETE Peer Entities - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 7d785da9a..8d85c39e0 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -3,9 +3,10 @@ ${NFVMANOHOST} localhost ${NFVMANO_PORT} 8080 ${NFVMANO_SCHEMA} https - ${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 ${NEG_AUTHORIZATION} Bearer negativetoken +${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX +${BAD_AUTHORIZATION} Bear sometoken ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json -- GitLab From 1b7fdd5932a6c275c92b44c26750e4a44215279d Mon Sep 17 00:00:00 2001 From: uihassan Date: Fri, 11 Sep 2020 19:34:10 +0500 Subject: [PATCH 32/41] templating, minor bugs fix and new testcases added --- .../ChangeStateOperationOccurrences.robot | 42 ++++++++----- .../IndividualNFVMANOServiceInterface.robot | 26 +++++--- .../IndividualPeerEntity.robot | 22 +++++-- ...vidualStateChangeOperationOccurrence.robot | 18 +++++- .../IndividualSubscription.robot | 2 +- .../NFVMANOCimKeywords.robot | 61 ++++++++++++++----- .../NFVMANOEntity.robot | 6 +- .../NFVMANOServiceInterfaces.robot | 38 ++++++++---- .../PeerEntities.robot | 43 ++++++++----- .../Subscriptions.robot | 7 +-- .../environment/variables.txt | 6 +- .../jsons/ChangeStateRequest.json | 10 +-- .../jsons/CimSubscriptionRequest.json | 6 +- .../jsons/CreatePeerEntityRequest.json | 10 +-- 14 files changed, 200 insertions(+), 97 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot index e280436db..0b1f5865b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot @@ -23,7 +23,7 @@ POST Change State Operation Occurrences - Method not implemented GET Change State Operation Occurrences [Documentation] Test ID: 8.3.1.3.2 ... Test title: GET Change State Operation Occurrences - ... Test objective: The objective is to query status information about multiple change state operation occurrences. + ... Test objective: The objective is to query status information about multiple change state operation occurrences, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -75,7 +75,7 @@ GET Change State Operation Occurrences - Bad Request Response too Big GET Change State Operation Occurrences with attribute-based filter [Documentation] Test ID: 8.3.1.3.6 ... Test title: GET Change State Operation Occurrences with attribute-based filter - ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters + ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -88,7 +88,7 @@ GET Change State Operation Occurrences with attribute-based filter GET Change State Operation Occurrences with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.3.7 ... Test title: GET Change State Operation Occurrences with "all_fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrences with "all_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -101,26 +101,25 @@ GET Change State Operation Occurrences with "all_fields" attribute selector GET Change State Operation Occurrences with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.3.8 ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none - Get Change State Operation Occurrences with fields attribute selector + Get Change State Operation Occurrences with exclude_default attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc - GET Change State Operation Occurrences with "fields" attribute selector [Documentation] Test ID: 8.3.1.3.9 ... Test title: GET Change State Operation Occurrences with "fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields attribute selector - ... Pre-conditions: + ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: + ... Applicability: none + ... Post-Conditions: none Get Change State Operation Occurrences with fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc @@ -128,7 +127,7 @@ GET Change State Operation Occurrences with "fields" attribute selector GET Change State Operation Occurrences with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.3.10 ... Test title: GET Change State Operation Occurrences with "exclude_fields" attribute selector - ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -149,10 +148,23 @@ GET Change State Operation Occurrences with Paged Response ... Post-Conditions: none Get Change State Operation Occurrences Check HTTP Response Status Code Is 200 - Check LINK in Header + Check HTTP Response Header Contains Link + +GET Change State Operation Occurrences with "fields" and "exclude_default" attribute selector + [Documentation] Test ID: 8.3.1.3.12 + ... Test title: GET Change State Operation Occurrences with "fields" and "exclude_default" attribute selector + ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields and exclude default attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Change State Operation Occurrences with fields and exclude_default attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ChangeStateOpOcc PUT Change State Operation Occurrences - Method not implemented - [Documentation] Test ID: 8.3.1.3.12 + [Documentation] Test ID: 8.3.1.3.13 ... Test title: PUT Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none @@ -164,7 +176,7 @@ PUT Change State Operation Occurrences - Method not implemented Check HTTP Response Status Code Is 405 PATCH Change State Operation Occurrences - Method not implemented - [Documentation] Test ID: 8.3.1.3.13 + [Documentation] Test ID: 8.3.1.3.14 ... Test title: PATCH Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none @@ -176,7 +188,7 @@ PATCH Change State Operation Occurrences - Method not implemented Check HTTP Response Status Code Is 405 DELETE Change State Operation Occurrences - Method not implemented - [Documentation] Test ID: 8.3.1.3.14 + [Documentation] Test ID: 8.3.1.3.15 ... Test title: DELETE Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index 8115bf4bb..cd9d3bd86 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -23,7 +23,7 @@ POST Individual NFV-MANO Service Interface - Method not implemented GET Individual NFV-MANO Service Interface [Documentation] Test ID: 8.3.1.6.2 ... Test title: GET Individual NFV-MANO Service Interface - ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource. + ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -33,8 +33,20 @@ GET Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterface -PUT Individual NFV-MANO Service Interface - Method not implemented +GET Individual NFV-MANO Service Interface - Not Found [Documentation] Test ID: 8.3.1.6.3 + ... Test title: GET Individual NFV-MANO Service Interface - Not Found + ... Test objective: The objective is to test the retrieval of information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource fails when the resource is not present. + ... Pre-conditions: none + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual NFV-MANO Service Interface + Check HTTP Response Status Code Is 404 + +PUT Individual NFV-MANO Service Interface - Method not implemented + [Documentation] Test ID: 8.3.1.6.4 ... Test title: PUT Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none @@ -46,9 +58,9 @@ PUT Individual NFV-MANO Service Interface - Method not implemented Check HTTP Response Status Code Is 405 PATCH Individual NFV-MANO Service Interface - [Documentation] Test ID: 8.3.1.6.4 + [Documentation] Test ID: 8.3.1.6.5 ... Test title: PATCH Individual NFV-MANO Service Interface - ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource + ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -59,7 +71,7 @@ PATCH Individual NFV-MANO Service Interface Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications PATCH Individual NFV-MANO Service Interface - Conflict - [Documentation] Test ID: 8.3.1.6.5 + [Documentation] Test ID: 8.3.1.6.6 ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Service Interface resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. @@ -72,7 +84,7 @@ PATCH Individual NFV-MANO Service Interface - Conflict Check HTTP Response Body Json Schema Is ProblemDetails PATCH Individual NFV-MANO Service Interface - PreCondition Failed - [Documentation] Test ID: 8.3.1.6.6 + [Documentation] Test ID: 8.3.1.6.7 ... Test title: PATCH Individual NFV-MANO Service Interface - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. @@ -85,7 +97,7 @@ PATCH Individual NFV-MANO Service Interface - PreCondition Failed Check HTTP Response Body Json Schema Is ProblemDetails DELETE Individual NFV-MANO Service Interface - Method not implemented - [Documentation] Test ID: 8.3.1.6.7 + [Documentation] Test ID: 8.3.1.6.8 ... Test title: DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot index e8b7bc85d..f59e3e0b1 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot @@ -33,8 +33,20 @@ GET Individual Peer Entity Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntity -PUT Individual Peer Entity - Method not implemented +GET Individual Peer Entity - Not Found [Documentation] Test ID: 8.3.1.9.3 + ... Test title: GET Individual Peer Entity - Not Found + ... Test objective: The objective is to test the retrieval of information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource fails when the resource is not present. + ... Pre-conditions: none + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Peer Entity + Check HTTP Response Status Code Is 404 + +PUT Individual Peer Entity - Method not implemented + [Documentation] Test ID: 8.3.1.9.4 ... Test title: PUT Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none @@ -46,7 +58,7 @@ PUT Individual Peer Entity - Method not implemented Check HTTP Response Status Code Is 405 PATCH Individual Peer Entity - [Documentation] Test ID: 8.3.1.9.4 + [Documentation] Test ID: 8.3.1.9.5 ... Test title: PATCH Individual Peer Entity ... Test objective: This method modifies configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource. ... Pre-conditions: At least one Peer Entity resource is created @@ -59,7 +71,7 @@ PATCH Individual Peer Entity Check HTTP Response Body Json Schema Is ManoServiceInterfaceModifications PATCH Individual Peer Entity - Conflict - [Documentation] Test ID: 8.3.1.9.5 + [Documentation] Test ID: 8.3.1.9.6 ... Test title: PATCH Individual Peer Entity - Conflict ... Test objective: The objective is to test that the modification of configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource failed due to a conflict with the state of the Individual Peer Entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created @@ -72,7 +84,7 @@ PATCH Individual Peer Entity - Conflict Check HTTP Response Body Json Schema Is ProblemDetails PATCH Individual Peer Entity - PreCondition Failed - [Documentation] Test ID: 8.3.1.9.6 + [Documentation] Test ID: 8.3.1.9.7 ... Test title: PATCH Individual Peer Entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual Peer Entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created @@ -85,7 +97,7 @@ PATCH Individual Peer Entity - PreCondition Failed Check HTTP Response Body Json Schema Is ProblemDetails DELETE Individual Peer Entity - Method not implemented - [Documentation] Test ID: 8.3.1.9.7 + [Documentation] Test ID: 8.3.1.9.8 ... Test title: DELETE Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot index ccd61f63b..be04cc838 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot @@ -33,8 +33,20 @@ GET Individual Change State Operation Occurrence Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ChangeStateOpOcc -PUT Individual Change State Operation Occurrence - Method not implemented +GET Individual Change State Operation Occurrence - Not Found [Documentation] Test ID: 8.3.1.4.3 + ... Test title: GET Individual Change State Operation Occurrence - Not Found + ... Test objective: The objective is to test the retrieval of information about individual change state operation occurence fails when the resource is not present. + ... Pre-conditions: none + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Change State Operation Occurrence + Check HTTP Response Status Code Is 404 + +PUT Individual Change State Operation Occurrence - Method not implemented + [Documentation] Test ID: 8.3.1.4.4 ... Test title: PUT Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none @@ -46,7 +58,7 @@ PUT Individual Change State Operation Occurrence - Method not implemented Check HTTP Response Status Code Is 405 PATCH Individual Change State Operation Occurrence - Method not implemented - [Documentation] Test ID: 8.3.1.4.4 + [Documentation] Test ID: 8.3.1.4.5 ... Test title: PATCH Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none @@ -58,7 +70,7 @@ PATCH Individual Change State Operation Occurrence - Method not implemented Check HTTP Response Status Code Is 405 DELETE Individual Change State Operation Occurrence - Method not implemented - [Documentation] Test ID: 8.3.1.4.5 + [Documentation] Test ID: 8.3.1.4.6 ... Test title: DELETE Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot index 8801e21f1..c40816dcc 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -41,7 +41,7 @@ DELETE Individual Subscription ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The is not available anymore in the NFV-MANO + ... Post-Conditions: The resource is not available anymore in the NFV-MANO Send Delete request for individual Subscription Check HTTP Response Status Code Is 204 Check Postcondition Subscription is Deleted diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 82286db44..48e1738ce 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -1,4 +1,5 @@ *** Settings *** +Library String Resource environment/variables.txt Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false Library MockServerLibrary @@ -27,10 +28,6 @@ Check HTTP Response Body Json Schema Is ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK - -Check Operation Occurrence Id - ${OpOccId}= Get Value From Json ${response['headers']} $..Location - Should Not Be Empty ${OpOccId} Send Post request for NFV-MANO Entity Log Trying to perform a POST (method should not be implemented) @@ -177,6 +174,14 @@ Get Change State Operation Occurrences with fields attribute selector GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} + +Get Change State Operation Occurrences with exclude_default attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} Get Change State Operation Occurrences with exclude_fields attribute selector Log Queries information about multiple change state operation occurrences, using fields @@ -186,6 +191,14 @@ Get Change State Operation Occurrences with exclude_fields attribute selector ${output}= Output response Set Suite Variable ${response} ${output} +Get Change State Operation Occurrences with fields and exclude_default attribute selector + Log Queries information about multiple change state operation occurrences, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/change_state_ops?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Header Contains Link ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} @@ -304,6 +317,14 @@ Get NFV-MANO Service Interfaces with all_fields attribute selector GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} + +Get NFV-MANO Service Interfaces with exclude_default and fields attribute selector + Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using all_fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} Get NFV-MANO Service Interfaces with fields attribute selector Log Queries information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, using fields @@ -390,8 +411,9 @@ Send Delete request for Individual NFV-MANO Service Interface Send Post request for Change interface state task Log Trying to perform a POST for Change interface state task Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${body}= Get File jsons/ChangeStateRequest.json + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/ChangeStateRequest.json + ${body}= Format String ${template} operationalStateAction=${operationalStateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -434,8 +456,9 @@ Send Delete request for Change interface state task Send Post request for Peer Entity Log Trying to perform a POST for Peer Entity Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${body}= Get File jsons/CreatePeerEntityRequest.json + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/CreatePeerEntityRequest.json + ${body}= Format String ${template} peerEntityId=${peerEntityId} name=${name} type=${type} POST ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -489,6 +512,14 @@ Get Peer Entity with fields attribute selector GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} + +Get Peer Entity with exclude_default and fields attribute selector + Log Queries information about multiple peer entities, using fields + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/peer_entities?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} Get Peer Entity with exclude_fields attribute selector Log Queries information about multiple peer entities, using fields @@ -564,9 +595,6 @@ Send Delete request for Individual Peer Entity ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} - - - Create Sessions Pass Execution If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance @@ -609,8 +637,9 @@ Get Subscriptions with invalid attribute-based filters Send Post Request for Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - ${body_request}= Get File jsons/CimSubscriptionRequest.json + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} + ${template}= Get File jsons/CimSubscriptionRequest.json + ${body_request}= Format String ${template} callback_uri=${callback_uri} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} ${output}= Output response Set Suite Variable ${response} ${output} @@ -619,7 +648,8 @@ Send Post Request for Subscription Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription - ${body}= Get File jsons/subscriptions.json + ${template}= Get File jsons/CimSubscriptionRequest.json + ${body}= Format String ${template} callback_uri=${callback_uri} ${subscription}= evaluate json.loads('''${body}''') json Should Be Equal As Strings ${response['body']['callbackUri']} ${subscription['callbackUri']} @@ -635,7 +665,8 @@ Send Post Request for Duplicated Subscription Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${body_request}= Get File jsons/CimSubscriptionRequest.json + ${template}= Get File jsons/CimSubscriptionRequest.json + ${body_request}= Format String ${template} callback_uri=${callback_uri} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index 113a69e6c..a9bfd9b55 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -36,7 +36,7 @@ GET NFV-MANO entity GET NFV-MANO entity - Not Found [Documentation] Test ID: 8.3.1.1.3 ... Test title: Get NFV-MANO entity - Not Found - ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource fails when the resource is not present and perform the JSON schema validation of the failed operation HTTP response. + ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource fails when the resource is not present. ... Pre-conditions: none ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -44,8 +44,6 @@ GET NFV-MANO entity - Not Found ... Post-Conditions: none GET NFV-MANO entity resource Check HTTP Response Status Code Is 404 - Check HTTP Response Body Json Schema Is ProblemDetails - PUT NFV-MANO entity - Method not implemented [Documentation] Test ID: 8.3.1.1.4 @@ -62,7 +60,7 @@ PUT NFV-MANO entity - Method not implemented PATCH NFV-MANO entity [Documentation] Test ID: 8.3.1.1.5 ... Test title: PATCH NFV-MANO entity - ... Test objective: This method modifies the NFV-MANO entity resource + ... Test objective: The objective is to test that PATCH method modifies the NFV-MANO entity resource and perform a JSON schema and content validation of the modified response. ... Pre-conditions: NFV-MANO entity resource is already created. ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot index ba1c97bf2..e3f619468 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot @@ -23,7 +23,7 @@ POST NFV-MANO Service Interfaces - Method not implemented GET NFV-MANO Service Interfaces [Documentation] Test ID: 8.3.1.5.2 ... Test title: GET NFV-MANO Service Interfaces - ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity. + ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -75,7 +75,7 @@ GET NFV-MANO Service Interfaces - Bad Request Response too Big GET NFV-MANO Service Interfaces with attribute-based filter [Documentation] Test ID: 8.3.1.5.6 ... Test title: GET NFV-MANO Service Interfaces with attribute-based filter - ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters + ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -88,7 +88,7 @@ GET NFV-MANO Service Interfaces with attribute-based filter GET NFV-MANO Service Interfaces with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.5.7 ... Test title: GET NFV-MANO Service Interface with "all_fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "all_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -101,7 +101,7 @@ GET NFV-MANO Service Interfaces with "all_fields" attribute selector GET NFV-MANO Service Interfaces with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.5.8 ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -110,12 +110,11 @@ GET NFV-MANO Service Interfaces with "exclude_default" attribute selector Get NFV-MANO Service Interfaces with all_fields attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces - - + GET NFV-MANO Service Interfaces with "fields" attribute selector [Documentation] Test ID: 8.3.1.5.9 ... Test title: GET NFV-MANO Service Interfaces with "fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with fields attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with fields attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -128,7 +127,7 @@ GET NFV-MANO Service Interfaces with "fields" attribute selector GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.5.10 ... Test title: GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector - ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -138,8 +137,21 @@ GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is ManoServiceInterfaces -GET NFV-MANO Service Interfaces with Paged Response +GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector [Documentation] Test ID: 8.3.1.5.11 + ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector + ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get NFV-MANO Service Interfaces with exclude_default and fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ManoServiceInterfaces + +GET NFV-MANO Service Interfaces with Paged Response + [Documentation] Test ID: 8.3.1.5.12 ... Test title: GET NFV-MANO Service Interfaces with Paged Response ... Test objective: The objective is to query NFV-MANO Service Interface to get Paged Response. ... Pre-conditions: none @@ -149,10 +161,10 @@ GET NFV-MANO Service Interfaces with Paged Response ... Post-Conditions: none Get NFV-MANO Service Interfaces Check HTTP Response Status Code Is 200 - Check LINK in Header + Check HTTP Response Header Contains Link PUT NFV-MANO Service Interfaces - Method not implemented - [Documentation] Test ID: 8.3.1.5.12 + [Documentation] Test ID: 8.3.1.5.13 ... Test title: PUT NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none @@ -164,7 +176,7 @@ PUT NFV-MANO Service Interfaces - Method not implemented Check HTTP Response Status Code Is 405 PATCH NFV-MANO Service Interfaces - Method not implemented - [Documentation] Test ID: 8.3.1.5.13 + [Documentation] Test ID: 8.3.1.5.14 ... Test title: PATCH NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none @@ -176,7 +188,7 @@ PATCH NFV-MANO Service Interfaces - Method not implemented Check HTTP Response Status Code Is 405 DELETE NFV-MANO Service Interfaces - Method not implemented - [Documentation] Test ID: 8.3.1.5.14 + [Documentation] Test ID: 8.3.1.5.15 ... Test title: DELETE NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index ba327529c..03e19aa62 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -26,7 +26,7 @@ POST Peer Entity GET Peer Entities [Documentation] Test ID: 8.3.1.8.2 ... Test title: GET Peer Entities - ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities. + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -78,7 +78,7 @@ GET Peer Entities - Bad Request Response too Big GET Peer Entities with attribute-based filter [Documentation] Test ID: 8.3.1.8.6 ... Test title: GET Peer Entities with attribute-based filter - ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters + ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -91,7 +91,7 @@ GET Peer Entities with attribute-based filter GET Peer Entities with "all_fields" attribute selector [Documentation] Test ID: 8.3.1.8.7 ... Test title: GET Peer Entities with "all_fields" attribute selector - ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -104,7 +104,7 @@ GET Peer Entities with "all_fields" attribute selector GET Peer Entities with "exclude_default" attribute selector [Documentation] Test ID: 8.3.1.8.8 ... Test title: GET Peer Entities with "exclude_default" attribute selector - ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -114,11 +114,10 @@ GET Peer Entities with "exclude_default" attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities - GET Peer Entities with "fields" attribute selector [Documentation] Test ID: 8.3.1.8.9 ... Test title: GET Peer Entities with "fields" attribute selector - ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -131,7 +130,7 @@ GET Peer Entities with "fields" attribute selector GET Peer Entities with "exclude_fields" attribute selector [Documentation] Test ID: 8.3.1.8.10 ... Test title: GET Peer Entities with "exclude_fields" attribute selector - ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -141,8 +140,21 @@ GET Peer Entities with "exclude_fields" attribute selector Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PeerEntities -GET Peer Entity with Paged Response +GET Peer Entities with "exclude_default" and "fields" attribute selector [Documentation] Test ID: 8.3.1.8.11 + ... Test title: GET Peer Entities with "exclude_default" and "fields" attribute selector + ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the returned job data structure. + ... Pre-conditions: At least one Peer Entity is already created. + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Peer Entity with exclude_default and fields attribute selector + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PeerEntities + +GET Peer Entity with Paged Response + [Documentation] Test ID: 8.3.1.8.12 ... Test title: GET Peer Entity with Paged Response ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities to get Paged Response. ... Pre-conditions: At least one Peer Entity is already created. @@ -152,10 +164,10 @@ GET Peer Entity with Paged Response ... Post-Conditions: none Get Peer Entity Check HTTP Response Status Code Is 200 - Check LINK in Header + Check HTTP Response Header Contains Link Get Peer Entity with malformed authorization token - [Documentation] Test ID: 8.3.1.8.12 + [Documentation] Test ID: 8.3.1.8.13 ... Test title: Get Peer Entity with malformed authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using malformed authorization token. ... Pre-conditions: none @@ -167,7 +179,7 @@ Get Peer Entity with malformed authorization token Check HTTP Response Status Code Is 400 Get Peer Entity without authorization token - [Documentation] Test ID: 8.3.1.8.13 + [Documentation] Test ID: 8.3.1.8.14 ... Test title: Get Peer Entity without authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when omitting the authorization token. ... Pre-conditions: none @@ -179,7 +191,7 @@ Get Peer Entity without authorization token Check HTTP Response Status Code Is 401 GET information about multiple alarms with expired or revoked authorization token - [Documentation] Test ID: 8.3.1.8.14 + [Documentation] Test ID: 8.3.1.8.15 ... Test title: GET information about multiple alarms with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using expired or revoked authorization token. ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO @@ -190,9 +202,8 @@ GET information about multiple alarms with expired or revoked authorization toke GET Peer Entity with expired or revoked authorization token Check HTTP Response Status Code Is 401 - PUT Peer Entities - Method not implemented - [Documentation] Test ID: 8.3.1.8.15 + [Documentation] Test ID: 8.3.1.8.16 ... Test title: PUT Peer Entities - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none @@ -204,7 +215,7 @@ PUT Peer Entities - Method not implemented Check HTTP Response Status Code Is 405 PATCH Peer Entities - Method not implemented - [Documentation] Test ID: 8.3.1.8.16 + [Documentation] Test ID: 8.3.1.8.17 ... Test title: PATCH Peer Entities - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none @@ -216,7 +227,7 @@ PATCH Peer Entities - Method not implemented Check HTTP Response Status Code Is 405 DELETE Peer Entities - Method not implemented - [Documentation] Test ID: 8.3.1.8.17 + [Documentation] Test ID: 8.3.1.8.18 ... Test title: DELETE Peer Entities - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 2bc55ce8b..6395146fb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -14,7 +14,7 @@ Suite Teardown Terminate All Processes kill=true GET all Subscriptions [Documentation] Test ID: 8.3.1.10.1 ... Test title: GET all Subscriptions - ... Test objective: The objective is to test the retrieval list of active subscriptions of API consumer and perform a JSON schema validation of the returned subscriptions data structure + ... Test objective: The objective is to test the retrieval list of active subscriptions of API consumer and perform a JSON schema validation of the returned subscriptions data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -27,7 +27,7 @@ GET all Subscriptions GET Subscriptions with attribute-based filter [Documentation] Test ID: 8.3.1.10.2 ... Test title: GET Subscriptions with attribute-based filter - ... Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter and perform a JSON schema validation of the collected indicators data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO @@ -89,12 +89,11 @@ GET Subscriptions - invalid resource endpoint Get all Subscriptions Check HTTP Response Status Code Is 404 - Create new Subscription [Documentation] Test ID 8.3.1.10.7 ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 8d85c39e0..2403b026b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -55,4 +55,8 @@ ${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa ${erroneousSubscriptionId} erroneousSubscriptionId ${newSubscriptionId} newSubsciptionId -${origResponse} {} \ No newline at end of file +${origResponse} {} + +${name} EntityName +${type} NFVO +${operationalStateAction} START \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json index 82608e379..1245a6b65 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json @@ -1,7 +1,7 @@ -{ +{{ "operationalStateChange": - { - "operationalStateAction":"START" - } + {{ + "operationalStateAction":"{operationalStateAction}" + }} -} \ No newline at end of file +}} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json index 3475fa745..a86c405f9 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CimSubscriptionRequest.json @@ -1,3 +1,3 @@ -{ - "callbackUri": "http://172.22.1.7:9091" -} \ No newline at end of file +{{ + "callbackUri": "{callback_uri}{callback_endpoint}" +}} \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json index baa48b7e2..256bd547b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/CreatePeerEntityRequest.json @@ -1,5 +1,5 @@ -{ - "peerEntityId": "", - "name": "NFV-MANO Entity", - "type": "NFVO" -} \ No newline at end of file +{{ + "peerEntityId": "{peerEntityId}", + "name": "{name}", + "type": "{type}" +}} \ No newline at end of file -- GitLab From ca2353ab905f6a3ccb4b5f16dae8cf6d8e8c7676 Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 14 Sep 2020 13:21:11 +0500 Subject: [PATCH 33/41] minor bugs fixed and redundant post-conditions removed --- .../IndividualSubscription.robot | 9 +++----- .../NFVMANOCimKeywords.robot | 22 ------------------- .../PeerEntities.robot | 2 +- .../Subscriptions.robot | 3 +-- .../jsons/ManoConfigModificationRequest.json | 2 +- 5 files changed, 6 insertions(+), 32 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot index c40816dcc..15832f9a6 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -66,10 +66,9 @@ POST Individual Subscription - Method not implemented ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The VNF Performance Subscription is not created on the NFV-MANO + ... Post-Conditions: none Send Post request for individual Subscription Check HTTP Response Status Code Is 405 - Check Postcondition Subscription is not Created PUT Individual Subscription - Method not implemented [Documentation] Test ID: 8.3.1.11.6 @@ -79,10 +78,9 @@ PUT Individual Subscription - Method not implemented ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The subscription is not modified by the operation + ... Post-Conditions: none Send Put request for individual Subscription Check HTTP Response Status Code Is 405 - Check Postcondition Subscription is Unmodified (Implicit) PATCH Individual Subscription - Method not implemented [Documentation] Test ID: 8.3.1.11.7 @@ -92,7 +90,6 @@ PATCH Individual Subscription - Method not implemented ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The subscription is not modified by the operation + ... Post-Conditions: none Send Patch request for individual Subscription Check HTTP Response Status Code Is 405 - Check Postcondition Subscription is Unmodified (Implicit) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 48e1738ce..de419fa20 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -714,11 +714,6 @@ Send Delete Request for Subscriptions ${output}= Output response Set Suite Variable ${response} ${output} -Check Postcondition Subscriptions Exists - Log Checking that subscriptions exists - Get all Subscriptions - Check HTTP Response Status Code Is 200 - Get Individual Subscription Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -780,23 +775,6 @@ Send Patch request for individual Subscription PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${output}= Output response Set Suite Variable @{response} ${output} - -Check Postcondition Subscription is Unmodified (Implicit) - Log Check postconidtion subscription not modified - GET individual Subscription - Log Check Response matches original Subscription - ${subscription}= evaluate json.loads('''${response['body']}''') json - Should Be Equal As Strings ${origResponse['body']['id']} ${subscription.id} - Should Be Equal As Strings ${origResponse['body']['callbackUri']} ${subscription.callbackUri} - -Check Postcondition Subscription is not Created - Log Trying to get a new subscription - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} - ${output}= Output response - Set Suite Variable @{response} ${output} - Check HTTP Response Status Code Is 404 Check Postcondition Peer Entity Resource is created Log Check Postcondition Peer Entity resource diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index 03e19aa62..551c3dc39 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -176,7 +176,7 @@ Get Peer Entity with malformed authorization token ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none GET Peer Entity with malformed authorization token - Check HTTP Response Status Code Is 400 + Check HTTP Response Status Code Is 401 Get Peer Entity without authorization token [Documentation] Test ID: 8.3.1.8.14 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 6395146fb..c3094aa2e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -169,7 +169,6 @@ DELETE Subscriptions - Method not implemented ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: The subscriptions are not deleted by the failed operation + ... Post-Conditions: none Send Delete Request for Subscriptions Check HTTP Response Status Code Is 405 - Check Postcondition Subscriptions Exists diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json index eca04e508..906b3143f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ManoConfigModificationRequest.json @@ -1,3 +1,3 @@ { - "name": "NFV-MANO Entity" + "name": "NFV-MANO_Entity" } \ No newline at end of file -- GitLab From 3cd95c3d9763d49ad744b59a062774c96270a208 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 14 Sep 2020 10:25:21 +0200 Subject: [PATCH 34/41] removed bad pre-condition --- .../PeerEntities.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index 551c3dc39..d809c4c85 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -194,7 +194,7 @@ GET information about multiple alarms with expired or revoked authorization toke [Documentation] Test ID: 8.3.1.8.15 ... Test title: GET information about multiple alarms with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using expired or revoked authorization token. - ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO + ... Pre-conditions: none ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. -- GitLab From e3134a2c421109ea6c16a0c0e05a53718fd68de5 Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 14 Sep 2020 15:07:50 +0500 Subject: [PATCH 35/41] pre-conditions updated --- .../IndividualSubscription.robot | 4 ++-- .../Subscriptions.robot | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot index 15832f9a6..845145baa 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -74,7 +74,7 @@ PUT Individual Subscription - Method not implemented [Documentation] Test ID: 8.3.1.11.6 ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription - ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Pre-conditions: none ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none @@ -86,7 +86,7 @@ PATCH Individual Subscription - Method not implemented [Documentation] Test ID: 8.3.1.11.7 ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription - ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Pre-conditions: none ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index c3094aa2e..76465b7e9 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -141,7 +141,7 @@ PUT Subscriptions - Method not implemented [Documentation] Test ID 8.3.1.10.10 ... Test title: PUT Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions - ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Pre-conditions: none ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none @@ -153,7 +153,7 @@ PATCH Subscriptions - Method not implemented [Documentation] Test ID 8.3.1.10.11 ... Test title: PATCH Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions - ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Pre-conditions: none ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none @@ -165,7 +165,7 @@ DELETE Subscriptions - Method not implemented [Documentation] Test ID 8.3.1.10.12 ... Test title: DELETE Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions - ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Pre-conditions: none ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none -- GitLab From 030925a5d45be2209dceadf5ea02519fe72d37ad Mon Sep 17 00:00:00 2001 From: uihassan Date: Tue, 6 Oct 2020 18:07:01 +0500 Subject: [PATCH 36/41] template bug fix added --- .../NFVMANOCimKeywords.robot | 6 +++--- .../environment/variables.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index de419fa20..2fada9bb2 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -639,7 +639,7 @@ Send Post Request for Subscription Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} ${template}= Get File jsons/CimSubscriptionRequest.json - ${body_request}= Format String ${template} callback_uri=${callback_uri} + ${body_request}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} ${output}= Output response Set Suite Variable ${response} ${output} @@ -649,7 +649,7 @@ Send Post Request for Subscription Check HTTP Response Body CimSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription ${template}= Get File jsons/CimSubscriptionRequest.json - ${body}= Format String ${template} callback_uri=${callback_uri} + ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} ${subscription}= evaluate json.loads('''${body}''') json Should Be Equal As Strings ${response['body']['callbackUri']} ${subscription['callbackUri']} @@ -666,7 +666,7 @@ Send Post Request for Duplicated Subscription Set headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/CimSubscriptionRequest.json - ${body_request}= Format String ${template} callback_uri=${callback_uri} + ${body_request}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body_request} ${output}= Output response Set Suite Variable ${response} ${output} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 2403b026b..3e933f290 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -36,7 +36,7 @@ ${peerEntityId} ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} -${callback_endpoint} /nfvmanocim/subscriptions +${callback_endpoint} /subscriptions ${filter_ok} callbackUri=${callbackUri} ${filter_ko} erroneousFilter=erroneous ${callback_endpoint_fwd} /endpoint/check -- GitLab From 2043b7d60d483a928028fe92328d6e000ca3104b Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 22 Oct 2020 18:14:31 +0200 Subject: [PATCH 37/41] updated references --- .../ChangeNFVMANOEntityStateTask.robot | 12 +++---- .../ChangeStateOperationOccurrences.robot | 30 ++++++++-------- .../IndividualNFVMANOServiceInterface.robot | 16 ++++----- .../IndividualPeerEntity.robot | 16 ++++----- ...vidualStateChangeOperationOccurrence.robot | 12 +++---- .../IndividualSubscription.robot | 14 ++++---- .../NFVMANOEntity.robot | 16 ++++----- .../NFVMANOServiceInterfaces.robot | 30 ++++++++-------- .../NotificationEndpoint.robot | 4 +-- .../PeerEntities.robot | 36 +++++++++---------- .../Subscriptions.robot | 24 ++++++------- 11 files changed, 105 insertions(+), 105 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index 4de972ff3..00e63bda4 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -12,7 +12,7 @@ POST NFV-MANO functional entity application state change ... Test title: POST NFV-MANO functional entity application state change ... Test objective: The objective is to request state change of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ POST NFV-MANO functional entity application state change - Conflict ... Test title: POST NFV-MANO functional entity application state change - Conflict ... Test objective: The objective is to test that request to change the state of the NFV-MANO functional entity application fails due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET NFV-MANO functional entity application state change - Method not implemented ... Test title: GET NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.7.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT NFV-MANO functional entity application state change - Method not implemented ... Test title: PUT NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.7.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH NFV-MANO functional entity application state change - Method not implement ... Test title: PATCH NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.7.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE NFV-MANO functional entity application state change - Method not implemen ... Test title: DELETE NFV-MANO functional entity application state change - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.7.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot index 0b1f5865b..7e50d1110 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeStateOperationOccurrences.robot @@ -13,7 +13,7 @@ POST Change State Operation Occurrences - Method not implemented ... Test title: POST Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Change State Operation Occurrences ... Test title: GET Change State Operation Occurrences ... Test objective: The objective is to query status information about multiple change state operation occurrences, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Change State Operation Occurrences - invalid attribute-based filter ... Test title: GET Change State Operation Occurrences - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET Change State Operation Occurrences - invalid attribute selector ... Test title: GET Change State Operation Occurrences - invalid attribute selector ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET Change State Operation Occurrences - Bad Request Response too Big ... Test title: GET Change State Operation Occurrences - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of Change State Operation Occurrences fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET Change State Operation Occurrences with attribute-based filter ... Test title: GET Change State Operation Occurrences with attribute-based filter ... Test objective: The objective is to query status information about multiple change state operation occurrences with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET Change State Operation Occurrences with "all_fields" attribute selector ... Test title: GET Change State Operation Occurrences with "all_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET Change State Operation Occurrences with "exclude_default" attribute selector ... Test title: GET Change State Operation Occurrence with "exclude_default" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrence with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET Change State Operation Occurrences with "fields" attribute selector ... Test title: GET Change State Operation Occurrences with "fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET Change State Operation Occurrences with "exclude_fields" attribute selector ... Test title: GET Change State Operation Occurrences with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ GET Change State Operation Occurrences with Paged Response ... Test title: GET Change State Operation Occurrence with Paged Response ... Test objective: The objective is to query Change State Operation Occurrence to get Paged Response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -155,7 +155,7 @@ GET Change State Operation Occurrences with "fields" and "exclude_default" attri ... Test title: GET Change State Operation Occurrences with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to retrieve Change State Operation Occurrences with fields and exclude default attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT Change State Operation Occurrences - Method not implemented ... Test title: PUT Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -180,7 +180,7 @@ PATCH Change State Operation Occurrences - Method not implemented ... Test title: PATCH Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE Change State Operation Occurrences - Method not implemented ... Test title: DELETE Change State Operation Occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.8.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index cd9d3bd86..306333dfa 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -13,7 +13,7 @@ POST Individual NFV-MANO Service Interface - Method not implemented ... Test title: POST Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual NFV-MANO Service Interface ... Test title: GET Individual NFV-MANO Service Interface ... Test objective: The objective is to query status information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual NFV-MANO Service Interface - Not Found ... Test title: GET Individual NFV-MANO Service Interface - Not Found ... Test objective: The objective is to test the retrieval of information about an NFV-MANO service interface of the producer NFV-MANO functional entity by reading an "Individual NFV-MANO service interface" resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual NFV-MANO Service Interface - Method not implemented ... Test title: PUT Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual NFV-MANO Service Interface ... Test title: PATCH Individual NFV-MANO Service Interface ... Test objective: This method modifies the Individual NFV-MANO Service Interface resource, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is modified by the operation @@ -75,7 +75,7 @@ PATCH Individual NFV-MANO Service Interface - Conflict ... Test title: PATCH Individual NFV-MANO Service Interface - Conflict ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed due to a conflict with the state of the Individual NFV-MANO Service Interface resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation @@ -88,7 +88,7 @@ PATCH Individual NFV-MANO Service Interface - PreCondition Failed ... Test title: PATCH Individual NFV-MANO Service Interface - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual NFV-MANO Service Interface resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: Individual NFV-MANO Service Interface resource is already created. - ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Individual NFV-MANO Service Interface is not modified by the operation @@ -101,7 +101,7 @@ DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test title: DELETE Individual NFV-MANO Service Interface - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.11.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot index f59e3e0b1..eda38f18e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualPeerEntity.robot @@ -13,7 +13,7 @@ POST Individual Peer Entity - Method not implemented ... Test title: POST Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual Peer Entity ... Test title: GET Individual Peer Entity ... Test objective: The objective is to retrieves information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource ... Pre-conditions: none - ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Peer Entity - Not Found ... Test title: GET Individual Peer Entity - Not Found ... Test objective: The objective is to test the retrieval of information and configuration hold in the producer NFV-MANO functional entity with regards to a peer entity by reading an individual peer entity resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Peer Entity - Method not implemented ... Test title: PUT Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Peer Entity ... Test title: PATCH Individual Peer Entity ... Test objective: This method modifies configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is modified by the operation @@ -75,7 +75,7 @@ PATCH Individual Peer Entity - Conflict ... Test title: PATCH Individual Peer Entity - Conflict ... Test objective: The objective is to test that the modification of configuration and information of the producer NFV-MANO functional entity with regards to a peer functional entity by updating the corresponding "Individual peer entity" resource failed due to a conflict with the state of the Individual Peer Entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is not modified by the operation @@ -88,7 +88,7 @@ PATCH Individual Peer Entity - PreCondition Failed ... Test title: PATCH Individual Peer Entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the Individual Peer Entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity resource is created - ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity Resource is not modified by the operation @@ -101,7 +101,7 @@ DELETE Individual Peer Entity - Method not implemented ... Test title: DELETE Individual Peer Entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.14.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot index be04cc838..b2f606aa8 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualStateChangeOperationOccurrence.robot @@ -13,7 +13,7 @@ POST Individual Change State Operation Occurrence - Method not implemented ... Test title: POST Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.9.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Individual Change State Operation Occurrence ... Test title: GET Individual Change State Operation Occurrence ... Test objective: The objective is to query status information about Individual change state operation occurrence. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET Individual Change State Operation Occurrence - Not Found ... Test title: GET Individual Change State Operation Occurrence - Not Found ... Test objective: The objective is to test the retrieval of information about individual change state operation occurence fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.9.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual Change State Operation Occurrence - Method not implemented ... Test title: PUT Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.9.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual Change State Operation Occurrence - Method not implemented ... Test title: PATCH Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.9.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual Change State Operation Occurrence - Method not implemented ... Test title: DELETE Individual Change State Operation Occurrence - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.9.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot index 845145baa..a1d37e215 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualSubscription.robot @@ -12,7 +12,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Individual Subscription - invalid resource identifier ... Test title: GET Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.5.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ DELETE Individual Subscription ... Test title: DELETE Individual Subscription ... Test objective: The objective is to test the deletion of an individual subscription ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The resource is not available anymore in the NFV-MANO @@ -51,7 +51,7 @@ DELETE Individual Subscription - invalid resource identifier ... Test title: DELETE Individual Subscription - invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.5.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.5.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ PUT Individual Subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.5.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ PATCH Individual Subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription ... Pre-conditions: none - ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.5.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot index a9bfd9b55..97268a15b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOEntity.robot @@ -13,7 +13,7 @@ POST NFV-MANO entity - Method not implemented ... Test title: POST NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET NFV-MANO entity ... Test title: Get NFV-MANO entity ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource and perform a JSON schema and content validation of the collected job data structure. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET NFV-MANO entity - Not Found ... Test title: Get NFV-MANO entity - Not Found ... Test objective: The objective is to test the retrieval of information about an NFV-MANO functional entity by reading the NFV-MANO entity resource fails when the resource is not present. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT NFV-MANO entity - Method not implemented ... Test title: PUT NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH NFV-MANO entity ... Test title: PATCH NFV-MANO entity ... Test objective: The objective is to test that PATCH method modifies the NFV-MANO entity resource and perform a JSON schema and content validation of the modified response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is modified by the operation @@ -75,7 +75,7 @@ PATCH NFV-MANO entity - Conflict ... Test title: PATCH NFV-MANO entity - Conflict ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is not modified by the operation @@ -88,7 +88,7 @@ PATCH NFV-MANO entity - PreCondition Failed ... Test title: PATCH NFV-MANO entity - PreCondition Failed ... Test objective: The objective is to test that the modification of the NFV-MANO entity resource failed because precondition given in an HTTP request header is not fulfilled and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: NFV-MANO entity resource is already created. - ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO entity is not modified by the operation @@ -101,7 +101,7 @@ DELETE NFV-MANO entity - Method not implemented ... Test title: DELETE NFV-MANO entity - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an NFV-MANO Entity. ... Pre-conditions: none - ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.3.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot index e3f619468..9d0a7f2e4 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOServiceInterfaces.robot @@ -13,7 +13,7 @@ POST NFV-MANO Service Interfaces - Method not implemented ... Test title: POST NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that POST method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET NFV-MANO Service Interfaces ... Test title: GET NFV-MANO Service Interfaces ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entity, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ GET NFV-MANO Service Interfaces - invalid attribute-based filter ... Test title: GET NFV-MANO Service Interfaces - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ GET NFV-MANO Service Interfaces - invalid attribute selector ... Test title: GET NFV-MANO Service Interfaces - invalid attribute selector ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ GET NFV-MANO Service Interfaces - Bad Request Response too Big ... Test title: GET NFV-MANO Service Interfaces - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO Service Interfaces fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ GET NFV-MANO Service Interfaces with attribute-based filter ... Test title: GET NFV-MANO Service Interfaces with attribute-based filter ... Test objective: The objective is to query status information about multiple NFV-MANO service interfaces of the NFV-MANO functional entities with attribute filters, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ GET NFV-MANO Service Interfaces with "all_fields" attribute selector ... Test title: GET NFV-MANO Service Interface with "all_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "all_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ GET NFV-MANO Service Interfaces with "exclude_default" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ GET NFV-MANO Service Interfaces with "fields" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with fields attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector ... Test title: GET NFV-MANO Service Interfaces with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -142,7 +142,7 @@ GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute se ... Test title: GET NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to retrieve NFV-MANO Service Interfaces with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -155,7 +155,7 @@ GET NFV-MANO Service Interfaces with Paged Response ... Test title: GET NFV-MANO Service Interfaces with Paged Response ... Test objective: The objective is to query NFV-MANO Service Interface to get Paged Response. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -168,7 +168,7 @@ PUT NFV-MANO Service Interfaces - Method not implemented ... Test title: PUT NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -180,7 +180,7 @@ PATCH NFV-MANO Service Interfaces - Method not implemented ... Test title: PATCH NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -192,7 +192,7 @@ DELETE NFV-MANO Service Interfaces - Method not implemented ... Test title: DELETE NFV-MANO Service Interfaces - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.10.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot index 9a8e00d21..2e77ce90b 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NotificationEndpoint.robot @@ -16,7 +16,7 @@ Information Changed Notification ... Test title: Information Changed Notification ... Test objective: The objective is to test the dispatch of Information Changed Notification when configuration or information is changed in the NFV-MANO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for information availability notifications is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Change State Notification ... Test title: Change State Notification ... Test objective: The objective is to test the dispatch of Change State Notification when state changes of the NFV-MANO functional entity and its managed objects, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A performance job is created, and a state change subscription is available in the NFV-MANO. - ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.6.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANOz ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot index d809c4c85..72e72c3ed 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/PeerEntities.robot @@ -13,7 +13,7 @@ POST Peer Entity ... Test title: POST Peer Entity ... Test objective: The objective is to creates in the producer NFV-MANO functional entity a new peer entity resource which contains configuration and information with regards to the peer functional entity and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: Peer Entity is created @@ -28,7 +28,7 @@ GET Peer Entities ... Test title: GET Peer Entities ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ GET Peer Entities - invalid attribute-based filter ... Test title: GET Peer Entities - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Peer Entities - invalid attribute selector ... Test title: GET Peer Entities - invalid attribute selector ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ GET Peer Entities - Bad Request Response too Big ... Test title: GET Peer Entities - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ GET Peer Entities with attribute-based filter ... Test title: GET Peer Entities with attribute-based filter ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with attribute filters, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -93,7 +93,7 @@ GET Peer Entities with "all_fields" attribute selector ... Test title: GET Peer Entities with "all_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "all_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ GET Peer Entities with "exclude_default" attribute selector ... Test title: GET Peer Entities with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -119,7 +119,7 @@ GET Peer Entities with "fields" attribute selector ... Test title: GET Peer Entities with "fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with fields attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -132,7 +132,7 @@ GET Peer Entities with "exclude_fields" attribute selector ... Test title: GET Peer Entities with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +145,7 @@ GET Peer Entities with "exclude_default" and "fields" attribute selector ... Test title: GET Peer Entities with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to retrieve information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities with "exclude_default" and "fields" attribute selector, and perform the JSON schema validation of the returned job data structure. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -158,7 +158,7 @@ GET Peer Entity with Paged Response ... Test title: GET Peer Entity with Paged Response ... Test objective: The objective is to query information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities to get Paged Response. ... Pre-conditions: At least one Peer Entity is already created. - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -171,7 +171,7 @@ Get Peer Entity with malformed authorization token ... Test title: Get Peer Entity with malformed authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using malformed authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +183,7 @@ Get Peer Entity without authorization token ... Test title: Get Peer Entity without authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when omitting the authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +195,7 @@ GET information about multiple alarms with expired or revoked authorization toke ... Test title: GET information about multiple alarms with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information and configuration in the producer NFV-MANO functional entity with regards to multiple peer entities fails when using expired or revoked authorization token. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [5] v3.3.1 + ... Reference: clause 5.5.13.3.2 - ETSI GS NFV-SOL 009 [6] v3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The Peer Entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -207,7 +207,7 @@ PUT Peer Entities - Method not implemented ... Test title: PUT Peer Entities - Method not implemented ... Test objective: The objective is to test that PUT method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +219,7 @@ PATCH Peer Entities - Method not implemented ... Test title: PATCH Peer Entities - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -231,7 +231,7 @@ DELETE Peer Entities - Method not implemented ... Test title: DELETE Peer Entities - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemeted. ... Pre-conditions: none - ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.13.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot index 76465b7e9..40a5165ff 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/Subscriptions.robot @@ -16,7 +16,7 @@ GET all Subscriptions ... Test title: GET all Subscriptions ... Test objective: The objective is to test the retrieval list of active subscriptions of API consumer and perform a JSON schema validation of the returned subscriptions data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET Subscriptions with attribute-based filter ... Test title: GET Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of active subscriptions list of API consumer using attribute-based filter and perform a JSON schema validation of the collected indicators data structure. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET Subscriptions with Paged Response ... Test title: GET Subscriptions with Paged Response ... Test objective: The objective is to query information of active subscriptions list to of API consumer to get Paged Response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: ... Post-Conditions: @@ -55,7 +55,7 @@ GET Subscriptions - invalid attribute-based filter ... Test title: GET Subscriptions - invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -69,7 +69,7 @@ GET Subscriptions - Bad Request Response too Big ... Test title: GET Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -82,7 +82,7 @@ GET Subscriptions - invalid resource endpoint ... Test title: GET Subscriptions - invalid resource endpoint ... Test objective: The objective is to test that the retrieval of active subscriptions list of API consumer fails when using invalid resource endpoint. ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +94,7 @@ Create new Subscription ... Test title: Create new Subscription ... Test objective: The objective is to test the creation of a new subscription and perform a JSON schema and content validation of the returned subscription data structure ... Pre-conditions: none - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The subscription is successfully set and it matches the issued subscription @@ -111,7 +111,7 @@ Create request for duplicated Subscription not creating duplicated subscriptions ... Test title: Create request for duplicated Subscription not creating duplicated subscriptions ... Test objective: The objective is to test the attempt of a creation of a duplicated subscription failed and check that no new subscription is created and a link to the original subscription is returned ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO does not support the creation of duplicated subscriptions ... Post-Conditions: The existing Subscription returned is available in the NFV-MANO @@ -127,7 +127,7 @@ Create request for duplicated Subscription creating duplicated subscriptions ... Test title: Create request for duplicated Subscription creating duplicated subscriptions ... Test objective: The objective is to test the creation of a duplicated subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure ... Pre-conditions: At least one subscription is available in the NFV-MANO. - ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions ... Post-Conditions: The duplicated subscription is successfully set and it matches the issued subscription @@ -142,7 +142,7 @@ PUT Subscriptions - Method not implemented ... Test title: PUT Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -154,7 +154,7 @@ PATCH Subscriptions - Method not implemented ... Test title: PATCH Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ DELETE Subscriptions - Method not implemented ... Test title: DELETE Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete subscriptions ... Pre-conditions: none - ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.4.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none -- GitLab From c0d01808ff1140406967869720d181916c7888e5 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 22 Oct 2020 18:18:27 +0200 Subject: [PATCH 38/41] updated references bis --- .../ApiVersion.robot | 20 +++++++++---------- .../ChangeInterfaceStateTask.robot | 12 +++++------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot index fac4978ca..b9c86942f 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 v2.7.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot index cbd81a3ce..c31bdd830 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -13,7 +13,7 @@ POST Change interface state task ... Test title: POST Change interface state task ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Change interface state task - Conflict ... Test title: POST Change interface state task - Conflict ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET Change interface state task - Method not implemented ... Test title: GET Change interface state task - Method not implemented ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PUT Change interface state task - Conflict - Method not implemented ... Test title: PUT Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ PATCH Change interface state task - Conflict - Method not implemented ... Test title: PATCH Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ DELETE Change interface state task - Conflict - Method not implemented ... Test title: DELETE Change interface state task - Conflict - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. ... Pre-conditions: none - ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none -- GitLab From 8917e63ba47ab3ed19a02a7d1cca7873ad984409 Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 26 Oct 2020 12:45:44 +0500 Subject: [PATCH 39/41] added keywords to check state is changed as intended --- .../ChangeInterfaceStateTask.robot | 3 +- .../ChangeNFVMANOEntityStateTask.robot | 3 +- .../IndividualNFVMANOServiceInterface.robot | 1 + .../NFVMANOCimKeywords.robot | 28 ++++++++++++++++++- .../environment/variables.txt | 7 ++++- .../jsons/ChangeStateRequest.json | 2 +- 6 files changed, 39 insertions(+), 5 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot index c31bdd830..a036a1118 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -16,10 +16,11 @@ POST Change interface state task ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: interface status changed Send Post request for Change interface state task Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location + Wait for interface state change success notification and validate status POST Change interface state task - Conflict [Documentation] Test ID: 8.3.1.7.2 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot index 00e63bda4..020c545e9 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeNFVMANOEntityStateTask.robot @@ -15,10 +15,11 @@ POST NFV-MANO functional entity application state change ... Reference: clause 5.5.7.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: entity status changed Send Post request for NFV-MANO functional entity application state change Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location + Wait for entity state change success notification and validate status POST NFV-MANO functional entity application state change - Conflict [Documentation] Test ID: 8.3.1.2.2 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot index 306333dfa..3861f45cb 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/IndividualNFVMANOServiceInterface.robot @@ -44,6 +44,7 @@ GET Individual NFV-MANO Service Interface - Not Found ... Post-Conditions: none Get Individual NFV-MANO Service Interface Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails PUT Individual NFV-MANO Service Interface - Method not implemented [Documentation] Test ID: 8.3.1.6.4 diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 2fada9bb2..6d8fb5d95 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -78,10 +78,24 @@ Send Post request for NFV-MANO functional entity application state change Log Trying to perform a POST for NFV-MANO functional entity application state change Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + ${template}= Get File jsons/ChangeStateRequest.json + ${body}= Format String ${template} state=${state} operationalStateAction=${operationalStateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} +Wait for entity state change success notification and validate status + Wait Until Keyword Succeeds ${retry} ${polling} Check entity state + +Check entity state + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${response['headers']['Location']} + Log Validate Status code + Integer response status 200 + Should Be Equal As Strings response body manoApplicationState ${state} ${operationalStateAction} + Log Validated + Send Get request for NFV-MANO functional entity application state change Log Trying to perform a GET (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -413,11 +427,23 @@ Send Post request for Change interface state task Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/ChangeStateRequest.json - ${body}= Format String ${template} operationalStateAction=${operationalStateAction} + ${body}= Format String ${template} state=${state} operationalStateAction=${operationalStateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} ${output}= Output response Set Suite Variable ${response} ${output} +Wait for interface state change success notification and validate status + Wait Until Keyword Succeeds ${retry} ${polling} Check interface state + +Check interface state + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${response['headers']['Location']} + Log Validate Status code + Integer response status 200 + Should Be Equal As Strings response body interfaceState ${state} ${operationalStateAction} + Log Validated + Send Get request for Change interface state task Log Trying to perform a GET (method should not be implemented) Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index 3e933f290..ca1dc0b75 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -59,4 +59,9 @@ ${origResponse} {} ${name} EntityName ${type} NFVO -${operationalStateAction} START \ No newline at end of file + +${state} operationalStateChange +${operationalStateAction} START + +${retry} 2 min +${polling} 10 sec \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json index 1245a6b65..d1cdc12b2 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json @@ -1,5 +1,5 @@ {{ - "operationalStateChange": + "{state}": {{ "operationalStateAction":"{operationalStateAction}" }} -- GitLab From 605e3c3840b188317e2a65cf9758c715e067c5a1 Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 26 Oct 2020 17:20:35 +0500 Subject: [PATCH 40/41] bug fix added --- .../NFVMANOCimKeywords.robot | 10 ++++++---- .../environment/variables.txt | 4 ++-- .../jsons/ChangeStateRequest.json | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index 6d8fb5d95..c0181e68e 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -79,7 +79,7 @@ Send Post request for NFV-MANO functional entity application state change Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/ChangeStateRequest.json - ${body}= Format String ${template} state=${state} operationalStateAction=${operationalStateAction} + ${body}= Format String ${template} state=${state} stateAction=${stateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/change_state ${output}= Output response Set Suite Variable ${response} ${output} @@ -93,7 +93,8 @@ Check entity state Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 - Should Be Equal As Strings response body manoApplicationState ${state} ${operationalStateAction} + ${respState} = Catenate SEPARATOR= change ${state} StateRequest + Should Be Equal As Strings response body ${respState} ${stateAction} Log Validated Send Get request for NFV-MANO functional entity application state change @@ -427,7 +428,7 @@ Send Post request for Change interface state task Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/ChangeStateRequest.json - ${body}= Format String ${template} state=${state} operationalStateAction=${operationalStateAction} + ${body}= Format String ${template} state=${state} stateAction=${stateAction} POST ${apiRoot}/${apiName}/${apiMajorVersion}/mano_entity/mano_interfaces/${manoServiceInterfaceId}/change_state ${body} ${output}= Output response Set Suite Variable ${response} ${output} @@ -441,7 +442,8 @@ Check interface state Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 - Should Be Equal As Strings response body interfaceState ${state} ${operationalStateAction} + ${respState} = Catenate SEPARATOR= change ${state} StateRequest + Should Be Equal As Strings response body ${respState} ${stateAction} Log Validated Send Get request for Change interface state task diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt index ca1dc0b75..e94ee646d 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/environment/variables.txt @@ -60,8 +60,8 @@ ${origResponse} {} ${name} EntityName ${type} NFVO -${state} operationalStateChange -${operationalStateAction} START +${state} operational +${stateAction} START ${retry} 2 min ${polling} 10 sec \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json index d1cdc12b2..b93e142ef 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/jsons/ChangeStateRequest.json @@ -1,7 +1,7 @@ {{ - "{state}": + "{state}StateChange": {{ - "operationalStateAction":"{operationalStateAction}" + "{state}StateAction":"{stateAction}" }} }} \ No newline at end of file -- GitLab From 79dad1a1e1aa66c9872d0edcaa3829f3b9d0985a Mon Sep 17 00:00:00 2001 From: Najam UI Hassan Date: Wed, 4 Nov 2020 11:24:21 +0100 Subject: [PATCH 41/41] Added keyword "Check PostCondition NFV-MANO service interface state matches the requested state" --- .../ChangeInterfaceStateTask.robot | 166 +++++++++--------- .../NFVMANOCimKeywords.robot | 2 +- 2 files changed, 84 insertions(+), 84 deletions(-) diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot index a036a1118..4cdc1a3ac 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/ChangeInterfaceStateTask.robot @@ -1,84 +1,84 @@ -** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Library JSONLibrary -Library OperatingSystem -Resource NFVMANOCimKeywords.robot -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library MockServerLibrary - -*** Test Cases *** -POST Change interface state task - [Documentation] Test ID: 8.3.1.7.1 - ... Test title: POST Change interface state task - ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity - ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: interface status changed - Send Post request for Change interface state task - Check HTTP Response Status Code Is 202 - Check HTTP Response Header Contains Location - Wait for interface state change success notification and validate status - -POST Change interface state task - Conflict - [Documentation] Test ID: 8.3.1.7.2 - ... Test title: POST Change interface state task - Conflict - ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: none - ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Post request for Change interface state task - Check HTTP Response Status Code Is 409 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET Change interface state task - Method not implemented - [Documentation] Test ID: 8.3.1.7.3 - ... Test title: GET Change interface state task - Method not implemented - ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: none - ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Get request for Change interface state task - Check HTTP Response Status Code Is 405 - -PUT Change interface state task - Conflict - Method not implemented - [Documentation] Test ID: 8.3.1.7.4 - ... Test title: PUT Change interface state task - Conflict - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: none - ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Put request for Change interface state task - Check HTTP Response Status Code Is 405 - -PATCH Change interface state task - Conflict - Method not implemented - [Documentation] Test ID: 8.3.1.7.5 - ... Test title: PATCH Change interface state task - Conflict - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: none - ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Patch request for Change interface state task - Check HTTP Response Status Code Is 405 - -DELETE Change interface state task - Conflict - Method not implemented - [Documentation] Test ID: 8.3.1.7.6 - ... Test title: DELETE Change interface state task - Conflict - Method not implemented - ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. - ... Pre-conditions: none - ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Delete request for Change interface state task +** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library JSONLibrary +Library OperatingSystem +Resource NFVMANOCimKeywords.robot +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary + +*** Test Cases *** +POST Change interface state task + [Documentation] Test ID: 8.3.1.7.1 + ... Test title: POST Change interface state task + ... Test objective: The objective is send put request to change the state of the NFV-MANO service interface produced by the NFV-MANO functional entity + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: interface status changed + Send Post request for Change interface state task + Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location + Check PostCondition NFV-MANO service interface state matches the requested state + +POST Change interface state task - Conflict + [Documentation] Test ID: 8.3.1.7.2 + ... Test title: POST Change interface state task - Conflict + ... Test objective: The objective is to test that request to cchange the state of the NFV-MANO service interface produced by the NFV-MANO functional entity failed due to a conflict with the state of the NFV-MANO entity resource and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.1 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Post request for Change interface state task + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Change interface state task - Method not implemented + [Documentation] Test ID: 8.3.1.7.3 + ... Test title: GET Change interface state task - Method not implemented + ... Test objective: The objective is to test that GET method is not allowed to retrieve the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.2 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Get request for Change interface state task + Check HTTP Response Status Code Is 405 + +PUT Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.4 + ... Test title: PUT Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.3 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Put request for Change interface state task + Check HTTP Response Status Code Is 405 + +PATCH Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.5 + ... Test title: PATCH Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.4 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Patch request for Change interface state task + Check HTTP Response Status Code Is 405 + +DELETE Change interface state task - Conflict - Method not implemented + [Documentation] Test ID: 8.3.1.7.6 + ... Test title: DELETE Change interface state task - Conflict - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete the changed state of the NFV-MANO functional entity application. + ... Pre-conditions: none + ... Reference: clause 5.5.12.3.5 - ETSI GS NFV-SOL 009 [6] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Delete request for Change interface state task Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot index c0181e68e..22ee56981 100644 --- a/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot +++ b/SOL009/NFVManoConfigurationAndInformationManagement-API/NFVMANOCimKeywords.robot @@ -433,7 +433,7 @@ Send Post request for Change interface state task ${output}= Output response Set Suite Variable ${response} ${output} -Wait for interface state change success notification and validate status +Check PostCondition NFV-MANO service interface state matches the requested state Wait Until Keyword Succeeds ${retry} ${polling} Check interface state Check interface state -- GitLab