79 lines
2.4 KiB
Python
79 lines
2.4 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
# author: 'zfb'
|
||
# time: 2020-12-02 15:50
|
||
import json
|
||
|
||
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
|
||
# 导入 ecdn 产品模块的 models
|
||
from tencentcloud.ecdn.v20191012 import models
|
||
|
||
from api.get_client_profile import get_client_instance
|
||
|
||
def get_ecdn_client_instance(id, key):
|
||
'''获取ecdn的实例,用于后面对ecdn的各种操作
|
||
'''
|
||
client = get_client_instance(id, key, "ecdn")
|
||
return client
|
||
|
||
|
||
def get_ecdn_basic_info(client):
|
||
'''获取所有ECDN的基本信息,返回列表
|
||
'''
|
||
try:
|
||
req = models.DescribeDomainsRequest()
|
||
params = {}
|
||
req.from_json_string(json.dumps(params))
|
||
resp = client.DescribeDomains(req)
|
||
# print(resp.to_json_string())
|
||
print("获取所有ecdn基本信息成功")
|
||
return resp.Domains
|
||
|
||
except TencentCloudSDKException as err:
|
||
print(err)
|
||
return []
|
||
|
||
def get_ecdn_detail_info(client):
|
||
'''获取所有ECDN的详细信息,返回列表
|
||
'''
|
||
try:
|
||
req = models.DescribeDomainsConfigRequest()
|
||
params = {}
|
||
req.from_json_string(json.dumps(params))
|
||
resp = client.DescribeDomainsConfig(req)
|
||
# print(resp.to_json_string())
|
||
print("获取所有ecdn详细信息成功")
|
||
return resp.Domains
|
||
|
||
except TencentCloudSDKException as err:
|
||
print(err)
|
||
return []
|
||
|
||
def update_ecdn_ssl(client, domain, cert_id):
|
||
'''为指定域名的CDN的更换SSL证书
|
||
'''
|
||
# 为ecdn更新证书,使用ecdn相关接口
|
||
# https://console.cloud.tencent.com/api/explorer?Product=ecdn&Version=2019-10-12
|
||
try:
|
||
req = models.UpdateDomainConfigRequest()
|
||
# 必选参数
|
||
# Domain: String, 域名
|
||
# 部分可选参数
|
||
# Https: Https, Https 加速配置
|
||
# 该类型详见 https://cloud.tencent.com/document/api/228/30987#Https
|
||
params = {
|
||
"Domain": domain,
|
||
"Https": {
|
||
"CertInfo": {
|
||
"CertId": cert_id
|
||
}
|
||
}
|
||
}
|
||
req.from_json_string(json.dumps(params))
|
||
resp = client.UpdateDomainConfig(req)
|
||
print(resp.to_json_string())
|
||
print("成功更新域名为{0}的CDN的ssl证书为{1}".format(domain, cert_id))
|
||
|
||
except TencentCloudSDKException as err:
|
||
print(err)
|
||
exit("为CDN设置SSL证书{}出错".format(cert_id)) |