tacker/tacker/objects
tpatil 3f5c81604e Support attribute filtering for GET /vnf_packages API
Certain resource representations can become quite big, in particular
``GET /vnfpackages`` API which is a container for multiple sub-resources.
In these cases, it can be desired to reduce the amount of data exchanged
over the interface and processed by the API consumer application.

An attribute selector i.e filter, allows the API consumer to choose
which attributes it wants to be contained in the response. Only
attributes that are not required to be present, i.e. those with
a lower bound of zero on their cardinality (e.g. 0..1, 0..N)
and that are not conditionally mandatory, are allowed to be omitted
as part of the selection process.

This patch implements attribute filtering for ``GET /vnfpackages`` API.

It will support following query parameters:-
* filter: Filter criterion built with attributes of VNF Package and
REST operators.
* all_fields: Return all fields
* fields=<list> : Return fields specified in the <list>
* exclude_fields=<list>: Return fields not specified in the <list>
* exclude_default parameters: Return all fields except default fields
* exclude_default and fields=<list>: Return all fields except default
fields and fields in the <list>
* When no parameter is specified it is treated as exclude_default.

You can find more details about supported query parameters in document:
ETSI GS NFV-SOL 013 V2.6.1 (2019-03 in section 5.2 and 5.3

Co-Authored-By: Prashant Bhole <prashant.bhole@nttdata.com>

Change-Id: I1513d7d87967de5248787cd298c3bec65c2dde9d
Implements: bp/enhance-vnf-package-support-part1
2020-04-23 10:17:45 +00:00
..
__init__.py Add terminate vnf instance API 2020-04-22 07:42:33 +00:00
base.py Add version objects and db apis for vnf lcm 2020-04-20 10:53:20 +05:30
fields.py Add terminate vnf instance API 2020-04-22 07:42:33 +00:00
heal_vnf_request.py Add heal vnf instance API 2020-04-22 07:42:46 +00:00
instantiate_vnf_req.py Add heal vnf instance API 2020-04-22 07:42:46 +00:00
terminate_vnf_req.py Add terminate vnf instance API 2020-04-22 07:42:33 +00:00
vim_connection.py Add version objects and db apis for vnf lcm 2020-04-20 10:53:20 +05:30
vnf_deployment_flavour.py Support attribute filtering for GET /vnf_packages API 2020-04-23 10:17:45 +00:00
vnf_instance.py Add version objects and db apis for vnf lcm 2020-04-20 10:53:20 +05:30
vnf_instantiated_info.py Add terminate vnf instance API 2020-04-22 07:42:33 +00:00
vnf_package_vnfd.py Add version objects and db apis for vnf lcm 2020-04-20 10:53:20 +05:30
vnf_package.py Support attribute filtering for GET /vnf_packages API 2020-04-23 10:17:45 +00:00
vnf_resources.py Add version objects and db apis for vnf lcm 2020-04-20 10:53:20 +05:30
vnf_software_image.py Support attribute filtering for GET /vnf_packages API 2020-04-23 10:17:45 +00:00