Get Vnfd Model
The GET method reads the content of the VNFD within a VNF package. The default format of the ZIP archive shall be the one specified in ETSI GS NFV-SOL 004 [5] where only the files representing the VNFD and information necessary to navigate the ZIP file and to identify the file that is the entry point for parsing the VNFD and (if requested) further security information are included. This means that the structure of the ZIP archive shall correspond to the directory structure used in the VNF package and that the archive shall contain the following files from the package:
- TOSCA.meta (if available in the package).
- The main TOSCA definitions YAML file (either as referenced from TOSCA.meta or available as a file with the extension ".yml" or ".yaml" from the root of the archive). Every component of the VNFD referenced (recursively) from the main TOSCA definitions YAML file.
- The related security information, if the "include_signatures" URI parameter is provided, as follows:
- the manifest file; - the singleton certificate file in the root of the VNF package (if available in the package); - the signing certificates of the individual files included in the ZIP archive (if available in the package); - the signatures of the individual files (if available in the package).
Identifier of the on-boarded VNF package. The identifier is allocated by the NFVO. This identifier can be retrieved from the "vnfPkgId" attribute in the VnfPackageOnboardingNotification or VnfPackageChangeNotification.
If this parameter is provided, the NFVO shall include in the ZIP archive the security information as specified above. This URI query parameter is a flag, i.e. it shall have no value. The NFVO shall support this parameter.
The authorization token for the request. Reference: IETF RFC 7235.
Version of the API requested to use when responding to this request.
Content-Types that are acceptable for the response.
200 OK Shall be returned when the content of the VNFD has been read successfully. The payload body shall contain a copy of the file representing the VNFD or a ZIP file that contains the file or multiple files representing the VNFD, 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.
{
"description": "string",
"vnf": {
"properties": {
"descriptor_id": "string",
"provider": "string",
"product_name": "string",
"version": "string",
"id": "string",
"software_version": "string",
"descriptor_version": "string",
"flavour_id": "string",
"flavour_description": "string",
"vnfm_info": [
"string"
],
"infra_requirements": {
"infra_requirements": {
"node_components": {
"isNumaConfigNeeded": true,
"enableSMT": true,
"latency_sensitivity": "low",
"kernel": {
"kernel_type": {
"name": "linux-rt",
"version": "4.19.132-1.ph3"
}
}
}
}
}
},
"requirements": {
"External": [
"External",
"virtual_link"
],
"app-ext": [
"app-ext",
"virtual_link"
]
},
"capabilities": {},
"metadata": {},
"interfaces": {
"interfaces": {
"Vnflcm": {
"instantiate_start": {
"implementation": "../Artifacts/workflows/metallb_pre_instantiate.json",
"description": "Configure Metallb",
"inputs": [
{
"name": "USERNAME",
"type": "string",
"description": "K8s master username",
"required": false,
"default": "capv",
"format": "string"
},
{
"name": "PASSWORD",
"type": "password",
"description": "K8s master password",
"required": false,
"default": "abc",
"format": "password"
},
{
"name": "IP",
"type": "string",
"description": "K8s master ip address",
"required": false,
"default": "",
"format": "string"
},
{
"name": "K8S_NAMESPACE",
"type": "string",
"description": "K8S namespace for Metallb",
"required": false,
"default": "password",
"format": "string"
},
{
"name": "CM_FILE",
"type": "string",
"description": "The configmap file",
"required": false,
"default": "",
"format": "file"
}
],
"outputs": [
{
"name": "nsCreateResult",
"type": "string",
"description": "",
"default": ""
},
{
"name": "copyResult",
"type": "string",
"description": "",
"default": ""
},
{
"name": "cmApplyResult",
"type": "string",
"description": "",
"default": ""
}
]
}
}
}
},
"nodeType": "string",
"node_spec": {}
},
"metadata": {},
"inputs": {},
"policies": [
{
"policies": [
{
"type": "tosca.policies.nfv.SupportedVnfInterface",
"properties": {
"interface_name": "heal",
"interface_type": "operation",
"isEnabled": true
}
},
{
"type": "tosca.policies.nfv.VduInitialDelta",
"properties": {
"initial_delta": {
"number_of_instances": 1
}
},
"targets": [
"apache-httpd"
]
}
]
}
],
"groups": {
"App-Web": {
"type": "tosca.groups.nfv.PlacementGroup",
"members": [
"application-server",
"web-server"
]
},
"App-Apache": {
"type": "tosca.groups.nfv.PlacementGroup",
"members": [
"application-server",
"apache-httpd"
]
},
"Web-Apache": {
"type": "tosca.groups.nfv.PlacementGroup",
"members": [
"web-server",
"apache-httpd"
]
}
},
"basepath": "string",
"volume_storages": [
{}
],
"vdus": [
{
"vdu_id": "string",
"type": "string",
"description": "string",
"properties": {
"name": "string",
"description": "string",
"vdu_profile": {
"min_number_of_instances": 0,
"max_number_of_instances": 0
},
"sw_image_data": {
"name": "string",
"version": "string",
"checksum": {
"algorithm": "string",
"hash": "string"
},
"container_format": "string",
"disk_format": "string",
"min_disk": "string",
"size": "string"
},
"chartName": "string",
"chartVersion": "string",
"helmVersion": "string",
"configurable_properties": {
"additional_vnfc_configurable_properties": {
"type": "string",
"file": "string"
}
}
},
"configurable_properties": [
{
"required": false,
"propertyName": "string",
"description": "string",
"type": "string",
"format": "string"
}
],
"virtual_storages": [
{}
],
"dependencies": [
{}
],
"virtual_compute": {
"virtual_cpu": {},
"virtual_memory": {
"virtual_mem_size": "string"
},
"virtual_local_storage": [
{
"size_of_storage": "string"
}
]
},
"vls": [
[
"vl1",
"vl2"
]
],
"cps": [
"string"
],
"artifacts": [
{}
]
}
],
"vls": [
{}
],
"cps": [
{
"cp_id": "string",
"cpd_id": "string",
"description": "string",
"properties": {
"description": "string",
"layer_protocols": [
"string"
],
"protocol": [
{
"associated_layer_protocol": "string",
"address_data": [
{
"address_type": "string",
"l3_address_data": {
"ip_address_assignment": false,
"floating_ip_activated": false,
"ip_address_type": "string",
"number_of_ip_address": 0
}
}
]
}
],
"trunk_mode": "string"
},
"vl_id": "string",
"vdu_id": "string"
}
],
"vnf_exposed": {
"external_cps": [
{
"key_name": "string",
"cpd_id": "string"
}
],
"forward_cps": [
{}
]
},
"graph": {
"vdu1": {
"type": "array",
"items": {
"type": "string"
}
},
"ECP1": {
"type": "array",
"items": {
"type": "object"
}
}
},
"vduDependencyDetails": {
"0": [
{}
]
}
}
description
metadata
inputs
policies
groups
basepath
volume_storages
vls
graph
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
400 BAD REQUEST 400 code can be returned in the following specified cases, the specific cause has to be proper specified in the "ProblemDetails" structure to be returned. If the request is malformed or syntactically incorrect (e.g. if the request URI contains incorrect query parameters or the payload body contains a syntactically incorrect data structure), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. If the response to a GET request which queries a container resource would be so big that the performance of the API producer is adversely affected, and the API producer does not support paging for the affected resource, it shall respond with this response code. The "ProblemDetails" structure shall be provided, and should include in the "detail" attribute more information about the source of the problem. If there is an application error related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem. If the request contains a malformed access token, the API producer should respond with this response. The details of the error shall be returned in the WWW Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided. The use of this HTTP error response code described above is applicable to the use of the OAuth 2.0 for the authorization of API requests and notifications, as defined in clauses 4.5.3.3 and 4.5.3.4.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
401 UNAUTHORIZED If the request contains no access token even though one is required, or if the request contains an authorization token that is invalid (e.g. expired or revoked), the API producer should respond with this response. The details of the error shall be returned in the WWW-Authenticate HTTP header, as defined in IETF RFC 6750 and IETF RFC 7235. The ProblemDetails structure may be provided.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
403 FORBIDDEN If the API consumer is not allowed to perform a particular request to a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided. It should include in the "detail" attribute information about the source of the problem, and may indicate how to solve it.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
404 NOT FOUND If the API producer did not find a current representation for the resource addressed by the URI passed in the request or is not willing to disclose that one exists, it shall respond with this response code. The "ProblemDetails" structure may be provided, including in the "detail" attribute information about the source of the problem, e.g. a wrong resource URI variable. This response code is not appropriate in case the resource addressed by the URI is a container resource which is designed to contain child resources, but does not contain any child resource at the time the request is received. For a GET request to an existing empty container resource, a typical response contains a 200 OK response code and a payload body with an empty array.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
405 METHOD NOT ALLOWED If a particular HTTP method is not supported for a particular resource, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
406 NOT ACCEPTABLE If the "Accept" header does not contain at least one name of a content type that is acceptable to the API producer, the API producer shall respond with this response code. The "ProblemDetails" structure may be omitted.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
409 CONFLICT
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
416 RANGE NOT SATISFIABLE
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
500 INTERNAL SERVER ERROR If there is an application error not related to the client's input that cannot be easily mapped to any other HTTP response code ("catch all error"), the API producer shall respond with this response code. The "ProblemDetails" structure shall be provided, and shall include in the "detail" attribute more information about the source of the problem.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.
503 SERVICE UNAVAILABLE If the API producer encounters an internal overload situation of itself or of a system it relies on, it should respond with this response code, following the provisions in IETF RFC 7231 for the use of the "Retry-After" HTTP header and for the alternative to refuse the connection. The "ProblemDetails" structure may be omitted.
{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}
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".
A 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).
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.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.
Response Headers
The MIME type of the body of the response.
Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.
Version of the API used in the response.