示例#1
0
def unbund_tencent_cloud_ip():
    time_stamp = datetime.datetime.now().strftime('%Y.%m.%d %H:%M:%S')
    try:
        cred = credential.Credential("AKIDofJm86Jf7JcgXCm280g9NQErLelerwIP",
                                     "eBV0pQ4TdbNuNdhcMr7ORVW2KSLVZOyP")
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, "ap-shanghai", clientProfile)
        req = models.DisassociateAddressRequest()
        AddressId = find_bund_tencent_cloud_ip()
        params = {"AddressId": AddressId}
        req.from_json_string(json.dumps(params))
        resp = client.DisassociateAddress(req).to_json_string()
        subject = '解绑弹性 IP 成功'
        content = time_stamp + "成功:解绑弹性 IP " + resp
        send_mail(subject, content)
        print(content)
    except TencentCloudSDKException as err:
        subject = '警告:解绑弹性 IP失败'
        content = time_stamp + "解绑弹性 IP失败 " + err
        send_mail(subject, content)
        print(content)
示例#2
0
def bund_tencent_cloud_ip():
    time_stamp = datetime.datetime.now().strftime('%Y.%m.%d %H:%M:%S')
    try:
        cred = credential.Credential(ak, sk)
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, "ap-shanghai", clientProfile)

        req = models.AssociateAddressRequest()
        AddressId = creat_tencent_cloud_ip()
        params = {"AddressId": AddressId, "InstanceId": instanceId}
        req.from_json_string(json.dumps(params))
        resp = client.AssociateAddress(req).to_json_string()
        subject = '新建弹性 IP 成功'
        content = time_stamp + "成功新建弹性 IP " + resp
        send_mail(subject, content)
        print(content)

    except TencentCloudSDKException as err:
        subject = '警告:绑定弹性 IP 失败'
        content = time_stamp + "绑定弹性 IP失败 " + err
        send_mail(subject, content)
        print(content)
示例#3
0
def find_bund_tencent_cloud_ip():
    time_stamp = datetime.datetime.now().strftime('%Y.%m.%d %H:%M:%S')
    try:
        cred = credential.Credential(ak, sk)
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, "ap-shanghai", clientProfile)

        req = models.DescribeAddressesRequest()
        params = {"Filters": [{"Values": [instanceId], "Name": "instance-id"}]}
        req.from_json_string(json.dumps(params))
        resp = client.DescribeAddresses(req).to_json_string()
        Response = resp.get('Response')
        AddressSet = Response.get('AddressSet')[0]
        AddressId = AddressSet.get('AddressId')  # 绑定实例的 eip id
        content = time_stamp + "查看绑定实例的腾讯云弹性 IP 成功"
        print(content)
        return AddressId

    except TencentCloudSDKException as err:
        content = time_stamp + "异常:查看绑定实例的腾讯云弹性 IP " + err
        print(content)
示例#4
0
def creat_tencent_cloud_ip():
    time_stamp = datetime.datetime.now().strftime('%Y.%m.%d %H:%M:%S')
    try:
        cred = credential.Credential(ak, sk)
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.tencentcloudapi.com"
        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, "ap-shanghai", clientProfile)

        req = models.AllocateAddressesRequest()
        params = {}
        req.from_json_string(json.dumps(params))

        resp = client.AllocateAddresses(req).to_json_string()
        Response = resp.get('Response')
        AddressSet = resp.get('AddressSet')[0]
        AddressId = resp.get('AddressSet')[0]
        subject = '新建弹性 IP 成功'
        content = time_stamp + "成功新建弹性 IP " + resp
        send_mail(subject, content)
        print(content)
        return AddressId

    except TencentCloudSDKException as err:
        subject = '警告:新建弹性 IP 失败'
        content = time_stamp + "新建弹性 IP失败 " + err
        send_mail(subject, content)
        print(content)
示例#5
0
 def describe_security_group_policies(self, region, security_id):
     client = vpc_client.VpcClient(self.credential, region, self.profile(self.SERVICE_NAME))
     req = vpc_models.DescribeSecurityGroupPoliciesRequest()
     params = '{"SecurityGroupId":"%s"}' % security_id
     req.from_json_string(params)
     resp = client.DescribeSecurityGroupPolicies(req)
     return json.loads(resp.to_json_string())['SecurityGroupPolicySet']
