01: 腾讯云API-云服务器

1.1 云服务器

  1、腾讯云SDK使用举例

       网址:https://cloud.tencent.com/document/sdk/Python

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
# 导入对应产品模块的client models。
from tencentcloud.cvm.v20170312 import cvm_client, models

secretId = "*********************************"
secretKey = "*********************************"
try:
    # 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
    cred = credential.Credential(secretId=secretId, secretKey=secretKey)

    # 实例化要请求产品(以cvm为例)的client对象
    client = cvm_client.CvmClient(cred, "ap-shanghai")     # 以查询可用区接口为例

    # 实例化一个请求对象
    req = models.DescribeZonesRequest()


    # 通过client对象调用想要访问的接口,需要传入请求对象
    resp = client.DescribeZones(req)
    # 输出json格式的字符串回包
    print '##########################'
    print resp.to_json_string()

except TencentCloudSDKException as err:
    print(err)

    
ret = {
    "TotalCount": 5,
    "ZoneSet": [{
        "ZoneState": "UNAVAILABLE",
        "ZoneName": "上海一区",
        "Zone": "ap-shanghai-1",
        "ZoneId": "200001"
    }, {
        "ZoneState": "AVAILABLE",
        "ZoneName": "上海二区",
        "Zone": "ap-shanghai-2",
        "ZoneId": "200002"
    }, {
        "ZoneState": "AVAILABLE",
        "ZoneName": "上海三区",
        "Zone": "ap-shanghai-3",
        "ZoneId": "200003"
    }, {
        "ZoneState": "AVAILABLE",
        "ZoneName": "上海四区",
        "Zone": "ap-shanghai-4",
        "ZoneId": "200004"
    }, {
        "ZoneState": "UNAVAILABLE",
        "ZoneName": "上海五区",
        "Zone": "ap-shanghai-5",
        "ZoneId": "200005"
    }],
    "RequestId": "ebd821c7-ac5c-4dfd-8038-762346bd14d1"
}
腾讯云SDK使用举例

  2、地域相关接口

       网址https://cloud.tencent.com/document/api/213/15708

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cvm.v20170312 import cvm_client, models
from day04.settings import secretKey,secretId  # 导入腾讯云账户secretId,secretKey值

# 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
def instantiates_auth_obj():
    cred = credential.Credential(secretId=secretId, secretKey=secretKey)
    return cred

# 查询地域列表
def query_zero_list():
    try:
        cred = instantiates_auth_obj()
        httpProfile = HttpProfile()
        httpProfile.endpoint = "cvm.tencentcloudapi.com"
        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = cvm_client.CvmClient(cred, "", clientProfile)
        req = models.DescribeRegionsRequest()
        params = '{}'
        req.from_json_string(params)
        resp = client.DescribeRegions(req)
        ret = resp.to_json_string()
        return ret
    except TencentCloudSDKException as err:
        print(err)

print query_zero_list()
d = {
    "TotalCount": 19,
    "RegionSet": [{
        "RegionState": "AVAILABLE",
        "Region": "ap-bangkok",
        "RegionName": "亚太地区(曼谷)"
    }, {
        "RegionState": "AVAILABLE",
        "Region": "ap-beijing",
        "RegionName": "华北地区(北京)"
    },{
        "RegionState": "AVAILABLE",
        "Region": "na-siliconvalley",
        "RegionName": "美国西部(硅谷)"
    }, {
        "RegionState": "AVAILABLE",
        "Region": "na-toronto",
        "RegionName": "北美地区(多伦多)"
    }],
    "RequestId": "8418f014-9ad1-4292-83f1-cf90d27f8ef8"
}
查询地域列表:如北京、曼谷
#! /usr/bin/env python
# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cvm.v20170312 import cvm_client, models
from day04.settings import secretKey,secretId  # 导入腾讯云账户secretId,secretKey值

# 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
def instantiates_auth_obj():
    cred = credential.Credential(secretId=secretId, secretKey=secretKey)
    return cred

# 查询指定地域可用区列表
def zero_region_list(zones):
    try:
        cred = instantiates_auth_obj()
        httpProfile = HttpProfile()
        httpProfile.endpoint = "cvm.tencentcloudapi.com"
        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = cvm_client.CvmClient(cred, zones, clientProfile)
        req = models.DescribeZonesRequest()
        params = '{}'
        req.from_json_string(params)
        resp = client.DescribeZones(req)
        ret = resp.to_json_string()
        return ret

    except TencentCloudSDKException as err:
        print(err)
        return {}

print zero_region_list('ap-beijing')
d = {
    "TotalCount": 5,
    "ZoneSet": [{
        "ZoneState": "AVAILABLE",
        "ZoneName": "北京一区",
        "Zone": "ap-beijing-1",
        "ZoneId": "800001"
    },{
        "ZoneState": "UNAVAILABLE",
        "ZoneName": "北京五区",
        "Zone": "ap-beijing-5",
        "ZoneId": "800005"
    }],
    "RequestId": "011d2390-9dfc-4ba2-a73a-038b740be408"
}
查询指定地域中有哪些地区:如北京一区、北京二区

  3、实例相关

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cvm.v20170312 import cvm_client, models
from day04.settings import secretKey,secretId  # 导入腾讯云账户secretId,secretKey值

