Exemplo n.º 1
0
    def get_slbinstance_count(self, format, instance_id):
        from aliyunsdkslb.request.v20140515.DescribeLoadBalancersRequest import DescribeLoadBalancersRequest
        request = DescribeLoadBalancersRequest()

        request.set_accept_format(format)
        request.set_LoadBalancerId(instance_id)
        try:
            response = self.client.do_action_with_exception(request)
        except:
            return False
        return response
Exemplo n.º 2
0
    def get_slbinstance_id(self, format, page, limit):
        from aliyunsdkslb.request.v20140515.DescribeLoadBalancersRequest import DescribeLoadBalancersRequest
        request = DescribeLoadBalancersRequest()

        request.set_accept_format(format)
        request.set_PageNumber(page)
        request.set_PageSize(limit)
        try:
            response = self.client.do_action_with_exception(request)
        except:
            return False
        return response
Exemplo n.º 3
0
 def loadBalancingCreated(page_num=1):
     """
     查询所有SLB详细信息
     :param page_num:
     :return:
     """
     request = DescribeLoadBalancersRequest()
     request.set_accept_format('json')
     request.set_PageSize(page_num)
     request.set_PageSize(50)
     response = client().do_action_with_exception(request)
     response = json.loads(response)
     return response
Exemplo n.º 4
0
    def get_slbs(self, page_num=1, page_size=20):
        '''
        '''
        request = DescribeLoadBalancersRequest()
        request.set_accept_format('json')
        request.set_PageNumber(page_num)
        request.set_PageSize(page_size)

        data = self._request(request)
        total = data.get('TotalCount')
        data = data.get('LoadBalancers')
        data_list = data.get('LoadBalancer')
        data = {
            'total': total,
            'data_list': data_list,
        }
        return data
Exemplo n.º 5
0
 def slb(ecs_id):
     """
     查询所属ecs的负载均衡情况
     :param ecs_id: ecsid
     :return:
     """
     request = DescribeLoadBalancersRequest()
     request.set_accept_format('json')
     request.set_ServerId(ecs_id)
     response = client().do_action_with_exception(request)
     response = json.loads(response)
     if response.get('TotalCount') == 0:
         return {'slbId': None}
     slbListInfo = response.get('LoadBalancers')['LoadBalancer']
     if len(slbListInfo) > 1:
         slb_id = [i['LoadBalancerId'] for i in slbListInfo]
         return {'slbId': slb_id}
     return {'slbId': slbListInfo[0]['LoadBalancerId']}
Exemplo n.º 6
0
class SlbIpToId(Aliyunsdk):
    def __init__(self, address, resultFormat=resultFormat):
        Aliyunsdk.__init__(self)
        self.resultFormat = resultFormat
        rel = GetSlbIpAll()
        rel.run()
        if address not in rel.iplist:
            print('IP:  %s is not exists' % address)
            os._exit(17)
        self.request = DescribeLoadBalancersRequest()
        self.request.set_accept_format(self.resultFormat)
        self.request.set_Address(address)
        self.slbid = ''

    def handling(self):
        re = self.result['LoadBalancers']['LoadBalancer'][0]
        self.slbid = re['LoadBalancerId']
        self.slbip = re['Address']
        Aliyunsdk.handling(self)
Exemplo n.º 7
0
class GetSlbIpAll(Aliyunsdk):
    def __init__(self, resultFormat=resultFormat):
        Aliyunsdk.__init__(self)
        self.resultFormat = resultFormat
        self.request = DescribeLoadBalancersRequest()
        self.request.set_accept_format(self.resultFormat)

    def handling(self):
        self.iplist = self.result['LoadBalancers']['LoadBalancer']
        l = []
        #print('SLB IP:')
        #sum = len(self.iplist)
        for re in self.iplist:
            l.append(re['Address'])
        self.iplist = l[:]
        #for i in self.iplist:
        #    print(i)
        #print 'Total:',sum
        Aliyunsdk.handling(self)
Exemplo n.º 8
0
 def get_slb(self):
     """
     获取所有地域下slb负载均衡实例
     :return:
     """
     balancers = []
     regionids = self.DescribeRegions()
     try:
         for rid in regionids:
             client = AcsClient(self.AccessKeyId, self.AccessKeySecret, rid, connect_timeout=30)
             request = DescribeLoadBalancersRequest()
             request.set_accept_format('json')
             response = client.do_action_with_exception(request)
             # print(response)
             res = json.loads(str(response, encoding='utf-8'))
             balancers += res.get("LoadBalancers").get("LoadBalancer")
         return balancers
     except Exception as ex:
         print(ex)