diff --git a/src/SOL005/NSDManagement/NSDManagement.yaml b/src/SOL005/NSDManagement/NSDManagement.yaml index 0e1975022bfdcced1973d71905a4748b306387ad..81baff6402655170ad279fd083b6dab98a71acea 100644 --- a/src/SOL005/NSDManagement/NSDManagement.yaml +++ b/src/SOL005/NSDManagement/NSDManagement.yaml @@ -25,7 +25,19 @@ paths: \ 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: [] + parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "This header field shall be present if the response is expected\ + \ to have a non-empty message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 200: description: "Information about zero or more NS descriptors.\nThe response\ @@ -33,6 +45,17 @@ paths: \ as defined in clause 5.5.2.2 of GS NFV-SOL 005." schema: $ref: "#/definitions/NsdInfo" + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response.\nThis header\ + \ field shall be present if the\nresponse has a non-empty message\ + \ body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." 400: description: "There are two possible scenarios listed below.\n\nError: Invalid\ \ attribute-based filtering parameters. \n\nThe response body shall contain\ @@ -49,6 +72,25 @@ paths: \ response data structures, and response codes." consumes: [] parameters: + - name: "Accept" + in: "header" + required: false + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the\nresponse is expected to have a non-empty\n\ + message body." + - name: "Content-Type" + in: "header" + required: false + type: "string" + description: "The MIME type of the body of the request.\nThis header field\ + \ shall be present if the\nrequest has a non-empty message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005" - name: "body" in: "body" required: true @@ -79,6 +121,16 @@ paths: type: "string" description: "The HTTP response shall include a \"Location\" HTTP header\ \ that contains the resource URI of the new NS descriptor resource." + Content-Type: + type: "string" + description: "The MIME type of the body of the response.\nThis header\ + \ field shall be present if the\nresponse has a non-empty message\ + \ body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." /ns_descriptors/{nsdInfoId}: get: summary: "Query NSD Info" @@ -86,7 +138,20 @@ paths: \ 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: [] + parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present \nif the response is expected to have a non-empty\ + \ message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 200: description: "Information about the individual NS descriptor. The response\ @@ -94,6 +159,16 @@ paths: \ as defined in clause 5.5.2.2 of GS NFV-SOL 005." schema: $ref: "#/definitions/NsdInfo" + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response. This header\ + \ field shall be present if the response has a non-empty message body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." delete: summary: "Delete NSD" description: "The DELETE method deletes an individual NS descriptor resource.\ @@ -103,7 +178,13 @@ paths: \ 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: [] + parameters: + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 204: description: "The operation has completed successfully. The response body\ @@ -112,6 +193,12 @@ paths: type: "object" description: "The operation has completed successfully. The response body\ \ shall be empty." + headers: + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request\nhas not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." 409: description: "Status 409" schema: @@ -145,6 +232,25 @@ paths: \ and response codes." consumes: [] parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non-empty\ + \ message body." + - name: "Content-Type" + in: "header" + required: true + type: "string" + description: "The MIME type of the body of the request.\nThis header field\ + \ shall be present if the\nrequest has a non-empty message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3." - name: "body" in: "body" required: true @@ -163,6 +269,16 @@ paths: description: "Status 200" schema: $ref: "#/definitions/NsdInfoModifications" + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response. This header\ + \ field shall be present if the response has a non-empty message body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." 409: description: "Status 409" schema: @@ -185,22 +301,21 @@ paths: \ 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." + \ in the GET request.\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." + description: "String Required\nIf 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\nIf 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\nIf 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." - name: "Range" in: "header" required: false @@ -211,6 +326,12 @@ paths: \ 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)." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request. Details are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 200: description: "On success, the content of the NSD is returned. The payload\ @@ -224,6 +345,22 @@ paths: headers: Content-Type: type: "string" + description: "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." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." + Content-Range: + type: "string" + description: "Signals the byte range that is contained in the response,\ + \ and the total length of the file." + Accept-Ranges: + type: "string" + description: "Used by the server to signal whether or ot it supports\ + \ ranges for certain resources." 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\ @@ -337,6 +474,19 @@ paths: type: "string" description: "Include all complex attributes in the response. See clause 4.3.3\ \ for details. The NFVO shall support this parameter." + - name: "Accept" + in: "header" + required: false + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non-empty\ + \ message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 200: description: "Status 200" @@ -345,11 +495,34 @@ paths: 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." + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response. This header\ + \ field shall be present if the response has a non-empty message body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request\nhas not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." post: summary: "Create PNFD Info" description: "The POST method is used to create a new PNF descriptor resource." consumes: [] parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non-empty\ + \ message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS-NFV-SOL 005." - name: "body" in: "body" required: true @@ -367,6 +540,17 @@ paths: \ 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." + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response.\nThis header\ + \ field shall be present if the\nresponse has a non-empty message\ + \ body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request\nhas not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." /pnf_descriptors/{pnfdInfoId}: get: summary: "Query PNFD Info" @@ -374,12 +558,36 @@ paths: \ 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: [] + parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non-empty\ + \ message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request. Details are specified\ + \ in clause 4.5.3." 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." + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response.\nThis header\ + \ field shall be present if the\nresponse has a non-empty message\ + \ body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." delete: summary: "Delete PNFD" description: "The DELETE method deletes an individual PNF descriptor resource.\ @@ -392,11 +600,23 @@ paths: \ 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: [] + parameters: + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request. Details are specified\ + \ in clause 4.5.3." responses: 204: description: "The operation has completed successfully. The response body\ \ shall be empty." + headers: + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request\nhas not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." patch: summary: "Update PNFD Info" description: "The PATCH method modifies the user defined data of an individual\ @@ -405,6 +625,25 @@ paths: \ and response data structures, and response codes." consumes: [] parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non empty\ + \ message body." + - name: "Content-Type" + in: "header" + required: true + type: "string" + description: "The MIME type of the body of the request. This header field\ + \ shall be present if the request has a non-empty message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request. Details are specified\ + \ in clause 4.5.3." - name: "body" in: "body" required: true @@ -415,6 +654,17 @@ paths: description: "Status 200" schema: $ref: "#/definitions/PnfdInfoModifications" + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response.\nThis header\ + \ field shall be present if the\nresponse has a non-empty message\ + \ body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." 412: description: "Status 412" schema: @@ -428,12 +678,35 @@ paths: get: summary: "Get PNFD Content" description: "The GET method fetches the content of the PNFD." - parameters: [] + parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non-empty\ + \ message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." 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\"." + headers: + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." + Content-Type: + type: "string" + description: "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\ @@ -476,7 +749,20 @@ paths: \ 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: [] + parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non empty\ + \ message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 200: description: "Status 200" @@ -487,6 +773,16 @@ paths: \ of the functional block that invokes the method." items: $ref: "#/definitions/NsdmSubscription" + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response. This header\ + \ field shall be present if the response has a non-empty message body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." 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\ @@ -513,6 +809,25 @@ paths: \ callbackUri)." consumes: [] parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non empty\ + \ message body." + - name: "Content-Type" + in: "header" + required: true + type: "string" + description: "The MIME type of the body of the request.\nThis header field\ + \ shall be present if the\nrequest has a non-empty message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." - name: "body" in: "body" required: true @@ -528,6 +843,15 @@ paths: type: "string" description: "The HTTP response shall include a \"Location:\"\nHTTP\ \ header that points to the created subscription resource." + Content-Type: + type: "string" + description: "The MIME type of the body of the response. This header\ + \ field shall be present if the response has a non-empty message body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." /subscriptions/{subscriptionId}: get: summary: "Query Subscription Information" @@ -535,23 +859,59 @@ paths: \ 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: [] + parameters: + - name: "Accept" + in: "header" + required: true + type: "string" + description: "Content-Types that are acceptable for the\nresponse. This header\ + \ field shall be present if the response is expected to have a non empty\ + \ message body." + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 200: description: "Status 200" schema: $ref: "#/definitions/NsdmSubscription" + headers: + Content-Type: + type: "string" + description: "The MIME type of the body of the response.\nThis header\ + \ field shall be present if the\nresponse has a non-empty message\ + \ body." + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request\nhas not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." 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: [] + parameters: + - name: "Authorization" + in: "header" + required: false + type: "string" + description: "The authorization token for the request.\nDetails are specified\ + \ in clause 4.5.3 of GS NFV-SOL 005." responses: 204: description: "The subscription resource was deleted successfully. The response\ \ body shall be empty." + headers: + WWW-Authenticate: + type: "string" + description: "Challenge if the corresponding HTTP request has not provided\ + \ authorization, or error details if the corresponding HTTP request\ + \ has provided an invalid authorization token." parameters: - name: "subscriptionId" in: "path" @@ -567,23 +927,14 @@ definitions: 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\ + \ according to the rules of JSON Merge PATCH (see IETF RFC 7396 [25]). 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: @@ -592,7 +943,8 @@ definitions: - "id" properties: id: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of this subscription resource" filter: $ref: "#/definitions/NsdmNotificationsFilter" callbackUri: @@ -619,69 +971,133 @@ definitions: $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" + type: "array" 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\ + \nThe permitted values of the \"notificationTypes\" \nattribute are spelled\ \ exactly as the names of the notification types to facilitate automated\ \ code generation systems." - enum: - - "NsdOnBoardingNotification" - - "NsdOnboardingFailureNotification" - - "NsdChangeNotification" - - "NsdDeletionNotification" - - "PnfdOnBoardingNotification" - - "PnfdOnBoardingFailureNotification" - - "PnfdDeletionNotification" + items: + type: "string" + enum: + - "NsdOnBoardingNotification" + - "NsdOnboardingFailureNotification" + - "NsdChangeNotification" + - "NsdDeletionNotification" + - "PnfdOnBoardingNotification" + - "PnfdOnBoardingFailureNotification" + - "PnfdDeletionNotification" nsdInfoId: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match the NsdInfo identifier which is allocated by the NFVO.\ + \ Note: The attributes \"nsdId\" and \"nsdInfoId\" are alternatives to reference\ + \ to a particular NSD in a filter. They should not be used both in the same\ + \ filter instance, but one alternative should be chosen." + items: + type: "string" nsdId: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match the NSD identifier, which is allocated by the NSD designer.\ + \ The attributes \"nsdId\" and \"nsdInfoId\" are alternatives to reference\ + \ to a particular NSD in a filter. They should not be used both in the same\ + \ filter instance, but one alternative should be chosen." + items: + type: "string" nsdName: - type: "string" + type: "array" description: "Match the name of the onboarded NSD." + items: + type: "string" nsdVersion: - $ref: "#/definitions/Version" + type: "array" + description: "Match the NSD version listed as part of this attribute. The\ + \ NSD version is a string of variable length." + items: + type: "string" nsdDesigner: - type: "string" + type: "array" description: "Match the NSD designer of the on-boarded NSD." + items: + type: "string" nsdInvariantId: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match the NSD invariant identifier which is allocated by the\ + \ NSD designer and identifies an NSD in a version independent manner." + items: + type: "string" vnfPkgIds: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match VNF packages with a package identifier listed in the attribute." + items: + type: "string" pnfdInfoIds: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match the PnfdInfo identifier for the PNFD\nreferenced by the\ + \ on-boarded NSD. The attributes \"pnfdId\" and \"pnfdInfoId\" are alternatives\ + \ to reference to a particular PNFD in a filter. They should not be used\ + \ both in the same filter instance, but one alternative should be chosen." + items: + type: "string" nestedNsdInfoIds: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match the NsdInfo identifier for the nested NSD\nreferenced\ + \ by the on-boarded NSD." + items: + type: "string" nsdOnboardingState: - $ref: "#/definitions/NsdOnboardingStateType" + type: "array" + items: + $ref: "#/definitions/NsdOnboardingStateType" nsdOperationalState: - $ref: "#/definitions/NsdOperationalStateType" + type: "array" + items: + $ref: "#/definitions/NsdOperationalStateType" nsdUsageState: - $ref: "#/definitions/NsdUsageStateType" + type: "array" + items: + $ref: "#/definitions/NsdUsageStateType" pnfdId: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match the PNFD identifier which is copied from the PNFD content.\ + \ The attributes \"pnfdId\" and \"pnfdInfoId\" are alternatives to reference\ + \ to a particular PNFD in a filter. They should not be used both in the\ + \ same filter instance, but one alternative should be chosen." + items: + type: "string" pnfdName: - type: "string" + type: "array" description: "Match the name of the on-boarded PNFD." + items: + type: "string" pnfdVersion: - $ref: "#/definitions/Version" + type: "array" + description: "Match the PNFD designer of the on-boarded PNFD. The PNFD version\ + \ is a string of variable length." + items: + type: "string" pnfdProvider: - type: "string" + type: "array" description: "Match the provider of the on-boarded PNFD." + items: + type: "string" pnfdInvariantId: - $ref: "#/definitions/Identifier" + type: "array" + description: "Match the PNFD in a version independent manner." + items: + type: "string" pnfdOnboardingState: - $ref: "#/definitions/PnfdOnboardingStateType" + type: "array" + items: + $ref: "#/definitions/PnfdOnboardingStateType" pnfdUsageState: - $ref: "#/definitions/PnfdUsageStateType" + type: "array" + items: + $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,\ @@ -691,16 +1107,61 @@ definitions: \ array matches (logical \"or\" between the values of one filter attribute)." Uri: type: "object" + description: "String formatted according to IETF RFC 3986 [10]." Link: type: "object" + description: "This type represents a link to a resource. It shall comply with\ + \ the provisions defined in Table 4.4.1.3-1 of GS NFV-SOL 005." SubscriptionAuthentication: type: "object" + properties: + authType: + type: "string" + description: "Defines the types of Authentication/ Authorization the API consumer\ + \ is willing to accept when receiving a notification.\n\nPermitted values:\n\ + BASIC: In every HTTP request to the notification endpoint, use HTTP Basic\ + \ authentication with the client credentials.\n\nOAUTH2_CLIENT_CREDENTIALS:\ + \ In every HTTP request to the notification endpoint, use an OAuth 2.0 Bearer\ + \ token, obtained using the client credentials grant type.\n\nTLS_CERT:\ + \ Every HTTP request to the notification endpoint is sent over a mutually\ + \ authenticated TLS session. i.e. not only server is authenticated, but\ + \ also the client is authenticated during the TLS tunnel setup." + enum: + - "BASIC" + - "OAUTH2_CLIENT_CREDENTIALS" + - "TLS_CERT" + paramsBasic: + type: "object" + 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." + properties: + userName: + type: "string" + description: "Username to be used in HTTP Basic authentication. Shall\ + \ be present if it has not been provisioned out of band." + password: + type: "string" + description: "Password to be used in HTTP Basic authentication. Shall\ + \ be present if it has not been provisioned out of band." + paramsOauth2ClientCredentials: + type: "object" + 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." + properties: + clientId: + type: "string" + 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." 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." + \ is enabled.\nDISABLED = The operational state of the resource is disabled." enum: - "ENABLED" - "DISABLED" @@ -714,27 +1175,51 @@ definitions: - "nsdUsageState" properties: id: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the onboarded individual NS descriptor resource.\ + \ This identifier is allocated by the NFVO." nsdId: - $ref: "#/definitions/Identifier" + type: "object" + 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." 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" + type: "string" + description: "Version of the on-boarded NSD. The NSD version is a string of\ + \ variable length.This information is copied from the NSD content and shall\ + \ be present after the NSD content is on-boarded." 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" + type: "string" + 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." vnfPkgIds: - $ref: "#/definitions/Identifier" + type: "array" + description: "Identifies the VNF package for the VNFD referenced by the on-boarded\ + \ NS descriptor resource." + items: + type: "string" pnfdInfoIds: - $ref: "#/definitions/Identifier" + type: "array" + description: "Identifies the PnfdInfo element for the PNFD referenced by the\ + \ on-boarded NS descriptor resource." + items: + type: "string" nestedNsdInfoIds: - $ref: "#/definitions/Identifier" + type: "array" + description: "Identifies the NsdInfo element for the nested NSD referenced\ + \ by the on-boarded NS descriptor resource. At least one of the attributes\ + \ – vnfPkgId and nestedNsdInfoId shall be present, after the NSD is on-boarded." + items: + type: "string" nsdOnboardingState: $ref: "#/definitions/NsdOnboardingStateType" onboardingFailureDetails: @@ -753,9 +1238,9 @@ definitions: $ref: "#/definitions/Link" nsd_content: $ref: "#/definitions/Link" - description: "This type represents a response for the query NSD operation." - Version: - type: "object" + description: "This type represents a response for the query NSD operation. It\ + \ shall comply with the provisions defined in\nTable 5.5.2.2-1 of GS NFV-SOL\ + \ 005." NsdOnboardingStateType: type: "string" description: "The enumeration NsdOnboardingStateType shall comply with the provisions\ @@ -771,6 +1256,38 @@ definitions: - "ONBOARDED" ProblemDetails: type: "object" + required: + - "detail" + - "status" + properties: + type: + $ref: "#/definitions/Uri" + title: + type: "string" + description: "A short, human-readable summary of the problem type. It should\ + \ not change from occurrence to occurrence of the problem, except for purposes\ + \ of localization. If type is given and other than \"about:blank\", this\ + \ attribute shall also be provided." + status: + type: "integer" + description: "The HTTP status code for this occurrence of the problem." + detail: + type: "string" + description: "A human-readable explanation specific to this occurrence of\ + \ the problem." + instance: + $ref: "#/definitions/Uri" + description: "The definition of the general \"ProblemDetails\" data structure\ + \ from IETF RFC 7807 [27] is reproduced in\nTable 4.3.5.3-1 of GS NFV-SOL 005.\ + \ Compared to the general framework defined in IETF RFC 7807 [27], the \"status\"\ + \ and \"detail\" attributes are mandated to be included by the present document,\ + \ to ensure that the response contains additional textual information about\ + \ an error. IETF RFC 7807 [27] foresees extensibility of the \"ProblemDetails\"\ + \ type. It is possible that particular APIs in the present document, or particular\ + \ implementations, define extensions to define additional attributes that provide\ + \ more information about the error.\n\nThe description column only provides\ + \ some explanation of the meaning to facilitate understanding of the design.\ + \ For a\nfull description, see IETF RFC 7807 [27]." NsdUsageStateType: type: "string" description: "The enumeration NsdUsageStateType shall comply with the provisions\ @@ -782,6 +1299,10 @@ definitions: - "NOT_IN_USE" KeyValuePairs: type: "object" + 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\npairs is\ + \ represented as an object. It shall comply with the provisions defined in clause\ + \ 4 of IETF RFC 7159 [20]." CreateNsdInfoRequest: type: "object" properties: @@ -808,21 +1329,31 @@ definitions: - "pnfdUsageState" properties: id: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the onboarded individual PNF descriptor resource.\ + \ This identifier is allocated by the NFVO." pnfdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the PNFD\ndesigner, identifies\ + \ the PNFD in a globally unique way. It is copied from the PNFD content\ + \ and shall be present after the PNFD content is on-boarded." 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" + type: "string" + description: "Version of the onboarded PNFD. The PNFD version is a string\ + \ of variable length.This information is copied from the PNFD content and\ + \ shall be present after the PNFD content is on-boarded." 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" + type: "string" + description: "Identifies a PNFD in a version independent manner. This attribute\ + \ is invariant across versions of PNFD." pnfdOnboardingState: $ref: "#/definitions/PnfdOnboardingStateType" onboardingFailureDetails: @@ -830,9 +1361,11 @@ definitions: pnfdUsageState: $ref: "#/definitions/PnfdUsageStateType" userDefinedData: - type: "object" + type: "array" description: "User defined data for the individual PNF descriptor resource.\ \ This attribute can be modified with the PATCH method." + items: + type: "object" _links: required: - "pnfd_content" @@ -893,31 +1426,43 @@ definitions: - "notificationType" - "nsdId" - "nsdInfoId" + - "subscriptionId" - "timeStamp" properties: id: - $ref: "#/definitions/Identifier" + 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 \"NsdOnboardingNotification\" for this notification type." subscriptionId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the subscription that this notification relates\ + \ to." timeStamp: type: "string" format: "date-time" description: "Date-time of the generation of the notification." nsdInfoId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the NSD information object. This identifier is\ + \ allocated by the NFVO." nsdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the service\nprovider,\ + \ identifies the NSD in a globally unique way. It is copied from the on-boarded\ + \ NSD." _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\"." + \ the provisions defined in Table 5.5.2.9-1 of GS NFV-SOL 005. 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: @@ -929,21 +1474,30 @@ definitions: - "timeStamp" properties: id: - $ref: "#/definitions/Identifier" + 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 \"NsdOnboardingFailureNotification\" for this notification type." subscriptionId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the subscription that this notification relates\ + \ to." timeStamp: type: "string" format: "date-time" description: "Date-time of the generation of the notification." nsdInfoId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the NSD information object. This identifier is\ + \ allocated by the NFVO." nsdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the service provider, identifies\ + \ the NSD in a globally unique way." onboardingFailureDetails: $ref: "#/definitions/ProblemDetails" _links: @@ -962,24 +1516,34 @@ definitions: - "nsdId" - "nsdInfoId" - "nsdOperationalState" + - "subscriptionId" - "timeStamp" properties: id: - $ref: "#/definitions/Identifier" + 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 \"NsdChangeNotification\" for this notification type." subscriptionId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the subscription that this notification relates\ + \ to." timeStamp: type: "string" format: "date-time" description: "Date-time of the generation of the notification." nsdInfoId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the NSD information object. This identifier is\ + \ allocated by the NFVO." nsdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the service provider, identifies\ + \ the NSD in a globally unique way. It is copied from the on-boarded NSD." nsdOperationalState: $ref: "#/definitions/NsdOperationalStateType" _links: @@ -988,10 +1552,10 @@ definitions: \ 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\"." + \ defined in Table 5.5.2.11-1 of GS NFV-SOL 005. 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: @@ -1000,24 +1564,34 @@ definitions: - "notificationType" - "nsdId" - "nsdInfoId" + - "subscriptionId" - "timeStamp" properties: id: - $ref: "#/definitions/Identifier" + 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 \"NsdDeletionNotification \" for this notification type." subscriptionId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the subscription that this notification relates\ + \ to." timeStamp: type: "string" format: "date-time" description: "Date-time of the generation of the notification." nsdInfoId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the NSD information object. This identifier is\ + \ allocated by the NFVO." nsdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the service provider, identifies\ + \ the NSD in a globally unique way. It is copied from the on-boarded NSD." _links: $ref: "#/definitions/NsdmLinks" description: "This type represents an NSD management notification, which informs\ @@ -1045,24 +1619,35 @@ definitions: - "notificationType" - "pnfdId" - "pnfdInfoId" + - "subscriptionId" - "timeStamp" properties: id: - $ref: "#/definitions/Identifier" + 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 \"PnfdOnboardingNotification\" for this notification type." subscriptionId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the subscription that this notification relates\ + \ to." timeStamp: type: "string" format: "date-time" description: "Date-time of the generation of the notification." pnfdInfoId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the PNFD information object. This identifier is\ + \ allocated by the NFVO." pnfdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the service\nprovider,\ + \ identifies the PNFD in a globally unique way. It is copied from the on-boarded\ + \ PNFD." _links: $ref: "#/definitions/PnfdmLinks" description: "This type represents a PNFD management notification, which informs\ @@ -1077,33 +1662,43 @@ definitions: - "notificationType" - "onboardingFailureDetails" - "pnfdInfoId" + - "subscriptionId" - "timeStamp" properties: id: - $ref: "#/definitions/Identifier" + 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 \"PnfdOnboardingFailureNotification\" for this notification type." subscriptionId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the subscription that this notification relates\ + \ to." timeStamp: type: "string" format: "date-time" description: "Date-time of the generation of the notification." pnfdInfoId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the PNFD information object. This identifier is\ + \ allocated by the NFVO." pnfdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the service\nprovider,\ + \ identifies the PNFD in a globally unique way." 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." + \ the provisions defined in Table 5.5.2.14-1 of GS NFV-SOL 005. The support\ + \ of this notification is mandatory. The notification is triggered when the\ + \ on-boarding of a PNFD fails." PnfdDeletionNotification: type: "object" required: @@ -1112,6 +1707,7 @@ definitions: - "notificationType" - "pnfdId" - "pnfdInfoId" + - "subscriptionId" - "timeStamp" properties: id: @@ -1124,15 +1720,22 @@ definitions: description: "Discriminator for the different notification types. Shall be\ \ set to \"PnfdDeletionNotification \" for this notification type." subscriptionId: - $ref: "#/definitions/Identifier" + 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." timeStamp: type: "string" format: "date-time" description: "Date-time of the generation of the notification." pnfdInfoId: - $ref: "#/definitions/Identifier" + type: "string" + description: "Identifier of the PNFD information object. This identifier is\ + \ allocated by the NFVO." pnfdId: - $ref: "#/definitions/Identifier" + type: "string" + description: "This identifier, which is managed by the service provider, identifies\ + \ the PNFD in a globally unique way. It is copied from the on-boarded PNFD." _links: $ref: "#/definitions/PnfdmLinks" description: "This type represents a PNFD management notification, which informs\