/*
* 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;
}
}
}