示例#6
0
def show_endtime_info(item):
    #
    count = 0
    now = datetime.datetime.now()
    expire_time_list = []
    #
    id = item["id"]
    key = item["key"]
    region = item["region"]
    cred = credential.Credential(id, key)
    client_cvm = cvm_client.CvmClient(cred, region)
    client_cbs = cbs_client.CbsClient(cred, region)
    client_vpc = vpc_client.VpcClient(cred, region)
    #
    cvm_info = cvm(client_cvm)
    for i in cvm_info:
        expiretime = i["ExpiredTime"].split('T')[0]
        expire_time_list.append(parse(expiretime))
    #
    cbs_info = cbs(client_cbs)
    for i in cbs_info:
        expiretime = i["DeadlineTime"]
        expire_time_list.append(parse(expiretime))

    count = show_result(now, count, expire_time_list)
    return count
示例#7
0
def updateIngress(cred, host_ip):

    apidebug(host_ip.decode())

    try:
        client = new_vpc_client(cred=cred, method="POST")
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.ap-guangzhou.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, "ap-guangzhou", clientProfile)

        req = vpc_models.ReplaceSecurityGroupPolicyRequest()
        req.from_json_string(params)

        req.SecurityGroupPolicySet.Ingress[0].CidrBlock = str(host_ip.decode())
        req.SecurityGroupPolicySet.Version = '11'

        resp = client.ReplaceSecurityGroupPolicy(req)

        if os.getenv('API_JSON_INFO') == "1":
            # resp = client.ReplaceSecurityGroupPolicy(req)
            apiinfo(resp.to_json_string())

        return resp

    except TencentCloudSDKException as err:
        print(err)
示例#8
0
def user_interface():
    cred = credential.Credential(SecretId, SecretKey)
    httpProfile = HttpProfile()
    httpProfile.endpoint = "vpc.tencentcloudapi.com"

    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    client = vpc_client.VpcClient(cred, Region, clientProfile)
    return client
示例#9
0
    def init_client(self,region):
	self._region=region
	if True:
	    try:
		cred = credential.Credential(self._tencent_id, self._tencent_key)
		if self._region:
		    region=self._region
		    if region.find('fsi'):
			endpoint=self._api+'.'+region+'.tencentcloudapi.com'
			hp=http_profile.HttpProfile()
			hp.endpoint = endpoint
			cp=client_profile.ClientProfile()
			cp.httpProfile = hp
			self._client = vpc_client.VpcClient(cred,region,cp)
		    else:
			self._client = vpc_client.VpcClient(cred,self._region)
	    except TencentCloudSDKException as err:
		print(err)
	    except Exception as e:
		 print str(e)
示例#10
0
 def __init__(self,
              group_id,
              secret_id,
              secret_key,
              region='ap-beijing',
              endpoint='vpc.tencentcloudapi.com') -> None:
     cred = credential.Credential(secret_id, secret_key)
     httpProfile = HttpProfile()
     httpProfile.endpoint = endpoint
     clientProfile = ClientProfile()
     clientProfile.httpProfile = httpProfile
     self.client = vpc_client.VpcClient(cred, region, clientProfile)
     self.group_id = group_id
