Skip to content

Commit d40036f

Browse files
authored
Merge pull request #56 from yunify/add-describe-cluster-api
add-describe-cluster-api
2 parents 3e88b5f + df3da65 commit d40036f

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

qingcloud/iaas/connection.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5189,3 +5189,66 @@ def resize_cluster(self, cluster,
51895189
return None
51905190

51915191
return self.send_request(action, body)
5192+
5193+
def describe_clusters(self, clusters=None,
5194+
role=None,
5195+
status=None,
5196+
verbose=1,
5197+
search_word=None,
5198+
owner=None,
5199+
offset=None,
5200+
limit=None,
5201+
tags=None,
5202+
**ignore):
5203+
""" Describe clusters filtered by condition.
5204+
@param clusters: the array of cluster IDs.
5205+
@param status: pending, active, stopped, deleted, suspended, ceased
5206+
@param verbose: the number to specify the verbose level, larger the number, the more detailed information will be returned.
5207+
@param search_word: search word column.
5208+
@param offset: the starting offset of the returning results.
5209+
@param limit: specify the number of the returning results.
5210+
@param tags : the array of IDs of tags.
5211+
"""
5212+
action = const.ACTION_DESCRIBE_CLUSTERS
5213+
valid_keys = ['clusters', 'status', 'verbose', 'search_word',
5214+
'owner', 'offset', 'limit', 'tags', 'role']
5215+
body = filter_out_none(locals(), valid_keys)
5216+
if not self.req_checker.check_params(body,
5217+
required_params=[],
5218+
integer_params=[
5219+
'offset', 'limit'],
5220+
list_params=[
5221+
'clusters', 'status', 'tags']
5222+
):
5223+
return None
5224+
5225+
return self.send_request(action, body)
5226+
5227+
def add_cluster_nodes(self, cluster, node_count, owner=None, node_name=None, node_role=None, resource_conf=None, **params):
5228+
""" Add one or more cluster nodes
5229+
"""
5230+
action = const.ACTION_ADD_CLUSTER_NODES
5231+
valid_keys = ['cluster', 'node_count', 'owner', 'node_name', 'node_role', 'resource_conf']
5232+
body = filter_out_none(locals(), valid_keys)
5233+
if not self.req_checker.check_params(body,
5234+
required_params=[
5235+
'cluster', 'node_count'],
5236+
integer_params=['node_count']
5237+
):
5238+
return None
5239+
5240+
return self.send_request(action, body)
5241+
5242+
def delete_cluster_nodes(self, cluster, nodes, owner=None):
5243+
""" Delete one or more cluster nodes
5244+
"""
5245+
action = const.ACTION_DELETE_CLUSTER_NODES
5246+
valid_keys = ['cluster', 'nodes', 'owner']
5247+
body = filter_out_none(locals(), valid_keys)
5248+
if not self.req_checker.check_params(body,
5249+
required_params=[
5250+
'cluster', 'nodes'],
5251+
list_params=['nodes']):
5252+
return None
5253+
5254+
return self.send_request(action, body)

qingcloud/iaas/constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,3 +364,6 @@
364364
ACTION_START_CLUSTERS = "StartClusters"
365365
ACTION_STOP_CLUSTERS = "StopClusters"
366366
ACTION_RESIZE_CLUSTER = "ResizeCluster"
367+
ACTION_DESCRIBE_CLUSTERS = "DescribeClusters"
368+
ACTION_ADD_CLUSTER_NODES = "AddClusterNodes"
369+
ACTION_DELETE_CLUSTER_NODES = "DeleteClusterNodes"

0 commit comments

Comments
 (0)