diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 0b8e18271ea5ed0e18fb2ee114990e48e59579ed..0e1975022bfdcced1973d71905a4748b306387ad 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -1,36 +1,1142 @@ +--- swagger: "2.0" - info: + description: "DRAFT - SOL005 - 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 and has not been approved by the ETSI NFV ISG. In case of discrepancies\ + \ the published ETSI Group Specification takes precedence. Please report bugs\ + \ to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis\n" version: "2.4.1" - title: DRAFT - SOL005 - NSD Management Interface - description: > - DRAFT - SOL005 - 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 and has not been - approved by the ETSI NFV ISG. In case of discrepancies the published ETSI - Group Specification takes precedence. - Please report bugs to https://forge.etsi.org/bugzilla/buglist.cgi?component=Nfv-Openapis + title: "DRAFT - SOL005 - NSD Management Interface" + contact: + name: "NFV-SOL WG" license: name: "ETSI Forge copyright notice" - url: https://forge.etsi.org/etsi-forge-copyright-notice.txt - contact: - name: "NFV-SOL WG" -externalDocs: - description: ETSI GS NFV-SOL 005 V2.4.1 - url: http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf -basePath: "/nsd/v1" - -schemes: - - https - + url: "https://forge.etsi.org/etsi-forge-copyright-notice.txt" consumes: - - "application/json" +- "application/json" produces: - - "application/json" - +- "application/json" paths: - /resource: + /ns_descriptors: + get: + summary: "Query NSD Info" + description: "The GET method queries information about multiple NS descriptor\ + \ resources. This method shall follow the provisions specified in the Tables\ + \ 5.4.2.3.2-1 and 5.4.2.3.2-2 of GS NFV-SOL 005 for URI query parameters,\ + \ request and response data structures, and response codes." + parameters: [] + responses: + 200: + description: "Information about zero or more NS descriptors.\nThe response\ + \ body shall contain a representation of zero or more NS descriptors,\ + \ as defined in clause 5.5.2.2 of GS NFV-SOL 005." + schema: + $ref: "#/definitions/NsdInfo" + 400: + description: "There are two possible scenarios listed below.\n\nError: Invalid\ + \ attribute-based filtering parameters. \n\nThe response body shall contain\ + \ a ProblemDetails structure, in which the \"detail\" attribute should\ + \ convey more information about the error.\n\nError: Invalid attribute\ + \ selector. The response body shall contain a ProblemDetails structure,\ + \ in which the \"detail\" attribute should convey more information about\ + \ the error." + post: + summary: "Create NSD Info" + description: "The POST method is used to create a new NS descriptor resource.\ + \ This method shall follow the provisions specified in the Tables 5.4.2.3.1-1\ + \ and 5.4.2.3.1-2 of GS NFV-SOL 005 for URI query parameters, request and\ + \ response data structures, and response codes." + consumes: [] + parameters: + - name: "body" + in: "body" + required: true + schema: + type: "object" + required: + - "CreateNsdInfoRequest" + properties: + CreateNsdInfoRequest: + $ref: "#/definitions/CreateNsdInfoRequest" + description: "The CreateNsdInfoRequest contains parameters for creating\ + \ an NS descriptor resource, as defined in\nclause 5.5.2.4 of GS NFV-SOL\ + \ 005." + responses: + 201: + description: "Status 201" + schema: + type: "object" + description: "An NS descriptor resource was created successfully, as a\ + \ new NS descriptor resource. The response body shall contain a representation\ + \ of the new NS descriptor resource, as defined in clause 5.5.2.2 of\ + \ GS NFV-SOL 005." + properties: + NsdInfo: + $ref: "#/definitions/NsdInfo" + headers: + Location: + type: "string" + description: "The HTTP response shall include a \"Location\" HTTP header\ + \ that contains the resource URI of the new NS descriptor resource." + /ns_descriptors/{nsdInfoId}: + get: + summary: "Query NSD Info" + description: "The GET method reads information about an individual NS descriptor.\ + \ This method shall follow the provisions specified in GS NFV-SOL 005 Tables\ + \ 5.4.3.3.2-1 and 5.4.3.3.2-2 of GS NFV-SOL 005 for URI query parameters,\ + \ request and response data structures, and response codes." + parameters: [] + responses: + 200: + description: "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 of GS NFV-SOL 005." + schema: + $ref: "#/definitions/NsdInfo" + delete: + summary: "Delete NSD" + description: "The DELETE method deletes an individual NS descriptor resource.\ + \ An individual NS descriptor resource can only be deleted when there is no\ + \ NS instance using it (i.e. usageState = NOT_IN_USE) and has been disabled\ + \ already (i.e. operationalState = DISABLED). Otherwise, the DELETE method\ + \ shall fail. This method shall follow the provisions specified in the Tables\ + \ 5.4.3.3.5-1 and 5.4.3.3.5-2 of GS NFV-SOL 005 for URI query parameters,\ + \ request and response data structures, and response codes." + parameters: [] + responses: + 204: + description: "The operation has completed successfully. The response body\ + \ shall be empty." + schema: + type: "object" + description: "The operation has completed successfully. The response body\ + \ shall be empty." + 409: + description: "Status 409" + schema: + required: + - "ProblemDetails" + type: "object" + description: "Error: The operation cannot be executed currently, due to\ + \ a conflict with the state of the resource. Typically, this is due\ + \ to the fact the NS descriptor resource is in the enabled operational\ + \ state (i.e. operationalState = ENABLED) or there are running NS instances\ + \ using the concerned individual NS descriptor resource (i.e. usageState\ + \ = IN_USE). The response body shall contain a ProblemDetails structure,\ + \ in which the \"detail\" attribute shall convey more information about\ + \ the error." + properties: + ProblemDetails: + $ref: "#/definitions/ProblemDetails" + patch: + summary: "Update NSD Info" + description: "The PATCH method modifies the operational state and/or user defined\ + \ data of an individual NS descriptor resource. This method can be used to:\n\ + 1) Enable a previously disabled individual NS descriptor resource, allowing\ + \ again its use for instantiation of new\nnetwork service with this descriptor.\ + \ The usage state (i.e. \"IN_USE/NOT_IN_USE\") shall not change as a\nresult.\n\ + 2) Disable a previously enabled individual NS descriptor resource, preventing\ + \ any further use for instantiation of\nnew network service(s) with this descriptor.\ + \ The usage state (i.e. \"IN_USE/NOT_IN_USE\") shall not change\nas a result.\n\ + 3) Modify the user defined data of an individual NS descriptor resource.\n\ + This method shall follow the provisions specified in the Tables 5.4.3.3.4-1\ + \ and 5.4.3.3.4-2 for URI query parameters,\nrequest and response data structures,\ + \ and response codes." + consumes: [] + parameters: + - name: "body" + in: "body" + required: true + schema: + type: "object" + required: + - "NsdInfoModifications" + properties: + NsdInfoModifications: + $ref: "#/definitions/NsdInfoModifications" + description: "The operation was completed successfully. The response body\ + \ shall contain attribute modifications for an 'Individual NS Descriptor'\ + \ resource (see clause 5.5.2.6 of GS NFV SOL-005)." + responses: + 200: + description: "Status 200" + schema: + $ref: "#/definitions/NsdInfoModifications" + 409: + description: "Status 409" + schema: + $ref: "#/definitions/ProblemDetails" + 412: + description: "Status 412" + schema: + $ref: "#/definitions/ProblemDetails" + parameters: + - name: "nsdInfoId" + in: "path" + required: true + type: "string" + /ns_descriptors/{nsdInfoId}/nsd_content: get: + summary: "Get NSD Content" + description: "The GET method fetches the content of the NSD.\n\nThe NSD can\ + \ be implemented as a single file or as a collection of multiple files. If\ + \ the NSD is implemented in the form of multiple files, a ZIP file embedding\ + \ these files shall be returned. If the NSD is implemented as a single file,\ + \ either that file or a ZIP file embedding that file shall be returned.\n\n\ + The selection of the format is controlled by the \"Accept\" HTTP header passed\ + \ in the GET request:\n\n• If the \"Accept\" header contains only \"text/plain\"\ + \ and the NSD is implemented as a single file, the file shall be returned;\ + \ otherwise, an error message shall be returned.\n\n• If the \"Accept\" header\ + \ contains only \"application/zip\", the single file or the multiple files\ + \ that make up the NSD shall be returned embedded in a ZIP file.\n\n• If the\ + \ \"Accept\" header contains both \"text/plain\" and \"application/zip\",\ + \ it is up to the NFVO to choose the format to return for a single-file NSD;\ + \ for a multi-file NSD, a ZIP file shall be returned.\n\nNOTE: The structure\ + \ of the NSD zip file is outside the scope of the present document." + parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "The request shall contain the appropriate entries in the \"\ + Accept\" HTTP header as defined above." + - name: "Range" + in: "header" + required: false + type: "string" + description: "The request may contain a \"Range\" HTTP header to obtain single\ + \ range of bytes from the NSD file. This can be used to continue an aborted\ + \ transmission.\n\nIf the NFVO does not support range requests, the NFVO\ + \ shall ignore the 'Range\" header, process the GET request, and return\ + \ the whole NSD file with a 200 OK response (rather than returning a 4xx\ + \ error status code)." responses: 200: - description: Success \ No newline at end of file + description: "On success, the content of the NSD is returned. The payload\ + \ body shall contain a copy of the file representing the NSD or a ZIP\ + \ file that contains the file or multiple files representing the NSD,\ + \ as specified above. The \"Content-Type\" HTTP header shall be set according\ + \ to the format of the returned file, i.e. to \"text/plain\" for a YAML\ + \ file or to \"application/zip\" for a ZIP file." + schema: + type: "object" + headers: + Content-Type: + type: "string" + 206: + description: "On success, if the NFVO supports range requests, a single\ + \ consecutive byte range from the content of the NSD file is returned.\n\ + \nThe response body shall contain the requested part of the NSD file.\n\ + \nThe \"Content-Range\" HTTP header shall be provided according to IETF\ + \ RFC 7233 [23].\n\nThe \"Content-Type\" HTTP header shall be set as defined\ + \ above for the \"200 OK\" response." + headers: + Content-Range: + type: "string" + Content-Type: + type: "string" + 406: + description: "Status 406" + schema: + type: "object" + description: "If the \"Accept\" header does not contain at least one name\ + \ of a content type for which the NFVO can provide a representation\ + \ of the NSD, the NFVO shall respond with this response code. The \"\ + ProblemDetails\" structure may be included with the \"detail\" attribute\ + \ providing more information about the error." + 409: + description: "Status 409" + schema: + type: "object" + description: "Error: The operation cannot be executed currently, due to\ + \ a conflict with the state of the resource. Typically, this is due\ + \ to the fact \"nsdOnboardingState\" has a value different from ONBOARDED.\ + \ The response body shall contain a ProblemDetails structure, in which\ + \ the \"detail\" attribute shall convey more information about the error." + 416: + description: "Status 416" + schema: + type: "object" + description: "The byte range passed in the \"Range\" header did not match\ + \ any available byte range in the NSD file (e.g.\n\"access after end\ + \ of file\"). The response body may contain a ProblemDetails structure." + put: + summary: "Upload NSD" + description: "The PUT method is used to upload the content of a NSD. The NSD\ + \ to be uploaded can be implemented as a single file or as a collection of\ + \ multiple files, as defined in clause 5.4.4.3.2 of GS NFV-SOL 005. If the\ + \ NSD is implemented in the form of multiple files, a ZIP file embedding these\ + \ files shall be uploaded. If the NSD is implemented as a single file, either\ + \ that file or a ZIP file embedding that file shall be uploaded. The \"Content-Type\"\ + \ HTTP header in the PUT request shall be set accordingly based on the format\ + \ selection of the NSD. If the NSD to be uploaded is a text file, the \"Content-Type\"\ + \ header is set to \"text/plain\". If the NSD to be uploaded is a zip file,\ + \ the \"Content-Type\" header is set to \"application/zip\". This method shall\ + \ follow the provisions specified in the Tables 5.4.4.3.3-1 and 5.4.4.3.3-2\ + \ of GS-NFV-SOL 005 for URI query parameters, request and response data structures,\ + \ and response codes." + consumes: [] + parameters: + - name: "Content-Type" + in: "header" + required: false + type: "string" + description: "The payload body contains a copy of the file representing the\ + \ NSD or a ZIP file that contains the file or multiple files representing\ + \ the NSD, as specified above. The request shall set the \"Content-Type\"\ + \ HTTP header as defined\nabove." + - name: "body" + in: "body" + required: true + schema: + type: "object" + responses: + 202: + description: "Status 202" + schema: + type: "object" + description: "The NSD content was accepted for uploading, but the processing\ + \ has not been completed. It is expected to take some time for processing\ + \ (asynchronous mode). The response body shall be empty. See note." + 204: + description: "The NSD content was successfully uploaded and validated (synchronous\ + \ mode). The response body shall be empty." + 409: + description: "Error: The operation cannot be executed currently, due to\ + \ a conflict with the state of the resource. Typically, this is due to\ + \ the fact that the NsdOnboardingState has a value other than CREATED.\ + \ The response body shall contain a ProblemDetails structure, in which\ + \ the \"detail\" attribute shall convey more information about the error." + schema: + $ref: "#/definitions/ProblemDetails" + parameters: + - name: "nsdInfoId" + in: "path" + required: true + type: "string" + /pnf_descriptors: + get: + summary: "Query PFND Info" + description: "The GET method queries information about multiple PNF descriptor\ + \ resources." + parameters: + - name: "exclude_default" + in: "query" + required: false + type: "string" + description: "Indicates to exclude the following \n \ncomplex attributes from\ + \ the response. \nSee clause 4.3.3 for details.\n\nThe NFVO shall support\ + \ this parameter.\n\nThe following attributes shall be excluded from the\ + \ PnfdInfo structure in the response body if this parameter is provided,\ + \ or none of the parameters \"all_fields,\" \"fields\", \"exclude_fields\"\ + , \"exclude_default\" are provided: userDefinedData." + - name: "all_fields" + in: "query" + required: false + type: "string" + description: "Include all complex attributes in the response. See clause 4.3.3\ + \ for details. The NFVO shall support this parameter." + responses: + 200: + description: "Status 200" + schema: + type: "object" + description: "Information about zero or more PNF descriptors. The response\ + \ body shall contain a representation of zero or more PNF descriptors,\ + \ as defined in clause 5.5.2.2." + post: + summary: "Create PNFD Info" + description: "The POST method is used to create a new PNF descriptor resource." + consumes: [] + parameters: + - name: "body" + in: "body" + required: true + schema: + type: "object" + description: "Parameters of creating a PNF descriptor resource, as defined\ + \ in\nclause 5.5.2.6 of GS NFV-SOL 005." + responses: + 201: + description: "Status 201" + schema: + type: "object" + description: "A PNF descriptor resource was created successfully, as a\ + \ new PNF descriptor resource. The response body shall contain a representation\ + \ of the new PNF descriptor resource, as defined in clause 5.5.2.5.\ + \ The HTTP response shall include a \"Location\" HTTP header that contains\ + \ the resource URI of the new PNF descriptor resource." + /pnf_descriptors/{pnfdInfoId}: + get: + summary: "Query PNFD Info" + description: "The GET method reads information about an individual PNF descriptor.\ + \ This method shall follow the provisions specified in the Tables 5.4.6.3.2-1\ + \ and 5.4.6.3.2-2 of GS NFV-SOL 005 for URI query parameters, request and\ + \ response data structures, and response codes." + parameters: [] + responses: + 200: + description: "Information about the individual PNFD descriptor. The response\ + \ body shall contain a representation of the individual PNF descriptor,\ + \ as defined in clause 5.5.2.5 of GS NFV-SOL 005." + delete: + summary: "Delete PNFD" + description: "The DELETE method deletes an individual PNF descriptor resource.\ + \ An individual PNF descriptor resource can only be deleted when there is\ + \ no NS instance using it or there is NSD referencing it. To delete all PNFD\ + \ versions identified by a particular value of the \"pnfdInvariantId\" attribute,\ + \ the procedure is to first use the GET method with filter \"pnfdInvariantId\"\ + \ towards the PNF descriptors resource to find all versions of the PNFD. Then,\ + \ the client uses the DELETE method described in this clause to delete each\ + \ PNFD version individually. This method shall follow the provisions specified\ + \ in the Tables 5.4.6.3.5-1 and 5.4.6.3.5-2 of GS NFV-SOL 005 for URI query\ + \ parameters, request and response data structures, and response codes." + parameters: [] + responses: + 204: + description: "The operation has completed successfully. The response body\ + \ shall be empty." + patch: + summary: "Update PNFD Info" + description: "The PATCH method modifies the user defined data of an individual\ + \ PNF descriptor resource. This method shall follow the provisions specified\ + \ in the Tables 5.4.6.3.4-1 and 5.4.6.3.4-2 for URI query parameters, request\ + \ and response data structures, and response codes." + consumes: [] + parameters: + - name: "body" + in: "body" + required: true + schema: + $ref: "#/definitions/PnfdInfoModifications" + responses: + 200: + description: "Status 200" + schema: + $ref: "#/definitions/PnfdInfoModifications" + 412: + description: "Status 412" + schema: + $ref: "#/definitions/ProblemDetails" + parameters: + - name: "pnfdInfoId" + in: "path" + required: true + type: "string" + /pnf_descriptors/{pnfdInfoId}/pnfd_content: + get: + summary: "Get PNFD Content" + description: "The GET method fetches the content of the PNFD." + parameters: [] + responses: + 200: + description: "On success, the content of the PNFD is returned. The payload\ + \ body shall contain a copy of the file representing the PNFD. The \"\ + Content-Type\" HTTP header shall be set to \"text/plain\"." + put: + summary: "Upload PNFD" + description: "The PUT method is used to upload the content of a PNFD. This method\ + \ shall follow the provisions specified in the Tables 5.4.7.3.3-1 and 5.4.7.3.3-2\ + \ of GS NFV-SOL 005for URI query parameters, request and response data structures,\ + \ and response codes." + consumes: [] + parameters: + - name: "Content-Type" + in: "header" + required: false + type: "string" + description: "The request shall set the \"Content-Type\" HTTP header to \"\ + text/plain\"." + - name: "body" + in: "body" + required: true + schema: + type: "object" + description: "The payload body contains a copy of the file representing\ + \ the PNFD." + responses: + 204: + description: "The PNFD content was successfully uploaded and validated.\ + \ The response body shall be empty." + 409: + description: "Status 409" + schema: + $ref: "#/definitions/ProblemDetails" + parameters: + - name: "pnfdInfoId" + in: "path" + required: true + type: "string" + /subscriptions: + get: + summary: "Query Subscription Information" + description: "The GET method queries the list of active subscriptions of the\ + \ functional block that invokes the method. It can be used e.g. for resynchronization\ + \ after error situations. This method shall support the URI query parameters,\ + \ request and response data structures, and response codes, as specified in\ + \ the Tables 5.4.8.3.2-1 and 5.4.8.3.2-2 of GS NFV-SOL 005." + parameters: [] + responses: + 200: + description: "Status 200" + schema: + type: "array" + description: "The list of subscriptions was queried successfully. The\ + \ response body shall contain the representations of all active subscriptions\ + \ of the functional block that invokes the method." + items: + $ref: "#/definitions/NsdmSubscription" + 303: + description: "A subscription with the same callbackURI and the same filter\ + \ already exits and the policy of the NFVO is to not create redundant\ + \ subscriptions. The response body shall be empty." + headers: + Location: + type: "string" + description: "The HTTP response shall include a \"Location\" HTTP header\ + \ that contains the resource URI of the existing subscription resource." + post: + summary: "Subscribe" + description: "The POST method creates a new subscription. This method shall\ + \ support the URI query parameters, request and response data structures,\ + \ and response codes, as specified in the Tables 5.4.8.3.1-1 and 5.4.8.3.1-2\ + \ of GS-NFV SOL 005. Creation of two subscription resources with the same\ + \ callbackURI and the same filter can result in performance degradation and\ + \ will provide duplicates of notifications to the OSS, and might make sense\ + \ only in very rare use cases. Consequently, the NFVO may either allow creating\ + \ a subscription resource if another 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 subscription\ + \ resource (in which case it shall return a \"303 See Other\" response code\ + \ referencing the existing subscription resource with the same filter and\ + \ callbackUri)." + consumes: [] + parameters: + - name: "body" + in: "body" + required: true + schema: + $ref: "#/definitions/NsdmSubscriptionRequest" + responses: + 201: + description: "Status 201" + schema: + $ref: "#/definitions/NsdmSubscription" + headers: + Location: + type: "string" + description: "The HTTP response shall include a \"Location:\"\nHTTP\ + \ header that points to the created subscription resource." + /subscriptions/{subscriptionId}: + get: + summary: "Query Subscription Information" + description: "The GET method retrieves information about a subscription by reading\ + \ an individual subscription resource. This method shall support the URI query\ + \ parameters, request and response data structures, and response codes, as\ + \ specified in the Tables 5.4.9.3.2-1 and 5.4.9.3.2-2." + parameters: [] + responses: + 200: + description: "Status 200" + schema: + $ref: "#/definitions/NsdmSubscription" + delete: + summary: "Terminate Subscription" + description: "The DELETE method terminates an individual subscription. This\ + \ method shall support the URI query parameters, request and response data\ + \ structures, and response codes, as specified in the Tables 5.4.9.3.5-1 and\ + \ 5.4.9.3.3-2 of GS NFV-SOL 005." + parameters: [] + responses: + 204: + description: "The subscription resource was deleted successfully. The response\ + \ body shall be empty." + parameters: + - name: "subscriptionId" + in: "path" + required: true + type: "string" +definitions: + NsdInfoModifications: + type: "object" + properties: + nsdOperationalState: + $ref: "#/definitions/NsdOperationalStateType" + userDefinedData: + type: "object" + description: "Modifications of the \"userDefinedData\" attribute in \"NsdInfo\"\ + \ data type. See note. If present, these modifications shall be applied\ + \ according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]).\n\ + NOTE: At least one of the attributes - nsdOperationalState and userDefinedData\ + \ - shall be present." + description: "This type represents attribute modifications for an individual NS\ + \ descriptor resource based on the \"NsdInfo\" data type. The attributes of\ + \ \"NsdInfo\" that can be modified are included in the \"NsdInfoModifications\"\ + \ data type.\n\nNOTE: At least one of the attributes - nsdOperationalState and\ + \ userDefinedData - shall be present." + nsdOperationalState: + type: "array" + description: "New value of the \"nsdOperationalState\" attribute in \"NsdInfo\"\ + \ data type. See note.\nPermitted values: ENABLED, DISABLED\n\nHow do I add\ + \ cardinality?" + items: + $ref: "#/definitions/NsdInfoModifications" + userDefinedData: + $ref: "#/definitions/NsdInfoModifications" + NsdmSubscription: + type: "object" + required: + - "_links" + - "callbackUri" + - "id" + properties: + id: + $ref: "#/definitions/Identifier" + filter: + $ref: "#/definitions/NsdmNotificationsFilter" + callbackUri: + $ref: "#/definitions/Uri" + _links: + type: "object" + description: "Links to resources related to this resource." + properties: + self: + $ref: "#/definitions/Link" + description: "This type represents a subscription related to notifications about\ + \ NSD management." + NsdmSubscriptionRequest: + type: "object" + required: + - "callbackUri" + properties: + filter: + $ref: "#/definitions/NsdmNotificationsFilter" + callbackUri: + type: "string" + description: "The URI of the endpoint to send the notification to." + authentication: + $ref: "#/definitions/SubscriptionAuthentication" + description: "This type represents a subscription request related to notifications\ + \ about NSD management." + Identifier: + type: "object" + NsdmNotificationsFilter: + type: "object" + properties: + notificationTypes: + type: "string" + description: "Match particular notification types. Permitted values: NsdOnBoardingNotification,\ + \ NsdOnboardingFailureNotification, NsdChangeNotification, NsdDeletionNotification\n\ + PnfdOnBoardingNotification, PnfdOnBoardingFailureNotification, PnfdDeletionNotification.\n\ + \nThe permitted values of the \"notificationTypes\" ] attribute are spelled\ + \ exactly as the names of the notification types to facilitate automated\ + \ code generation systems." + enum: + - "NsdOnBoardingNotification" + - "NsdOnboardingFailureNotification" + - "NsdChangeNotification" + - "NsdDeletionNotification" + - "PnfdOnBoardingNotification" + - "PnfdOnBoardingFailureNotification" + - "PnfdDeletionNotification" + nsdInfoId: + $ref: "#/definitions/Identifier" + nsdId: + $ref: "#/definitions/Identifier" + nsdName: + type: "string" + description: "Match the name of the onboarded NSD." + nsdVersion: + $ref: "#/definitions/Version" + nsdDesigner: + type: "string" + description: "Match the NSD designer of the on-boarded NSD." + nsdInvariantId: + $ref: "#/definitions/Identifier" + vnfPkgIds: + $ref: "#/definitions/Identifier" + pnfdInfoIds: + $ref: "#/definitions/Identifier" + nestedNsdInfoIds: + $ref: "#/definitions/Identifier" + nsdOnboardingState: + $ref: "#/definitions/NsdOnboardingStateType" + nsdOperationalState: + $ref: "#/definitions/NsdOperationalStateType" + nsdUsageState: + $ref: "#/definitions/NsdUsageStateType" + pnfdId: + $ref: "#/definitions/Identifier" + pnfdName: + type: "string" + description: "Match the name of the on-boarded PNFD." + pnfdVersion: + $ref: "#/definitions/Version" + pnfdProvider: + type: "string" + description: "Match the provider of the on-boarded PNFD." + pnfdInvariantId: + $ref: "#/definitions/Identifier" + pnfdOnboardingState: + $ref: "#/definitions/PnfdOnboardingStateType" + pnfdUsageState: + $ref: "#/definitions/PnfdUsageStateType" + description: "This type represents a subscription filter related to notifications\ + \ about NSD management. It shall comply with the\nprovisions defined in Table\ + \ 5.5.3.2-1 of GS NFV-SOL 005. 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)." + Uri: + type: "object" + Link: + type: "object" + SubscriptionAuthentication: + type: "object" + 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.\n\nENABLED = The operational state of the resource\ + \ is enabled. DISABLED = The operational state of the resource is disabled." + enum: + - "ENABLED" + - "DISABLED" + NsdInfo: + type: "object" + required: + - "_links" + - "id" + - "nsdOnboardingState" + - "nsdOperationalState" + - "nsdUsageState" + properties: + id: + $ref: "#/definitions/Identifier" + nsdId: + $ref: "#/definitions/Identifier" + nsdName: + type: "string" + description: "Name of the onboarded NSD. This information is copied from the\ + \ NSD content and shall be present after the NSD content is on-boarded." + nsdVersion: + $ref: "#/definitions/Version" + nsdDesigner: + type: "string" + description: "Designer of the on-boarded NSD. This information \nis copied\ + \ from the NSD content and shall be present after the NSD content is on-boarded." + nsdInvariantId: + $ref: "#/definitions/Identifier" + vnfPkgIds: + $ref: "#/definitions/Identifier" + pnfdInfoIds: + $ref: "#/definitions/Identifier" + nestedNsdInfoIds: + $ref: "#/definitions/Identifier" + nsdOnboardingState: + $ref: "#/definitions/NsdOnboardingStateType" + onboardingFailureDetails: + $ref: "#/definitions/ProblemDetails" + nsdOperationalState: + $ref: "#/definitions/NsdOperationalStateType" + nsdUsageState: + $ref: "#/definitions/NsdUsageStateType" + userDefinedData: + $ref: "#/definitions/KeyValuePairs" + _links: + type: "object" + description: "Links to resources related to this resource." + properties: + self: + $ref: "#/definitions/Link" + nsd_content: + $ref: "#/definitions/Link" + description: "This type represents a response for the query NSD operation." + Version: + type: "object" + 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 onboarding\ + \ state of the NSD.\n\nCREATED = 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" + ProblemDetails: + type: "object" + 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.\n\nIN_USE = The resource is in use.\nNOT_IN_USE = The resource\ + \ is not-in-use." + enum: + - "IN_USE" + - "NOT_IN_USE" + KeyValuePairs: + type: "object" + CreateNsdInfoRequest: + type: "object" + properties: + userDefinedData: + $ref: "#/definitions/KeyValuePairs" + description: "This type creates a completely new NS descriptor resource." + PnfdInfoModifications: + type: "object" + required: + - "userDefinedData" + properties: + userDefinedData: + $ref: "#/definitions/KeyValuePairs" + description: "This type represents attribute modifications for an individual PNF\ + \ descriptor resource based on the \"PnfdInfo\" data type. The attributes of\ + \ \"PnfdInfo\" that can be modified are included in the \"PnfdInfoModifications\"\ + \ data type." + PnfdInfo: + type: "object" + required: + - "_links" + - "id" + - "pnfdOnboardingState" + - "pnfdUsageState" + properties: + id: + $ref: "#/definitions/Identifier" + pnfdId: + $ref: "#/definitions/Identifier" + pnfdName: + type: "string" + description: "Name of the onboarded PNFD. This information is copied from\ + \ the PNFD content and shall be present after the PNFD content is on-boarded." + pnfdVersion: + $ref: "#/definitions/Version" + pnfdProvider: + type: "string" + description: "Provider of the onboarded PNFD. This information is copied from\ + \ the PNFD content and shall be present after the PNFD content is onboarded." + pnfdInvariantId: + $ref: "#/definitions/Identifier" + pnfdOnboardingState: + $ref: "#/definitions/PnfdOnboardingStateType" + onboardingFailureDetails: + $ref: "#/definitions/ProblemDetails" + pnfdUsageState: + $ref: "#/definitions/PnfdUsageStateType" + userDefinedData: + type: "object" + description: "User defined data for the individual PNF descriptor resource.\ + \ This attribute can be modified with the PATCH method." + _links: + required: + - "pnfd_content" + - "self" + type: "object" + description: "Links to resources related to this resource." + properties: + self: + $ref: "#/definitions/Link" + pnfd_content: + $ref: "#/definitions/Link" + description: "This type represents a response for the query PNFD operation." + PnfdOnboardingStateType: + type: "string" + description: "The enumeration PnfdOnboardingStateType shall comply with the provisions\ + \ defined in Table 5.5.4.6-1 of GS-NFV SOL005. It indicates the onboarding state\ + \ of the individual PNF descriptor resource.\n\nCREATED = The PNF descriptor\ + \ resource is created. UPLOADING = The associated PNFD content is being uploaded.\ + \ PROCESSING = The associated PNFD content is being processed, e.g. validation.\ + \ ONBOARDED = The associated PNFD content is on-boarded." + enum: + - "CREATED" + - "UPLOADING" + - "PROCESSING" + - "ONBOARDING" + PnfdUsageStateType: + type: "string" + description: "The enumeration PnfdUsageStateType shall comply with the provisions\ + \ defined in Table 5.5.4.7-1 of GS NFV-SOL005. It indicates the usage state\ + \ of the resource.\n\nIN-USE = The resource is in use.\nNOT_IN_USE = The resource\ + \ is not-in-use." + enum: + - "IN_USE" + - "NOT_IN_USE" + CreatePnfdInfoRequest: + type: "object" + properties: + userDefinedData: + $ref: "#/definitions/KeyValuePairs" + description: "This type creates a new PNF descriptor resource." + NsdmLinks: + type: "object" + required: + - "nsdInfo" + - "subscription" + properties: + nsdInfo: + $ref: "#/definitions/Link" + subscription: + $ref: "#/definitions/Link" + description: "This type represents the links to resources that an NSD management\ + \ notification can contain." + NsdOnboardingNotification: + type: "object" + required: + - "_links" + - "id" + - "notificationType" + - "nsdId" + - "nsdInfoId" + - "timeStamp" + properties: + id: + $ref: "#/definitions/Identifier" + notificationType: + type: "string" + description: "Discriminator for the different notification types. Shall be\ + \ set to \"NsdOnboardingNotification\" for this notification type." + subscriptionId: + $ref: "#/definitions/Identifier" + timeStamp: + type: "string" + format: "date-time" + description: "Date-time of the generation of the notification." + nsdInfoId: + $ref: "#/definitions/Identifier" + nsdId: + $ref: "#/definitions/Identifier" + _links: + $ref: "#/definitions/NsdmLinks" + description: "This type represents an NSD management notification, which informs\ + \ the receiver of the successful on-boarding of an NSD. It shall comply with\ + \ the provisions defined in Table 5.5.2.9-1. The support of this notification\ + \ is mandatory. The notification shall be triggered by the NFVO when the \"\ + nsdOnboardingState\" attribute of a new NSD has changed to \"ONBOARDED\"." + NsdOnboardingFailureNotification: + type: "object" + required: + - "_links" + - "id" + - "notificationType" + - "nsdInfoId" + - "onboardingFailureDetails" + - "timeStamp" + properties: + id: + $ref: "#/definitions/Identifier" + notificationType: + type: "string" + description: "Discriminator for the different notification types. Shall be\ + \ set to \"NsdOnboardingFailureNotification\" for this notification type." + subscriptionId: + $ref: "#/definitions/Identifier" + timeStamp: + type: "string" + format: "date-time" + description: "Date-time of the generation of the notification." + nsdInfoId: + $ref: "#/definitions/Identifier" + nsdId: + $ref: "#/definitions/Identifier" + onboardingFailureDetails: + $ref: "#/definitions/ProblemDetails" + _links: + $ref: "#/definitions/NsdmLinks" + description: "This type represents an NSD management notification, which informs\ + \ the receiver of the failure of on-boarding an NSD. It shall comply with the\ + \ provisions defined in Table 5.5.2.10-1. The support of this notification is\ + \ mandatory. The notification shall be triggered by the NFVO when the on-boarding\ + \ of an NSD has failed." + NsdChangeNotification: + type: "object" + required: + - "_links" + - "id" + - "notificationType" + - "nsdId" + - "nsdInfoId" + - "nsdOperationalState" + - "timeStamp" + properties: + id: + $ref: "#/definitions/Identifier" + notificationType: + type: "string" + description: "Discriminator for the different notification types. Shall be\ + \ set to \"NsdChangeNotification\" for this notification type." + subscriptionId: + $ref: "#/definitions/Identifier" + timeStamp: + type: "string" + format: "date-time" + description: "Date-time of the generation of the notification." + nsdInfoId: + $ref: "#/definitions/Identifier" + nsdId: + $ref: "#/definitions/Identifier" + nsdOperationalState: + $ref: "#/definitions/NsdOperationalStateType" + _links: + $ref: "#/definitions/NsdmLinks" + description: "This type represents an NSD management notification, which informs\ + \ the receiver of a change of the \"nsdOperationalState\" attribute of an on-boarded\ + \ NSD. Changes in the value of the \"nsdUsageState\" and \"nsdOnboardingState\"\ + \ attributes are not reported. The notification shall comply with the provisions\ + \ defined in Table 5.5.2.11-1. The support of this notification is mandatory.\ + \ The notification shall be triggered by the NFVO when the value of the \"nsdOperationalState\"\ + \ attribute has changed, and the \"nsdOperationalState\" attribute has the value\ + \ \"ONBOARDED\"." + NsdDeletionNotification: + type: "object" + required: + - "_links" + - "id" + - "notificationType" + - "nsdId" + - "nsdInfoId" + - "timeStamp" + properties: + id: + $ref: "#/definitions/Identifier" + notificationType: + type: "string" + description: "Discriminator for the different notification types. Shall be\ + \ set to \"NsdDeletionNotification \" for this notification type." + subscriptionId: + $ref: "#/definitions/Identifier" + timeStamp: + type: "string" + format: "date-time" + description: "Date-time of the generation of the notification." + nsdInfoId: + $ref: "#/definitions/Identifier" + nsdId: + $ref: "#/definitions/Identifier" + _links: + $ref: "#/definitions/NsdmLinks" + description: "This type represents an NSD management notification, which informs\ + \ the receiver of the deletion of an on-boarded NSD. The notification shall\ + \ comply with the provisions defined in Table 5.5.2.12-1. The support of this\ + \ notification is mandatory. The notification shall be triggered by the NFVO\ + \ when it has deleted an on-boarded NSD." + PnfdmLinks: + type: "object" + required: + - "pnfdInfo" + - "subscription" + properties: + pnfdInfo: + $ref: "#/definitions/Link" + subscription: + $ref: "#/definitions/Link" + description: "This type represents the links to resources that a PNFD management\ + \ notification can contain." + PnfdOnboardingNotification: + type: "object" + required: + - "_links" + - "id" + - "notificationType" + - "pnfdId" + - "pnfdInfoId" + - "timeStamp" + properties: + id: + $ref: "#/definitions/Identifier" + notificationType: + type: "string" + description: "Discriminator for the different notification types. Shall be\ + \ set to \"PnfdOnboardingNotification\" for this notification type." + subscriptionId: + $ref: "#/definitions/Identifier" + timeStamp: + type: "string" + format: "date-time" + description: "Date-time of the generation of the notification." + pnfdInfoId: + $ref: "#/definitions/Identifier" + pnfdId: + $ref: "#/definitions/Identifier" + _links: + $ref: "#/definitions/PnfdmLinks" + description: "This type represents a PNFD management notification, which informs\ + \ the receiver of the successful on-boarding of a\nPNFD. It shall comply with\ + \ the provisions defined in Table 5.5.2.13-1. The support of this notification\ + \ is mandatory. The notification is triggered when a new PNFD is on-boarded." + PnfdOnboardingFailureNotification: + type: "object" + required: + - "_links" + - "id" + - "notificationType" + - "onboardingFailureDetails" + - "pnfdInfoId" + - "timeStamp" + properties: + id: + $ref: "#/definitions/Identifier" + notificationType: + type: "string" + description: "Discriminator for the different notification types. Shall be\ + \ set to \"PnfdOnboardingFailureNotification\" for this notification type." + subscriptionId: + $ref: "#/definitions/Identifier" + timeStamp: + type: "string" + format: "date-time" + description: "Date-time of the generation of the notification." + pnfdInfoId: + $ref: "#/definitions/Identifier" + pnfdId: + $ref: "#/definitions/Identifier" + onboardingFailureDetails: + $ref: "#/definitions/ProblemDetails" + _links: + $ref: "#/definitions/PnfdmLinks" + description: "This type represents a PNFD management notification, which informs\ + \ the receiver of the failure of on-boarding a\n PNFD. It shall comply with\ + \ the provisions defined in Table 5.5.2.14-1. The support of this notification\ + \ is mandatory. The notification is triggered when the on-boarding of a PNFD\ + \ fails." + PnfdDeletionNotification: + type: "object" + required: + - "_links" + - "id" + - "notificationType" + - "pnfdId" + - "pnfdInfoId" + - "timeStamp" + properties: + id: + type: "string" + description: "Identifier of this notification. If a notification is sent multiple\ + \ times due to multiple subscriptions, the \"id\" attribute of all these\ + \ notifications shall have the same value." + notificationType: + type: "string" + description: "Discriminator for the different notification types. Shall be\ + \ set to \"PnfdDeletionNotification \" for this notification type." + subscriptionId: + $ref: "#/definitions/Identifier" + timeStamp: + type: "string" + format: "date-time" + description: "Date-time of the generation of the notification." + pnfdInfoId: + $ref: "#/definitions/Identifier" + pnfdId: + $ref: "#/definitions/Identifier" + _links: + $ref: "#/definitions/PnfdmLinks" + description: "This type represents a PNFD management notification, which informs\ + \ the receiver of the deletion of an on-boarded PNFD. The notification shall\ + \ comply with the provisions defined in Table 5.5.2.15-1. The support of this\ + \ notification is mandatory. The notification is triggered when an on-boarded\ + \ PNFD is deleted."