-
Notifications
You must be signed in to change notification settings - Fork 251
/
describe_instances.py
45 lines (40 loc) · 1.91 KB
/
describe_instances.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# -*- coding: utf-8 -*-
# Copyright 2017-2021 Tencent Ltd.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import os
import json
from tencentcloud.common.common_client import CommonClient
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
try:
cred = credential.Credential(
os.environ.get("TENCENTCLOUD_SECRET_ID"),
os.environ.get("TENCENTCLOUD_SECRET_KEY"))
httpProfile = HttpProfile()
# 域名首段必须和下文中CommonClient初始化的产品名严格匹配
httpProfile.endpoint = "cvm.tencentcloudapi.com"
clientProfile = ClientProfile()
clientProfile.httpProfile = httpProfile
# common client方法支持指定header,如 X-TC-TraceId、X-TC-Canary
headers = {
"X-TC-TraceId": "ffe0c072-8a5d-4e17-8887-a8a60252abca"
}
# 实例化要请求的common client对象,clientProfile是可选的。
common_client = CommonClient("cvm", '2017-03-12', cred, "ap-shanghai", profile=clientProfile)
# 接口参数作为json字典传入,得到的输出也是json字典,请求失败将抛出异常,headers为可选参数
print(common_client.call_json("DescribeInstances", {"Limit": 10}, headers=headers))
except TencentCloudSDKException as err:
print(err)