/* * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. * * 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. */ namespace TencentCloud.Ecdn.V20191012 { using Newtonsoft.Json; using System.Threading.Tasks; using TencentCloud.Common; using TencentCloud.Common.Profile; using TencentCloud.Ecdn.V20191012.Models; public class EcdnClient : AbstractClient{ private const string endpoint = "ecdn.tencentcloudapi.com"; private const string version = "2019-10-12"; /// /// Client constructor. /// /// Credentials. /// Region name, such as "ap-guangzhou". public EcdnClient(Credential credential, string region) : this(credential, region, new ClientProfile()) { } /// /// Client Constructor. /// /// Credentials. /// Region name, such as "ap-guangzhou". /// Client profiles. public EcdnClient(Credential credential, string region, ClientProfile profile) : base(endpoint, version, credential, region, profile) { } /// /// 本接口(AddEcdnDomain)用于创建加速域名。 /// /// /// public async Task AddEcdnDomain(AddEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "AddEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(AddEcdnDomain)用于创建加速域名。 /// /// /// public AddEcdnDomainResponse AddEcdnDomainSync(AddEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "AddEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DeleteEcdnDomain)用于删除指定加速域名。待删除域名必须处于已停用状态。 /// /// /// public async Task DeleteEcdnDomain(DeleteEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DeleteEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DeleteEcdnDomain)用于删除指定加速域名。待删除域名必须处于已停用状态。 /// /// /// public DeleteEcdnDomainResponse DeleteEcdnDomainSync(DeleteEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DeleteEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeDomains)用于查询CDN域名基本信息,包括项目id,状态,业务类型,创建时间,更新时间等。 /// /// /// public async Task DescribeDomains(DescribeDomainsRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribeDomains"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeDomains)用于查询CDN域名基本信息,包括项目id,状态,业务类型,创建时间,更新时间等。 /// /// /// public DescribeDomainsResponse DescribeDomainsSync(DescribeDomainsRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeDomains"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeDomainsConfig)用于查询CDN加速域名详细配置信息。 /// /// /// public async Task DescribeDomainsConfig(DescribeDomainsConfigRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribeDomainsConfig"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeDomainsConfig)用于查询CDN加速域名详细配置信息。 /// /// /// public DescribeDomainsConfigResponse DescribeDomainsConfigSync(DescribeDomainsConfigRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeDomainsConfig"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeEcdnDomainLogs)用于查询域名的访问日志下载地址。 /// /// /// public async Task DescribeEcdnDomainLogs(DescribeEcdnDomainLogsRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribeEcdnDomainLogs"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeEcdnDomainLogs)用于查询域名的访问日志下载地址。 /// /// /// public DescribeEcdnDomainLogsResponse DescribeEcdnDomainLogsSync(DescribeEcdnDomainLogsRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeEcdnDomainLogs"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeEcdnDomainStatistics)用于查询指定时间段内的域名访问统计指标 /// /// /// public async Task DescribeEcdnDomainStatistics(DescribeEcdnDomainStatisticsRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribeEcdnDomainStatistics"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(DescribeEcdnDomainStatistics)用于查询指定时间段内的域名访问统计指标 /// /// /// public DescribeEcdnDomainStatisticsResponse DescribeEcdnDomainStatisticsSync(DescribeEcdnDomainStatisticsRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeEcdnDomainStatistics"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// DescribeEcdnStatistics用于查询 ECDN 实时访问监控数据,支持以下指标查询: /// /// + 流量(单位为 byte) /// + 带宽(单位为 bps) /// + 请求数(单位为 次) /// + 响应时间(单位为ms) /// + 状态码 2xx 汇总及各 2 开头状态码明细(单位为 个) /// + 状态码 3xx 汇总及各 3 开头状态码明细(单位为 个) /// + 状态码 4xx 汇总及各 4 开头状态码明细(单位为 个) /// + 状态码 5xx 汇总及各 5 开头状态码明细(单位为 个) /// /// /// public async Task DescribeEcdnStatistics(DescribeEcdnStatisticsRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribeEcdnStatistics"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// DescribeEcdnStatistics用于查询 ECDN 实时访问监控数据,支持以下指标查询: /// /// + 流量(单位为 byte) /// + 带宽(单位为 bps) /// + 请求数(单位为 次) /// + 响应时间(单位为ms) /// + 状态码 2xx 汇总及各 2 开头状态码明细(单位为 个) /// + 状态码 3xx 汇总及各 3 开头状态码明细(单位为 个) /// + 状态码 4xx 汇总及各 4 开头状态码明细(单位为 个) /// + 状态码 5xx 汇总及各 5 开头状态码明细(单位为 个) /// /// /// public DescribeEcdnStatisticsResponse DescribeEcdnStatisticsSync(DescribeEcdnStatisticsRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribeEcdnStatistics"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 查询刷新接口的用量配额。 /// /// /// public async Task DescribePurgeQuota(DescribePurgeQuotaRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribePurgeQuota"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 查询刷新接口的用量配额。 /// /// /// public DescribePurgeQuotaResponse DescribePurgeQuotaSync(DescribePurgeQuotaRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribePurgeQuota"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// DescribePurgeTasks 用于查询刷新任务提交历史记录及执行进度。 /// /// /// public async Task DescribePurgeTasks(DescribePurgeTasksRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "DescribePurgeTasks"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// DescribePurgeTasks 用于查询刷新任务提交历史记录及执行进度。 /// /// /// public DescribePurgeTasksResponse DescribePurgeTasksSync(DescribePurgeTasksRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "DescribePurgeTasks"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// PurgeUrlsCache 用于批量刷新目录缓存,一次提交将返回一个刷新任务id。 /// /// /// public async Task PurgePathCache(PurgePathCacheRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "PurgePathCache"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// PurgeUrlsCache 用于批量刷新目录缓存,一次提交将返回一个刷新任务id。 /// /// /// public PurgePathCacheResponse PurgePathCacheSync(PurgePathCacheRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "PurgePathCache"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// PurgeUrlsCache 用于批量刷新Url,一次提交将返回一个刷新任务id。 /// /// /// public async Task PurgeUrlsCache(PurgeUrlsCacheRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "PurgeUrlsCache"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// PurgeUrlsCache 用于批量刷新Url,一次提交将返回一个刷新任务id。 /// /// /// public PurgeUrlsCacheResponse PurgeUrlsCacheSync(PurgeUrlsCacheRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "PurgeUrlsCache"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(StartEcdnDomain)用于启用加速域名,待启用域名必须处于已下线状态。 /// /// /// public async Task StartEcdnDomain(StartEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "StartEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(StartEcdnDomain)用于启用加速域名,待启用域名必须处于已下线状态。 /// /// /// public StartEcdnDomainResponse StartEcdnDomainSync(StartEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "StartEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(StopCdnDomain)用于停止加速域名,待停用加速域名必须处于已上线或部署中状态。 /// /// /// public async Task StopEcdnDomain(StopEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "StopEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(StopCdnDomain)用于停止加速域名,待停用加速域名必须处于已上线或部署中状态。 /// /// /// public StopEcdnDomainResponse StopEcdnDomainSync(StopEcdnDomainRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "StopEcdnDomain"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(UpdateDomainConfig)用于更新ECDN加速域名配置信息。 /// 注意:如果需要更新复杂类型的配置项,必须传递整个对象的所有属性,未传递的属性将使用默认值。建议通过查询接口获取配置属性后,直接修改后传递给本接口。Https配置由于证书的特殊性,更新时不用传递证书和密钥字段。 /// /// /// public async Task UpdateDomainConfig(UpdateDomainConfigRequest req) { JsonResponseModel rsp = null; try { var strResp = await this.InternalRequest(req, "UpdateDomainConfig"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } /// /// 本接口(UpdateDomainConfig)用于更新ECDN加速域名配置信息。 /// 注意:如果需要更新复杂类型的配置项,必须传递整个对象的所有属性,未传递的属性将使用默认值。建议通过查询接口获取配置属性后,直接修改后传递给本接口。Https配置由于证书的特殊性,更新时不用传递证书和密钥字段。 /// /// /// public UpdateDomainConfigResponse UpdateDomainConfigSync(UpdateDomainConfigRequest req) { JsonResponseModel rsp = null; try { var strResp = this.InternalRequestSync(req, "UpdateDomainConfig"); rsp = JsonConvert.DeserializeObject>(strResp); } catch (JsonSerializationException e) { throw new TencentCloudSDKException(e.Message); } return rsp.Response; } } }