From 81c3560e88909361651b40e57ebe6e6e6f75a94e Mon Sep 17 00:00:00 2001 From: Minkyung Maisy Kim Date: Fri, 13 Dec 2013 15:15:29 +0900 Subject: [PATCH] Adding the ability to modify cluster templates - Added function for update cluster template Change-Id: Ic9f3c685c5d1e43d9d3331abf5bae5e3a932db1d Implements: blueprint modifying-cluster-template --- savannaclient/api/cluster_templates.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/savannaclient/api/cluster_templates.py b/savannaclient/api/cluster_templates.py index e773e5e5..e51cf995 100644 --- a/savannaclient/api/cluster_templates.py +++ b/savannaclient/api/cluster_templates.py @@ -23,13 +23,13 @@ class ClusterTemplate(base.Resource): class ClusterTemplateManager(base.ResourceManager): resource_class = ClusterTemplate - def create(self, name, plugin_name, hadoop_version, description=None, - cluster_configs=None, node_groups=None, anti_affinity=None, - net_id=None): + def _assign_field(self, name, plugin_name, hadoop_version, + description=None, cluster_configs=None, node_groups=None, + anti_affinity=None, net_id=None): data = { 'name': name, 'plugin_name': plugin_name, - 'hadoop_version': hadoop_version + 'hadoop_version': hadoop_version, } self._copy_if_defined(data, @@ -38,9 +38,27 @@ class ClusterTemplateManager(base.ResourceManager): node_groups=node_groups, anti_affinity=anti_affinity, neutron_management_network=net_id) + return data + + def create(self, name, plugin_name, hadoop_version, description=None, + cluster_configs=None, node_groups=None, anti_affinity=None, + net_id=None): + data = self._assign_field(name, plugin_name, hadoop_version, + description, cluster_configs, node_groups, + anti_affinity, net_id) return self._create('/cluster-templates', data, 'cluster_template') + def update(self, cluster_template_id, name, plugin_name, hadoop_version, + description=None, cluster_configs=None, node_groups=None, + anti_affinity=None, net_id=None): + data = self._assign_field(name, plugin_name, hadoop_version, + description, cluster_configs, node_groups, + anti_affinity, net_id) + + return self._update('/cluster-templates/%s' % cluster_template_id, + data, 'cluster_template') + def list(self): return self._list('/cluster-templates', 'cluster_templates')