tacker/tacker
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
..
agent from i18n import _ when quoting them 2019-08-09 09:59:48 +08:00
api Support attribute filtering for GET /vnf_packages API 2020-04-23 10:17:45 +00:00
cmd Cleanup Python 2.7 support 2020-03-29 20:23:26 +00:00
common Support attribute filtering for GET /vnf_packages API 2020-04-23 10:17:45 +00:00
conductor Add db support to filter vnf packages 2020-04-23 09:38:31 +00:00
conf Sychronize vnf action tasks 2020-04-22 07:43:50 +00:00
db Add db script for vnf lcm changes 2020-04-20 10:53:20 +05:30
extensions Add instantiate vnf instance API 2020-04-22 07:42:05 +00:00
glance_store Add vnf packages RestFul APIs 2019-09-20 06:48:28 +00:00
hacking rename various files of neutron/*.py to tacker/*.py 2014-07-04 18:20:50 +09:00
keymgr Support shared vim for policy action execution 2018-07-29 13:56:45 +08:00
locale Imported Translations from Zanata 2019-10-01 11:19:23 +00:00
mistral Replaces uuid.uuid4 with uuidutils.generate_uuid() 2017-07-18 14:00:58 +00:00
nfvo Fix bug that causes InternalServerError in FT 2020-01-16 14:16:55 +09:00
objects Support attribute filtering for GET /vnf_packages API 2020-04-23 10:17:45 +00:00
plugins from i18n import _ when quoting them 2019-08-09 09:59:48 +08:00
policies Add delete vnf instance API 2020-04-23 09:24:18 +00:00
releasenotes/notes Remove infra and mgmt parsing logic from API 2017-01-06 08:39:56 +00:00
services Remove unused import logging 2016-05-12 10:52:23 +08:00
tests Support attribute filtering for GET /vnf_packages API 2020-04-23 10:17:45 +00:00
tosca Add instantiate vnf instance API 2020-04-22 07:42:05 +00:00
vnflcm Add heal vnf instance API 2020-04-22 07:42:46 +00:00
vnfm Add heal vnf instance API 2020-04-22 07:42:46 +00:00
__init__.py Cleanup vim settings 2016-03-28 13:03:56 +02:00
_i18n.py Remove i18n.enable_lazy() call from tacker.cmd 2018-11-14 14:56:52 +05:30
alarm_receiver.py from i18n import _ when quoting them 2019-08-09 09:59:48 +08:00
auth.py Enable UT test_auth.py 2018-11-15 00:19:49 +08:00
context.py Remove deprecation warning messages 2019-09-20 12:27:06 +05:30
manager.py Sychronize vnf action tasks 2020-04-22 07:43:50 +00:00
policy.py Implement policy in code 2019-09-19 06:30:04 +00:00
service.py Sychronize vnf action tasks 2020-04-22 07:43:50 +00:00
version.py Cleanup vim settings 2016-03-28 13:03:56 +02:00
wsgi.py Add list vnf instance API 2020-04-22 07:46:35 +00:00