diff --git a/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml b/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml deleted file mode 100644 index 481efd043621ffabbb6fe6dbb88056222b784e97..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOLogManagement-API/SOL009-NFVMANOLogManagement-API.yaml +++ /dev/null @@ -1,25442 +0,0 @@ -openapi: 3.0.2 -info: - version: '1.0.0-impl:etsi.org:ETSI_NFV_OpenAPI:1' - title: SOL009 - NFV-MANO Log Management interface - description: > - SOL009 - NFV-MANO Log Management interface - - IMPORTANT: Please note that this file might be not aligned to the current - version of the ETSI Group Specification - it refers to. In case of discrepancies the published ETSI Group Specification takes precedence. - - Please report bugs to - https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis&list_id=61&product=NFV&resolution= - license: - name: ETSI Forge copyright notice - url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt' -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 -security: - - OauthSecurity: - - all -servers: - - url: 'http://127.0.0.1/nfvmanologm/v1' - - url: 'https://127.0.0.1/nfvmanologm/v1' -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 - /log_jobs: - description: >- - This resource represents logging jobs. The API consumer can use this - resource to create and query logging jobs. - post: - description: >- - The POST method creates a logging job. This method shall follow the - provisions specified in the tables 8.5.3.3.1-1 and 8.5.3.3.1-2 for URI - query parameters, request and response data structures, and response - codes. As the result of successfully executing this method, a new - "Individual logging job" resource as defined in clause 9.5.4 shall have - been created. - 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: Content-Type - description: | - The MIME type of the body of the request. 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: >- - This type represents a request to create a logging job. It shall - comply with the provisions defined in table 8.6.2.5-1. - content: - application/json: - schema: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is requested to be collected. This attribute - shall contain the identifier of the instance of the object - to be logged according to their type. If more than one - identifier is provided, values shall all refer to object - instances of the same type, for which the same criteria is - then applicable. - type: array - minItems: 1 - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service interfaces. - It shall comply with the provisions defined in table - 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An - API consumer can provide more than one - "matchingPattern" if combinations of patterns are to - be considered to match diverse sets of interface - messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be obtained - from the HTTP status code registry. In - addition, if supported, the following patterns - may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for matching - any kind of client error response. - "5XX": - for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause - 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API - producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the body - of an HTTP message). If provided, only - messages with text in the body part containing - all the values from the list shall match the - filter. In addition to a matching filter for - the body of the message, a corresponding - "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to NFV-MANO - services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO functional - entity. It shall comply with the provisions defined in - table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal - to the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting based - on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA - 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer - shall notify the consumer once the compilation of - the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not present, - a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher (lower - array index) to lower (higher array index) - precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC - 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default value - is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. - Shall be provided if required by the type of - transfer protocol. May be omitted if the key has - been provided to the API producer by other - means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by - the same API consumer, whose public key has not - changed. - type: string - required: true - responses: - '201': - description: >- - The response body contains the Application Context as it was created - by the MEC system - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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 logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are - to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. - To match, the request URI shall include the - value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be - obtained from the HTTP status code registry. - In addition, if supported, the following - patterns may be used (case-insensitive): - - "1XX": for matching any kind of - informational response. - "2XX": for - matching any kind of success response. - - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of - client error response. - "5XX": for matching - any kind of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the - body of an HTTP message). If provided, only - messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the message, - a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to - appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the provisions - defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity - of the system messages to collect. The NFV-MANO - functional entity shall collect system log - messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more - severe) or equal to the value provided by this - present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting - based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: the - producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected log - data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher - (lower array index) to lower (higher array - index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 - of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default - value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API producer - by other means, or if it has already been - provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - 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 - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - 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 - '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: >- - The API consumer can use this method to retrieve information about - logging jobs. This method shall follow the provisions specified in the - tables 8.5.3.3.2-1 and 8.5.3.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 FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - 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 - in: query - 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. - 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: >- - Shall be returned when information about zero or more logging jobs - has been queried successfully. - - The response body shall contain in an array the representations of - zero or more logging jobs, as defined in clause 8.6.2.6. - - 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 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: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain - the identifier of the instance of the object that is - logged according to their type. - type: array - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging - jobs. It shall comply with the provisions defined in - table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO - service interface messages. - SERVICES: logged - messages about processes pertaining to NFV-MANO - services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the - provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to - match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than - one "matchingPattern" if combinations of - patterns are to be considered to match diverse - sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To - match, the HTTP request method of the - message shall be the same as the value of - this attribute. Valid values are specified - in IETF RFC 7231. The API producer shall - support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request - URI. To match, the request URI shall - include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. - A list of all valid HTTP response codes - and their specification documents can be - obtained from the HTTP status code - registry. In addition, if supported, the - following patterns may be used - (case-insensitive): - "1XX": for matching - any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for - matching any kind of client error - response. - "5XX": for matching any kind - of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. - The header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To - match, the value in the header field - indicated by "headerField" shall be the - same as in this attribute. Shall be - provided if a "headerField" is provided. - The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the - body part of the interface message (e.g., - the body of an HTTP message). If provided, - only messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the - message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining - to NFV-MANO services. It shall comply with the - provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the - provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to - signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the - severity of the system messages to collect. The - NFV-MANO functional entity shall collect system - log messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by - this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging - job. It shall comply with the provisions defined in - table 8.6.3.6-1. NOTE: The present document version does - not specify the support for "log compilation and - reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer - will report to the consumer about the compiled log - data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: - the producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know - about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected - log data. If not present, a default value as - specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" - shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More - than one algorithm can be provided from - higher (lower array index) to lower (higher - array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause - 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid - values are: "encryptFirst", to apply the - order "first encrypt, then sign", and - "signFirst" for the order "first sign, then - encrypt". Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API - producer by other means, or if it has - already been provided in some previous - CreateLoggingJobRequest issued by the same - API consumer, whose public key has not - changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - 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 - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged - object instance information is accessible as a - resource. - 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 - '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 - '/log_jobs/{logJobId}': - description: >- - This resource represents an individual logging job. The API consumer can - use this resource to delete and read the underlying logging job. - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual logging - job. This method shall follow the provisions specified in the tables - 8.5.4.3.2-1 and 8.5.4.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: >- - Shall be returned when information about an individual logging job - has been read successfully. The response body shall contain a - representation of the "Individual logging job" resource, as defined - in clause 8.6.2.6. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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 logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service - interfaces. It shall comply with the provisions - defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. - If provided, only messages that match all the - values provided in the sub-attributes shall be - logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are - to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. - To match, the request URI shall include the - value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be - obtained from the HTTP status code registry. - In addition, if supported, the following - patterns may be used (case-insensitive): - - "1XX": for matching any kind of - informational response. - "2XX": for - matching any kind of success response. - - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of - client error response. - "5XX": for matching - any kind of server error response. - - The API producer shall support this - attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL - 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in - accordance with the "direction" criteria - input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the - body of an HTTP message). If provided, only - messages with text in the body part - containing all the values from the list - shall match the filter. In addition to a - matching filter for the body of the message, - a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to - appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to - NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO - functional entity. It shall comply with the provisions - defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity - of the system messages to collect. The NFV-MANO - functional entity shall collect system log - messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more - severe) or equal to the value provided by this - present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting - based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. - Permitted values: - REPORTING_ON_COMPILATION: the - producer shall notify the consumer once the - compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the - collected log data, in bytes. It is used when the - compilation is based on the size of the collected log - data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not - present, a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the - logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled - log files. Shall be present if the log file is - requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use - for the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher - (lower array index) to lower (higher array - index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 - of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default - value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for - the client authentication with the file - server. Shall be provided if required by the - type of transfer protocol. May be omitted if - the key has been provided to the API producer - by other means, or if it has already been - provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - 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 - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - 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 - '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: >- - This method terminates an individual logging job. This method shall - follow the provisions specified in the tables 8.5.4.3.5-1 and - 8.5.4.3.5-2 for URI query parameters, request and response data - structures, and response codes. As the result of successfully executing - this method, the "Individual logging job" resource shall not exist any - longer - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - 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: >- - Shall be returned when the logging job 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 - '/log_jobs/{logJobId}/log_reports/{logReportId}': - description: "This resource represents an individual log report. The API consumer can use this resource to read information about a log report. The log report provides metadata information about a log and location information of the log file from where it can be obtained. NOTE:\tThe present document does not specify the mechanism how to retrieve the log files." - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - - name: logReportId - in: path - description: Identifier of the report. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - get: - description: >- - The API consumer can use this method for reading an individual log - report. This method shall follow the provisions specified in the tables - 8.5.5.3.2-1 and 8.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: >- - Shall be returned when information of an individual log report has - been read successfully. The response body shall contain a - representation of the "Individual log report" resource, as defined - in clause 8.6.2.7. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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 log report, which provides information - about a compiled log and how to obtain it. It shall comply - with the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - 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 - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. - The consumer can use this information to obtain the - compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP - Secure (HTTPS). - SFTP: transmission over SSH file - transfer protocol (SFTP). - SCP: transmission over - secure copy protocol (SCP). - FTPS: transmission over - file transfer protocol secure (FTPS), as specified in - IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port - number (if the host with the compile log file uses a - non-standard port number as per the supported - transmission protocol), a valid file directory path, - and the file name of the compiled log file, or a valid - URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of - the log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled - log file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. - Shall be present if the compiled log file is - encrypted. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is - used to ensure the authenticity of the compiled log - file. The signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional - entity’s public key used for verifying the log report - and compiled log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - 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 - '202': - description: >- - Shall be returned if the creation of the log report is ongoing and - no log report is available yet (applicable in asynchronous mode of - the "Compile log task" resource). The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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 - '/log_jobs/{logJobId}/compile_log': - description: >- - This resource represents the "Compile log" operation. The API consumer can - use this resource to request compiling the logged data, collected via a - logging job, into a file and creating the associated log report. As the - result of successfully processing this request, a new "Individual log - report" resource shall be created. Two modes of operation, synchronous or - asynchronous, can take place depending on whether the NFV-MANO functional - entity can compile the log data and create the log report immediately. In - the synchronous case, which is indicated by responding with "201 Created", - the resource shall be created before the "201 Created" response is - returned. In the asynchronous case, which is indicated by responding with - "202 Accepted", the resource may be created after the response is - returned. - parameters: - - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - post: - description: >- - The POST method requests to compile the logged data into a file and - create an associated log report. This method shall follow the provisions - specified in the tables 8.5.6.3.1-1 and 8.5.6.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: Content-Type - description: | - The MIME type of the body of the request. 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: Log compilation request. - content: - application/json: - schema: - description: > - This type represents a request to compile the logged data - associated to an object instance. It shall comply with the - provisions defined in table 8.6.2.8-1. - type: object - properties: - objectInstanceId: - 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 - required: true - responses: - '200': - description: >- - Shall be returned for a successful compilation of the log data and - creation of the associated log report (synchronous mode). The - response body shall contain a representation of the log report - resource, as defined in clause 8.6.2.7. The HTTP response shall - include a "Location" HTTP header that indicate the URI of the - "Individual log report" resource just created - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply - with the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - 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 - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. - The consumer can use this information to obtain the - compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP - Secure (HTTPS). - SFTP: transmission over SSH file - transfer protocol (SFTP). - SCP: transmission over - secure copy protocol (SCP). - FTPS: transmission over - file transfer protocol secure (FTPS), as specified in - IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port - number (if the host with the compile log file uses a - non-standard port number as per the supported - transmission protocol), a valid file directory path, - and the file name of the compiled log file, or a valid - URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of - the log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled - log file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. - Shall be present if the compiled log file is - encrypted. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is - used to ensure the authenticity of the compiled log - file. The signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional - entity’s public key used for verifying the log report - and compiled log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - 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 - '202': - description: >- - Shall be returned when the request has been accepted for processing, - and it is expected to take some time to compile the log file and - create the associated log report (asynchronous mode). The response - body shall be empty. The HTTP response shall include a "Location" - HTTP header that indicates the URI of the "Individual log report" - resource that will be created once the log file compilation is - completed. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the "Individual log report" resource that will be - created once the log file compilation is completed. - schema: - type: string - '303': - description: >- - Shall be returned when a log data compilation and report creation is - already ongoing, or a log report has just been created, for the - specified logging job at the time of processing the request. The - response body shall be empty. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the log - report resource just created, or to be created by the ongoing - compilation and report creation. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the log report resource just created, or to be - created by the ongoing compilation and report creation - 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: >- - The general cause for this error and its handling is specified in - clause 6.4 of ETSI GS NFV-SOL 013, including rules for the presence - of the response body. Specifically, in case of this task resource, - the response code 422 shall also be returned if the - "objectInstanceId" value provided in the payload body of the request - does not correspond to an object instance for which log data is - being collected by the logging job represented by this resource. The - response body shall contain a ProblemDetails structure, in which the - "detail" attribute should convey more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the 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 - '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: - description: >- - This resource represents subscriptions. The client can use this resource - to subscribe to notifications related to NFV-MANO performance management - and to query its subscriptions. - post: - description: >- - The POST method creates a new subscription. This method shall follow the - provisions specified in the tables 8.5.7.3.1-1 and 8.5.7.3.1-2 for URI - query - parameters, request and response data structures, and response codes. - As the result of successfully executing this method, a new "Individual - subscription" resource as defined in clause 8.5.8 shall have been - created. This method shall not trigger any notification. Creation of two - "Individual subscription" resources with the same callbackURI and the - same filter can result in performance degradation and will provide - duplicates of notifications to the API consumer, and might make sense - only in very rare use cases. Consequently, the NFV-MANO functional - entity may either allow creating a new "Individual subscription" - resource if another "Individual subscription" resource with the same - filter and callbackUri already exists (in which case it shall return the - "201 Created" response code), or may decide to not create a duplicate - "Individual subscription" resource (in which case it shall return a "303 - See Other" response code referencing the existing "Individual - subscription" resource with the same filter and callbackUri). - 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: Content-Type - description: | - The MIME type of the body of the request. 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 - content: - application/json: - schema: - description: >- - Information on application context created by the MEC system - type: object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. It shall comply with the provisions - defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - 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 - responses: - '201': - description: >- - Shall be returned when the subscription has been created - successfully. A representation of the created "Individual - subscription" resource shall be returned in the response body, as - defined in clause 8.6.2.3. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the created - "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - 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 - '303': - description: >- - Shall be returned when a subscription with the same callbackURI and - the same filter already exists and the policy of the 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: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - 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 - callbacks: - LogReportAvailableNotification: - '{$request.body#/callbackUri}': - description: >- - This resource represents a notification endpoint for NFV-MANO log - management. The API producer can use this resource to send - notifications related to log management events to a subscribed API - consumer, which has provided the URI of this resource during the - subscription process. - post: - description: >- - The POST method delivers a notification regarding a log - management event from the API producer to the API consumer. The - API consumer shall have previously created an "Individual - subscription" resource with a matching filter. This method shall - follow the provisions specified in the tables 8.5.9.3.1-1 and - 8.5.9.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: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log - report of the NFV-MANO functional entity is available. - It shall comply with the provisions defined in table - 8.6.2.4-1. The notification shall be triggered by the - NFV-MANO functional entity when log information has been - collected by the logging job and the log report is - available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. - Shall be set to "LogReportAvailableNotification" for - this notification type. - type: string - subscriptionId: - description: > - An identifier with the intention of being globally - unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - 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 - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be - obtained. Due to the relationship of the logging - job compilation and the logging information - availability reporting, more than one logReport - notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative - URI. - type: object - required: - - href - properties: - href: - description: > - String formatted according to IETF RFC - 3986. - type: string - responses: - '204': - description: >- - Shall be returned when the notification has been delivered - successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - 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 - get: - description: >- - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - subscription. This method shall follow the provisions specified - in the tables 8.5.9.3.2-1 and 8.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: - '204': - description: >- - Shall be returned to indicate that the notification endpoint - has been tested successfully. The response body shall be - empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not - provided authorization, or error details if the - corresponding HTTP request has provided an invalid - authorization token. - 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 - get: - description: >- - The API consumer can use this method to query the list of active - subscriptions to log management notifications subscribed by the API - consumer. This method shall follow the provisions specified in the - tables 8.5.7.3.2-1 and 8.5.7.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 FmSubscription and in data types referenced from it shall be - supported by the NFV-MANO functional entity in the filter - 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: >- - 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 log - management subscriptions as defined in clause 8.6.2.3. 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 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: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a subscription. It shall comply with - the provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical - "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being - globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted - values: - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - 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 - '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 - '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}': - description: >- - This resource represents an individual subscription for notifications - about log management related events. The API consumer can use this - resource to read and to terminate a subscription to notifications related - o NFV-MANO log management. - 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: >- - The API consumer can use this method for reading an individual - subscription about log management notifications subscribed by the API - consumer. This method shall follow the provisions specified in the - tables 8.5.8.3.2-1 and 8.5.8.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: >- - Shall be returned when the subscription has been read successfully. - The response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 8.6.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to - subscribe for notifications related to log management - events. It shall comply with the provisions defined in - table 8.6.3.7-1. At a particular nesting level in the - filter structure, the following applies: All attributes - shall match in order for the filter to match (logical - "and" between different filter attributes). If an - attribute is an array, the attribute shall match if at - least one of the values in the array matches (logical "or" - between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their - associated managed objects. It shall comply with the - provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an - instance identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - 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 - '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 - '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: "This method terminates an individual subscription. This method shall follow the provisions specified in the tables 8.5.8.3.5-1 and 8.5.8.3.5-2 for URI query parameters, request and response data structures, and response codes. As the result of successfully executing this method, the \"Individual subscription\" resource shall not exist any longer. This means that no notifications for that subscription shall be sent to the formerly-subscribed API consumer. NOTE:\tDue to race conditions, some notifications might still be received by the formerly-subscribed API consumer for a certain time period after the deletion." - parameters: - - name: Version - description: | - Version of the API requested to use when responding to this request. - 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: >- - Shall be returned when the "Individual subscription" resource has - been deleted successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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 -components: - parameters: - logJobId: - name: logJobId - in: path - description: Identifier of the logging job. - required: true - schema: - description: | - An identifier with the intention of being globally unique. - type: string - logReportId: - name: logReportId - in: path - description: Identifier of the report. - 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 - requestBodies: - LogmSubscriptionRequest: - description: Details of the subscription to be created - content: - application/json: - schema: - description: >- - Information on application context created by the MEC system type: - object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - 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 - CreateLoggingJobRequest: - description: >- - This type represents a request to create a logging job. It shall comply - with the provisions defined in table 8.6.2.5-1. - content: - application/json: - schema: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is requested to be collected. This attribute shall - contain the identifier of the instance of the object to be - logged according to their type. If more than one identifier is - provided, values shall all refer to object instances of the - same type, for which the same criteria is then applicable. - type: array - minItems: 1 - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - required: true - CompileLogRequest: - description: Log compilation request. - content: - application/json: - schema: - description: > - This type represents a request to compile the logged data - associated to an object instance. It shall comply with the - provisions defined in table 8.6.2.8-1. - type: object - properties: - objectInstanceId: - 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 - required: true - LogReportAvailableNotification: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log report of the - NFV-MANO functional entity is available. It shall comply with the - provisions defined in table 8.6.2.4-1. The notification shall be - triggered by the NFV-MANO functional entity when log information - has been collected by the logging job and the log report is - available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. Shall be - set to "LogReportAvailableNotification" for this notification - type. - type: string - subscriptionId: - description: | - An identifier with the intention of being globally unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - 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 - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be obtained. - Due to the relationship of the logging job compilation and - the logging information availability reporting, more than - one logReport notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - subscription.delete.204: - description: >- - Shall be returned when the "Individual subscription" resource has been - deleted successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - subscription.get.200: - description: >- - Shall be returned when the subscription has been read successfully. The - response body shall contain a representation of the "Individual - subscription" resource, as defined in clause 8.6.2.3. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - 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. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - 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 - subscriptions.get.200: - description: >- - 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 log management - subscriptions as defined in clause 8.6.2.3. 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 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: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for - the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute - shall match if at least one of the values in the array - matches (logical "or" between the values of one filter - attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to - match NFV-MANO functional entities and their associated - managed objects. It shall comply with the provisions - defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - produced interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity - consumed interfaces with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - 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 - subscriptions.post.201: - description: >- - Shall be returned when the subscription has been created successfully. A - representation of the created "Individual subscription" resource shall - be returned in the response body, as defined in clause 8.6.2.3. The HTTP - response shall include a "Location" HTTP header that contains the - resource URI of the created "Individual subscription" resource. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: >- - This type represents a subscription. It shall comply with the - provisions defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe - for notifications related to log management events. It shall - comply with the provisions defined in table 8.6.3.7-1. At a - particular nesting level in the filter structure, the - following applies: All attributes shall match in order for the - filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall - match if at least one of the values in the array matches - (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in - Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: > - An identifier with the intention of being globally - unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - 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 - subscriptions.post.303: - description: >- - Shall be returned when a subscription with the same callbackURI and the - same filter already exists and the policy of the 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: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - LogReportCompiled.Post.200: - description: >- - Shall be returned for a successful compilation of the log data and - creation of the associated log report (synchronous mode). The response - body shall contain a representation of the log report resource, as - defined in clause 8.6.2.7. The HTTP response shall include a "Location" - HTTP header that indicate the URI of the "Individual log report" - resource just created - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: | - URI of the "Individual log report" resource just created - schema: - type: string - content: - application/json: - schema: - description: > - This type represents a log report, which provides information - about a compiled log and how to obtain it. It shall comply with - the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - 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 - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log - file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer - protocol (SFTP). - SCP: transmission over secure copy - protocol (SCP). - FTPS: transmission over file transfer - protocol secure (FTPS), as specified in IETF RFC 2228 - [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number - (if the host with the compile log file uses a non-standard - port number as per the supported transmission protocol), a - valid file directory path, and the file name of the - compiled log file, or a valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the - log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log - file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall - be present if the compiled log file is encrypted. Valid - values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is used to - ensure the authenticity of the compiled log file. The - signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s - public key used for verifying the log report and compiled - log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - 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 - LogReportCompiled.Post.202: - description: >- - Shall be returned when the request has been accepted for processing, and - it is expected to take some time to compile the log file and create the - associated log report (asynchronous mode). The response body shall be - empty. The HTTP response shall include a "Location" HTTP header that - indicates the URI of the "Individual log report" resource that will be - created once the log file compilation is completed. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the "Individual log report" resource that will be created - once the log file compilation is completed. - schema: - type: string - LogReportCompiled.Post.303: - description: >- - Shall be returned when a log data compilation and report creation is - already ongoing, or a log report has just been created, for the - specified logging job at the time of processing the request. The - response body shall be empty. The HTTP response shall include a - "Location" HTTP header that contains the resource URI of the log report - resource just created, or to be created by the ongoing compilation and - report creation. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - Location: - description: > - The URI of the log report resource just created, or to be created by - the ongoing compilation and report creation - schema: - type: string - LogReportCompiled.Post.422: - description: >- - The general cause for this error and its handling is specified in clause - 6.4 of ETSI GS NFV-SOL 013, including rules for the presence of the - response body. Specifically, in case of this task resource, the response - code 422 shall also be returned if the "objectInstanceId" value provided - in the payload body of the request does not correspond to an object - instance for which log data is being collected by the logging job - represented by this resource. The response body shall contain a - ProblemDetails structure, in which the "detail" attribute should convey - more information about the error. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the 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 - LogReport.Get.200: - description: >- - Shall be returned when information of an individual log report has been - read successfully. The response body shall contain a representation of - the "Individual log report" resource, as defined in clause 8.6.2.7. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - 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 log report, which provides information - about a compiled log and how to obtain it. It shall comply with - the provisions defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - 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 - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit - request by a client. - AUTOMATIC: created according to the - logging job compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log - file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be - retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer - protocol (SFTP). - SCP: transmission over secure copy - protocol (SCP). - FTPS: transmission over file transfer - protocol secure (FTPS), as specified in IETF RFC 2228 - [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be - supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number - (if the host with the compile log file uses a non-standard - port number as per the supported transmission protocol), a - valid file directory path, and the file name of the - compiled log file, or a valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the - log files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log - file. Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log - file. The hash shall be computed from the encrypted - compiled log file, in case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log - file. Shall be present if the compiled log file is - encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall - be present if the compiled log file is encrypted. Valid - values are: "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", - and "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the - NFV-MANO functional entity’s private key, which is used to - ensure the authenticity of the compiled log file. The - signature shall be applied according to the - "encryptAndSignOrder" of the "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s - public key used for verifying the log report and compiled - log file signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - 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 - LogReport.Get.202: - description: >- - Shall be returned if the creation of the log report is ongoing and no - log report is available yet (applicable in asynchronous mode of the - "Compile log task" resource). The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - LoggingJob.Get: - description: >- - Shall be returned when information about an individual logging job has - been read successfully. The response body shall contain a representation - of the "Individual logging job" resource, as defined in clause 8.6.2.6. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - 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 logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the logging - job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - 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 - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - 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 - LoggingJob.Delete: - description: >- - Shall be returned when the logging job 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 - LoggingJob.Post: - description: >- - The response body contains the Application Context as it was created by - the MEC system - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - 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 logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It - shall comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages on NFV-MANO service interfaces. It shall - comply with the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the interface. - - ALL: both input and output messages into/from the - interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An API - consumer can provide more than one "matchingPattern" - if combinations of patterns are to be considered to - match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, the - HTTP request method of the message shall be the - same as the value of this attribute. Valid - values are specified in IETF RFC 7231. The API - producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A list - of all valid HTTP response codes and their - specification documents can be obtained from the - HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any - kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": - for matching any kind redirection response. - - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of - server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the supported - fields in a request message as defined in clause - 4.2.2 of ETSI GS NFV-SOL 013 or in a response - message as defined in clause 4.2.3 of ETSI GS - NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support - this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the - value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a "headerField" - is provided. The API producer may support this - attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part - of the interface message (e.g., the body of an - HTTP message). If provided, only messages with - text in the body part containing all the values - from the list shall match the filter. In - addition to a matching filter for the body of - the message, a corresponding "headerField" - filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API - producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged messages about processes pertaining to NFV-MANO - services. It shall comply with the provisions defined in - table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect - logged system events of the NFV-MANO functional entity. It - shall comply with the provisions defined in table - 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value - is "rfc5424", which represents the set of values - specified in the clause 6.2.1, table 2 of IETF RFC - 5424. Other values may be used to signal different - schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal to - the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It - shall comply with the provisions defined in table 8.6.3.6-1. - NOTE: The present document version does not specify the - support for "log compilation and reporting based on events" as - specified in clause 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer shall - notify the consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, - in seconds. It is used when the compilation is based on a - timer (e.g., every 24 hours). If not present, a default - value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than one - algorithm can be provided from higher (lower array - index) to lower (higher array index) precedence. - Valid values are: "AES-CBC-128", "AES-GCM-128", - "AES-CBC-256", and "AES-GCM-256", as specified in - clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the order - "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. Shall - be provided if required by the type of transfer - protocol. May be omitted if the key has been - provided to the API producer by other means, or if - it has already been provided in some previous - CreateLoggingJobRequest issued by the same API - consumer, whose public key has not changed. - type: string - logReports: - description: >- - Information about available log reports created by the logging - job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - 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 - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances that - are logged. Shall be present if the logged object instance - information is accessible as a resource. - 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 - LoggingJobs.Get: - description: >- - Shall be returned when information about zero or more logging jobs has - been queried successfully. - - The response body shall contain in an array the representations of zero - or more logging jobs, as defined in clause 8.6.2.6. - - 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 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: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - content: - application/json: - schema: - type: array - items: - description: >- - This type represents a logging job. It shall comply with the - provisions defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging - information is collected. This attribute shall contain the - identifier of the instance of the object that is logged - according to their type. - type: array - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. - It shall comply with the provisions defined in table - 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged - information to collect. - - Permitted values: - MESSAGES: logged NFV-MANO service - interface messages. - SERVICES: logged messages about - processes pertaining to NFV-MANO services. - SYSTEM: - logged messages about the NFV-MANO functional entity’s - system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages on NFV-MANO service interfaces. - It shall comply with the provisions defined in table - 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the - interface. - OUT: output messages from the - interface. - ALL: both input and output messages - into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values - provided in the sub-attributes shall be logged. An - API consumer can provide more than one - "matchingPattern" if combinations of patterns are to - be considered to match diverse sets of interface - messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, - the HTTP request method of the message shall - be the same as the value of this attribute. - Valid values are specified in IETF RFC 7231. - The API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To - match, the request URI shall include the value - of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A - list of all valid HTTP response codes and - their specification documents can be obtained - from the HTTP status code registry. In - addition, if supported, the following patterns - may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - - "2XX": for matching any kind of success - response. - "3XX": for matching any kind - redirection response. - "4XX": for matching - any kind of client error response. - "5XX": - for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The - header field name shall be one of the - supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause - 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API - producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, - the value in the header field indicated by - "headerField" shall be the same as in this - attribute. Shall be provided if a - "headerField" is provided. The API producer - may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body - part of the interface message (e.g., the body - of an HTTP message). If provided, only - messages with text in the body part containing - all the values from the list shall match the - filter. In addition to a matching filter for - the body of the message, a corresponding - "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to - restrict matching to appropriate textual - payloads such as "application/json" or - "text/plain". The API producer may support - this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged messages about processes pertaining to - NFV-MANO services. It shall comply with the provisions - defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about - garbage collection processes associated to NFV-MANO - services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to - collect logged system events of the NFV-MANO functional - entity. It shall comply with the provisions defined in - table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default - value is "rfc5424", which represents the set of - values specified in the clause 6.2.1, table 2 of - IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of - the system messages to collect. The NFV-MANO - functional entity shall collect system log messages, - as indicated by the "systemLogs" attribute, with - severity levels lower (i.e., more severe) or equal - to the value provided by this present attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. - It shall comply with the provisions defined in table - 8.6.3.6-1. NOTE: The present document version does not - specify the support for "log compilation and reporting based - on events" as specified in clause 6.6.2.2 of ETSI GS NFV-IFA - 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will - report to the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted - values: - REPORTING_ON_COMPILATION: the producer - shall notify the consumer once the compilation of - the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the - consumer can query the logging jobs to know about - the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the - producer will report to the consumer about the - collected log information, in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected - log data, in bytes. It is used when the compilation is - based on the size of the collected log data. If not - present, a default value as specified with the - "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered - log, in seconds. It is used when the compilation is - based on a timer (e.g., every 24 hours). If not present, - a default value as specified with the - "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: >- - Configuration about the security aspects of the logging - job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log - files. Shall be present if the log file is requested - to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for - the encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the - encryption of the compiled log file. More than - one algorithm can be provided from higher (lower - array index) to lower (higher array index) - precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC - 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and - encrypting the compiled log file. Valid values - are: "encryptFirst", to apply the order "first - encrypt, then sign", and "signFirst" for the - order "first sign, then encrypt". Default value - is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the - client authentication with the file server. - Shall be provided if required by the type of - transfer protocol. May be omitted if the key has - been provided to the API producer by other - means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by - the same API consumer, whose public key has not - changed. - type: string - logReports: - description: >- - Information about available log reports created by the - logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: > - An identifier with the intention of being globally - unique. - type: string - logReportLoc: - 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 - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances - that are logged. Shall be present if the logged object - instance information is accessible as a resource. - 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 - LogReportAvailableNotification.Post: - description: Shall be returned when the notification has been delivered successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - LogReportNotification.Get: - description: >- - Shall be returned to indicate that the notification endpoint has been - tested successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP request - has provided an invalid authorization token. - schema: - type: string - Version: - description: | - Version of the API used in the response. - schema: - type: string - schemas: - LogmSubscription: - description: >- - This type represents a subscription. It shall comply with the provisions - defined in table 8.6.2.3-1. - type: object - required: - - id - - callbackUri - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - filter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with - the provisions defined in table 8.6.3.7-1. At a particular nesting - level in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in Table - 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - callbackUri: - description: | - String formatted according to IETF RFC 3986. - type: string - _links: - description: Links to resources related to this resource. - type: object - required: - - self - 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 - LogmNotificationsFilter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with the - provisions defined in table 8.6.3.7-1. At a particular nesting level in - the filter structure, the following applies: All attributes shall match - in order for the filter to match (logical "and" between different filter - attributes). If an attribute is an array, the attribute shall match if - at least one of the values in the array matches (logical "or" between - the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. It shall - comply with the provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - ManoEntitySubscriptionFilter: - description: >- - This type represents subscription filter criteria to match NFV-MANO - functional entities and their associated managed objects. It shall - comply with the provisions defined in Table 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance identifier - listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced interfaces - with an instance identifier listed in this attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed interfaces - with an instance identifier listed in this attribute. - 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. - type: array - items: - type: string - CompileLogRequest: - description: > - This type represents a request to compile the logged data associated to - an object instance. It shall comply with the provisions defined in table - 8.6.2.8-1. - type: object - properties: - objectInstanceId: - 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 - LogReport: - description: > - This type represents a log report, which provides information about a - compiled log and how to obtain it. It shall comply with the provisions - defined in table 8.6.2.7-1. - type: object - required: - - id - - objectInstanceId - - compilationTrigger - - readyTime - - fileFormat - - fileLocationInfo - - securityAndIntegrityInfo - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceId: - 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 - compilationTrigger: - description: >- - The trigger for the compilation of the log file. - - Permitted values: - ON_DEMAND: created based on explicit request by - a client. - AUTOMATIC: created according to the logging job - compilation configuration. - type: string - enum: - - ON_DEMAND - - AUTOMATIC - readyTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - expiryTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - fileSize: - description: 'The size of the compiled log file in bytes, if known.' - type: integer - format: int32 - fileFormat: - description: The encoding used by the file. - type: string - fileLocationInfo: - description: >- - Location and address information of the compiled log file. The - consumer can use this information to obtain the compiled log file. - type: object - required: - - protocol - - fileEndpoint - properties: - protocol: - description: >- - Protocol over which the compiled log file can be retrieved. - - Permitted values: - HTTPS: transmission over HTTP Secure - (HTTPS). - SFTP: transmission over SSH file transfer protocol - (SFTP). - SCP: transmission over secure copy protocol (SCP). - - FTPS: transmission over file transfer protocol secure (FTPS), as - specified in IETF RFC 2228 [i.11], - using explicit mode as specified in IETF RFC 4217 [i.12]. If FTPS is supported, "private" protection level shall be used. - - HTTPS shall be supported, and other protocols may be supported. - type: string - enum: - - HTTPS - - SFTP - - SCP - - FTPS - fileEndpoint: - description: >- - The host name (or IP address), optionally a port number (if the - host with the compile log file uses a non-standard port number - as per the supported transmission protocol), a valid file - directory path, and the file name of the compiled log file, or a - valid URL. - type: string - format: URI - securityAndIntegrityInfo: - description: >- - Security and integrity information for the compilation of the log - files. - type: object - required: - - algorithm - - hash - - logFileSignature - - signingCertificate - properties: - algorithm: - description: >- - Algorithm used to generate the hash of the compiled log file. - Only SHA-256 and SHA-512 shall be used - type: string - hash: - description: >- - The hexadecimal value of the hash of the compiled log file. The - hash shall be computed from the encrypted compiled log file, in - case the encryption applies. - type: string - encryptionPublicKey: - description: >- - Public key used for the encryption of the compiled log file. - Shall be present if the compiled log file is encrypted. - type: string - cipherAlgorithm: - description: >- - The cryptographic algorithm used for the encryption. Shall be - present if the compiled log file is encrypted. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", - as specified in clause 6.5 of ETSI GS NFV-SEC 012 [14]. - type: string - logFileSignature: - description: >- - Signature to the compiled log file generated with the NFV-MANO - functional entity’s private key, which is used to ensure the - authenticity of the compiled log file. The signature shall be - applied according to the "encryptAndSignOrder" of the - "LoggingJobConfig". - type: string - signingCertificate: - description: >- - X.509 certificate with the NFV-MANO functional entity’s public - key used for verifying the log report and compiled log file - signatures. - type: string - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances that are - logged. Shall be present if the logged object instance - information is accessible as a resource. - 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 - LogmSubscriptionRequest: - description: >- - Information on application context created by the MEC system type: - object - required: - - callbackUri - type: object - properties: - filter: - description: >- - This type represents a filter that can be used to subscribe for - notifications related to log management events. It shall comply with - the provisions defined in table 8.6.3.7-1. At a particular nesting - level in the filter structure, the following applies: All attributes - shall match in order for the filter to match (logical "and" between - different filter attributes). If an attribute is an array, the - attribute shall match if at least one of the values in the array - matches (logical "or" between the values of one filter attribute). - type: object - properties: - objectInstanceFilter: - description: >- - This type represents subscription filter criteria to match - NFV-MANO functional entities and their associated managed - objects. It shall comply with the provisions defined in Table - 4.3.2.2-1. - type: object - anyOf: - - oneOf: - - required: - - manoServiceIds - - required: - - manoServiceNames - - oneOf: - - required: - - manoServiceInterfaceIds - - required: - - manoServiceInterfaceNames - - oneOf: - - required: - - consumedManoInterfaceIds - - required: - - consumedManoInterfaceNames - properties: - manoEntityId: - description: | - An identifier with the intention of being globally unique. - type: string - manoServiceIds: - description: >- - If present, match NFV-MANO services with an instance - identifier listed in this attribute. - 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. - type: array - items: - type: string - manoServiceInterfaceIds: - description: >- - If present, match NFV-MANO functional entity produced - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - consumedManoInterfaceIds: - description: >- - If present, match NFV-MANO functional entity consumed - interfaces with an instance identifier listed in this - attribute. - 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. - type: array - items: - type: string - notificationTypes: - description: >- - Match particular notification types. Permitted values: - - LogReportAvailableNotification - type: string - enum: - - LogReportAvailableNotification - 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 - CreateLoggingJobRequest: - description: Information on application context created by the MEC system - type: object - required: - - objectInstanceIds - - jobCriteria - - jobConfig - properties: - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging information is - requested to be collected. This attribute shall contain the - identifier of the instance of the object to be logged according to - their type. If more than one identifier is provided, values shall - all refer to object instances of the same type, for which the same - criteria is then applicable. - type: array - minItems: 1 - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining - to NFV-MANO services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with - the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input - and output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values provided - in the sub-attributes shall be logged. An API consumer can - provide more than one "matchingPattern" if combinations of - patterns are to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, - the request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of - all valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": - for matching any kind of success response. - "3XX": - for matching any kind redirection response. - "4XX": - for matching any kind of client error response. - - "5XX": for matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header - field name shall be one of the supported fields in a - request message as defined in clause 4.2.2 of ETSI GS - NFV-SOL 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API producer - may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value - in the header field indicated by "headerField" shall - be the same as in this attribute. Shall be provided if - a "headerField" is provided. The API producer may - support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of - the interface message (e.g., the body of an HTTP - message). If provided, only messages with text in the - body part containing all the values from the list - shall match the filter. In addition to a matching - filter for the body of the message, a corresponding - "headerField" filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API producer - may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It - shall comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in - the clause 6.2.1, table 2 of IETF RFC 5424. Other values may - be used to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the - system messages to collect. The NFV-MANO functional entity - shall collect system log messages, as indicated by the - "systemLogs" attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by this present - attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The - present document version does not specify the support for "log - compilation and reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to - the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the - consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, - in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log - data, in bytes. It is used when the compilation is based on the - size of the collected log data. If not present, a default value - as specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" shall be - used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer - (e.g., every 24 hours). If not present, a default value as - specified with the "defaultLogCompileByTimerValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be - encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of - the compiled log file. More than one algorithm can be - provided from higher (lower array index) to lower - (higher array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and - "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and - "signFirst" for the order "first sign, then encrypt". - Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided - if required by the type of transfer protocol. May be - omitted if the key has been provided to the API producer - by other means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by the same - API consumer, whose public key has not changed. - type: string - LoggingJob: - description: >- - This type represents a logging job. It shall comply with the provisions - defined in table 8.6.2.6-1. - type: object - required: - - id - - objectInstanceIds - - jobCriteria - - jobConfig - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - objectInstanceIds: - description: >- - Identifiers of the object instance for which logging information is - collected. This attribute shall contain the identifier of the - instance of the object that is logged according to their type. - type: array - items: - 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 - jobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining - to NFV-MANO services. - SYSTEM: logged messages about the - NFV-MANO functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with - the provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input - and output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If - provided, only messages that match all the values provided - in the sub-attributes shall be logged. An API consumer can - provide more than one "matchingPattern" if combinations of - patterns are to be considered to match diverse sets of - interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, - the request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of - all valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": - for matching any kind of success response. - "3XX": - for matching any kind redirection response. - "4XX": - for matching any kind of client error response. - - "5XX": for matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header - field name shall be one of the supported fields in a - request message as defined in clause 4.2.2 of ETSI GS - NFV-SOL 013 or in a response message as defined in - clause 4.2.3 of ETSI GS NFV-SOL 013, in accordance - with the "direction" criteria input. The API producer - may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value - in the header field indicated by "headerField" shall - be the same as in this attribute. Shall be provided if - a "headerField" is provided. The API producer may - support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of - the interface message (e.g., the body of an HTTP - message). If provided, only messages with text in the - body part containing all the values from the list - shall match the filter. In addition to a matching - filter for the body of the message, a corresponding - "headerField" filter shall also be provided, with - "headerField" set to "Content-Type", to restrict - matching to appropriate textual payloads such as - "application/json" or "text/plain". The API producer - may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It - shall comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage - collection processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in - the clause 6.2.1, table 2 of IETF RFC 5424. Other values may - be used to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the - system messages to collect. The NFV-MANO functional entity - shall collect system log messages, as indicated by the - "systemLogs" attribute, with severity levels lower (i.e., - more severe) or equal to the value provided by this present - attribute. - type: number - jobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The - present document version does not specify the support for "log - compilation and reporting based on events" as specified in clause - 6.6.2.2 of ETSI GS NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to - IETF RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to - the consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the - consumer once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, - in seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log - data, in bytes. It is used when the compilation is based on the - size of the collected log data. If not present, a default value - as specified with the "defaultLogCompileBySizeValue" - configuration in the "ManoEntityConfigurableParams" shall be - used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer - (e.g., every 24 hours). If not present, a default value as - specified with the "defaultLogCompileByTimerValue" configuration - in the "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be - encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of - the compiled log file. More than one algorithm can be - provided from higher (lower array index) to lower - (higher array index) precedence. Valid values are: - "AES-CBC-128", "AES-GCM-128", "AES-CBC-256", and - "AES-GCM-256", as specified in clause 6.5 of ETSI GS - NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and - "signFirst" for the order "first sign, then encrypt". - Default value is "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for - retrieving/accessing the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided - if required by the type of transfer protocol. May be - omitted if the key has been provided to the API producer - by other means, or if it has already been provided in - some previous CreateLoggingJobRequest issued by the same - API consumer, whose public key has not changed. - type: string - logReports: - description: Information about available log reports created by the logging job. - type: array - items: - type: object - required: - - logReportId - - logReportLoc - properties: - logReportId: - description: | - An identifier with the intention of being globally unique. - type: string - logReportLoc: - 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 - _links: - description: Links for this resource. - type: object - required: - - self - 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 - objects: - description: >- - Links to resources representing the object instances that are - logged. Shall be present if the logged object instance - information is accessible as a resource. - 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 - LoggingJobCriteria: - description: >- - This type represents collection criteria for logging jobs. It shall - comply with the provisions defined in table 8.6.3.2-1. - type: object - required: - - loggingType - properties: - loggingType: - description: >- - Type of logging. This defines the types of logged information to - collect. - - Permitted values: - MESSAGES: logged NFV-MANO service interface - messages. - SERVICES: logged messages about processes pertaining to - NFV-MANO services. - SYSTEM: logged messages about the NFV-MANO - functional entity’s system enabled by the provider. - type: string - enum: - - MESSAGES - - SERVICES - - SYSTEM - messagesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with the - provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - - OUT: output messages from the interface. - ALL: both input and - output messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If provided, - only messages that match all the values provided in the - sub-attributes shall be logged. An API consumer can provide more - than one "matchingPattern" if combinations of patterns are to be - considered to match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP - request method of the message shall be the same as the - value of this attribute. Valid values are specified in - IETF RFC 7231. The API producer shall support this - attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, the - request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of all - valid HTTP response codes and their specification - documents can be obtained from the HTTP status code - registry. In addition, if supported, the following - patterns may be used (case-insensitive): - "1XX": for - matching any kind of informational response. - "2XX": for - matching any kind of success response. - "3XX": for - matching any kind redirection response. - "4XX": for - matching any kind of client error response. - "5XX": for - matching any kind of server error response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header field - name shall be one of the supported fields in a request - message as defined in clause 4.2.2 of ETSI GS NFV-SOL 013 - or in a response message as defined in clause 4.2.3 of - ETSI GS NFV-SOL 013, in accordance with the "direction" - criteria input. The API producer may support this - attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value in - the header field indicated by "headerField" shall be the - same as in this attribute. Shall be provided if a - "headerField" is provided. The API producer may support - this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of the - interface message (e.g., the body of an HTTP message). If - provided, only messages with text in the body part - containing all the values from the list shall match the - filter. In addition to a matching filter for the body of - the message, a corresponding "headerField" filter shall - also be provided, with "headerField" set to - "Content-Type", to restrict matching to appropriate - textual payloads such as "application/json" or - "text/plain". The API producer may support this attribute - type: string - servicesLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It shall - comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage collection - processes associated to NFV-MANO services. - type: boolean - systemLogDetail: - description: >- - This type represents criteria for logging jobs to collect logged - system events of the NFV-MANO functional entity. It shall comply - with the provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is - "rfc5424", which represents the set of values specified in the - clause 6.2.1, table 2 of IETF RFC 5424. Other values may be used - to signal different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the system - messages to collect. The NFV-MANO functional entity shall - collect system log messages, as indicated by the "systemLogs" - attribute, with severity levels lower (i.e., more severe) or - equal to the value provided by this present attribute. - type: number - LoggingJobMessagesCriteria: - description: >- - This type represents criteria for logging jobs to collect logged - messages on NFV-MANO service interfaces. It shall comply with the - provisions defined in table 8.6.3.3-1. - type: object - required: - - direction - properties: - direction: - description: >- - The direction of the interface messages to match. - - Permitted values: - IN: input messages into the interface. - OUT: - output messages from the interface. - ALL: both input and output - messages into/from the interface. - type: string - enum: - - IN - - OUT - - ALL - matchingPatterns: - description: >- - Patterns to be matched in the interface message. If provided, only - messages that match all the values provided in the sub-attributes - shall be logged. An API consumer can provide more than one - "matchingPattern" if combinations of patterns are to be considered - to match diverse sets of interface messages. - type: array - items: - type: object - anyOf: - - required: - - srcIpAddress - - required: - - dstIpAddress - - required: - - requestMethod - - required: - - requestUriPattern - - required: - - responseCodes - properties: - srcIpAddress: - 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 - requestMethod: - description: >- - HTTP request method to be matched. To match, the HTTP request - method of the message shall be the same as the value of this - attribute. Valid values are specified in IETF RFC 7231. The - API producer shall support this attribute. - type: string - requestUriPattern: - description: >- - Substring to be matched in the request URI. To match, the - request URI shall include the value of - this attribute as a substring. This is typically used to match messages which associate to RESTful - resources, or to a specific API (e.g., by using the "apiName" of the API). The API producer shall - support this attribute. - type: string - dstIpAddress: - 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 - responseCodes: - description: >- - HTTP response codes or patterns to match. A list of all valid - HTTP response codes and their specification documents can be - obtained from the HTTP status code registry. In addition, if - supported, the following patterns may be used - (case-insensitive): - "1XX": for matching any kind of - informational response. - "2XX": for matching any kind of - success response. - "3XX": for matching any kind redirection - response. - "4XX": for matching any kind of client error - response. - "5XX": for matching any kind of server error - response. - - The API producer shall support this attribute - type: array - items: - type: string - headerField: - description: >- - Name of the header field to be matched. The header field name - shall be one of the supported fields in a request message as - defined in clause 4.2.2 of ETSI GS NFV-SOL 013 or in a - response message as defined in clause 4.2.3 of ETSI GS NFV-SOL - 013, in accordance with the "direction" criteria input. The - API producer may support this attribute. - type: string - headerValue: - description: >- - Value in the header to be matched. To match, the value in the - header field indicated by "headerField" shall be the same as - in this attribute. Shall be provided if a "headerField" is - provided. The API producer may support this attribute. - type: string - bodyValues: - description: >- - A list of strings to be matched in the body part of the - interface message (e.g., the body of an HTTP message). If - provided, only messages with text in the body part containing - all the values from the list shall match the filter. In - addition to a matching filter for the body of the message, a - corresponding "headerField" filter shall also be provided, - with "headerField" set to "Content-Type", to restrict matching - to appropriate textual payloads such as "application/json" or - "text/plain". The API producer may support this attribute - type: string - LoggingJobServicesCriteria: - description: >- - This type represents criteria for logging jobs to collect logged - messages about processes pertaining to NFV-MANO services. It shall - comply with the provisions defined in table 8.6.3.4-1. - type: object - properties: - logGarbageCollection: - description: >- - Indicates to collect logged information about garbage collection - processes associated to NFV-MANO services. - type: boolean - LoggingJobSystemCriteria: - description: >- - This type represents criteria for logging jobs to collect logged system - events of the NFV-MANO functional entity. It shall comply with the - provisions defined in table 8.6.3.5-1. - type: object - required: - - systemLogs - - severityLevel - properties: - systemLogs: - 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 - severityLevelScheme: - description: >- - Identifies a severity level scheme. The default value is "rfc5424", - which represents the set of values specified in the clause 6.2.1, - table 2 of IETF RFC 5424. Other values may be used to signal - different schemes. - type: string - severityLevel: - description: >- - The severity level, which determines the severity of the system - messages to collect. The NFV-MANO functional entity shall collect - system log messages, as indicated by the "systemLogs" attribute, - with severity levels lower (i.e., more severe) or equal to the value - provided by this present attribute. - type: number - LoggingJobConfig: - description: >- - This type represents configuration data for a logging job. It shall - comply with the provisions defined in table 8.6.3.6-1. NOTE: The present - document version does not specify the support for "log compilation and - reporting based on events" as specified in clause 6.6.2.2 of ETSI GS - NFV-IFA 031. - type: object - required: - - reportingCondition - - securityConf - properties: - startTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - endTime: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - reportingCondition: - description: >- - Specifies the condition under which the producer will report to the - consumer about the compiled log data. - required: - - reportingType - properties: - reportingType: - description: >- - Specifies the type of reporting condition. Permitted values: - - REPORTING_ON_COMPILATION: the producer shall notify the consumer - once the compilation of the - collected logging data into a file is completed and a new log report is available. - - NO_REPORTING: no reporting is requested (the consumer can - query the logging jobs to know about the - availability of new log reports). - type: string - enum: - - REPORTING_ON_COMPILATION - - NO_REPORTING - minimumReportingPeriod: - description: >- - Specifies the minimum periodicity at which the producer will - report to the consumer about the collected log information, in - seconds. - type: integer - format: int32 - compileBySizeValue: - description: >- - An indicative size threshold for compiling the collected log data, - in bytes. It is used when the compilation is based on the size of - the collected log data. If not present, a default value as specified - with the "defaultLogCompileBySizeValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - compileByTimerValue: - description: >- - The periodicity threshold for compiling the filtered log, in - seconds. It is used when the compilation is based on a timer (e.g., - every 24 hours). If not present, a default value as specified with - the "defaultLogCompileByTimerValue" configuration in the - "ManoEntityConfigurableParams" shall be used - type: integer - format: int32 - securityConf: - description: Configuration about the security aspects of the logging job. - type: object - properties: - logFileEncryption: - description: >- - Information about the encryption of the compiled log files. - Shall be present if the log file is requested to be encrypted. - required: - - encryptionCertificate - - cipherAlgorithm - type: object - properties: - encryptionCertificate: - description: >- - X.509 certificate with the public key to use for the - encryption of the compiled log file. - type: string - cipherAlgorithm: - description: >- - Cryptographic algorithm to be used for the encryption of the - compiled log file. More than one algorithm can be provided - from higher (lower array index) to lower (higher array - index) precedence. Valid values are: "AES-CBC-128", - "AES-GCM-128", "AES-CBC-256", and "AES-GCM-256", as - specified in clause 6.5 of ETSI GS NFV-SEC 012 - type: array - items: - type: string - minItems: 1 - encryptAndSignOrder: - description: >- - Indication about the order in signing and encrypting the - compiled log file. Valid values are: "encryptFirst", to - apply the order "first encrypt, then sign", and "signFirst" - for the order "first sign, then encrypt". Default value is - "encryptFirst". - type: string - logTransferSecurity: - description: >- - Information about the security measures for retrieving/accessing - the compiled log files. - type: object - properties: - publicKey: - description: >- - The public key of the API consumer used for the client - authentication with the file server. Shall be provided if - required by the type of transfer protocol. May be omitted if - the key has been provided to the API producer by other - means, or if it has already been provided in some previous - CreateLoggingJobRequest issued by the same API consumer, - whose public key has not changed. - type: string - LogReportAvailableNotification: - description: >- - This notification informs the receiver that the log report of the - NFV-MANO functional entity is available. It shall comply with the - provisions defined in table 8.6.2.4-1. The notification shall be - triggered by the NFV-MANO functional entity when log information has - been collected by the logging job and the log report is available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: | - An identifier with the intention of being globally unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. Shall be set to - "LogReportAvailableNotification" for this notification type. - type: string - subscriptionId: - description: | - An identifier with the intention of being globally unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted according to IETF - RFC 3339. - type: string - format: date-time - objectInstanceId: - 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 - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be obtained. Due to - the relationship of the logging job compilation and the logging - information availability reporting, more than one logReport - notification link can be provided. - type: array - items: - description: > - This type represents a link to a resource in a notification, - using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - callbacks: - LogReportAvailableNotification: - '{$request.body#/callbackUri}': - description: >- - This resource represents a notification endpoint for NFV-MANO log - management. The API producer can use this resource to send - notifications related to log management events to a subscribed API - consumer, which has provided the URI of this resource during the - subscription process. - post: - description: >- - The POST method delivers a notification regarding a log management - event from the API producer to the API consumer. The API consumer - shall have previously created an "Individual subscription" resource - with a matching filter. This method shall follow the provisions - specified in the tables 8.5.9.3.1-1 and 8.5.9.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: Authorization - description: > - The authorization token for the request. Reference: IETF RFC - 7235. - in: header - required: false - schema: - type: string - requestBody: - description: Notification about the availability of a log report. - content: - application/json: - schema: - description: >- - This notification informs the receiver that the log report - of the NFV-MANO functional entity is available. It shall - comply with the provisions defined in table 8.6.2.4-1. The - notification shall be triggered by the NFV-MANO functional - entity when log information has been collected by the - logging job and the log report is available. - type: object - required: - - id - - notificationType - - subscriptionId - - timeStamp - - objectInstanceId - - _links - properties: - id: - description: > - An identifier with the intention of being globally - unique. - type: string - notificationType: - description: >- - Discriminator for the different notification types. - Shall be set to "LogReportAvailableNotification" for - this notification type. - type: string - subscriptionId: - description: > - An identifier with the intention of being globally - unique. - type: string - timeStamp: - description: > - Date-time stamp. Representation: String formatted - according to IETF RFC 3339. - type: string - format: date-time - objectInstanceId: - 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 - _links: - description: Links to resources related to this notification. - type: object - required: - - subscription - - logReports - properties: - subscription: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - objectInstance: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - LoggingJob: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - logReports: - description: >- - Link from which the available log report can be - obtained. Due to the relationship of the logging job - compilation and the logging information availability - reporting, more than one logReport notification link - can be provided. - type: array - items: - description: > - This type represents a link to a resource in a - notification, using an absolute or relative URI. - type: object - required: - - href - properties: - href: - description: | - String formatted according to IETF RFC 3986. - type: string - responses: - '204': - description: >- - Shall be returned when the notification has been delivered - successfully. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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 - get: - description: >- - The GET method allows the API producer to test the notification - endpoint that is provided by the API consumer, e.g. during - subscription. This method shall follow the provisions specified in - the tables 8.5.9.3.2-1 and 8.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: - '204': - description: >- - Shall be returned to indicate that the notification endpoint has - been tested successfully. The response body shall be empty. - headers: - Content-Type: - description: The MIME type of the body of the response. - schema: - type: string - WWW-Authenticate: - description: > - Challenge if the corresponding HTTP request has not provided - authorization, or error details if the corresponding HTTP - request has provided an invalid authorization token. - 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 - diff --git a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot index 7027ed25603b36cab5f9c3a6b7014d6fc1c62527..dbbbc836c35044b66c189c31ff500ab173116311 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/ApiVersion.robot @@ -1,9 +1,5 @@ *** Settings *** -Resource environment/variables.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library DependencyLibrary -Library JSONLibrary -Library JSONSchemaLibrary schemas/ +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST API Version - Method not implemented @@ -127,85 +123,3 @@ DELETE API Version with apiMajorVerion - Method not implemented ... 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_versions - ${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_versions - ${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_versions - ${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_versions - ${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_versions - ${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_versions - ${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_versions - ${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_versions - ${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_versions - ${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_versions - ${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 diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot index fb16841cf35e7afa58b68a481f652084110616b6..6496b0b0d38dadd6a99e82f7837b854522230a27 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualPmJob.robot @@ -1,9 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Resource environment/IndividualPmJob.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST Individual NFV-MANO Performance Job - Method not implemented @@ -11,7 +7,7 @@ POST Individual NFV-MANO Performance Job - Method not implemented ... Test title: POST Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +19,7 @@ GET individual NFV-MANO Performance Job ... Test title: Get individual NFV-MANO Performance Job ... Test objective: The objective is to test the retrieval of an individual performance monitoring job and perform a JSON schema validation of the collected job data structure ... Pre-conditions: A NFV-MANO instance is instantiated. - ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -37,7 +33,7 @@ GET individual NFV-MANO Performance Job with invalid resource identifier ... Test title: Get individual NFV-MANO Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,31 +46,32 @@ PUT Individual NFV-MANO Performance Job - Method not implemented ... Test title: PUT Individual NFV-MANO Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NFV-MANO Performance Monitoring Job ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send Put request for individual NFV-MANO Performance Job Check HTTP Response Status Code Is 405 -PATCH Individual NFV-MANO Performance Job - Method not implemented +PATCH Individual NFV-MANO Performance Job [Documentation] Test ID: 8.3.2.2.5 - ... Test title: PATCH Individual NFV-MANO Performance Job - method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing new NFV-MANO Performance Monitoring Job - ... Pre-conditions: none - ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Test title: PATCH Individual NFV-MANO Performance Job + ... Test objective: The objective is to test that PATCH method modify an existing individual NFV-MANO Performance Monitoring Job + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: PM Job resource is modified. Send Patch request for individual NFV-MANO Performance Job - Check HTTP Response Status Code Is 405 + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PmJobModifications DELETE Individual NFV-MANO Performance Job [Documentation] Test ID: 8.3.2.2.6 ... Test title: Delete Individual NFV-MANO Performance Job ... Test objective: The objective is to test the deletion of an individual performance monitoring job ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is no more available. @@ -87,98 +84,35 @@ DELETE Individual NFV-MANO Performance Job with invalid resource identifier ... Test title: Delete individual NFV-MANO Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual NFV-MANO performance monitoring job fails when using an invalid resource identifier ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.4.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier Check HTTP Response Status Code Is 404 - -*** Keywords *** -GET individual NFV-MANO Performance Job - Log Trying to get a Pm Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET individual NFV-MANO Performance Job with invalid resource identifier - Log Trying to perform a negative get, using erroneous PM Job identifier - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual NFV-MANO Performance Job - Log Trying to delete an existing PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier - Log Trying to perform a negative delete, using erroneous PM Job identifier - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post request for individual NFV-MANO Performance Job - 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}/pm_jobs/${newPmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Put request for individual NFV-MANO Performance Job - 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}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch request for individual NFV-MANO Performance Job - 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}/pm_jobs/${pmJobId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition NFV-MANO Pm Job is Deleted - Log Check Postcondition - GET individual NFV-MANO Performance Job - Check HTTP Response Status Code Is 404 -Check HTTP Response Body Pm Job Identifier matches the requested Pm Job - Log Going to validate Pm Job info retrieved - Should Be Equal ${response['body']['id']} ${pmJobId} - Log Pm Job identifier as expected - -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 +PATCH Individual NFV-MANO Performance Job - Precondition failed + [Documentation] Test ID: 8.3.2.2.8 + ... Test title: PATCH Individual NFV-MANO Performance Job - Precondition failed + ... Test objective: The objective is to test that the PATCH method cannot modify an individual NFV-MANO Performance job where the precondition was not met. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: PM Job resource is not modified. + Send Patch request for individual NFV-MANO Performance Job - Etag mismatch + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails -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} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK +PATCH Individual NFV-MANO Performance Job - Unprocessable entity + [Documentation] Test ID: 8.3.2.2.9 + ... Test title: PATCH Individual NFV-MANO Performance Job - Unprocessable entity + ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.4.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: PM Job resource is not modified. + Send Patch request for individual NFV_MANO Performance Job with unprocessable entity + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot index 873fa6f4fd2329fb9ac68511721a34b146f259b0..64d574fbf4172566945fc1d98baa21ea1eb340c8 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualReport.robot @@ -1,9 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Resource environment/reports.txt -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST Individual Performance Report - Method not implemented @@ -11,7 +7,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -23,7 +19,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance reports are set for a monitoring job. - ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -36,7 +32,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual NFV-MANO performance report associated to a monitoring job fails when using an invalid resource endpoint. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance reports are set for a monitoring job. - ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -48,7 +44,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -60,7 +56,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing NFV-MANO performance report within a monitoring job. ... Pre-conditions: none - ... Reference: clause 6.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -72,80 +68,10 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing NFV-MANO performance report within a monitoring job ... Pre-conditions: none - ... Reference: clause 6.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.5.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANOM ... Applicability: none ... Post-Conditions: none Send Delete request for Individual Performance Report Check HTTP Response Status Code Is 405 -*** Keywords *** -Get Individual Performance Report - Log Trying to get a performance report present in the NFV-MANOM - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Get Individual Performance Report with invalid resource endpoint - Log Trying to get a performance report with invalid resource endpoint - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post request for Individual Performance Report - Log Trying to create new performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Put request for Individual Performance Report - Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Patch request for Individual Performance Report - Log Trying to update performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Delete request for Individual Performance Report - Log Trying to delete performance report - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} - ${output}= Output response - Set Suite Variable ${response} ${output} - -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} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot deleted file mode 100644 index 2e0558a517626509cb301f28093c1d7c84cdba7a..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualSubscription.robot +++ /dev/null @@ -1,171 +0,0 @@ -*** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Resource environment/individualSubscription.txt - -*** Test Cases *** -GET Individual Performance Subscription - [Documentation] Test ID: 8.3.2.7.1 - ... Test title: GET Individual Performance Subscription - ... Test objective: The objective is to test the retrieval of individual performance subscription and perform a JSON schema validation of the returned subscription data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Individual Performance Subscription - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body Subscription Identifier matches the requested Subscription - -GET Individual Performance Subscription with invalid resource identifier - [Documentation] Test ID: 8.3.2.7.2 - ... Test title: GET Individual Performance Subscription with invalid resource identifier - ... Test objective: The objective is to test that the retrieval of an individual performance subscription fails when using an invalid resource identifier. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - GET individual Performance Subscription with invalid resource identifier - Check HTTP Response Status Code Is 404 - -DELETE Individual Performance Subscription - [Documentation] Test ID: 8.3.2.7.3 - ... Test title: DELETE Individual Performance Subscription - ... Test objective: The objective is to test the deletion of an individual performance subscription - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: The Performance Subscription is not available anymore in the NFV-MANO - Send Delete request for individual Performance Subscription - Check HTTP Response Status Code Is 204 - Check Postcondition Performance Subscription is Deleted - -DELETE Individual Performance Subscription with invalid resource identifier - [Documentation] Test ID: 8.3.2.7.4 - ... Test title: DELETE Individual Performance Subscription with invalid resource identifier - ... Test objective: The objective is to test that the deletion of an individual performance subscription fails when using an invalid resource identifier. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.9.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Delete request for individual Performance Subscription with invalid resource identifier - Check HTTP Response Status Code Is 404 - -POST Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.5 - ... Test title: POST Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Subscription - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Post request for individual Performance Subscription - Check HTTP Response Status Code Is 405 - -PUT Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.6 - ... Test title: PUT Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance subscription. - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Put request for individual Performance Threshold - Check HTTP Response Status Code Is 405 - -PATCH Individual Performance Subscription - Method not implemented - [Documentation] Test ID: 8.3.2.7.7 - ... Test title: PATCH Individual Performance Subscription - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance subscription - ... Pre-conditions: none - ... Reference: clause 6.5.9.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Patch request for individual Performance Threshold - Check HTTP Response Status Code Is 405 - -*** Keywords *** -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} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Get Individual Performance 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 Performance 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 Performance 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} - -Send Delete request for individual Performance Subscription with invalid resource identifier - Log Trying to delete a subscription in the NFV-MANO 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} - -Check Postcondition Performance Subscription is Deleted - Log Check Postcondition Subscription is deleted - GET individual Performance Subscription - Check HTTP Response Status Code Is 404 - -Send Post request for individual Performance 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 Performance Threshold - 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 Performance Threshold - 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} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot index d66a5f55526bfc0fc5e7fbd0074be5c8ac6a0d03..458db665f68672e4b0edfb239fcde4f5e309fd2b 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/IndividualThreshold.robot @@ -1,10 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Resource environment/individualThresholds.txt +Resource NFVMANOPMKeywords.robot *** Test Cases *** POST Individual Threshold - Method not implemented @@ -12,7 +7,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new Performance Threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -24,7 +19,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual NFV-MANO performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -38,7 +33,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual performance threshold fails when using an invalid resource identifier ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance jobs are set. - ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -50,31 +45,32 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing Performance threshold ... Pre-conditions: none - ... Reference: clause 6.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send Put request for individual Performance Threshold Check HTTP Response Status Code Is 405 -PATCH Individual Threshold - Method not implemented +PATCH Individual Threshold [Documentation] Test ID: 8.3.2.5.5 - ... Test title: PATCH Individual Threshold - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing Performance threshold - ... Pre-conditions: none - ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Test title: PATCH Individual Threshold + ... Test objective: The objective is to test that PATCH method modify an existing NFV_MANO performance threshold. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: Threshold resource is modified. Send Patch request for individual Performance Threshold - Check HTTP Response Status Code Is 405 + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ThresholdModifications DELETE Individual Threshold [Documentation] Test ID: 8.3.2.5.6 ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual performance threshold ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The Performance Threshold is not available anymore in the NFV-MANO @@ -87,98 +83,35 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual performance threshold ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. - ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.7.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send Delete request for individual Performance Threshold with invalid resource identifier Check HTTP Response Status Code Is 404 -*** Keywords *** -GET Individual Performance Threshold - Log Trying to get a Threhsold present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -GET individual Performance Threshold with invalid resource identifier - Log Trying to get a Threhsold with invalid resource endpoint - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Delete request for individual Performance Threshold - Log Trying to delete a Threhsold in the NFV-MANO - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Delete request for individual Performance Threshold with invalid resource identifier - Log Trying to delete a Threhsold in the NFV-MANO with invalid id - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Post request for individual Performance Threshold - Log Trying to create new threshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Put request for individual Performance Threshold - Log Trying to PUT threshold - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Send Patch request for individual Performance Threshold - Log Trying to PUT threshold - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${origOutput}= Output response - Set Suite Variable ${origResponse} ${origOutput} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} - ${output}= Output response - Set Suite Variable @{response} ${output} - -Check Postcondition Performance Threshold is Deleted - Log Check Postcondition Threshold is deleted - GET individual Performance Threshold - Check HTTP Response Status Code Is 404 - -Check HTTP Response Body Threshold Identifier matches the requested Threshold - Log Trying to check response ID - Should Be Equal ${response['body']['id']} ${thresholdId} - Log Pm Job identifier as expected - -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 +PATCH Individual Threshold - Precondition failed + [Documentation] Test ID: 8.3.2.5.8 + ... Test title: PATCH Individual Threshold - Precondition failed + ... Test objective: The objective is to test that the PATCH method cannot modify an individual NFV-MANO threshold where the precondition was not met. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Threshold resource is not modified. + Send Patch request for individual Performance Threshold - Etag mismatch + Check HTTP Response Status Code Is 412 + Check HTTP Response Body Json Schema Is ProblemDetails -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} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK +PATCH Individual Threshold - Unprocessable entity + [Documentation] Test ID: 8.3.2.5.9 + ... Test title: PATCH Individual Threshold - Unprocessable entity + ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual threshold resource when a request contains syntactically correct data but the data cannot be processed. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more performance thresholds are set. + ... Reference: clause 6.5.7.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: Threshold resource is not modified. + Send Patch request for individual Performance Threshold with unprocessable entity + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot new file mode 100644 index 0000000000000000000000000000000000000000..41dcec46bc9b6716fe3f58c6f5abe48c03858d84 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/NFVMANOPMKeywords.robot @@ -0,0 +1,735 @@ +*** Settings *** +Library String +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library DependencyLibrary +Library JSONLibrary +Library OperatingSystem +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library MockServerLibrary +Library Process +Library BuiltIn +Library Collections + + +*** Keywords *** +GET all NFV-MANO Performance Monitoring Jobs + Log Trying to get all PM Jobs present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs 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_HEADER}": "${BAD_AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs 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}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Monitoring Jobs 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_HEADER}": "${NEG_AUTHORIZATION_TOKEN}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with attribute-based filter + Log Trying to get all PM Jobs present in the NFV-MANO, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector + Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with fields attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector + Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params + Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter + Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector + Log Query VNF The GET method queries information about multiple VNF instances. + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Send Post Request to create new NFV-MANO Performance Monitoring Job + Log Creating a new PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} + Check GET response from Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request to create new NFV-MANO Performance Monitoring Job - Unreachable Endpoint + Log Creating a new PM Job for unreachable notification endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/CreatePmJobRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} + Check GET response from Unreachable Notification Endpoint + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for all NFV-MANO Performance Monitoring Jobs + 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_HEADER}":${AUTHORIZATION_TOKEN}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for all NFV-MANO Performance Monitoring Jobs + 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_HEADER}":${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for all NFV-MANO Performance Monitoring Jobs + 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_HEADER}":${AUTHORIZATION_TOKEN}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition PmJob Exists + Log Checking that Pm Job exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is PmJob + +Check GET response from Notification Endpoint + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_uri} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_uri} + +Check GET response from Unreachable Notification Endpoint + Log Creating mock request and response to handle GET operation on unreachable notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${unreachable_callback_uri} + &{notification_response}= Create Mock Response status_code=404 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${unreachable_callback_uri} + +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} + Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json + ... ELSE Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + +Check HTTP Response Header Contains Link + ${linkURL}= Get Value From Json ${response['headers']} $..Link + Should Not Be Empty ${linkURL} + +GET individual NFV-MANO Performance Job + Log Trying to get a Pm Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET individual NFV-MANO Performance Job with invalid resource identifier + Log Trying to perform a negative get, using erroneous PM Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual NFV-MANO Performance Job + Log Trying to delete an existing PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual NFV-MANO Performance Job with invalid resource identifier + Log Trying to perform a negative delete, using erroneous PM Job identifier + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${erroneousPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for individual NFV-MANO Performance Job + 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_HEADER}":${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${newPmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for individual NFV-MANO Performance Job + 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_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV-MANO Performance Job + Log Trying to perform a PATCH on PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Check GET response from Notification Endpoint + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV-MANO Performance Job - Etag mismatch + Log Trying to perform a PATCH on PM Job + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Set Headers {"If-Match": "${invalid_etag}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Check GET response from Notification Endpoint + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for individual NFV_MANO Performance Job with unprocessable entity + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/PmJobModifications.json + ${body}= Format String ${template} callbackUri=${unreachable_callback_uri}:${callback_port} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition NFV-MANO Pm Job is Deleted + Log Check Postcondition + GET individual NFV-MANO Performance Job + Check HTTP Response Status Code Is 404 + +Check HTTP Response Body Pm Job Identifier matches the requested Pm Job + Log Going to validate Pm Job info retrieved + Should Be Equal ${response['body']['id']} ${pmJobId} + Log Pm Job identifier as expected + +GET all Performance Thresholds + Log Trying to get all thresholds present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Thresholds with attribute-based filter + Log Trying to get thresholds present in the NFV-MANO with filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET Performance Thresholds with invalid attribute-based filter + Log Trying to get thresholds present in the NFV-MANO with invalid filter + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new Performance Threshold + Log Creating a new Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/CreateThresholdRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request Create new Performance Threshold with unreachable notification endpoint + Log Creating a new Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Check GET response from Unreachable Notification Endpoint + ${template}= Get File jsons/CreateThresholdRequest.json + ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} callbackUri=${callback_uri} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for all Performance Thresholds + Log PUT THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for all Performance Thresholds + Log PUT THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for all Performance Thresholds + Log DELETE THresholds + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Threshold Exists + Log Checking that Threshold exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Threshold + +Check HTTP Response Body Thresholds match the requested attribute-based filter + Log Checking that attribute-based filter is matched + @{words}= Split String ${FILTER_OK} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] + +GET Individual Performance Threshold + Log Trying to get a Threhsold present in the NFV-MANO + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +GET individual Performance Threshold with invalid resource identifier + Log Trying to get a Threhsold with invalid resource endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Delete request for individual Performance Threshold + Log Trying to delete a Threhsold in the NFV-MANO + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Delete request for individual Performance Threshold with invalid resource identifier + Log Trying to delete a Threhsold in the NFV-MANO with invalid id + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${erroneousThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post request for individual Performance Threshold + Log Trying to create new threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${newThresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Put request for individual Performance Threshold + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Check GET response from Notification Endpoint + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold - Etag mismatch + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Set Headers {"If-Match": "${invalid_etag}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + Check GET response from Notification Endpoint + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Performance Threshold with unprocessable entity + Log Trying to PUT threshold + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + ${template}= Get File jsons/ThresholdModification.json + ${body}= Format String ${template} callbackUri=${unreachable_callback_uri} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} ${body} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition Performance Threshold is Deleted + Log Check Postcondition Threshold is deleted + GET individual Performance Threshold + Check HTTP Response Status Code Is 404 + +Check HTTP Response Body Threshold Identifier matches the requested Threshold + Log Trying to check response ID + Should Be Equal ${response['body']['id']} ${thresholdId} + Log Pm Job identifier as expected + +Check PM Job resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + Integer response status 200 + Validate Json response body PmJob.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +POST Performance Information Available Notification + Log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/PerformanceInformationAvailabilityNotification.json + ${body}= Format String ${template} pmJobId=${pmJobId} objectInstanceId=${objectInstanceIds} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Check Threshold resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${thresholdId} + Integer response status 200 + Validate Json response body Threshold.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +POST Threshold Crossed Notification + Log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template} = Get File jsons/ThresholdCrossedNotification.json + ${body}= Format String ${template} thresholdId=${thresholdId} objectInstanceId=${objectInstanceIds} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Get Individual Performance Report + Log Trying to get a performance report present in the NFV-MANOM + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get Individual Performance Report with invalid resource endpoint + Log Trying to get a performance report with invalid resource endpoint + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${erroneousReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post request for Individual Performance Report + Log Trying to create new performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${newReportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Put request for Individual Performance Report + Log Trying to update performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Patch request for Individual Performance Report + Log Trying to update performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for Individual Performance Report + Log Trying to delete performance report + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":${AUTHORIZATION_TOKEN}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${pmJobId}/reports/${reportId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${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_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion} /api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Trigger the availability of Performance Information (external action) + #do nothing + Log do nothing + +Trigger the cross of Performance Threshold (external action) + #do nothing + Log do nothing + +Check Performance Information Available 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 Performance Information Available Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Performance Information Available Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed 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 Threshold Crossed Notification Http POST Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification Threshold Crossed Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds ${total_polling_time} ${polling_interval} Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check Threshold Crossed Notification Http POST Request Body changeType attribute Is + [Arguments] ${type} + #do nothing + Log do nothing + +Configure Notification Performance Information 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 + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Threshold 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 + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response 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} diff --git a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot index 420b3280a854c5edd1f4e2dc08a70d0ba391a800..af5d92c6e981ca45d9d8b4a1d6ff6aadb98d5c38 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/NotificationEndpoint.robot @@ -1,12 +1,5 @@ *** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/individualThresholds.txt -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Library String -Suite Setup Check resource existence and get CallbackUri +Resource NFVMANOPMKeywords.robot *** Test Cases *** @@ -15,10 +8,11 @@ Performance Information Available Notification ... Test title: Performance Information Available Notification ... Test objective: The objective is to test that Performance Available Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for performance available notification is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none + Check PM Job resource existence and get CallbackUri POST Performance Information Available Notification Check HTTP Response Status Code Is 204 @@ -27,53 +21,10 @@ Threshold Crossed Notification ... Test title: Threshold Crossed Notification ... Test objective: The objective is to test that Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for threshold crosssed notification is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none + Check Threshold resource existence and get CallbackUri POST Threshold Crossed Notification Check HTTP Response Status Code Is 204 - -*** Keywords *** -Check resource existence and get CallbackUri - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} - Integer response status 200 - Validate Json response body PmSubscription.schema.json - Set Global Variable ${callbackResp} response body callbackUri - -Check HTTP Response Status Code Is - [Arguments] ${expected_status} - Should Be Equal As Strings ${response['status']} ${expected_status} - Log Status code validated - -POST Performance Information Available Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/PerformanceInformationAvailabilityNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} objectInstanceId=${objectInstanceIds} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -POST Threshold Crossed Notification - log Trying to perform a POST to get notification - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - ${template} = Get File jsons/ThresholdCrossedNotification.json - ${body}= Format String ${template} subscriptionId=${subscriptionId} thresholdId=${thresholdId} objectInstanceId=${objectInstanceIds} - Post ${callbackResp} ${body} - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - - - - - - - diff --git a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot index c2aaba955730d05c0ec84fae52ec8ab461a84590..7a66218baaaace968c485f8cfc20dd4574d00ece 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Notifications.robot @@ -1,15 +1,7 @@ *** Setting *** -Resource environment/notifications.txt -Resource environment/variables.txt +Resource NFVMANOPMKeywords.robot 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 *** Performance Information Availability Notification @@ -17,7 +9,7 @@ Performance Information Availability Notification ... Test title: Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of Performance Information Availability Notification when new performance information is available 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 performance job is created, and a subscription for information availability notifications is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -30,86 +22,10 @@ Threshold Crossed Notification ... Test title: Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of Threshold Crossed Notification when a previously set performance metric threshold is crossed, 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 threshold subscription is available in the NFV-MANO. - ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.10.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Trigger the cross of Performance Threshold (external action) Check Threshold Crossed Notification Http POST Request Body Json Schema Is ThresholdCrossedNotification Check Threshold Crossed Notification Http POST Request Body notificationType attribute Is ThresholdCrossedNotification - - -*** Keywords *** -Trigger the availability of Performance Information (external action) - #do nothing - Log do nothing - -Trigger the cross of Performance Threshold (external action) - #do nothing - Log do nothing - -Check Performance Information Available 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 Performance Information Available Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Performance Information 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 Threshold Crossed 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 Threshold Crossed Notification Http POST Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification Threshold 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 Threshold Crossed Notification Http POST Request Body changeType attribute Is - [Arguments] ${type} - #do nothing - Log do nothing - - -Configure Notification Performance Information 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 - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Threshold 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 - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response 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} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot index 66281f44ce22c9597edac6cd3dcbbad5dca48054..0c795911bb45c8994979cd01883815a8332d917f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/PMJobs.robot @@ -1,24 +1,17 @@ *** Settings *** -Library String -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt -Resource environment/pmJobs.txt -Library JSONLibrary -Library OperatingSystem -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library MockServerLibrary +Resource NFVMANOPMKeywords.robot *** Test Cases *** -Create new NFV-MANO Performance Monitoring Job +POST Create new NFV-MANO Performance Monitoring Job [Documentation] Test ID: 8.3.2.1.1 - ... Test title: Create a new NFV-MANO Performance Monitoring Job + ... Test title: POST Create a new NFV-MANO Performance Monitoring Job ... Test objective: The objective is to test the creation of a new NFV-MANO performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Job is successfully created on the NFV-MANO - Send Post Request Create new NFV-MANO Performance Monitoring Job + Send Post Request to create new NFV-MANO Performance Monitoring Job Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is PmJob Check Postcondition PmJob Exists @@ -28,7 +21,7 @@ GET all NFV-MANO Performance Monitoring Jobs ... Test title: GET all NFV-MANO Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance monitoring jobs and perform a JSON schema validation ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +34,7 @@ GET NFV-MANO Performance Monitoring Jobs with attribute-based filter ... Test title: GET all NFV-MANO Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of NFV-MANO performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -54,7 +47,7 @@ GET all NFV-MANO Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all NFV-MANO Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -67,7 +60,7 @@ GET all NFV-MANO Performance Monitoring Jobs with exclude_default attribute sele ... Test title: GET all NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -80,7 +73,7 @@ GET all NFV-MANO Performance Monitoring Jobs with fields attribute selector ... Test title: GET all NFV-MANO Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the use of fields attribute selector ... Post-Conditions: none @@ -93,7 +86,7 @@ GET all NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selec ... Test title: GET all NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all NFV-MANO performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -106,7 +99,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -119,7 +112,7 @@ GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector ... Test title: GET NFV-MANO Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of NFV-MANO performance monitoring jobs fails with invalid attribute selector ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -132,7 +125,7 @@ GET information about multiple Performance Monitoring Jobs to get Paged Response ... Test title: GET information about multiple Performance Monitoring Jobs to get Paged Response ... Test objective: The objective is to retrieve information about the performance monitoring jobs to get paged response ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -145,7 +138,7 @@ GET information about multiple Performance Monitoring Jobs for Bad Request Respo ... Test title: GET information about multiple Performance Monitoring Jobs for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about performance monitoring jobs when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -158,7 +151,7 @@ GET information about multiple Performance Monitoring Jobs with "fields" and "ex ... Test title: GET all NFV-MANO Performance Monitoring Jobs with "fields" and "exclude_default" attribute selector ... Test objective: The objective is to retrieve all performance monitoring jobs 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 [7] v3.3.1 + ... Reference: clause 5.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -171,7 +164,7 @@ Get information about multiple Performance Monitoring Jobs with malformed author ... Test title: Get information about multiple Performance Monitoring Jobs with malformed authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when using malformed authorization token ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -183,7 +176,7 @@ Get information about multiple Performance Monitoring Jobs without authorization ... Test title: Get information about multiple Performance Monitoring Jobs without authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when omitting the authorization token ... Pre-conditions: none - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -195,7 +188,7 @@ GET information about multiple Performance Monitoring Jobs with expired or revok ... Test title: GET information about multiple Performance Monitoring Jobs with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of information about Performance Monitoring Jobs fails when using expired or revoked authorization token ... Pre-conditions: One or more Network Service Descriptors are onboarded in the NFVO - ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: The NFV-MANO entity requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -207,7 +200,7 @@ PUT all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test title: PUT all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -219,7 +212,7 @@ PATCH all NFV-MANO Performance Monitoring Jobs - (Method not implemented) ... Test title: PATCH all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -231,184 +224,22 @@ DELETE all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all NFV-MANO Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NFV-MANO Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: clause 6.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.3.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send DELETE Request for all NFV-MANO Performance Monitoring Jobs Check HTTP Response Status Code Is 405 -*** Keywords *** -GET all NFV-MANO Performance Monitoring Jobs - Log Trying to get all PM Jobs present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs 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}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs 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}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Monitoring Jobs 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}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with attribute-based filter - Log Trying to get all PM Jobs present in the NFV-MANO, using filter params - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${POS_FILTER} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with all_fields attribute selector - Log Trying to get all PM Jobs present in the NFV-MANO, using 'all_fields' filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?all_fields - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with exclude_default attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with fields attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with fields and exclude_default attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?exclude_default&fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with exclude_fields attribute selector - Log Trying to get all NFV-MANO Packages present in the NFV-MANO, using filter params - Pass Execution If ${FIELD_USAGE} == 0 Skipping test as NFV-MANO is not supporting 'fields' - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?fields=${fields} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with invalid attribute-based filter - Log Trying to get all PM Jobs present in the NFV-MANO, using an erroneous filter param - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs?${NEG_FILTER} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET NFV-MANO Performance Monitoring Jobs with invalid attribute selector - Log Query VNF The GET method queries information about multiple VNF instances. - Set Headers {"Accept":"${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=wrong_field - ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} - -Send Post Request Create new NFV-MANO Performance Monitoring Job - Log Creating a new PM Job - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - ${template}= Get File jsons/CreatePmJobRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - - POST ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PUT Request for all NFV-MANO Performance Monitoring Jobs - 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}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PATCH Request for all NFV-MANO Performance Monitoring Jobs - 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}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send DELETE Request for all NFV-MANO Performance Monitoring Jobs - 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}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition PmJob Exists - Log Checking that Pm Job exists - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/pm_jobs/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmJob - -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} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} \ No newline at end of file +POST Create new NFV-MANO Performance Monitoring Job - Unreachable Notification Endpoint + [Documentation] Test ID: 8.3.2.1.19 + ... Test title: POST Create a new NFV-MANO Performance Monitoring Job + ... Test objective: The objective is to test that a new NFV_MANO Performance Monitoring Job is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance jobs are set in the NFV-MANO. + ... Reference: clause 6.5.3.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request to create new NFV-MANO Performance Monitoring Job - Unreachable Endpoint + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot b/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot deleted file mode 100644 index 013db6210a89f34e175faa6f11026f22c98249fe..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/Subscriptions.robot +++ /dev/null @@ -1,323 +0,0 @@ -*** Settings *** -Library String -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Library OperatingSystem -Library JSONLibrary -Resource environment/subscriptions.txt -Library MockServerLibrary -Library Process -Suite Setup Create Sessions -Suite Teardown Terminate All Processes kill=true - -*** Test Cases *** -GET all Performance Subscriptions - [Documentation] Test ID: 8.3.2.6.1 - ... Test title: GET all Performance Subscriptions - ... Test objective: The objective is to test the retrieval of all performance subscriptions and perform a JSON schema validation of the returned subscriptions data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get all Performance Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscriptions - -GET Performance Subscriptions with attribute-based filter - [Documentation] Test ID: 8.3.2.6.2 - ... Test title: GET Performance Subscriptions with attribute-based filter - ... Test objective: The objective is to test the retrieval of performance subscriptions using attribute-based filter, perform a JSON schema validation of the collected indicators data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with attribute-based filters - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PmSubscriptions - -GET Performance Management Subscriptions with Paged Response - [Documentation] Test ID: 8.3.2.6.3 - ... Test title: GET Performance Management Subscriptions with Paged Response - ... Test objective: The objective is to query information about NFV-MANO Performance Subscriptions to get Paged Response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clauseclause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get all Performance Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Header Contains Link - -GET Performance Subscriptions with invalid attribute-based filter - [Documentation] Test ID: 8.3.2.6.4 - ... Test title: GET Performance Subscriptions with invalid attribute-based filter - ... Test objective: The objective is to test that the retrieval of performance subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with invalid attribute-based filters - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET Performance Subscriptions - Bad Request Response too Big - [Documentation] Test ID: 8.3.2.6.5 - ... Test title: GET Performance Subscriptions - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of NFV-MANO performance subscriptions fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: - ... Post-Conditions: - Get all Performance Subscriptions - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET Performance Subscriptions with invalid resource endpoint - [Documentation] Test ID: 8.3.2.6.6 - ... Test title: GET Performance Subscriptions with invalid resource endpoint - ... Test objective: The objective is to test that the retrieval of all performance subscriptions fails when using invalid resource endpoint. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available. - ... Reference: clause 6.5.8.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Get Performance Subscriptions with invalid resource endpoint - Check HTTP Response Status Code Is 404 - -Create new Performance subscription - [Documentation] Test ID: 8.3.2.6.7 - ... Test title: Create new Performance subscription - ... Test objective: The objective is to test the creation of a new performance subscription and perform a JSON schema and content validation of the returned subscription data structure. - ... Pre-conditions: An instance is instantiated. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: The performance subscription is successfully set and it matches the issued subscription. - Send Post Request for Performance Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Check Postcondition Performance Subscription Is Set - - -Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions - [Tags] no-duplicated-subs - [Documentation] Test ID: 8.3.2.6.8 - ... Test title: Create duplicated Performance subscription with NFV-MANO not creating duplicated subscriptions - ... Test objective: The objective is to test the attempt of a creation of a duplicated performance subscription and check that no new subscription is created by the NFV-MANO and a link to the original subscription is returned - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] 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 performance subscription returned is available in the NFV-MANO - Send Post Request for Duplicated Performance 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 duplicated Performance subscription with NFV-MANO creating duplicated subscriptions - [Tags] duplicated-subs - [Documentation] Test ID: 8.3.2.6.9 - ... Test title: Create duplicated Performance subscription with NFV-MANO creating duplicated subscriptions - ... Test objective: The objective is to test the creation of a duplicated performance subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure. - ... Pre-conditions: An instance is instantiated. At least one performance subscription is available in the NFV-MANO. - ... Reference: clause 6.5.8.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: The NFV-MANO supports the creation of duplicated subscriptions - ... Post-Conditions: The duplicated performance subscription is successfully set and it matches the issued subscription - Send Post Request for Duplicated Performance Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is PmSubscription - Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Check Postcondition Performance Subscription Is Set - -PUT Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.10 - ... Test title: PUT Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to modify performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Put Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -PATCH Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.11 - ... Test title: PATCH Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to update performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Patch Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -DELETE Performance Subscriptions - Method not implemented - [Documentation] Test ID: 8.3.2.6.12 - ... Test title: DELETE Performance Subscriptions - Method not implemented - ... Test objective: The objective is to test that DELETE method is not allowed to delete performance subscriptions - ... Pre-conditions: none - ... Reference: clause 6.5.8.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 - ... Config ID: Config_prod_NFV-MANO - ... Applicability: none - ... Post-Conditions: none - Send Delete Request for Performance Subscriptions - Check HTTP Response Status Code Is 405 - -*** Keywords *** - -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} - -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 - -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 Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} - -Check HTTP Response Body Json Schema Is - [Arguments] ${input} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Body Is Empty - Should Be Empty ${response['body']} - Log No json schema is provided. Validation OK - -Get all Performance Subscriptions - 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 Performance Subscriptions with attribute-based filters - 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 Performance Subscriptions with invalid attribute-based filters - 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} - -Get Performance Subscriptions with invalid resource endpoint - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscription - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request for Performance Subscription - Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - Run Keyword If ${NFVMANO_CHECKS_NOTIF_ENDPOINT} == 1 - ... Check Notification Endpoint - -Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription - Log Check Response matches subscription - ${template}= Get File jsons/subscriptions.json - ${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']} - -Check Postcondition Performance Subscription Is Set - Log Check Postcondition subscription exist - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - 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 Performance Subscription - Set headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - Set headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - ${template}= Get File jsons/subscriptions.json - ${body}= Format String ${template} callback_uri=${callback_uri} callback_endpoint=${callback_endpoint} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check HTTP Response Header Contains - [Arguments] ${CONTENT_TYPE} - Should Contain ${response['headers']} ${CONTENT_TYPE} - Log Header is present - -Check Postcondition Subscription Resource Returned in Location Header Is Available - Log Going to check postcondition - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - 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 PmSubscription.schema.json ${result} - Log Validated PmSubscription schema - -Send Put Request for Performance 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 Performance 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 Performance 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} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot index 71a956bf4e461e412f9a7de111036440df4fcf19..c7ccddb722c0881186c47b4dcf287d25359e2b16 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot +++ b/SOL009/NFVMANOPerformanceManagement-API/Thresholds.robot @@ -1,19 +1,13 @@ *** Settings *** -Library String -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Library JSONLibrary -Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false -Resource environment/thresholds.txt -Library OperatingSystem +Resource NFVMANOPMKeywords.robot *** Test Cases *** -Create new Performance Threshold +POST Create new Performance Threshold [Documentation] Test ID: 8.3.2.4.1 - ... Test title: Create new Performance Threshold + ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. - ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: The NFV-MANO Performance Threshold is successfully created on the NFV-MANO @@ -28,7 +22,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance thresholds and perform a JSON schema validation of the collected thresholds data structure. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -41,7 +35,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available NFV-MANO performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set in the NFV-MANO. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -55,7 +49,7 @@ GET Performance Threshold with Paged Response ... Test title: GET Performance Threshold with Paged Response ... Test objective: The objective is to query information about NFV-MANO Performance Thresholds to get Paged Response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -68,7 +62,7 @@ GET Performance Thresholds - Invalid attribute-based filter ... Test title: GET Performance Thresholds - Invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of NFV-MANO performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -81,7 +75,7 @@ GET Performance Threshold - Bad Request Response too Big ... Test title: GET Performance Threshold - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of NFV-MANO performance thresholds fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A NFV-MANO instance is instantiated. One or more NFV-MANO performance thresholds are set. - ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.2 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -94,7 +88,7 @@ PUT Performance Thresholds - Method not implemented ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.3 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -106,7 +100,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.4 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -118,107 +112,23 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update NFV-MANO Performance Thresholds ... Pre-conditions: none - ... Reference: clause 6.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.3.1 + ... Reference: clause 6.5.6.3.5 - ETSI GS NFV-SOL 009 [7] v3.5.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none Send DELETE Request for all Performance Thresholds Check HTTP Response Status Code Is 405 -*** Keywords *** -GET all Performance Thresholds - Log Trying to get all thresholds present in the NFV-MANO - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Thresholds with attribute-based filter - Log Trying to get thresholds present in the NFV-MANO with filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_OK} - ${output}= Output response - Set Suite Variable ${response} ${output} - -GET Performance Thresholds with invalid attribute-based filter - Log Trying to get thresholds present in the NFV-MANO with invalid filter - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds?${FILTER_KO} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send Post Request Create new Performance Threshold - Log Creating a new THreshold - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${template}= Get File jsons/CreateThresholdRequest.json - ${body}= Format String ${template} objectInstanceIds=${objectInstanceIds} - POST ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PUT Request for all Performance Thresholds - Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - PUT ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send PATCH Request for all Performance Thresholds - Log PUT THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Send DELETE Request for all Performance Thresholds - Log DELETE THresholds - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds - ${output}= Output response - Set Suite Variable ${response} ${output} - -Check Postcondition Threshold Exists - Log Checking that Threshold exists - Set Headers {"Accept": "${ACCEPT_JSON}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiMajorVersion}/thresholds/${response['body']['id']} - ${output}= Output response - Set Suite Variable ${response} ${output} - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is Threshold - -Check HTTP Response Body Thresholds match the requested attribute-based filter - Log Checking that attribute-based filter is matched - #todo - -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} - Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json - ... ELSE Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = Catenate SEPARATOR= ${input} .schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - -Check HTTP Response Header Contains Link - ${linkURL}= Get Value From Json ${response['headers']} $..Link - Should Not Be Empty ${linkURL} \ No newline at end of file +POST Create new Performance Threshold - Unprocessable entity + [Documentation] Test ID: 8.3.2.4.10 + ... Test title: POST Create new Performance Threshold - Unprocessable Entity + ... Test objective: The objective is to test the creation of a new NFV-MANO performance threshold and perform the JSON schema validation of the returned threshold data structure. + ... Test objective: The objective is to test that a new NFV-MANO performance threshold is not created if the notification endpoint is unreachable by the NFV-MANO. + ... Pre-conditions: A NFV-MANO instance is instantiated. + ... Reference: clause 6.5.6.3.1 - ETSI GS NFV-SOL 009 [7] v3.5.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: Notification endpoint is unreachable by the NFV-MANO. + ... Post-Conditions: none + Send Post Request Create new Performance Threshold with unreachable notification endpoint + Check HTTP Response Status Code Is 422 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt deleted file mode 100644 index b3616b30fa43a63e10b0a61efbaf3c1d1eaf8690..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/IndividualPmJob.txt +++ /dev/null @@ -1,6 +0,0 @@ -*** Variables *** -${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e -${erroneousPmJobId} erroneousPmJobId -${newPmJobId} newPmJobId -${response}= httpresponse -${OrigResponse}= httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt deleted file mode 100644 index 945e4c67fb02eb0edffcf2117a82c3a09be6f21d..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/individualSubscription.txt +++ /dev/null @@ -1,5 +0,0 @@ -*** Variables *** -${erroneousSubscriptionId} erroneousSubscriptionId -${newSubscriptionId} newSubsciptionId -${response} httpresponse -${origResponse} httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt deleted file mode 100644 index 1efba79c6e00a105cad4aadd6afad956a538aece..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/individualThresholds.txt +++ /dev/null @@ -1,6 +0,0 @@ -*** Variables *** -${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${erroneousThresholdId} erroneousThresholdId -${newThresholdId} newThresholdId -${response}= httpresponse -${origResponse}= httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt deleted file mode 100644 index cd1193ae50b7d17b51b86c8ce7582d1fbed8db59..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/notifications.txt +++ /dev/null @@ -1,12 +0,0 @@ -*** Variables *** -${callback_uri} http://localhost -${callback_port} 9091 -${callback_endpoint} /endpoint -${callback_endpoint_fwd} /endpoint/check -${callback_endpoint_error} /endpoint_404 -${sleep_interval} 20s -${total_polling_time} 2 min -${polling_interval} 10 sec - -${notification_request} [] -${notification_response} [] \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt deleted file mode 100644 index 30b6682ef16874d7784cdbcf8a6f1926ecbe06f3..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/pmJobs.txt +++ /dev/null @@ -1,5 +0,0 @@ -*** Variables *** -${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${NEG_FILTER} criteriaPmJob=erroneousAttributeName -${fields} criteria,objectInstanceIds -${response} httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt deleted file mode 100644 index 6ac5f7c0b020825db1e44161c95118d9b08b5dbd..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/reports.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${pmJobId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 -${erroneousReportId} erroneousReportId -${newReportId} newReportId -${response}= httpresponse -${OrigResponse}= httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt deleted file mode 100644 index 49e695b6ef244b4e2eb0e96d3ee83f3f3ecbac62..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/subscriptions.txt +++ /dev/null @@ -1,7 +0,0 @@ -*** Variables *** -${callbackUri} http://172.22.1.7:9091/nfvmanopm/subscriptions -${filter_ok} callbackUri=${callbackUri} -${filter_ko} erroneousFilter=erroneous -${total_polling_time} 2 min -${polling_interval} 10 sec -${response} httpresponse diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt deleted file mode 100644 index a2b025eefe44ac943781af1d821275cfc9a5ce0b..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/thresholds.txt +++ /dev/null @@ -1,4 +0,0 @@ -*** Variables *** -${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a -${FILTER_KO} criterias=erroneousFilter -${response}= httpresponse \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt index 877c07bfe72ea1d7e84a317f518ec1c9dc64fb2f..bc36f6f1c21fd462ef6dd74d47d63bb8ec6b5195 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOPerformanceManagement-API/environment/variables.txt @@ -4,17 +4,19 @@ ${NFVMANO_PORT} 8080 # Listening port of the VNFM ${NFVMANO_SCHEMA} https -${AUTHORIZATION} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION} Bearer negativetoken -${BAD_AUTHORIZATION} Bear sometoken +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${BAD_AUTHORIZATION_TOKEN} Bear sometoken ${CONTENT_TYPE_JSON} application/json +${CONTENT_TYPE_PATCH} application/merge-patch+json ${ACCEPT_JSON} application/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_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 @@ -22,19 +24,54 @@ ${apiName} nfvmanopm ${callback_port} 9091 ${callback_uri} http://172.22.1.7:${callback_port} +${unreachable_callback_uri} http://unreachable_callback_uri-error-422 ${callback_endpoint} /nfvmanopm/subscriptions -${callback_endpoint_error} /subs_404 -${sleep_interval} 20s + ${total_polling_time} 2 min ${polling_interval} 10 sec ${MOCK_SERVER_JAR} ../../../bin/mockserver-netty-5.5.0-jar-with-dependencies.jar -${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa - -${response} +${response} httpresponse ${objectInstanceIds} daca910b0-00d4f1a2b675d-604257e42 -${callbackResp} 127.0.0.1 \ No newline at end of file +${callbackResp} 127.0.0.1 + +### INDIVIDUAL PM JOBS VARIABLES ### +${pmJobId} 29f4ff6a-be91-4ec8-856e-fcf1e2479e4e +${erroneousPmJobId} erroneousPmJobId +${newPmJobId} newPmJobId +${OrigResponse}= httpresponse +${invalid_etag} invalid etag + +### INDIVIDUAL THRESHOLDS VARIABLES ### +${thresholdId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${erroneousThresholdId} erroneousThresholdId +${newThresholdId} newThresholdId + + +### NOTIFICATIONS VARIABLES ### + +${callback_endpoint_fwd} /endpoint/check + +${notification_request} [] +${notification_response} [] + +### PM JOBS VARIABLES ### +${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${NEG_FILTER} criteriaPmJob=erroneousAttributeName +${fields} criteria,objectInstanceIds + +### REPORTS VARIABLES ### +#${pmJobId} 1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${reportId} 0fb4c875-e07f-46ca-a9dd-13907667a568 +${erroneousReportId} erroneousReportId +${newReportId} newReportId +#${OrigResponse}= httpresponse + +### THRESHOLDS VARIABLES ### +${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${FILTER_KO} criterias=erroneousFilter +${SEPARATOR} = diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json index b69b9f03fac165ad68c7b36224ddb1083037ee9f..632a66f0fd1077bcfbcd7001ce6a491fea6fe155 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreatePmJobRequest.json @@ -8,5 +8,7 @@ "performanceMetricGroup": [], "collectionPeriod": 10, "reportingPeriod": 30 - }} + }}, + "callbackUri": "{callbackUri}", + "authentication": "" }} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json index 1162190f7b4a1ded590c469c2c99e8c6f2c9d8e6..f0b9266c4e96c321cbd0be2b3c04c75ab5f6a4b7 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/CreateThresholdRequest.json @@ -7,7 +7,8 @@ "simpleThresholdDetails": {{ "thresholdValue": 10, "hysteresis": 50 - }} - - }} + }} + }}, + "callbackUri": "{callbackUri}", + "authentication": "" }} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json index 5be4a1a38fdb5aa214d625aeb63391615fe5a7c5..c997ed2c76e8a14e42139a6f7222cd475a2c3c85 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PerformanceInformationAvailabilityNotification.json @@ -1,12 +1,11 @@ {{ "id": "", "notificationType": "PerformanceInformationAvailableNotification", - "subscriptionId": "{subscriptionId}", "timeStamp": "", + "pmJobId": "{pmJobId}", "objectType": "", "objectInstanceId": "{objectInstanceId}", "_links": {{ - "subscription": "" "objectInstance": "", "pmJob": "", "performanceReport": "" diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json new file mode 100644 index 0000000000000000000000000000000000000000..c2d9cf8671f3f3673fb67b2d7eb908a970ddb0ec --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/PmJobModifications.json @@ -0,0 +1,4 @@ +{ + "callbackUri": "{callbackUri}", + "authentication": "" +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json index 8984e0f666ec9005f390e552b9b1446d6c68fcac..390215f3e6edf0565fbd6d95b461173d191c1775 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdCrossedNotification.json @@ -1,7 +1,6 @@ {{ "id": "", "notificationType": "ThresholdCrossedNotification", - "subscriptionId": "{subscriptionId}", "timeStamp": "", "thresholdId": "{thresholdId}", "crossingDirection": "UP", @@ -10,7 +9,6 @@ "performanceMetric": "", "performanceValue": "", "_links": {{ - "subscription": "" "objectInstance": "", "threshold": "" }} diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json new file mode 100644 index 0000000000000000000000000000000000000000..c2d9cf8671f3f3673fb67b2d7eb908a970ddb0ec --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/jsons/ThresholdModifications.json @@ -0,0 +1,4 @@ +{ + "callbackUri": "{callbackUri}", + "authentication": "" +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json b/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json deleted file mode 100644 index 3ca4fc25ae9b33163639f7041e3f50efe537c320..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/jsons/subscriptions.json +++ /dev/null @@ -1,6 +0,0 @@ -{{ - "callbackUri": "{callback_uri}{callback_endpoint}", - "filter": {{ - "notificationTypes": ["ThresholdCrossedNotification"] - }} -}} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json index 04ae7ead49cbd6f5840c13492612774825d0fb24..6e2e33f34f7a8b97e76c4e895463efcab32ebe47 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceInformationAvailableNotification.schema.json @@ -1,105 +1,93 @@ { - "description": "This notification informs the receiver that performance information is available. The timing of sending this notification is determined by the capability of the producing entity to evaluate the threshold crossing condition. The notification shall be triggered by the VNFM when new performance information collected by a PM job is available.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "objectInstanceId", - "_links" - ], - "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 \"PerformanceInformationAvailableNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "PerformanceInformationAvailableNotification" - ] - }, - "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" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "pmJob", - "performanceReport" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "description": "This notification informs the receiver that performance information is available.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "pmJobId", + "timeStamp", + "objectType", + "objectInstanceId", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "pmJobId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectInstanceId": { + "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" + }, + "_links": { + "description": "Links to resources related to this notification.\n", + "type": "object", + "properties": { + "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" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "pmJob": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "pmJob": { + "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" } - }, - "performanceReport": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "PerformanceReport": { + "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": [ + "pmJob", + "performanceReport" + ] } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json index 9ca35fcfad6ece2c167822cecce9247083479f38..e9b74725ff7827df2592c407fa5ad52da4a0e21e 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PerformanceReport.schema.json @@ -1,92 +1,92 @@ { - "description": "This type defines the format of a performance report provided by the NFV-MANO functional entity to the API consumer as a result of collecting performance information as part of a PM job. \n", - "type": "object", - "properties": { - "entries": { - "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. measured object instance) corresponding to the related measured object types, but can include multiple collected values.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "string" + "description": "This type defines the format of a performance report provided by the NFV-MANO functional entity to the API consumer as a result of collecting performance information as part of a PM job. \n", + "type": "object", + "required": [ + "entries" + ], + "properties": { + "entries": { + "description": "List of performance information entries. Each performance report entry is for a given metric of a given object (i.e. measured object instance) corresponding to the related measured object types, but can include multiple collected values.\n", + "type": "array", + "items": { + "type": "object", + "properties": { + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "objectInstanceId": { + "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" + } }, - "objectInstanceId": { - "description": "This type represents the identifier to reference a managed object of a particular type. \n", + "required": [ + "type", + "objectId" + ] + }, + "subObjectInstanceId": { + "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" + }, + "performanceMetric": { + "description": "Name of the metric collected. This attribute shall contain the related \"Measurement Name\" value as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "performanceValues": { + "description": "List of performance values with associated timestamp.\n", + "type": "array", + "items": { "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", + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", - "enum": [ - "MANO_ENTITY", - "MANO_SERVICE", - "MANO_SERVICE_IF", - "CONSUMED_MANO_IF", - "MANO_ENTITY_COMPONENT" - ] + "format": "date-time" }, - "objectId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "value": { + "description": "Value of the metric collected. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" }, - "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" + "context": { + "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": [ - "type", - "objectId" + "timeStamp", + "value" ] }, - "subObjectInstanceId": { - "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" - }, - "performanceMetric": { - "description": "Name of the metric collected. This attribute shall contain the related \"Measurement Name\" value as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n", - "type": "string" - }, - "performanceValues": { - "description": "List of performance values with associated timestamp.\n", - "type": "array", - "items": { - "type": "object", - "properties": { - "timeStamp": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" - }, - "value": { - "description": "Value of the metric collected. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" - }, - "context": { - "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": [ - "timeStamp", - "value" - ] - }, - "minItems": 1 - } - }, - "required": [ - "objectType", - "objectInstanceId", - "performanceMetric", - "performanceValues" - ] + "minItems": 1 + } }, - "minItems": 1 - } - }, - "required": [ - "entries" - ] - } \ No newline at end of file + "required": [ + "objectType", + "objectInstanceId", + "performanceMetric", + "performanceValues" + ] + }, + "minItems": 1 + } + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json index 7b48339025f1174223872001c61c9d5b9636efa7..72c55e6479fcc85ccb5ddcb0f07089b044f06338 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJob.schema.json @@ -1,6 +1,14 @@ { "description": "This type represents a PM job. \n", "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", @@ -28,29 +36,33 @@ } }, "criteria": { - "description": "This type represents collection criteria for PM jobs.\n", + "description": "This type represents collection criteria for PM jobs. * NOTE 1:\tAt the end of each reportingPeriod, the producer will inform the API consumer about availability\n of the performance data collected for each completed collection period during this reportingPeriod.\n The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case,\n the performance data for the collection periods within one reporting period are reported together.\n* NOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can\n be supported depends on the capability of the producing entity.\n", "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], "properties": { "performanceMetric": { - "description": "This defines the types of performance metrics for the specified measured object(s). This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "description": "This defines the types of performance metrics for the specified measured object(s). This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", "type": "array", "items": { "type": "string" } }, "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attribute’s value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attributeΓÇÖs value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", "type": "array", "items": { "type": "string" } }, "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. \nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", + "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", "type": "integer" }, "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds.\nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", + "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds. See note 1 and note 2.\n", "type": "integer" }, "reportingBoundary": { @@ -58,11 +70,11 @@ "type": "string", "format": "date-time" } - }, - "required": [ - "collectionPeriod", - "reportingPeriod" - ] + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" }, "reports": { "description": "Information about available reports collected by this PM job.\n", @@ -134,12 +146,5 @@ "self" ] } - }, - "required": [ - "id", - "objectType", - "objectInstanceIds", - "criteria", - "_links" - ] + } } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..87ec0ab64e2a815f83a541714d2b3e71aacaab8a --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobModifications.schema.json @@ -0,0 +1,56 @@ +{ + "description": "This type represents modifications to a PM job. * NOTE: At least one of the attributes defined in this type shall be present in request bodies.\n", + "type": "object", + "properties": { + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "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\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", + "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.\n", + "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.\n", + "type": "string" + }, + "password": { + "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "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.\n", + "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.\n", + "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.\n", + "type": "string" + }, + "tokenEndpoint": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } +} diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json index 95ada1a027d9f038cfeff106698e5f03f420ea49..e6103b6a21a7f86bfda0042a73a8a6de28c43c24 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmJobs.schema.json @@ -1,123 +1,119 @@ { "type": "array", "items": { - "description": "This type represents a PM job. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "string" - }, - "objectInstanceIds": { - "description": "Identifiers of the measured object instance for which performance information is collected. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031.\n", - "type": "array", - "items": { + "description": "This type represents a PM job. \n", + "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], + "properties": { + "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, - "minItems": 1 - }, - "subObjectInstanceIds": { - "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\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", + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", "type": "string" - } - }, - "criteria": { - "description": "This type represents collection criteria for PM jobs.\n", - "type": "object", - "properties": { - "performanceMetric": { - "description": "This defines the types of performance metrics for the specified measured object(s). This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "performanceMetricGroup": { - "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attribute’s value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", - "type": "array", - "items": { - "type": "string" - } - }, - "collectionPeriod": { - "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. \nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer" - }, - "reportingPeriod": { - "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds.\nAt the end of each reportingPeriod, the producer will inform the API consumer about availability of the performance data collected for each completed collection period during this reportingPeriod. The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case, the performance data for the collection periods within one reporting period are reported together. \nIn particular when choosing short collection and reporting periods, the number of PM jobs that can be supported depends on the capability of the producing entity.\n", - "type": "integer" + }, + "objectInstanceIds": { + "description": "Identifiers of the measured object instance for which performance information is collected. This attribute shall contain the identifier of the instance of the measure object according to their type. See also definitions in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" }, - "reportingBoundary": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "minItems": 1 + }, + "subObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance for which performance information is requested to be collected. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is present, the cardinality of the \"objectInstanceIds\" attribute shall be 1. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, measurements will be taken for all sub-object instances of the measured object instance.\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": [ - "collectionPeriod", - "reportingPeriod" - ] - }, - "reports": { - "description": "Information about available reports collected by this PM job.\n", - "type": "array", - "items": { + "criteria": { + "description": "This type represents collection criteria for PM jobs. * NOTE 1:\tAt the end of each reportingPeriod, the producer will inform the API consumer about availability\n of the performance data collected for each completed collection period during this reportingPeriod.\n The reportingPeriod should be equal to or a multiple of the collectionPeriod. In the latter case,\n the performance data for the collection periods within one reporting period are reported together.\n* NOTE 2:\tIn particular when choosing short collection and reporting periods, the number of PM jobs that can\n be supported depends on the capability of the producing entity.\n", "type": "object", + "required": [ + "collectionPeriod", + "reportingPeriod" + ], "properties": { - "href": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" + "performanceMetric": { + "description": "This defines the types of performance metrics for the specified measured object(s). This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "type": "string" + } }, - "readyTime": { - "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", - "type": "string", - "format": "date-time" + "performanceMetricGroup": { + "description": "Group of performance metrics. A metric group is a pre-defined list of metrics, known to the producer that it can decompose to individual metrics. This attributeΓÇÖs value shall contain the related \"Measurement Group\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031. At least one of the two attributes (performance metric or group) shall be present.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "collectionPeriod": { + "description": "Specifies the periodicity at which the producer will collect performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer" + }, + "reportingPeriod": { + "description": "Specifies the periodicity at which the producer will report to the API consumer about performance information. The unit shall be seconds. See note 1 and note 2.\n", + "type": "integer" }, - "expiryTime": { + "reportingBoundary": { "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", "type": "string", "format": "date-time" - }, - "fileSize": { - "description": "Unsigned integer\n", - "type": "number" } - }, - "required": [ - "href", - "readyTime" - ] - } - }, - "_links": { - "description": "Links for this resource.\n", - "type": "object", - "properties": { - "self": { - "description": "This type represents a link to a resource using an absolute URI.\n", + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "reports": { + "description": "Information about available reports collected by this PM job.\n", + "type": "array", + "items": { "type": "object", - "required": [ - "href" - ], "properties": { "href": { "description": "String formatted according to IETF RFC 3986.\n", "type": "string" + }, + "readyTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "expiryTime": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "fileSize": { + "description": "Unsigned integer\n", + "type": "number" } - } - }, - "objects": { - "description": "Links to resources representing the measured object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\n", - "type": "array", - "items": { + }, + "required": [ + "href", + "readyTime" + ] + } + }, + "_links": { + "description": "Links for this resource.\n", + "type": "object", + "properties": { + "self": { "description": "This type represents a link to a resource using an absolute URI.\n", "type": "object", "required": [ @@ -129,20 +125,29 @@ "type": "string" } } + }, + "objects": { + "description": "Links to resources representing the measured object instances for which performance information is collected. Shall be present if the measured object instance information is accessible as a resource.\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" + } + } + } } - } - }, - "required": [ - "self" - ] + }, + "required": [ + "self" + ] + } } - }, - "required": [ - "id", - "objectType", - "objectInstanceIds", - "criteria", - "_links" - ] -} + } } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json deleted file mode 100644 index 848628dcc1ad95cd5852a32b90cd59380e43b235..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscription.schema.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "description": "This type represents a subscription. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "pmSubscriptionFilter": { - "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. Permitted values:\n - ThresholdCrossedNotification\n - PerformanceInformationAvailableNotification\n\nThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "object", - "properties": { - "links": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "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": [ - "links", - "self" - ] - } - }, - "required": [ - "id", - "callbackUri" - ] - } \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json deleted file mode 100644 index 50d8ef1dd9e2a5fa3803fb3d6b3ffd02f79e7905..0000000000000000000000000000000000000000 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/PmSubscriptions.schema.json +++ /dev/null @@ -1,113 +0,0 @@ -{ -"type": "array", - "items": { - "description": "This type represents a subscription. \n", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "filter": { - "description": "This type represents a filter that can be used to subscribe for notifications related to performance management events. At a particular nesting level in the filter structure, the following applies: All attributes shall match in order for the filter to match (logical \"and\" between different filter attributes). If an attribute is an array, the attribute shall match if at least one of the values in the array matches (logical \"or\" between the values of one filter attribute).\n", - "type": "object", - "properties": { - "pmSubscriptionFilter": { - "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. Permitted values:\n - ThresholdCrossedNotification\n - PerformanceInformationAvailableNotification\n\nThe permitted values of the \"notificationTypes\" attribute are spelled exactly as the names of the notification types to facilitate automated code generation systems.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification", - "PerformanceInformationAvailableNotification" - ] - } - } - }, - "callbackUri": { - "description": "The URI of the endpoint to send the notification to.\n", - "type": "object", - "properties": { - "links": { - "description": "String formatted according to IETF RFC 3986.\n", - "type": "string" - }, - "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": [ - "links", - "self" - ] - } - }, - "required": [ - "id", - "callbackUri" - ] - } -} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json index 2af3ef9b3f8c0e1dc6bfa39a818ba45e63ca223c..bd236d7317e22dc841d58a71400e1c299bc4c0c8 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ProblemDetails.schema.json @@ -1 +1,29 @@ -{ "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 +{ + "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" + } + } +} diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json index 02454617308f2280494512f81d4b96e7b9ca9a0c..bf9ced033df1e1f9c065b770fa145a49eb6f9763 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/Threshold.schema.json @@ -1,108 +1,113 @@ { - "description": "", - "type": "object", - "properties": { - "id": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.", - "type": "string" - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", + "description": "This type represents a threshold.\n", + "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceId", + "subjObjectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "objectType": { + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subjObjectInstanceIds": { + "description": "Identifiers of the sub-object instances of the measured object instance associated with this threshold. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, thresholds are set for all sub-object instances of the measured object instance.\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" - }, - "subjObjectInstanceIds": { - "description": "Identifiers of the sub-object instances of the measured object instance associated with this threshold. May be present if a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type. If this attribute is absent and a sub-object is defined in clause 8.2 of ETSI GS NFV-IFA 031 for the related measured object type, thresholds are set for all sub-object instances of the measured object instance.\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", + } + }, + "criteria": { + "description": "This type represents criteria that define a threshold. * NOTE 1:\tIn the present document, simple thresholds are defined. The definition of additional threshold\n types is left for future specification.\n* NOTE 2:\tThe hysteresis is defined to prevent storms of threshold crossing notifications.\n When processing a request to create a threshold, implementations should enforce a suitable minimum\n value for this attribute (e.g. override the value or reject the request).\n", + "type": "object", + "required": [ + "performanceMetric", + "thresholdType" + ], + "properties": { + "performanceMetric": { + "description": "Defines the performance metric associated with the threshold. This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", "type": "string" - } - }, - "criteria": { - "description": "This type represents criteria that define a threshold.\n", - "type": "object", - "properties": { - "performanceMetric": { - "description": "Defines the performance metric associated with the threshold. This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", - "type": "string" - }, - "thresholdType": { - "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values:\n - SIMPLE: Single-valued static threshold\n\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", - "type": "string", - "enum": [ - "SIMPLE" - ] - }, - "simpleThresholdDetails": { - "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", - "type": "object", - "properties": { - "thresholdValue": { - "description": "A number defined in IETF RFC 8259.\n", - "type": "number" - }, - "hysteresis": { - "description": "A number defined in IETF RFC 8259.\n", - "type": "number" - } - }, - "required": [ - "thresholdValue", - "hysteresis" - ] - } }, - "required": [ - "performanceMetric", - "thresholdType" - ] - }, - "_links": { - "description": "Links for 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" - } + "thresholdType": { + "description": "Type of threshold. This attribute determines which other attributes are present in the data structure. Permitted values:\n - SIMPLE: Single-valued static threshold\n\nIn the present document, simple thresholds are defined. The definition of additional threshold types is left for future specification.\n", + "type": "string", + "enum": [ + "SIMPLE" + ] + }, + "simpleThresholdDetails": { + "description": "Details of a simple threshold. Shall be present if thresholdType=\"SIMPLE\".\n", + "type": "object", + "properties": { + "thresholdValue": { + "description": "A number defined in IETF RFC 8259.\n", + "type": "number" + }, + "hysteresis": { + "description": "A number defined in IETF RFC 8259.\n", + "type": "number" } }, - "object": { - "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": [ + "thresholdValue", + "hysteresis" + ] + } + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + }, + "_links": { + "description": "Links for 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", - "objectType", - "objectInstanceId", - "subjObjectInstanceIds", - "criteria", - "_links" - ] - } \ No newline at end of file + "object": { + "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" + ] + } + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json index e5cec2303f1bcfcfdb9df5affc9fc0767cd8a2c8..baa0ae1b4e5fc70bf5b24d815ee888c8febb94c9 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdCrossedNotification.schema.json @@ -1,113 +1,101 @@ { - "description": "This type represents a notification that is sent when a threshold has been crossed. The notification shall be triggered by the VNFM when a threshold has been crossed.\n", - "type": "object", - "required": [ - "id", - "notificationType", - "subscriptionId", - "timeStamp", - "thresholdId", - "crossingDirection", - "objectInstanceId", - "performanceMetric", - "performanceValue", - "_links" - ], - "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 \"ThresholdCrossedNotification\" for this notification type.\n", - "type": "string", - "enum": [ - "ThresholdCrossedNotification" - ] - }, - "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" - }, - "thresholdId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "crossingDirection": { - "type": "string", - "enum": [ - "UP", - "DOWN" - ] - }, - "objectInstanceId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, - "performanceMetric": { - "description": "Performance metric associated with the threshold.\n", - "type": "string" - }, - "performanceValue": { - "description": "Value of the metric that resulted in threshold crossing. The type of the \"performanceValue\" attribute (i.e. scalar, structure (Object in JSON), or array (of scalars, arrays or structures / Objects)) is assumed to be defined in the external measurement specification (see ETSI GS NFV-IFA 027).\n", - "type": "object" - }, - "_links": { - "description": "Links to resources related to this notification.\n", - "type": "object", - "required": [ - "subscription", - "threshold" - ], - "properties": { - "subscription": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + "description": "This type represents a notification that is sent when a threshold has been crossed.\nNOTE:\tThe timing of sending this notification is determined by the capability of the producing entity to evaluate the threshold crossing condition.\nThe notification shall be triggered by the NFV-MANO functional entity when a threshold has been crossed.\n", + "type": "object", + "required": [ + "id", + "notificationType", + "timeStamp", + "thresholdId", + "crossingDirection", + "objectType", + "objectInstanceId", + "performanceMetric", + "performanceValue", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "notificationType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "timeStamp": { + "description": "Date-time stamp. Representation: String formatted according to IETF RFC 3339.\n", + "type": "string", + "format": "date-time" + }, + "thresholdId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "crossingDirection": { + "description": "CrossingDirectionType enumeration. Permited values:\n - UP: The threshold was crossed in upward direction.\n - DOWN : The threshold was crossed in downward direction.\n", + "type": "string", + "enum": [ + "UP", + "DOWN" + ] + }, + "objectType": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "objectInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "subObjectInstanceId": { + "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" + }, + "performanceMetric": { + "description": "A string defined in IETF RFC 8259.\n", + "type": "string" + }, + "performanceValue": { + "description": "Value of the metric that resulted in threshold crossing. The type of this attribute shall correspond to the related \"Measurement Unit\" as defined in clause 8.4 of ETSI GS NFV-IFA 031.\n" + }, + "context": { + "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": { + "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" } - }, - "objectInstance": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } - } - }, - "threshold": { - "description": "This type represents a link to a resource.\n", - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "URI of the referenced resource.\n", - "type": "string", - "format": "url" - } + } + }, + "threshold": { + "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": [ + "objectInstance" + ] } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..163efd31031bb80319c045ca5334d82cbad0e430 --- /dev/null +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/ThresholdModifications.schema.json @@ -0,0 +1,56 @@ +{ + "description": "This type represents modifications to a threshold. * NOTE: At least one of the attributes defined in this type shall be present in request bodies.\n", + "type": "object", + "properties": { + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "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\n HTTP Basic authentication with the client credentials.\n* OAUTH2_CLIENT_CREDENTIALS: In every HTTP request to the\n notification endpoint, use an OAuth 2.0 Bearer token, obtained\n using the client credentials grant type.\n* TLS_CERT: Every HTTP request to the notification endpoint is sent\n over a mutually authenticated TLS session, i.e. not only the\n server is authenticated, but also the client is authenticated\n during the TLS tunnel setup.\n", + "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.\n", + "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.\n", + "type": "string" + }, + "password": { + "description": "Password to be used in HTTP Basic authentication. Shall be present if it has not been provisioned out of band.\n", + "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.\n", + "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.\n", + "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.\n", + "type": "string" + }, + "tokenEndpoint": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" + } + } + } + } + } + } +} diff --git a/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json b/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json index 4b1ce898104ba3ce7a5af0fd81e0f59660b24e86..79d8f7c85b79b954fdd1baad9ee7635e55bb8c9f 100644 --- a/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json +++ b/SOL009/NFVMANOPerformanceManagement-API/schemas/Thresholds.schema.json @@ -1,15 +1,24 @@ { "type": "array", "items": { - "description": "", + "description": "This type represents a threshold.\n", "type": "object", + "required": [ + "id", + "objectType", + "objectInstanceId", + "subjObjectInstanceIds", + "criteria", + "_links", + "callbackUri" + ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "objectType": { - "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.", + "description": "Type of measured object. The applicable measured object type for a measurement is defined in clause 8.2 of ETSI GS NFV-IFA 031.\n", "type": "string" }, "objectInstanceId": { @@ -25,11 +34,15 @@ } }, "criteria": { - "description": "This type represents criteria that define a threshold.\n", + "description": "This type represents criteria that define a threshold. * NOTE 1:\tIn the present document, simple thresholds are defined. The definition of additional threshold\n types is left for future specification.\n* NOTE 2:\tThe hysteresis is defined to prevent storms of threshold crossing notifications.\n When processing a request to create a threshold, implementations should enforce a suitable minimum\n value for this attribute (e.g. override the value or reject the request).\n", "type": "object", + "required": [ + "performanceMetric", + "thresholdType" + ], "properties": { "performanceMetric": { - "description": "Defines the performance metric associated with the threshold. This attribute’s value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", + "description": "Defines the performance metric associated with the threshold. This attributeΓÇÖs value shall contain the related \"Measurement Name\" values as defined in clause 8.4 of ETSI GS NFV-IFA 031 \n", "type": "string" }, "thresholdType": { @@ -57,11 +70,11 @@ "hysteresis" ] } - }, - "required": [ - "performanceMetric", - "thresholdType" - ] + } + }, + "callbackUri": { + "description": "String formatted according to IETF RFC 3986.\n", + "type": "string" }, "_links": { "description": "Links for this resource.\n", @@ -98,14 +111,6 @@ "self" ] } - }, - "required": [ - "id", - "objectType", - "objectInstanceId", - "subjObjectInstanceIds", - "criteria", - "_links" - ] + } } } \ No newline at end of file diff --git a/indexes/sol_009_index.csv b/indexes/sol_009_index.csv index 14ea0c1c012bbdfe48cb56e958fca9e9edcd9fd8..56a70747ab03c67f0662b49a66178a83155ac1cd 100644 --- a/indexes/sol_009_index.csv +++ b/indexes/sol_009_index.csv @@ -20,8 +20,8 @@ 8.3.2.3,Individual Report Endpoint, IndividualReport.robot 8.3.2.4,Thresholds Endpoint, Thresholds.robot 8.3.2.5,Individual Threshold Endpoint, IndividualThreshold.robot -8.3.2.6,Subscriptions Endpoint, Subscriptions.robot -8.3.2.7,Individual Subscription Endpoint, IndividualSubscription.robot +8.3.2.6,Void,Void +8.3.2.7,Void,Void 8.3.2.8,Notifications,Notifications.robot 8.3.2.9,API Version Endpoint, ApiVersion.robot 8.3.2.10,Notification Endpoint, NotificationEndpoint.robot