Exemple #1
0
class MyUcloud():
    def __init__(self):
        self.ApiClient = UcloudApiClient(base_url, public_key, private_key)

    def get_eip_info(self):
        data = list()
        for i in range(0, 10):
            Parameters = {
                "Action": "DescribeEIP",
                "Region": "cn-bj2",
                "Limit": 100,
                "Offset": i
            }
            # data = list()
            response = self.ApiClient.get("/", Parameters)
            if not response['EIPSet']:
                for one_item in response['EIPSet']:
                    if one_item['Resource']['ResourceType'] != 'uhost':
                        temp = (one_item['Bandwidth'],
                                one_item['EIPAddr'][0]['IP'],
                                one_item['EIPId'],
                                one_item['Resource']['ResourceName'],
                                one_item['Weight'],
                                one_item['Resource']['ResourceType'])
                        data.append(temp)
                        del temp
                        # <type 'tuple'>: (2, u'123.59.42.216', u'eip-0v0by0', u'Platform-middleware-URDTServer03', 50)
        # print json.dumps(data, indent=1)
        return data

    def get_eip_bandwidth(self, eipid_list):
        return_data = dict()
        Parameters = {"Action": "DescribeBandwidthUsage", "Region": "cn-bj2"}
        response = self.ApiClient.get("/", Parameters)
        alL_data = response['EIPSet']
        for one_data in alL_data:
            eipid = one_data["EIPId"]
            bandwidth = one_data['CurBandwidth']
            if eipid in eipid_list:
                return_data[eipid] = bandwidth
        return return_data

    def get_single_bandwidth(self, eipid):
        Parameters = {
            "Action": "DescribeBandwidthUsage",
            "Region": "cn-bj2",
            "EIPIds.1": eipid
        }
        response = self.ApiClient.get("/", Parameters)
        alL_data = response['EIPSet']
        return alL_data[0]['CurBandwidth']
Exemple #2
0
def create(tag=None, name=None, password='******', cpu='1', memory=2, diskSpace=50, imageId="uimage-j4fbrn",
           uhostType='Normal',StorageType='LocalDisk'):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "CreateUHostInstance",
        "Region": region,
        "Zone":zone,
        "ImageId": imageId,
        "LoginMode": "Password",
        "Password": base64.b64encode(password),
        "Tag": tag,
        "CPU": cpu,
        "Memory": int(memory) * 1024,
        "DiskSpace": int(diskSpace),
        "Name": name,
        "StorageType":StorageType,
        "UHostType": uhostType  # SATA_SSD ,BigData

    }
    response = ApiClient.get("/", Parameters)
    if 0 != response['RetCode']:
        print response
        exit(1)

    for i in range(120):
        time.sleep(1)
        host = get(name)
        if host and 'IPSet' in host and 'IP' in host['IPSet'][0]:  # and 'Running' in host['State']
            print host['IPSet'][0]['IP']
            return host
    raise TypeError("can not get host info")
def uhost_describe(UHOSTID):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeUHostInstance",
        "ProjectId": "org-tgfjdn",
        "Region": "cn-bj2",
        "Zone": "cn-bj2-04",
        "UHostIds.1": UHOSTID
    }

    try:
        response = ApiClient.get("/", Parameters)
    except:
        log_write('', '\n', '', str(UHOSTID), '获取主机IP信息失败')
        sys.exit(0)

    response_data = json.loads(json.dumps(response))
    #print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))

    if response_data["RetCode"] == 0:
        IPLIST = response_data["UHostSet"][0]["IPSet"]
        log_write('', '\n', '', str(UHOSTID), '获取主机IP信息成功')
        return IPLIST
    else:
        log_write('', '\n', '', str(UHOSTID), '获取主机IP信息失败')
        sys.exit(0)
def eip_describe(IPUID):
    """EIP 查看函数"""
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeEIP",
        "ProjectId": "org-tgfjdn",
        "Region": "cn-bj2",
        "EIPIds.1": IPUID,
    }

    try:
        response = ApiClient.get("/", Parameters)
    except:
        log_write('', '\n', '', str(IPUID), 'EIP查询权重失败')
        sys.exit(0)

    response_data = json.loads(json.dumps(response))
    #print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))

    time.sleep(1)

    if response_data["RetCode"] == 0:
        #log_write('', '\n', '', str(response_data))
        WG = response_data["EIPSet"][0]["Weight"]
        log_write('', '\n', '', str(IPUID), 'EIP查询权重为[' + str(WG) + ']')
        return WG
    else:
        log_write('', '\n', '', str(IPUID), 'EIP查询权重失败')
        sys.exit(0)
