|
@@ -10,6 +10,7 @@ from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInst
|
|
|
from aliyunsdkecs.request.v20140526.DescribeNetworkInterfacesRequest import DescribeNetworkInterfacesRequest
|
|
|
from aliyunsdkslb.request.v20140515.DescribeLoadBalancerAttributeRequest import DescribeLoadBalancerAttributeRequest
|
|
|
from aliyunsdkecs.request.v20140526.RunCommandRequest import RunCommandRequest
|
|
|
+from aliyunsdkcore.request import CommonRequest
|
|
|
|
|
|
logging.basicConfig(level=logging.INFO,
|
|
|
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
|
|
@@ -223,3 +224,24 @@ def get_ip_address(client, instance_id):
|
|
|
ip_address = response['NetworkInterfaceSets']['NetworkInterfaceSet'][0]['PrivateIpAddress']
|
|
|
return ip_address
|
|
|
|
|
|
+
|
|
|
+def set_weight_for_instances(client, slb_id, instance_id_list, weight):
|
|
|
+ """
|
|
|
+ 同时设置多台服务器的slb权重,权重一样
|
|
|
+ :param client: 客户端连接
|
|
|
+ :param slb_id: slb_id
|
|
|
+ :param instance_id_list: 服务器id list
|
|
|
+ :param weight: 权重值
|
|
|
+ :return: None
|
|
|
+ """
|
|
|
+ BackendServers = [{"ServerId": instance_id, "Weight": weight} for instance_id in instance_id_list]
|
|
|
+ request = CommonRequest()
|
|
|
+ request.set_accept_format('json')
|
|
|
+ request.set_domain('slb.aliyuncs.com')
|
|
|
+ request.set_version('2014-05-15')
|
|
|
+ request.set_method('POST')
|
|
|
+ request.set_action_name('SetBackendServers')
|
|
|
+ request.add_query_param('BackendServers', BackendServers)
|
|
|
+ request.add_query_param('LoadBalancerId', slb_id)
|
|
|
+ response = send_request(client=client, request=request)
|
|
|
+ return response
|