liqian vor 2 Jahren
Ursprung
Commit
fc104b06af
1 geänderte Dateien mit 22 neuen und 0 gelöschten Zeilen
  1. 22 0
      utils.py

+ 22 - 0
utils.py

@@ -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