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.
The tenant identifier
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"
]
},
"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"
},
"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": [
[
"app-int-signal",
"app-int-mgmt",
"app-ext"
]
],
"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
vnf
metadata
inputs
policies
groups
basepath
volume_storages
vdus
vls
cps
vnf_exposed
graph
vduDependencyDetails
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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.
{
"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.