Get Vnfd Model

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).
Request
URI
GET
https://{api_host}/tca/etsi/orgs/{vnfpkgmOrgId}/direct/v271/vnfpkgm/v2/vnf_packages/{vnfPkgId}/vnfd
COPY
Path Parameters
string
vnfPkgId
Required

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.

string
vnfpkgmOrgId
Required

The tenant identifier

Query Parameters
string
include_signatures
Optional

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.

Header Parameters
string
Authorization
Optional

The authorization token for the request. Reference: IETF RFC 7235.

string
Version
Required

Version of the API requested to use when responding to this request.

string
Accept
Required

Content-Types that are acceptable for the response.

Possible values are : text/plain, application/zip,

Authentication
This operation uses the following authentication methods.
Responses
200

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.

Returns Vnfd of type(s) */*
{
    "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": [
            {}
        ]
    }
}
string
description
Optional

description

object
vnf
Optional

vnf

object
metadata
Optional

metadata

object
inputs
Optional

inputs

array of object
policies
Optional

policies

object
groups
Optional

groups

string
basepath
Optional

basepath

array of object
volume_storages
Optional

volume_storages

array of object
vdus
Optional

vdus

array of object
vls
Optional

vls

array of object
cps
Optional

cps

object
vnf_exposed
Optional

vnf_exposed

object
graph
Optional

graph

object
vduDependencyDetails
Optional

vduDependencyDetails

Response Headers

string
Content-Type

The MIME type of the body of the response.

string
WWW-Authenticate

Challenge if the corresponding HTTP request has not provided authorization, or error details if the corresponding HTTP request has provided an invalid authorization token.

string
Version

Version of the API used in the response.


400
Returns 400 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


401
Returns 401 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


403
Returns 403 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


404
Returns 404 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


405
Returns 405 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


406
Returns 406 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


409
Returns 409 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


416
Returns 416 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


500
Returns 500 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.


503
Returns 503 of type(s) */*
{
    "type": "string",
    "title": "string",
    "status": 0,
    "detail": "string",
    "instance": "string"
}
string As URI As URI
type
Optional

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".

string
title
Optional

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).

integer
status
Required

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.

string
detail
Required

A human-readable explanation specific to this occurrence of the problem.

string As URI As URI
instance
Optional

A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.