class MyUcloud():
    def __init__(self):
        self.ApiClient = UcloudApiClient(base_url, public_key, private_key)

    def create_firewall(self, fire_name, rules):
        """
        http(s)://api.ucloud.cn/?Action=CreateSecurityGroup
    &Region=cn-bj2
    &GroupName=NewSecurityGroup
    &Rule.1=UDP|53|0.0.0.0/0|ACCEPT|50
    &Rule.0=TCP|3306|0.0.0.0/0|DROP|50
        :param rule: rule
        :return: True/False
        """
        Parameters = {"Action": "CreateSecurityGroup", "GroupName": fire_name, "Region": "cn-bj2",
                      "Description": fire_name}
        for i in range(len(rules)):
            key = "Rule.%s" % str(i)
            Parameters[key] = rules[i]

        # data = list()
        response = self.ApiClient.get("/", Parameters)
        if response['RetCode'] == 0:
            print "防火墙规则添加操作成功, 防火墙ID {0}".format(response['FWId'])
        else:
            print "防火墙规则添加操作失败,返回值{0} ,信息 {1}".format(response['RetCode'], response['Message'])

        return True
def eip_Weight_modify(IPUID, WG):
    """修改EIP权重"""
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "ModifyEIPWeight",
        "ProjectId": "org-tgfjdn",
        "Region": "cn-bj2",
        "EIPId": IPUID,
        "Weight": WG
    }

    try:
        response = ApiClient.get("/", Parameters)
    except:
        log_write('', '\n', '', str(IPUID), 'EIP修改权重失败')
        sys.exit(0)

    response_data = json.loads(json.dumps(response))
    #print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))

    if response_data["RetCode"] == 0:
        log_write('', '\n', '', str(IPUID), 'EIP修改权重为[' + str(WG) + ']')
    else:
        log_write('', '\n', '', str(IPUID), 'EIP修改权重失败')
        sys.exit(0)
Exemple #7
0
def flush_cdn(DomainId,UrlList,Type='dir'):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "RefreshUcdnDomainCache",
        "Region": region,
        "Zone":zone,
        "ProjectId":project_id,
        "DomainId": DomainId,
        "Type": Type,
        "UrlList.0": UrlList
    }
    response = ApiClient.get("/", Parameters)
    if 0 != response['RetCode']:
        print response
        exit(1)
    print response
    taskId=response['TaskId']
    for i in range(1200):
        status=flush_task_status_cdn(DomainId,taskId)
        print status
        if status=="success":
            return True
        elif status=="failure":
            return False
        time.sleep(1)
    return False
def eip_apply():
    """EIP申请函数"""
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "AllocateEIP",
        "ProjectId": "org-tgfjdn",
        "Region": "cn-bj2",
        "OperatorName": "Bgp",
        "Bandwidth": "1",
        "ChargeType": "Month",
        "Count": "1",
        "Name": "EIP",
        "Remark": "XX项目",
        "Tag": "XX项目"
    }

    try:
        response = ApiClient.get("/", Parameters)
    except:
        log_write('', '\n', ' EIP申请失败')
        sys.exit(0)

    response_data = json.loads(json.dumps(response))
    #print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))

    IPADDR = response_data["EIPSet"][0]["EIPAddr"][0]["IP"]
    IPUID = str(response_data["EIPSet"][0]["EIPId"])

    log_write('', '\n', '', str(IPUID), str(IPADDR), 'EIP申请成功')

    eip_data = {}
    eip_data['IP'] = IPADDR
    eip_data['EIPId'] = IPUID

    return eip_data
Exemple #9
0
class UCloudAPI(object):

    def __init__(self):

        self.api_client = UcloudApiClient(base_url, public_key,  private_key, project_id)

    def request(self, **kwargs):
        return self.api_client.get(kwargs)
Exemple #10
0
def get(ip=None, tag=None):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {"Action": "DescribeEIP", "Region": region, "Limit": '100000'}
    ips = ApiClient.get("/", Parameters)
    #print ips
    for ip_tmp in ips['EIPSet']:
        if ip and ip == ip_tmp['EIPAddr'][0]['IP']:
            return ip_tmp
        if tag and tag == ip_tmp['Tag']:
            return ip_tmp
