UNPKG

@itentialopensource/adapter-etsi_sol005

Version:

This adapter integrates with system described as: ETSI sol005

1,186 lines 624 kB
{ "openapi": "3.0.2", "info": { "title": "adapter-etsi_sol005", "version": "1.0.0" }, "paths": { "/nsd/v2/api_versions": { "get": { "operationId": "getApiVersions", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "description": "This type represents API version information.\n", "type": "object", "required": [ "uriPrefix", "apiVersions" ], "properties": { "uriPrefix": { "description": "Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n", "type": "string" }, "apiVersions": { "description": "Version(s) supported for the API signalled by the uriPrefix attribute.\n", "type": "array", "items": { "type": "object", "required": [ "version" ], "properties": { "version": { "description": "Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 4.6.1.\n", "type": "string" }, "isDeprecated": { "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", "type": "boolean" }, "retirementDate": { "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n" } } } } } } } } } } } }, "/nsd/v2/ns_descriptors": { "post": { "operationId": "postNsDescriptors", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "required": [ "id", "nsdOnboardingState", "nsdOperationalState", "nsdUsageState", "_links" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "nsdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "nsdName": { "type": "string", "description": "Name of the on boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\n" }, "nsdVersion": { "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "nsdDesigner": { "type": "string", "description": "Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\n" }, "nsdInvariantId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfPkgIds": { "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "pnfdInfoIds": { "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "nestedNsdInfoIds": { "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "archiveSecurityOption": { "description": "Signals the security option used by the NSD archive as defined in clause 5.1 of ETSI GS NFV SOL 007. Valid values: OPTION_1, OPTION_2\n", "type": "string", "enum": [ "OPTION_1", "OPTION_2" ] }, "signingCertificate": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "artifacts": { "description": "Information about NSD archive artifacts contained in the NSD archive. This attribute shall not be present before the NSD archive content is on-boarded. Otherwise, this attribute shall be present if the NSD archive contains artifacts.\n", "type": "array", "items": { "type": "object", "description": "This type represents an artifact contained in an NSD archive. It shall comply with provisions defined in Table 5.5.3.5-1.\n", "required": [ "artifactPath", "checksum" ], "properties": { "artifactPath": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", "required": [ "algorithm", "hash" ], "type": "object", "properties": { "algorithm": { "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", "type": "string" }, "hash": { "description": "The hexadecimal value of the checksum.\n", "type": "string" } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } } }, "nsdOnboardingState": { "type": "string", "description": "The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object has been 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 has been on-boarded. ERROR = There was an error during upload or processing of the NSD content.\n", "enum": [ "CREATED", "UPLOADING", "PROCESSING", "ONBOARDED", "ERROR" ] }, "onboardingFailureDetails": { "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string" } } }, "nsdOperationalState": { "type": "string", "description": "The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\n", "enum": [ "ENABLED", "DISABLED" ] }, "nsdUsageState": { "type": "string", "description": "The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\n", "enum": [ "IN_USE", "NOT_IN_USE" ] }, "userDefinedData": { "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "_links": { "type": "object", "required": [ "self", "nsd_content" ], "description": "Links to resources related to this resource.\n", "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string" } } }, "nsd_content": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string" } } } } } }, "description": "This type represents a response for the query NSD operation.\n" } } } } }, "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "get": { "operationId": "getNsDescriptors", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "required": [ "id", "nsdOnboardingState", "nsdOperationalState", "nsdUsageState", "_links" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "nsdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "nsdName": { "type": "string", "description": "Name of the on boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\n" }, "nsdVersion": { "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "nsdDesigner": { "type": "string", "description": "Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\n" }, "nsdInvariantId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfPkgIds": { "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "pnfdInfoIds": { "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "nestedNsdInfoIds": { "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "archiveSecurityOption": { "description": "Signals the security option used by the NSD archive as defined in clause 5.1 of ETSI GS NFV SOL 007. Valid values: OPTION_1, OPTION_2\n", "type": "string", "enum": [ "OPTION_1", "OPTION_2" ] }, "signingCertificate": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "artifacts": { "description": "Information about NSD archive artifacts contained in the NSD archive. This attribute shall not be present before the NSD archive content is on-boarded. Otherwise, this attribute shall be present if the NSD archive contains artifacts.\n", "type": "array", "items": { "type": "object", "description": "This type represents an artifact contained in an NSD archive. It shall comply with provisions defined in Table 5.5.3.5-1.\n", "required": [ "artifactPath", "checksum" ], "properties": { "artifactPath": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", "required": [ "algorithm", "hash" ], "type": "object", "properties": { "algorithm": { "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", "type": "string" }, "hash": { "description": "The hexadecimal value of the checksum.\n", "type": "string" } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } } }, "nsdOnboardingState": { "type": "string", "description": "The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object has been 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 has been on-boarded. ERROR = There was an error during upload or processing of the NSD content.\n", "enum": [ "CREATED", "UPLOADING", "PROCESSING", "ONBOARDED", "ERROR" ] }, "onboardingFailureDetails": { "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string" } } }, "nsdOperationalState": { "type": "string", "description": "The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\n", "enum": [ "ENABLED", "DISABLED" ] }, "nsdUsageState": { "type": "string", "description": "The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\n", "enum": [ "IN_USE", "NOT_IN_USE" ] }, "userDefinedData": { "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "_links": { "type": "object", "required": [ "self", "nsd_content" ], "description": "Links to resources related to this resource.\n", "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string" } } }, "nsd_content": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string" } } } } } }, "description": "This type represents a response for the query NSD operation.\n" } } } } } }, "parameters": [ { "name": "filter", "in": "query", "required": false, "schema": { "title": "filter", "type": "string" } }, { "name": "allFields", "in": "query", "required": false, "schema": { "title": "allFields", "type": "string" } }, { "name": "fields", "in": "query", "required": false, "schema": { "title": "fields", "type": "string" } }, { "name": "excludeFields", "in": "query", "required": false, "schema": { "title": "excludeFields", "type": "string" } }, { "name": "excludeDefault", "in": "query", "required": false, "schema": { "title": "excludeDefault", "type": "string" } }, { "name": "nextpageOpaqueMarker", "in": "query", "required": false, "schema": { "title": "nextpageOpaqueMarker", "type": "string" } } ] } }, "/nsd/v2/ns_descriptors/{nsdInfoId}": { "get": { "operationId": "getNsDescriptorsNsdInfoId", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "required": [ "id", "nsdOnboardingState", "nsdOperationalState", "nsdUsageState", "_links" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "nsdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "nsdName": { "type": "string", "description": "Name of the on boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\n" }, "nsdVersion": { "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "nsdDesigner": { "type": "string", "description": "Designer of the on-boarded NSD. This information is copied from the NSD content and shall be present after the NSD content is on-boarded.\n" }, "nsdInvariantId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "vnfPkgIds": { "description": "Identifies the VNF package for the VNFD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "pnfdInfoIds": { "description": "Identifies the PnfdInfo element for the PNFD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "nestedNsdInfoIds": { "description": "Identifies the NsdInfo element for the nested NSD referenced by the on-boarded NS descriptor resource.\n", "type": "array", "items": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" } }, "archiveSecurityOption": { "description": "Signals the security option used by the NSD archive as defined in clause 5.1 of ETSI GS NFV SOL 007. Valid values: OPTION_1, OPTION_2\n", "type": "string", "enum": [ "OPTION_1", "OPTION_2" ] }, "signingCertificate": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "artifacts": { "description": "Information about NSD archive artifacts contained in the NSD archive. This attribute shall not be present before the NSD archive content is on-boarded. Otherwise, this attribute shall be present if the NSD archive contains artifacts.\n", "type": "array", "items": { "type": "object", "description": "This type represents an artifact contained in an NSD archive. It shall comply with provisions defined in Table 5.5.3.5-1.\n", "required": [ "artifactPath", "checksum" ], "properties": { "artifactPath": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", "required": [ "algorithm", "hash" ], "type": "object", "properties": { "algorithm": { "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", "type": "string" }, "hash": { "description": "The hexadecimal value of the checksum.\n", "type": "string" } } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } } }, "nsdOnboardingState": { "type": "string", "description": "The enumeration NsdOnboardingStateType shall comply with the provisions defined in Table 5.5.4.5-1 of GS NFV-SOL 005. It indicates the on-boarding state of the NSD. CREATED = The NSD information object has been 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 has been on-boarded. ERROR = There was an error during upload or processing of the NSD content.\n", "enum": [ "CREATED", "UPLOADING", "PROCESSING", "ONBOARDED", "ERROR" ] }, "onboardingFailureDetails": { "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", "type": "object", "required": [ "status", "detail" ], "properties": { "type": { "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", "type": "string" }, "title": { "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", "type": "string" }, "status": { "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", "type": "integer" }, "detail": { "description": "A human-readable explanation specific to this occurrence of the problem.\n", "type": "string" }, "instance": { "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", "type": "string" } } }, "nsdOperationalState": { "type": "string", "description": "The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\n", "enum": [ "ENABLED", "DISABLED" ] }, "nsdUsageState": { "type": "string", "description": "The enumeration NsdUsageStateType shall comply with the provisions defined in Table 5.5.4.4-1 of GS NFV-SOL 005. It indicates the usage state of the resource.IN_USE = The resource is in use.NOT_IN_USE = The resource is not-in-use.\n", "enum": [ "IN_USE", "NOT_IN_USE" ] }, "userDefinedData": { "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" }, "_links": { "type": "object", "required": [ "self", "nsd_content" ], "description": "Links to resources related to this resource.\n", "properties": { "self": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string" } } }, "nsd_content": { "description": "This type represents a link to a resource.\n", "type": "object", "required": [ "href" ], "properties": { "href": { "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", "type": "string" } } } } } }, "description": "This type represents a response for the query NSD operation.\n" } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } } ] }, "patch": { "operationId": "patchNsDescriptorsNsdInfoId", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "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.NOTE: At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.\n", "properties": { "nsdOperationalState": { "type": "string", "description": "The enumeration NsdOperationalStateType shall comply with the provisions defined in Table 5.5.4.3-1 of GS NFV_SOL 005. It indicates the operational state of the resource. ENABLED = The operational state of the resource is enabled. DISABLED = The operational state of the resource is disabled.\n", "enum": [ "ENABLED", "DISABLED" ] }, "userDefinedData": { "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). NOTE- At least one of the attributes - nsdOperationalState and userDefinedData - shall be present.\n", "type": "array", "items": { "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } } } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } }, "delete": { "operationId": "deleteNsDescriptorsNsdInfoId", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "title": "result", "type": "object" } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } } ] } }, "/nsd/v2/ns_descriptors/{nsdInfoId}/nsd_content": { "get": { "operationId": "getNsDescriptorsNsdInfoIdNsdContent", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "title": "result", "type": "object" } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } } ] }, "put": { "operationId": "putNsDescriptorsNsdInfoIdNsdContent", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "title": "result", "type": "object" } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object" } } } } } }, "/nsd/v2/ns_descriptors/{nsdInfoId}/nsd": { "get": { "operationId": "getNsDescriptorsNsdInfoIdNsd", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "title": "result", "type": "object" } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } }, { "name": "includeSignatures", "in": "query", "required": false, "schema": { "title": "includeSignatures", "type": "string" } } ] } }, "/nsd/v2/ns_descriptors/{nsdInfoId}/manifest": { "get": { "operationId": "getNsDescriptorsNsdInfoIdManifest", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "title": "result", "type": "object" } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } }, { "name": "includeSignatures", "in": "query", "required": false, "schema": { "title": "includeSignatures", "type": "string" } } ] } }, "/nsd/v2/ns_descriptors/{nsdInfoId}/artifacts/{artifactPath}": { "get": { "operationId": "getNsDescriptorsNsdInfoIdArtifactsArtifactPath", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "title": "result", "type": "object" } } } } }, "parameters": [ { "name": "nsdInfoId", "in": "path", "required": true, "schema": { "title": "nsdInfoId", "type": "string" } }, { "name": "artifactPath", "in": "path", "required": true, "schema": { "title": "artifactPath", "type": "string" } }, { "name": "includeSignatures", "in": "query", "required": false, "schema": { "title": "includeSignatures", "type": "string" } } ] } }, "/nsd/v2/pnf_descriptors": { "post": { "operationId": "postPnfDescriptors", "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "type": "object", "required": [ "id", "pnfdOnboardingState", "pnfdUsageState", "_links" ], "properties": { "id": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "pnfdId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "pnfdName": { "description": "Name of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\n", "type": "string" }, "pnfdersion": { "description": "A Version. Representation: string of variable length.\n", "type": "string" }, "pnfdProvider": { "description": "Provider of the on-boarded PNFD. This information is copied from the PNFD content and shall be present after the PNFD content is on-boarded.\n", "type": "string" }, "pnfdInvariantId": { "description": "An identifier with the intention of being globally unique.\n", "type": "string" }, "archiveSecurityOption": { "description": "Signals the security option used by the PNFD archive as defined in clause 5.1 of ETSI GS NFV SOL 004. Valid values: OPTION_1, OPTION_2\n", "type": "string", "enum": [ "OPTION_1", "OPTION_2" ] }, "signingCertificate": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "artifacts": { "description": "Information about PNFD archive artifacts contained in the PNFD archive. This attribute shall not be present before the PNFD archive content is on-boarded. Otherwise, this attribute shall be present if the PNFD archive contains artifacts.\n", "type": "array", "items": { "type": "object", "description": "This type represents an artifact contained in a PNFD archive. It shall comply with provisions defined in Table 5.5.3.6-1.\n", "required": [ "artifactPath", "checksum" ], "properties": { "artifactPath": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "checksum": { "description": "This type represents the checksum of a VNF package or an artifact file.\n", "required": [ "algorithm", "hash" ], "type": "object", "properties": { "algorithm": { "description": "Name of the algorithm used to generate the checksum, as defined in ETSI GS NFV-SOL 004 [5]. For example, SHA-256, SHA-512.\n", "type": "string" }, "hash": { "description": "The hexadecimal value of the checksum.\n", "type": "string" } } }, "nonManoArtifactSetId": { "description": "A string as defined in IETF RFC 8259.\n", "type": "string" }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", "type": "object" } } } }, "pnfdOnboardingState": { "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 on-boarding state of the individual PNF descriptor resource. CREATED = The PNF descriptor resource has been 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 has been on-boarded. ERROR = There was an error during upload or processing of the associated PNFD content.\n", "enum": [ "CREATED", "UPLOADING", "PROCESSING", "ONBOARDING", "ERROR" ] }, "onboardingFailureDetails": { "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attribut