示例#11
0
    def __init__(self, config_dict):
        """
        读取配置文件,初始化变量
        config_dict:
            {
                "app_id": "1253329830",
                "secret_id": "AKIDZyGQXbErpY4MPDl7D4xxxxxxxxxxxxxxx",
                "secret_key": "kFUTDk38yZw4xc5JHzRdZFxxxxxxxxxx",
                "region_id": "ap-beijing",
                "image_name": "go2tencent-img",
                "system_disk_size": 50,
                "OsVersion":7,
                "OsType": "CentOS",
                "Architecture": "x86_64",
                "data_disks": [],
                "bandwidth_limit": 0,
                "bucket_name": "go2tencent"
            }
        """
        # 读入客户预定于的配置文件
        if isinstance(config_dict, dict) and len(config_dict.keys()) != 0:
            self.config_dict = config_dict
        else:
            print('input dict error! config_dict: {}'.format(config_dict))

        # 定义随机字符串
        self.random_char = ''.join(
            random.choice(string.ascii_letters + string.digits)
            for x in range(5))

        try:
            # 实例化一个认证对象
            cred = credential.Credential(self.config_dict.get('secret_id'),
                                         self.config_dict.get('secret_key'))
            # 实例化cvm的client对象
            self.cvm_helper = cvm_client.CvmClient(
                cred, self.config_dict.get('region_id'))
            # 实例化vpc的client对象
            self.vpc_helper = vpc_client.VpcClient(
                cred, self.config_dict.get('region_id'))

            # 实例化cos对象
            cos_config = CosConfig(Appid=config_dict.get('app_id'),
                                   Region=config_dict.get('region_id'),
                                   Secret_id=config_dict.get('secret_id'),
                                   Secret_key=config_dict.get('secret_key'))
            # 实例化cos的client对象
            self.cos_helper = CosS3Client(cos_config)

        except TencentCloudSDKException as err:
            print(err)
示例#12
0
def get_DirectConnect(Region_Id):
    """
    查询 DirectConnect专线网关 列表
    :param config_dict:
    :return: InstanceId
    """
    describe_request = vpc_models.DescribeDirectConnectGatewaysRequest()
    try:
        clt = vpc_client.VpcClient(cred, Region_Id)
        response = clt.DescribeDirectConnectGateways(describe_request)
        result_content = response.to_json_string()
        return json.loads(result_content)
    except TencentCloudSDKException as e:
        print(e)
示例#13
0
def get_BandwidthPackages(Region_Id):
    """
    查询 带宽包 列表
    :param config_dict:
    :return: InstanceId
    """
    describe_request = vpc_models.DescribeBandwidthPackagesRequest()
    try:
        clt = vpc_client.VpcClient(cred, Region_Id)
        response = clt.DescribeBandwidthPackages(describe_request)
        result_content = response.to_json_string()
        return json.loads(result_content)
    except TencentCloudSDKException as e:
        print(e)
示例#14
0
def new_vpc_client(cred, method):

    httpProfile = HttpProfile()

    httpProfile.reqMethod = "GET"
    HttpProfile.reqTimeout = 30
    httpProfile.endpoint = "cvm.ap-guangzhou.tencentcloudapit.com"
    clientProfile = ClientProfile()
    clientProfile.signMethod = "HmacSHA256"
    clientProfile.HttpProfile = httpProfile

    client = vpc_client.VpcClient(cred, "ap-guangzhou", clientProfile)

    return client
示例#15
0
def accept():
    try:
        cred = credential.Credential("AKIDYxBJFzqxBDNODqfcjgR2TkpiQvGOiBpI", "Pf0EHzYxAC6nKfqskSzObdUCk9MOGxUp")
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, "ap-beijing", clientProfile)

        req = models.AcceptAttachCcnInstancesRequest()
        params = '{"CcnId":"ccn-394zj0pv","Instances":[{"InstanceId":"ins-n56dbxj9","InstanceRegion":"ap-beijing"}]}'
        req.from_json_string(params)

        resp = client.AcceptAttachCcnInstances(req)
        print(resp.to_json_string())

    except TencentCloudSDKException as err:
        print(err)
def addsgrule(port,dest):
    try: 
        cred = credential.Credential("AKIDrbvKGsD1LRjJrFwyhgairroj3JRQoWr7", "fCkJk6qh4hAoHZflz61udDh7JNJMD5rT") 
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, "ap-tokyo", clientProfile) 

        req = models.CreateSecurityGroupPoliciesRequest()
        params = '{"SecurityGroupId":"sg-ea6jroua","SecurityGroupPolicySet":{"Ingress":[{"Protocol":"TCP","Port":\"%s\","CidrBlock":"0.0.0.0/0","Action":"ACCEPT","PolicyDescription":\"%s\"}]}}' % (port,dest)
        print('params',params)
        req.from_json_string(params)

        resp = client.CreateSecurityGroupPolicies(req) 
        print(resp.to_json_string()) 

    except TencentCloudSDKException as err: 
        print(err) 
