From 5a1f2f5717bc55e196e9006d6891ad077e0e4211 Mon Sep 17 00:00:00 2001 From: Janki Date: Thu, 11 Aug 2016 13:08:40 +0530 Subject: [PATCH] Creates details API to fetch VNF detials Created details API to fetch VNF details. This is optional based on the --show-details flag enabled. APIImpact Partial-Bug: #1602112 Change-Id: I63bcf3f9ad23fbbcfdec6f72e45540ce55e6bd7c --- tackerclient/tacker/v1_0/__init__.py | 8 ++++++-- tackerclient/v1_0/client.py | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tackerclient/tacker/v1_0/__init__.py b/tackerclient/tacker/v1_0/__init__.py index 59170fcf..7f6eb972 100644 --- a/tackerclient/tacker/v1_0/__init__.py +++ b/tackerclient/tacker/v1_0/__init__.py @@ -671,7 +671,9 @@ class ShowCommand(TackerCommand, show.ShowOne): params = {} if parsed_args.show_details: - params = {'verbose': 'True'} + method_name = 'show_%s_details' % self.resource + else: + method_name = 'show_%s' % self.resource if parsed_args.fields: params = {'fields': parsed_args.fields} if self.allow_names: @@ -680,8 +682,10 @@ class ShowCommand(TackerCommand, show.ShowOne): else: _id = parsed_args.id - obj_shower = getattr(tacker_client, "show_%s" % self.resource) + obj_shower = getattr(tacker_client, method_name) data = obj_shower(_id, **params) + if parsed_args.show_details: + data[self.resource] = data.pop('details')[0] self.format_output_data(data) resource = data[self.resource] if self.resource in data: diff --git a/tackerclient/v1_0/client.py b/tackerclient/v1_0/client.py index bc193258..370749b4 100644 --- a/tackerclient/v1_0/client.py +++ b/tackerclient/v1_0/client.py @@ -339,6 +339,7 @@ class Client(ClientBase): vnfs_path = '/vnfs' vnf_path = '/vnfs/%s' vnf_scale_path = '/vnfs/%s/actions' + vnf_detail = '/vnfs/%s/details' vims_path = '/vims' vim_path = '/vims/%s' @@ -413,6 +414,10 @@ class Client(ClientBase): def show_vnf(self, vnf, **_params): return self.get(self.vnf_path % vnf, params=_params) + @APIParamsCall + def show_vnf_details(self, vnf, **_params): + return self.get(self.vnf_detail % vnf, params=_params) + @APIParamsCall def create_vnf(self, body=None): return self.post(self.vnfs_path, body=body)