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)
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)
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)
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)
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']
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
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)
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
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)
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
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)
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)
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)
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
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)
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)
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())
def __init__(self, secretId, secretKey, region): super(NetworkTencentClient, self).__init__(secretId, secretKey) self.client = vpc_client.VpcClient(self.cred, region)
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"]
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']
def client(self): return vpc_client.VpcClient(self.credential, self.region)
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']
def __init__(self): super(NetworkHelper, self).__init__() self.client = vpc_client.VpcClient(self.cred, self.region)