Exemple #11
0
def get_all():
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeUHostInstance",
        "Region": region,
        "Limit": '100000'
    }
    response = ApiClient.get("/", Parameters);

    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
Exemple #12
0
def delete(ip):
    ip = get(ip)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "ReleaseEIP",
        "Region": region,
        "EIPId": ip['EIPId']
    }
    response = ApiClient.get("/", Parameters);

    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
Exemple #13
0
def get_ulb_list(region):
    """get one user's ulb list"""
    api_client = UcloudApiClient(config.base_url, config.public_key,
                                 config.private_key)

    params = {}
    params['Action'] = "DescribeULB"
    params['Region'] = region

    response = api_client.get("/", params)
    pprint(response)
Exemple #14
0
def get_ulb_list(region):
    """get one user's ulb list"""
    api_client = UcloudApiClient(config.base_url, config.public_key,
                                 config.private_key)

    params = {};
    params['Action'] = "DescribeULB"
    params['Region'] = "cn-bj1"

    response = api_client.get("/", params)
    pprint(response)
Exemple #15
0
def delete(ip):
    host = get(ip=ip)
    stop(ip, check=True)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "TerminateUHostInstance",
        "Region": region,
        "UHostId": host['UHostId']
    }
    response = ApiClient.get("/", Parameters);

    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
Exemple #16
0
def get_all(resourceType=None):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {"Action": "DescribeEIP", "Region": region, "Limit": '100000'}
    ips = ApiClient.get("/", Parameters)
    #print ips
    result_ips = []
    for ip_tmp in ips['EIPSet']:
        if resourceType and resourceType == ip_tmp['Resource']['ResourceType']:
            result_ips.append(ip_tmp['EIPAddr'][0]['IP'])
        elif resourceType is None:
            result_ips.append(ip_tmp['EIPAddr'][0]['IP'])
    return result_ips
Exemple #17
0
def unbing(ip,hostId):
    ip = get(ip)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "UnBindEIP",
        "Region": region,
        'ResourceType':'uhost',
        'ResourceId':hostId, #TODO
        "EIPId": ip['EIPId']
    }
    response = ApiClient.get("/", Parameters);

    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
Exemple #18
0
def modify_eip_weight(ip,weight=50):
    ip = get(ip)
    print 'start modify_eip_weight {} to weight{} '.format(ip,weight)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "ModifyEIPWeight",
        "Region": region,
        'Weight':weight,
        "EIPId": ip['EIPId']
    }
    response = ApiClient.get("/", Parameters);

    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
Exemple #19
0
def stop(ip, check=False):
    host = get(ip=ip)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "StopUHostInstance",
        "Region": region,
        "UHostId": host['UHostId']
    }
    response = ApiClient.get("/", Parameters);
    if check:
        checkStatus(ip, 'Stopped')

    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
def get_metric(region, resource_type, resource_id, metric_name,
               timerange=1 * 60 * 60):
    """Get UCloud monitor data
    Region: "cn-east-01"|"cn-north-01"|"cn-south-01"|"hk-01"|"cn-north-02"
                华东       北京bgpa         华南      香港    北京bgpb
    ResourceType: 'uhost'|'udb'|'umem'|'ulb'
    MetricName:
        uhost:
            'NetworkIn'
            'NetworkOut'
            'CPUUtilization'
            'IORead'
            'IOWrite'
            'DiskReadOps'
            'DiskWriteOps'
            'NICIn'
            'NICOut'
            'MemUsage'
            'DataSpaceUsage'
            'RootSpaceUsage'
            'ReadonlyDiskCount'
            'RunnableProcessCount'
            'BlockProcessCount'
        udb:
            'CPUUtilization'
            'MemUsage'
            'QPS'
            'ExpensiveQuery'

        ulb:
            'NetworkOut'
            'CurrentConnections'

        umem:
            'Usage'
            'QPS'
            'InstanceCount'

    """
    api_client = UcloudApiClient(config.base_url, config.public_key,
                                 config.private_key)

    params = {};
    params['Region'] = region
    params['Action'] = 'GetMetric' 
    params['ResourceType'] = resource_type 
    params['ResourceID'] = resource_id 
    params['MetricName'] = metric_name
    params['TimeRange'] = timerange 
    response = api_client.get("/", params)
    pprint(response)