示例#17
0
def get_provider_client(name=None):
    """
    Return a new provider client
    """
    provider = get_configured_provider()

    secretId = provider.get("id")
    secretKey = provider.get("key")
    region = __get_location(None)

    cpf = ClientProfile()
    cpf.language = "en-US"
    crd = credential.Credential(secretId, secretKey)

    if name == "cvm_client":
        client = cvm_client.CvmClient(crd, region, cpf)
    elif name == "vpc_client":
        client = vpc_client.VpcClient(crd, region, cpf)
    else:
        raise SaltCloudSystemExit("Client name {} is not supported".format(name))

    return client
def create(region, ccn_name, ccn_description, instance_charge_type,
           band_width_limit_type):
    """管理服务器创建云联网,目前只为北京地域,后续要有各地域,在管理服务器应该购买各地域的实例,用于通信传送服务器文件等"""

    try:
        cred = credential.Credential("AKIDYxBJFzqxBDNODqfcjgR2TkpiQvGOiBpI",
                                     "Pf0EHzYxAC6nKfqskSzObdUCk9MOGxUp")
        httpProfile = HttpProfile()
        httpProfile.endpoint = "vpc.tencentcloudapi.com"

        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = vpc_client.VpcClient(cred, region, clientProfile)

        req = models.CreateCcnRequest()
        params = '{"CcnName":"%s","CcnDescription":"%s","InstanceChargeType":"%s","BandwidthLimitType":"%s"}' \
                 % (ccn_name, ccn_description, instance_charge_type, band_width_limit_type)
        req.from_json_string(params)

        resp = client.CreateCcn(req)
        print(resp.to_json_string())

    except TencentCloudSDKException as err:
        print(err)
示例#19
0
 def describe_vpc_request(self, region):
     client = vpc_client.VpcClient(self.credential, region, self.profile(self.SERVICE_NAME))
     req = vpc_models.DescribeVpcsRequest()
     req.from_json_string('{}')
     return json.loads(client.DescribeVpcs(req).to_json_string())
示例#20
0
 def __init__(self, secretId, secretKey, region):
     super(NetworkTencentClient, self).__init__(secretId, secretKey)
     self.client = vpc_client.VpcClient(self.cred, region)
示例#21
0
from tencentcloud.cvm.v20170312 import cvm_client, models as cvm_models

from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
import json
import time

# import json data
with open('params.json', 'r') as f:
    params = json.load(f)
id = params["secret_id"]
key = params["secret_key"]
region = params["region"]

#
cred = credential.Credential(id, key)
vpc_client = vpc_client.VpcClient(cred, region)
cvm_client = cvm_client.CvmClient(cred, region)

# create vpc
'''
"vpc":{
		"vpc_name":"api_test",
		"vpc_cidr":"192.168.0.0/16"
	}
'''

def create_vpc():
    try:
        vpc_name = params["vpc"]["vpc_name"]
        vpc_cidr = params["vpc"]["vpc_cidr"]
示例#22
0
 def describe_security_groups(self, region):
     client = vpc_client.VpcClient(self.credential, region, self.profile(self.SERVICE_NAME))
     req = vpc_models.DescribeSecurityGroupsRequest()
     req.from_json_string('{}')
     return json.loads(client.DescribeSecurityGroups(req).to_json_string())['SecurityGroupSet']
示例#23
0
 def client(self):
     return vpc_client.VpcClient(self.credential, self.region)
示例#24
0
 def describe_subnet_request(self, region, vpc_id, zone='ap-shanghai-2'):
     client = vpc_client.VpcClient(self.credential, region, self.profile(self.SERVICE_NAME))
     req = vpc_models.DescribeSubnetsRequest()
     params = '{"Filters":[{"Name":"vpc-id","Values":["%s"]},{"Name":"zone","Values":["%s"]}]}' % (vpc_id, zone) if vpc_id else '{}'
     req.from_json_string(params)
     return json.loads(client.DescribeSubnets(req).to_json_string())['SubnetSet']
示例#25
0
 def __init__(self):
     super(NetworkHelper, self).__init__()
     self.client = vpc_client.VpcClient(self.cred, self.region)