From d90dac82ca2f37d2bfdcdc7462f6e4925565af93 Mon Sep 17 00:00:00 2001
From: venkatamahesh <Venkata.Kotha@infinite.com>
Date: Wed, 30 Nov 2016 15:23:17 +0530
Subject: [PATCH] Support parameter input for vnffg template

Change-Id: I93819ff19ae91ca5e24778e220d3d09b63532ddf
Implements: blueprint vnffgd-param-support
---
 tackerclient/tacker/v1_0/nfvo/vnffg.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/tackerclient/tacker/v1_0/nfvo/vnffg.py b/tackerclient/tacker/v1_0/nfvo/vnffg.py
index 8487da8a..ecb1e1b4 100644
--- a/tackerclient/tacker/v1_0/nfvo/vnffg.py
+++ b/tackerclient/tacker/v1_0/nfvo/vnffg.py
@@ -11,6 +11,8 @@
 # under the License.
 
 from tackerclient.i18n import _
+import yaml
+
 from tackerclient.tacker import v1_0 as tackerV10
 
 
@@ -96,9 +98,14 @@ class CreateVNFFG(tackerV10.CreateCommand):
         parser.add_argument(
             '--symmetrical', metavar='{True,False}',
             help=_('Should a reverse path be created for the NFP'))
+        parser.add_argument(
+            '--param-file',
+            help='Specify parameter yaml file'
+        )
 
     def args2body(self, parsed_args):
-        body = {self.resource: {}}
+        args = {'attributes': {}}
+        body = {self.resource: args}
 
         tacker_client = self.get_client()
         tacker_client.format = parsed_args.request_format
@@ -121,6 +128,12 @@ class CreateVNFFG(tackerV10.CreateCommand):
                                                           vnffgd_name)
             parsed_args.vnffgd_id = _id
 
+        if parsed_args.param_file:
+            with open(parsed_args.param_file) as f:
+                param_yaml = f.read()
+            args['attributes']['param_values'] = yaml.load(
+                param_yaml, Loader=yaml.SafeLoader)
+
         tackerV10.update_dict(parsed_args, body[self.resource],
                               ['tenant_id', 'name', 'vnffgd_id',
                                'symmetrical', 'vnf_mapping'])