# 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
def instantiates_auth_obj():
    cred = credential.Credential(secretId=secretId, secretKey=secretKey)
    return cred

# 查询指定地域可用区列表(查询北京地域所有主机信息 InstanceId机器唯一ID)
def zero_hosts_list(zones):
    try:
        cred = instantiates_auth_obj()
        httpProfile = HttpProfile()
        httpProfile.endpoint = "cvm.tencentcloudapi.com"
        clientProfile = ClientProfile()
        clientProfile.httpProfile = httpProfile
        client = cvm_client.CvmClient(cred, zones, clientProfile)
        req = models.DescribeInstancesRequest()
        params = '{}'
        req.from_json_string(params)
        resp = client.DescribeInstances(req)
        return resp
    except TencentCloudSDKException as err:
        print(err)
        return {}


print zero_hosts_list('ap-beijing')
d = {
    "InstanceSet": [{
        "RenewFlag": "NOTIFY_AND_AUTO_RENEW",
        "InstanceState": "RUNNING",
        "LoginSettings": {
            "KeyIds": None,
            "Password": None,
            "KeepImageLogin": None
        },
        "RestrictState": "NORMAL",
        "ExpiredTime": "2019-04-11T07:25:00Z",
        "Memory": 1,
        "CreatedTime": "2019-03-11T07:25:00Z",
        "CPU": 1,
        "PublicIpAddresses": ["118.89.245.148"],
        "Tags": [{
            "Key": "costcenter",
            "Value": "devops"
        }, {
            "Key": "负责人",
            "Value": "zihe.feng"
        }],
        "InstanceId": "ins-3n9jqe9x",
        "ImageId": "img-qp03e2j7",
        "StopChargingMode": "NOT_APPLICABLE",
        "InstanceChargeType": "PREPAID",
        "InstanceType": "S2.SMALL1",
        "SystemDisk": {
            "DiskSize": 100,
            "DiskId": "disk-bxp7e5c1",
            "DiskType": "CLOUD_SSD"
        },
        "Placement": {
            "ProjectId": 0,
            "HostIds": None,
            "Zone": "ap-beijing-1"
        },
        "PrivateIpAddresses": ["172.20.0.10"],
        "OsName": "CentOS 7.3 64位",
        "SecurityGroupIds": ["sg-od0hrpvh"],
        "InstanceName": "bj-test-common-ss-1",
        "DataDisks": None,
        "VirtualPrivateCloud": {
            "SubnetId": "subnet-qebil5dp",
            "AsVpcGateway": False,
            "VpcId": "vpc-fbv2dybq",
            "PrivateIpAddresses": None
        },
        "InternetAccessible": {
            "PublicIpAssigned": None,
            "InternetChargeType": "TRAFFIC_POSTPAID_BY_HOUR",
            "BandwidthPackageId": None,
            "InternetMaxBandwidthOut": 200
        }
    }, {
        "RenewFlag": "NOTIFY_AND_AUTO_RENEW",
        "InstanceState": "RUNNING",
        "LoginSettings": {
            "KeyIds": ["skey-h64mpzpz"],
            "Password": None,
            "KeepImageLogin": None
        },
        "RestrictState": "NORMAL",
        "ExpiredTime": "2019-04-07T11:11:42Z",
        "Memory": 56,
        "CreatedTime": "2019-03-07T11:11:42Z",
        "CPU": 28,
        "PublicIpAddresses": ["154.8.155.101"],
        "Tags": [],
        "InstanceId": "ins-33hru7oj",
        "ImageId": "img-qp03e2j7",
        "StopChargingMode": "NOT_APPLICABLE",
        "InstanceChargeType": "PREPAID",
        "InstanceType": "GN2.7XLARGE56",
        "SystemDisk": {
            "DiskSize": 50,
            "DiskId": "ldisk-czzwc94e",
            "DiskType": "LOCAL_SSD"
        },
        "Placement": {
            "ProjectId": 0,
            "HostIds": None,
            "Zone": "ap-beijing-2"
        },
        "PrivateIpAddresses": ["172.21.0.15"],
        "OsName": "CentOS 7.3 64位",
        "SecurityGroupIds": ["sg-od0hrpvh"],
        "InstanceName": "bj-prod-research-gpu-2",
        "DataDisks": [{
            "DeleteWithInstance": None,
            "DiskSize": 1650,
            "DiskId": "ldisk-1xfm3yi6",
            "DiskType": "LOCAL_SSD"
        }],
        "VirtualPrivateCloud": {
            "SubnetId": "subnet-iyhhdfun",
            "AsVpcGateway": False,
            "VpcId": "vpc-pmccgax8",
            "PrivateIpAddresses": None
        },
        "InternetAccessible": {
            "PublicIpAssigned": None,
            "InternetChargeType": "TRAFFIC_POSTPAID_BY_HOUR",
            "BandwidthPackageId": None,
            "InternetMaxBandwidthOut": 200
        }
    }],
    "TotalCount": 11,
    "RequestId": "b68ed268-d528-48e8-aa29-416b126d7489"
}
查询实例机型列表:如查询北京这个地域所有主机列表

 

 

 

 

 

 

 

 

11111111111111111111

posted @ 2019-03-27 13:53  不做大哥好多年  阅读(827)  评论(0编辑  收藏  举报