Exemple #21
0
def ReinstallUHostInstance(ip, password='******', imageId='uimage-j4fbrn'):
    host = get(ip=ip)
    poweroff(ip, check=True)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "ReinstallUHostInstance",
        "Region": region,
        "UHostId": host['UHostId'],
        "Password": base64.b64encode(password),
        "ImageId": imageId
    }
    response = ApiClient.get("/", Parameters);

    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
Exemple #22
0
def delete(ip):
    ip = get(ip)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "ReleaseEIP",
        "Region": region,
        "EIPId": ip['EIPId']
    }
    response = ApiClient.get("/", Parameters)

    print json.dumps(response,
                     sort_keys=True,
                     indent=4,
                     separators=(',', ': '))
Exemple #23
0
def get(ip=None,tag=None):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeEIP",
        "Region": region,
        "Limit": '100000'
    }
    ips = ApiClient.get("/", Parameters)
    #print ips
    for ip_tmp in ips['EIPSet']:
        if ip and  ip == ip_tmp['EIPAddr'][0]['IP'] :
            return ip_tmp
        if tag and tag == ip_tmp['Tag'] :
            return ip_tmp
Exemple #24
0
def get_metric(region, resource_type, resource_id, metric_name,
               timerange=1 * 60 * 60):
    """Get UCloud monitor data
    Region: "cn-east-01"|"cn-north-01"|"cn-south-01"|"hk-01"|"cn-north-02"
            East China   Bejing bgpa   South China  Hong Kong   Beijing bgpb
    ResourceType: 'uhost'|'udb'|'umem'|'ulb'
    MetricName:
        uhost:
            'NetworkIn'
            'NetworkOut'
            'CPUUtilization'
            'IORead'
            'IOWrite'
            'DiskReadOps'
            'DiskWriteOps'
            'NICIn'
            'NICOut'
            'MemUsage'
            'DataSpaceUsage'
            'RootSpaceUsage'
            'ReadonlyDiskCount'
            'RunnableProcessCount'
            'BlockProcessCount'
        udb:
            'CPUUtilization'
            'MemUsage'
            'QPS'
            'ExpensiveQuery'

        ulb:
            'NetworkOut'
            'CurrentConnections'

        umem:
            'Usage'
            'QPS'
            'InstanceCount'

    """
    api_client = UcloudApiClient(config.base_url, config.public_key,
                                 config.private_key)

    response = api_client.get("/", Action="GetMetric",
                              Region=region,
                              ResourceType=resource_type,
                              ResourceID=resource_id,
                              MetricName=metric_name,
                              TimeRange=timerange)
    pprint(response)
Exemple #25
0
def flush_task_status_cdn(DomainId,TaskId):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeRefreshCacheTask",
        "Region": region,
        "Zone":zone,
        "ProjectId":project_id,
        "DomainId": DomainId,
        "TaskId": TaskId
    }
    response = ApiClient.get("/", Parameters)
    if 0 != response['RetCode']:
        print response
        exit(1)
    return response['TaskSet'][0]['Status']
Exemple #26
0
def get(host_name='', ip=''):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeUHostInstance",
        "Region": region,
        "Limit": '100000'
    }
    hosts = ApiClient.get("/", Parameters)

    for host in hosts['UHostSet'] :
        if 'Name' in host and 'IPSet' in host and len(host['IPSet'])>0 and 'IP' in host['IPSet'][0]:
            if host_name == host['Name'] or ip == host['IPSet'][0]['IP']:
                return host
        else:
            print "get host Describe err"
Exemple #27
0
def modify_eip_weight(ip, weight=50):
    ip = get(ip)
    print 'start modify_eip_weight {} to weight{} '.format(ip, weight)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "ModifyEIPWeight",
        "Region": region,
        'Weight': weight,
        "EIPId": ip['EIPId']
    }
    response = ApiClient.get("/", Parameters)

    print json.dumps(response,
                     sort_keys=True,
                     indent=4,
                     separators=(',', ': '))
Exemple #28
0
def get_all(resourceType=None):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeEIP",
        "Region": region,
        "Limit": '100000'
    }
    ips = ApiClient.get("/", Parameters)
    #print ips
    result_ips=[]
    for ip_tmp in ips['EIPSet']:
        if  resourceType and resourceType == ip_tmp['Resource']['ResourceType']:
            result_ips.append( ip_tmp['EIPAddr'][0]['IP'])
        elif resourceType is None:
            result_ips.append( ip_tmp['EIPAddr'][0]['IP'])
    return result_ips
