From 9fda58e2267ad30c303f399083952f6fa7311a55 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Mon, 25 Nov 2019 12:09:53 +0100 Subject: [PATCH] added SOL011 NSD Management openapi --- src/SOL011/NSDManagement/NSDManagement.yaml | 371 ++++++++++++++++++++ 1 file changed, 371 insertions(+) create mode 100644 src/SOL011/NSDManagement/NSDManagement.yaml diff --git a/src/SOL011/NSDManagement/NSDManagement.yaml b/src/SOL011/NSDManagement/NSDManagement.yaml new file mode 100644 index 0000000..b6bf4d9 --- /dev/null +++ b/src/SOL011/NSDManagement/NSDManagement.yaml @@ -0,0 +1,371 @@ +openapi: 3.0.2 +info: + version: 1.2.0-impl:etsi.org:ETSI_NFV_OpenAPI:1 + title: SOL011 - NSD Management Interface + description: > + SOL011 - NSD 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 011 V3.3.1 + url: https://docbox.etsi.org/ISG/NFV/Open/Drafts/SOL011ed331_Or-Or_Stage_3/NFV-SOL011ed331v010.zip + +security: + - OauthSecurity: + - all +servers: + - url: http://127.0.0.1/nsd/v1 + - url: https://127.0.0.1/nsd/v1 + +paths: + "/api_versions": + $ref: '../endpoints/SOL011_endpoints.yaml#/endpoints/api_versions' + + "/ns_descriptors": + description: >- + It can be used by NFVO-C to query multiple NS descriptors from NFVO-N. + parameters: + - $ref: "../components/SOL011_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL011_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL011_params.yaml#/components/parameters/Authorization" + get: + description: >- + The GET method queries information about multiple NS descriptor resources. + This method shall follow the provisions specified in the clause 5.4.2.3.2 of ETSI GS NFV-SOL 005. + parameters: + - $ref: "../components/SOL011_params.yaml#/components/parameters/filter" + - $ref: "../components/SOL011_params.yaml#/components/parameters/all_fields" + - $ref: "../components/SOL011_params.yaml#/components/parameters/fields" + - $ref: "../components/SOL011_params.yaml#/components/parameters/exclude_fields" + - $ref: "../components/SOL011_params.yaml#/components/parameters/exclude_default" + - $ref: "../components/SOL011_params.yaml#/components/parameters/nextpage_opaque_marker" + + responses: + 200: + $ref: "#/components/responses/NsdInfos.Get.200" + 400: + $ref: "../components/SOL011_resp.yaml#/components/responses/400" + 401: + $ref: "../components/SOL011_resp.yaml#/components/responses/401" + 403: + $ref: "../components/SOL011_resp.yaml#/components/responses/403" + 404: + $ref: "../components/SOL011_resp.yaml#/components/responses/404" + 405: + $ref: "../components/SOL011_resp.yaml#/components/responses/405" + 406: + $ref: "../components/SOL011_resp.yaml#/components/responses/406" + 500: + $ref: "../components/SOL011_resp.yaml#/components/responses/500" + 503: + $ref: "../components/SOL011_resp.yaml#/components/responses/503" + 504: + $ref: "../components/SOL011_resp.yaml#/components/responses/504" + + '/ns_descriptors/{nsdInfoId}': + description: >- + It can be used by NFVO-C to query an individual NS descriptor from NFVO-N. + parameters: + - $ref: "#/components/parameters/nsdInfoId" + - $ref: "../components/SOL011_params.yaml#/components/parameters/Version" + - $ref: "../components/SOL011_params.yaml#/components/parameters/Accept" + - $ref: "../components/SOL011_params.yaml#/components/parameters/Authorization" + + get: + description: > + The GET method reads information about an individual NS descriptor resource. + This method shall follow the provisions specified in the clause 5.4.3.3.2 of ETSI GS NFV-SOL 005. + responses: + 200: + $ref: "#/components/responses/NsdInfo.Get.200" + 400: + $ref: "../components/SOL011_resp.yaml#/components/responses/400" + 401: + $ref: "../components/SOL011_resp.yaml#/components/responses/401" + 403: + $ref: "../components/SOL011_resp.yaml#/components/responses/403" + 404: + $ref: "../components/SOL011_resp.yaml#/components/responses/404" + 405: + $ref: "../components/SOL011_resp.yaml#/components/responses/405" + 406: + $ref: "../components/SOL011_resp.yaml#/components/responses/406" + 500: + $ref: "../components/SOL011_resp.yaml#/components/responses/500" + 503: + $ref: "../components/SOL011_resp.yaml#/components/responses/503" + 504: + $ref: "../components/SOL011_resp.yaml#/components/responses/504" + +components: + parameters: + nsdInfoId: + name: nsdInfoId + description: > + Identifier of the individual NS descriptor resource. + in: path + required: true + schema: + type: string + + responses: + NsdInfos.Get.200: + description: >- + 200 OK + Information about zero or more NS descriptors. + The response body shall contain in an array the + representations of zero or more NS descriptors, as + defined in clause 5.5.2.2. + If the NFVO 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 + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + schema: + type: string + maximum: 1 + minimum: 0 + content: + application/json: + schema: + $ref: "#/components/schemas/NsdInfos.Get.Response" + + NsdInfo.Get.200: + description: >- + 200 OK + Information about the individual NS descriptor. + The response body shall contain a representation of the individual NS descriptor, + as defined in clause 5.5.2.2. + headers: + Content-Type: + description: The MIME type of the body of the response. + schema: + type: string + maximum: 1 + minimum: 1 + WWW-Authenticate: + description: > + Challenge if the corresponding HTTP request has not provided + authorization, or error details if the corresponding HTTP request + has provided an invalid authorization token. + schema: + type: string + maximum: 1 + minimum: 0 + Version: + description: > + Version of the API used in the response. + schema: + type: string + maximum: 1 + minimum: 1 + Link: + description: > + Reference to other resources. Used for paging in the present document, see clause 4.7.2.1. + schema: + type: string + maximum: 1 + minimum: 0 + content: + application/json: + schema: + $ref: "#/components/schemas/NsdInfo" + + schemas: + NsdInfos.Get.Response: + description: > + This type represents a response for the query NSD operation. + type: array + items: + $ref: "#/components/schemas/NsdInfo" + + NsdInfo: + description: > + This type represents a response for the query NSD operation. + type: object + required: + - id + - nsdOnboardingState + - nsdOperationalState + - nsdUsageState + - _links + - oneOf: + - vnfPkgId + - nestedNsdInfoId + properties: + id: + description: > + Identifier of the on boarded individual NS descriptor + resource. This identifier is allocated by the NFVO. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + nsdId: + description: > + This identifier, which is allocated by the NSD + designer, identifies the NSD in a globally unique + way. It is copied from the NSD content and shall be + present after the NSD content is on-boarded. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + nsdName: + type: string + description: > + Name of the on boarded NSD. This information is copied from the + NSD content and shall be present after the NSD content is on-boarded. + nsdVersion: + description: > + Version of the on-boarded NSD. This information is + copied from the NSD content and shall be present + after the NSD content is on-boarded. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Version" + nsdDesigner: + type: string + description: > + Designer of the on-boarded NSD. This information is copied + from the NSD content and shall be present after the NSD content is on-boarded. + nsdInvariantId: + description: > + This identifier, which is allocated by the NSD + designer, identifies an NSD in a version independent + manner. This information is copied from the NSD + content and shall be present after the NSD content is + on-boarded. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + vnfPkgIds: + description: > + Identifies the VNF package for the VNFD referenced + by the on-boarded NS descriptor resource. + type: array + items: + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + pnfdInfoIds: + description: > + Identifies the PnfdInfo element for the PNFD + referenced by the on-boarded NS descriptor + resource. + type: array + items: + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + nestedNsdInfoIds: + description: > + Identifies the NsdInfo element for the nested NSD + referenced by the on-boarded NS descriptor + resource. + type: array + items: + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + nsdOnboardingState: + description: > + On boarding state of the individual NS descriptor resource. + $ref: "#/components/schemas/NsdOnboardingStateType" + onboardingFailureDetails: + description: > + Failure details of current on boarding procedure. See + clause 6.3 of ETSI GS NFV-SOL 013 for the details of "ProblemDetails" + structure. + It shall be present when the "nsdOnboardingState" + attribute is CREATED and the uploading or + processing fails in NFVO. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/ProblemDetails" + nsdOperationalState: + description: > + Operational state of the individual NS descriptor + resource. This attribute can be modified with the + PATCH method. + $ref: "#/components/schemas/NsdOperationalStateType" + nsdUsageState: + description: > + Usage state of the individual NS descriptor resource. + $ref: "#/components/schemas/NsdUsageStateType" + userDefinedData: + description: > + User defined data for the individual NS descriptor + resource. This attribute can be modified with the + PATCH method. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/KeyValuePairs" + _links: + type: object + required: + - self + - nsd_content + description: > + Links to resources related to this resource. + properties: + self: + description: > + URI of this resource. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Link" + nsd_content: + description: > + Link to the NSD content resource. + $ref: "../components/SOL011_schemas.yaml#/components/schemas/Link" + + NsdOperationalStateType: + type: string + description: > + The enumeration NsdOperationalStateType shall comply with the provisions + defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational + state of the resource. + ENABLED = The operational state of the resource is enabled. + DISABLED = The operational state of the resource is disabled. + enum: + - ENABLED + - DISABLED + + NsdUsageStateType: + type: string + description: > + The enumeration NsdUsageStateType shall comply with the provisions + defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state + of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource + is not-in-use. + enum: + - IN_USE + - NOT_IN_USE + + NsdOnboardingStateType: + type: string + description: > + The enumeration NsdOnboardingStateType shall comply with the provisions + defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding + state of the NSD. + CREATED = The NSD information object is created. + UPLOADING = The associated NSD content is being uploaded. + PROCESSING = The associated NSD content is being processed, e.g. validation. + ONBOARDED = The associated NSD content is on-boarded. + enum: + - CREATED + - UPLOADING + - PROCESSING + - ONBOARDED + -- GitLab