Exemple #29
0
def unbing(ip, hostId):
    ip = get(ip)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "UnBindEIP",
        "Region": region,
        'ResourceType': 'uhost',
        'ResourceId': hostId,  #TODO
        "EIPId": ip['EIPId']
    }
    response = ApiClient.get("/", Parameters)

    print json.dumps(response,
                     sort_keys=True,
                     indent=4,
                     separators=(',', ': '))
def eip_delete(IPUID):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {"Action": "ReleaseEIP", "EIPId": IPUID, "Region": "cn-bj2"}

    try:
        response = ApiClient.get("/", Parameters)
    except:
        log_write('', '\n', '', str(IPUID), 'EIP释放失败')
        sys.exit(0)

    response_data = json.loads(json.dumps(response))

    if response_data["RetCode"] == 0:
        log_write('', '\n', '', str(IPUID), 'EIP释放成功')
    else:
        log_write('', '\n', '', str(IPUID), 'EIP释放失败')
        sys.exit(0)
Exemple #31
0
def getImage(ImageType="Base"):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeImage",
        "Region": region,
        "Zone":zone,
        "ImageType": ImageType,
        "OsType": 'Linux',
        "Offset": 0,
        "Limit": 1000,
        "ProjectId":project_id
    }
    response = ApiClient.get("/", Parameters)
    if 0 != response['RetCode']:
        print response
        exit(1)

    print response
def eip_list_relese(name):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "DescribeEIP",
        "ProjectId": "org-tgfjdn",
        "Region": "cn-bj2",
        "Limit": 300
    }

    trynum = 0
    success = False
    while trynum < 3 and not success:
        try:
            response = ApiClient.get("/", Parameters)
            success = True
        except:
            trynum += 1
            if trynum != 3:
                time.sleep(5)
            else:
                log_write('\n', '\n', 'EIP获取列表失败时间:')
                sys.exit(0)

    response_data = json.loads(json.dumps(response))

    for eip_data in response_data["EIPSet"]:
        if eip_data["Status"] == "free":
            a = name.decode('utf-8').encode('unicode_escape')
            b = eip_data["Name"].encode('unicode_escape')
            c = eip_data["Bandwidth"]
            d = eip_data["EIPId"]
            e = eip_data["EIPAddr"][0]["IP"]
            f = eip_data["CreateTime"]
            g = int(time.time() - 3600)

            if a == b and c == 1 and f < g:
                log_write('', ' ', str(e), str(d), '准备释放时间:')
                eip_delete(d)
        else:
            continue
Exemple #33
0
def create(tag='', Bandwidth=2, ChargeType='Dynamic', PayMode='Traffic'):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "AllocateEIP",
        "Region": region,
        "OperatorName": 'Bgp',
        "Bandwidth": Bandwidth,
        "ChargeType": ChargeType,
        "PayMode": PayMode,
        "Tag": tag,
        "Remark": 'ip_Remark'
    }
    response = ApiClient.get("/", Parameters)
    #print response
    if 0 != response['RetCode']:
        print response
        exec(1)
    #print response

    if 'EIPSet' in response:
        return response['EIPSet'][0]['EIPAddr'][0]['IP']

    raise TypeError("can not get host info")
Exemple #34
0
def create(tag='',Bandwidth=2,ChargeType='Dynamic',PayMode='Traffic'):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "AllocateEIP",
        "Region": region,
        "OperatorName": 'Bgp',
        "Bandwidth": Bandwidth,
        "ChargeType": ChargeType,
        "PayMode": PayMode,
        "Tag": tag,
        "Remark": 'ip_Remark'
    }
    response = ApiClient.get("/", Parameters)
    #print response
    if 0 != response['RetCode']:
        print response
        exec (1)
    #print response

    if 'EIPSet' in response  :
        return  response['EIPSet'][0]['EIPAddr'][0]['IP']

    raise TypeError("can not get host info")
def eip_unbind(IPUID, UHOSTID):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "UnBindEIP",
        "EIPId": IPUID,
        "ResourceId": UHOSTID,
        "ResourceType": "uhost",
        "Region": "cn-bj2",
        "ProjectId": "org-tgfjdn"
    }

    try:
        response = ApiClient.get("/", Parameters)
    except:
        log_write('', '\n', '', str(IPUID), str(UHOSTID), 'EIP解绑失败')
        sys.exit(0)

    response_data = json.loads(json.dumps(response))

    if response_data["RetCode"] == 0:
        log_write('', '\n', '', str(IPUID), str(UHOSTID), 'EIP解绑成功')
    else:
        log_write('', '\n', '', str(IPUID), str(UHOSTID), 'EIP解绑失败')
        sys.exit(0)
def eip_delete(IPUID):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {"Action": "ReleaseEIP", "EIPId": IPUID, "Region": "cn-bj2"}

    trynum = 0
    success = False
    while trynum < 3 and not success:
        try:
            response = ApiClient.get("/", Parameters)
            success = True
        except:
            trynum += 1
            if trynum != 3:
                time.sleep(5)
            else:
                log_write('\n', '\n', str(IPUID), '释放失败时间:')
                sys.exit(0)

    response_data = json.loads(json.dumps(response))

    if response_data["RetCode"] == 0:
        log_write('', '\n', '释放成功时间:')
    else:
        log_write('', '\n', '释放失败时间:')
Exemple #37
0
def Request(Parameters):
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    response = ApiClient.get("/", Parameters)
    return json.dumps(response, sort_keys=True, indent=4, separators=(",", ": "))
Exemple #38
0
#!/usr/bin/python
#-*- encoding: utf-8 -*-
from sdk import UcloudApiClient 
from config import *
import sys 
import json


ApiClient = UcloudApiClient(base_url, public_key, private_key, 1, 1)


#获取当前用户主机列表
response = ApiClient.get('/instances',
   offset = 0,
   max_count = 100
)

if response['ret_code'] == 0:
   print response


#获取EIP列表
response = ApiClient.get('/uip/list')
if response['ret_code'] == 0:
   print response


#绑定EIP到主机
response = ApiClient.post('/uip/associate',
   vm_id = "$VM_INSTANCE_UUID",
   eip_id = "$EIP_UUID"
Exemple #39
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from sdk import UcloudApiClient
from config import *
import sys
import json

#API handles instantiation


if __name__=='__main__':
    arg_length = len(sys.argv)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    response = ApiClient.get("/", Action="GetBalance");
    print response;
Exemple #40
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from sdk import UcloudApiClient
from config import *
import sys
import json

#实例化 API 句柄


if __name__=='__main__':
    arg_length = len(sys.argv)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters={
                    "Action":"ReleaseBackend", 
                    "Region":"cn-north-03",
                    "ULBId":"ulb-a3qq0o",
                    "BackendId":"6a049334-77dc-49b9-a55d-fce8d3d0d9e8"
            }
    response = ApiClient.get("/", Parameters);
    print json.dumps(response, sort_keys=True, indent=4, separators=(',', ': '))
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from sdk import UcloudApiClient
from config import *
import sys
import json

#实例化 API 句柄

if __name__ == '__main__':
    arg_length = len(sys.argv)
    ApiClient = UcloudApiClient(base_url, public_key, private_key)
    Parameters = {
        "Action": "CreateUHostInstance",
        "Region": "cn-north-03",
        "ImageId": "uimage-qiut5g",
        "LoginMode": "Password",
        "Password": "******"
    }
    response = ApiClient.get("/", Parameters)
    print json.dumps(response,
                     sort_keys=True,
                     indent=4,
                     separators=(',', ': '))
Exemple #42
0
#!/usr/bin/python
#-*- encoding: utf-8 -*-
from sdk import UcloudApiClient
from config import *
import sys
import json

ApiClient = UcloudApiClient(base_url, public_key, private_key, 1, 1)

#获取当前用户主机列表
response = ApiClient.get('/instances', offset=0, max_count=100)

if response['ret_code'] == 0:
    print response

#获取EIP列表
response = ApiClient.get('/uip/list')
if response['ret_code'] == 0:
    print response

#绑定EIP到主机
response = ApiClient.post('/uip/associate',
                          vm_id="$VM_INSTANCE_UUID",
                          eip_id="$EIP_UUID")
if response['ret_code'] == 0:
    print response

#从主机解绑EIP
response = ApiClient.post('/uip/disassociate',
                          vm_id="$VM_INSTANCE_UUID",
                          eip_id="$EIP_UUID")