Files
2026-02-07 15:48:27 +08:00

1505 lines
77 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 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.Cbs.V20170312
{
using Newtonsoft.Json;
using System.Threading.Tasks;
using TencentCloud.Common;
using TencentCloud.Common.Profile;
using TencentCloud.Cbs.V20170312.Models;
public class CbsClient : AbstractClient{
private const string endpoint = "cbs.tencentcloudapi.com";
private const string version = "2017-03-12";
/// <summary>
/// Client constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
public CbsClient(Credential credential, string region)
: this(credential, region, new ClientProfile())
{
}
/// <summary>
/// Client Constructor.
/// </summary>
/// <param name="credential">Credentials.</param>
/// <param name="region">Region name, such as "ap-guangzhou".</param>
/// <param name="profile">Client profiles.</param>
public CbsClient(Credential credential, string region, ClientProfile profile)
: base(endpoint, version, credential, region, profile)
{
}
/// <summary>
/// 本接口ApplySnapshot用于回滚快照到原云硬盘。
///
/// * 仅支持回滚到原云硬盘上。对于数据盘快照,如果您需要复制快照数据到其它云硬盘上,请使用[CreateDisks](/document/product/362/16312)接口创建新的弹性云盘,将快照数据复制到新购云盘上。
/// * 用于回滚的快照必须处于NORMAL状态。快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询见输出参数中SnapshotState字段解释。
/// * 如果是弹性云盘,则云盘必须处于未挂载状态,云硬盘挂载状态可以通过[DescribeDisks](/document/product/362/16315)接口查询见Attached字段解释如果是随实例一起购买的非弹性云盘则实例必须处于关机状态实例状态可以通过[DescribeInstancesStatus](/document/product/213/15738)接口查询。
/// </summary>
/// <param name="req"><see cref="ApplySnapshotRequest"/></param>
/// <returns><see cref="ApplySnapshotResponse"/></returns>
public async Task<ApplySnapshotResponse> ApplySnapshot(ApplySnapshotRequest req)
{
JsonResponseModel<ApplySnapshotResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ApplySnapshot");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ApplySnapshotResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ApplySnapshot用于回滚快照到原云硬盘。
///
/// * 仅支持回滚到原云硬盘上。对于数据盘快照,如果您需要复制快照数据到其它云硬盘上,请使用[CreateDisks](/document/product/362/16312)接口创建新的弹性云盘,将快照数据复制到新购云盘上。
/// * 用于回滚的快照必须处于NORMAL状态。快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询见输出参数中SnapshotState字段解释。
/// * 如果是弹性云盘,则云盘必须处于未挂载状态,云硬盘挂载状态可以通过[DescribeDisks](/document/product/362/16315)接口查询见Attached字段解释如果是随实例一起购买的非弹性云盘则实例必须处于关机状态实例状态可以通过[DescribeInstancesStatus](/document/product/213/15738)接口查询。
/// </summary>
/// <param name="req"><see cref="ApplySnapshotRequest"/></param>
/// <returns><see cref="ApplySnapshotResponse"/></returns>
public ApplySnapshotResponse ApplySnapshotSync(ApplySnapshotRequest req)
{
JsonResponseModel<ApplySnapshotResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ApplySnapshot");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ApplySnapshotResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口AttachDisks用于挂载云硬盘。
///
/// * 支持批量操作,将多块云盘挂载到同一云主机。如果多个云盘存在不允许挂载的云盘,则操作不执行,以返回特定的错误码返回。
/// * 本接口为异步接口,当挂载云盘的请求成功返回时,表示后台已发起挂载云盘的操作,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态如果云盘的状态由“ATTACHING”变为“ATTACHED”则为挂载成功。
/// </summary>
/// <param name="req"><see cref="AttachDisksRequest"/></param>
/// <returns><see cref="AttachDisksResponse"/></returns>
public async Task<AttachDisksResponse> AttachDisks(AttachDisksRequest req)
{
JsonResponseModel<AttachDisksResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "AttachDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<AttachDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口AttachDisks用于挂载云硬盘。
///
/// * 支持批量操作,将多块云盘挂载到同一云主机。如果多个云盘存在不允许挂载的云盘,则操作不执行,以返回特定的错误码返回。
/// * 本接口为异步接口,当挂载云盘的请求成功返回时,表示后台已发起挂载云盘的操作,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态如果云盘的状态由“ATTACHING”变为“ATTACHED”则为挂载成功。
/// </summary>
/// <param name="req"><see cref="AttachDisksRequest"/></param>
/// <returns><see cref="AttachDisksResponse"/></returns>
public AttachDisksResponse AttachDisksSync(AttachDisksRequest req)
{
JsonResponseModel<AttachDisksResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "AttachDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<AttachDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口BindAutoSnapshotPolicy用于绑定云硬盘到指定的定期快照策略。
///
/// * 每个地域下的定期快照策略配额限制请参考文档[定期快照](/document/product/362/8191)。
/// * 当已绑定定期快照策略的云硬盘处于未使用状态(即弹性云盘未挂载或非弹性云盘的主机处于关机状态)将不会创建定期快照。
/// </summary>
/// <param name="req"><see cref="BindAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="BindAutoSnapshotPolicyResponse"/></returns>
public async Task<BindAutoSnapshotPolicyResponse> BindAutoSnapshotPolicy(BindAutoSnapshotPolicyRequest req)
{
JsonResponseModel<BindAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "BindAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<BindAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口BindAutoSnapshotPolicy用于绑定云硬盘到指定的定期快照策略。
///
/// * 每个地域下的定期快照策略配额限制请参考文档[定期快照](/document/product/362/8191)。
/// * 当已绑定定期快照策略的云硬盘处于未使用状态(即弹性云盘未挂载或非弹性云盘的主机处于关机状态)将不会创建定期快照。
/// </summary>
/// <param name="req"><see cref="BindAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="BindAutoSnapshotPolicyResponse"/></returns>
public BindAutoSnapshotPolicyResponse BindAutoSnapshotPolicySync(BindAutoSnapshotPolicyRequest req)
{
JsonResponseModel<BindAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "BindAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<BindAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口CreateAutoSnapshotPolicy用于创建定期快照策略。
///
/// * 每个地域可创建的定期快照策略数量限制请参考文档[定期快照](/document/product/362/8191)。
/// * 每个地域可创建的快照有数量和容量的限制,具体请见腾讯云控制台快照页面提示,如果快照超配额,定期快照创建会失败。
/// </summary>
/// <param name="req"><see cref="CreateAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="CreateAutoSnapshotPolicyResponse"/></returns>
public async Task<CreateAutoSnapshotPolicyResponse> CreateAutoSnapshotPolicy(CreateAutoSnapshotPolicyRequest req)
{
JsonResponseModel<CreateAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "CreateAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口CreateAutoSnapshotPolicy用于创建定期快照策略。
///
/// * 每个地域可创建的定期快照策略数量限制请参考文档[定期快照](/document/product/362/8191)。
/// * 每个地域可创建的快照有数量和容量的限制,具体请见腾讯云控制台快照页面提示,如果快照超配额,定期快照创建会失败。
/// </summary>
/// <param name="req"><see cref="CreateAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="CreateAutoSnapshotPolicyResponse"/></returns>
public CreateAutoSnapshotPolicyResponse CreateAutoSnapshotPolicySync(CreateAutoSnapshotPolicyRequest req)
{
JsonResponseModel<CreateAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "CreateAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口CreateDisks用于创建云硬盘。
///
/// * 预付费云盘的购买会预先扣除本次云盘购买所需金额,在调用本接口前请确保账户余额充足。
/// * 本接口支持传入数据盘快照来创建云盘,实现将快照数据复制到新购云盘上。
/// * 本接口为异步接口当创建请求下发成功后会返回一个新建的云盘ID列表此时云盘的创建并未立即完成。可以通过调用[DescribeDisks](/document/product/362/16315)接口根据DiskId查询对应云盘如果能查到云盘且状态为'UNATTACHED'或'ATTACHED',则表示创建成功。
/// </summary>
/// <param name="req"><see cref="CreateDisksRequest"/></param>
/// <returns><see cref="CreateDisksResponse"/></returns>
public async Task<CreateDisksResponse> CreateDisks(CreateDisksRequest req)
{
JsonResponseModel<CreateDisksResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "CreateDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口CreateDisks用于创建云硬盘。
///
/// * 预付费云盘的购买会预先扣除本次云盘购买所需金额,在调用本接口前请确保账户余额充足。
/// * 本接口支持传入数据盘快照来创建云盘,实现将快照数据复制到新购云盘上。
/// * 本接口为异步接口当创建请求下发成功后会返回一个新建的云盘ID列表此时云盘的创建并未立即完成。可以通过调用[DescribeDisks](/document/product/362/16315)接口根据DiskId查询对应云盘如果能查到云盘且状态为'UNATTACHED'或'ATTACHED',则表示创建成功。
/// </summary>
/// <param name="req"><see cref="CreateDisksRequest"/></param>
/// <returns><see cref="CreateDisksResponse"/></returns>
public CreateDisksResponse CreateDisksSync(CreateDisksRequest req)
{
JsonResponseModel<CreateDisksResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "CreateDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口CreateSnapshot用于对指定云盘创建快照。
///
/// * 只有具有快照能力的云硬盘才能创建快照。云硬盘是否具有快照能力可由[DescribeDisks](/document/product/362/16315)接口查询见SnapshotAbility字段。
/// * 可创建快照数量限制见[产品使用限制](https://cloud.tencent.com/doc/product/362/5145)。
/// </summary>
/// <param name="req"><see cref="CreateSnapshotRequest"/></param>
/// <returns><see cref="CreateSnapshotResponse"/></returns>
public async Task<CreateSnapshotResponse> CreateSnapshot(CreateSnapshotRequest req)
{
JsonResponseModel<CreateSnapshotResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "CreateSnapshot");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateSnapshotResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口CreateSnapshot用于对指定云盘创建快照。
///
/// * 只有具有快照能力的云硬盘才能创建快照。云硬盘是否具有快照能力可由[DescribeDisks](/document/product/362/16315)接口查询见SnapshotAbility字段。
/// * 可创建快照数量限制见[产品使用限制](https://cloud.tencent.com/doc/product/362/5145)。
/// </summary>
/// <param name="req"><see cref="CreateSnapshotRequest"/></param>
/// <returns><see cref="CreateSnapshotResponse"/></returns>
public CreateSnapshotResponse CreateSnapshotSync(CreateSnapshotRequest req)
{
JsonResponseModel<CreateSnapshotResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "CreateSnapshot");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<CreateSnapshotResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DeleteAutoSnapshotPolicies用于删除定期快照策略。
///
/// * 支持批量操作。如果多个定期快照策略存在无法删除的,则操作不执行,以特定错误码返回。
/// </summary>
/// <param name="req"><see cref="DeleteAutoSnapshotPoliciesRequest"/></param>
/// <returns><see cref="DeleteAutoSnapshotPoliciesResponse"/></returns>
public async Task<DeleteAutoSnapshotPoliciesResponse> DeleteAutoSnapshotPolicies(DeleteAutoSnapshotPoliciesRequest req)
{
JsonResponseModel<DeleteAutoSnapshotPoliciesResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DeleteAutoSnapshotPolicies");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteAutoSnapshotPoliciesResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DeleteAutoSnapshotPolicies用于删除定期快照策略。
///
/// * 支持批量操作。如果多个定期快照策略存在无法删除的,则操作不执行,以特定错误码返回。
/// </summary>
/// <param name="req"><see cref="DeleteAutoSnapshotPoliciesRequest"/></param>
/// <returns><see cref="DeleteAutoSnapshotPoliciesResponse"/></returns>
public DeleteAutoSnapshotPoliciesResponse DeleteAutoSnapshotPoliciesSync(DeleteAutoSnapshotPoliciesRequest req)
{
JsonResponseModel<DeleteAutoSnapshotPoliciesResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DeleteAutoSnapshotPolicies");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteAutoSnapshotPoliciesResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DeleteSnapshots用于删除快照。
///
/// * 快照必须处于NORMAL状态快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询见输出参数中SnapshotState字段解释。
/// * 支持批量操作。如果多个快照存在无法删除的快照,则操作不执行,以返回特定的错误码返回。
/// </summary>
/// <param name="req"><see cref="DeleteSnapshotsRequest"/></param>
/// <returns><see cref="DeleteSnapshotsResponse"/></returns>
public async Task<DeleteSnapshotsResponse> DeleteSnapshots(DeleteSnapshotsRequest req)
{
JsonResponseModel<DeleteSnapshotsResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DeleteSnapshots");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteSnapshotsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DeleteSnapshots用于删除快照。
///
/// * 快照必须处于NORMAL状态快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询见输出参数中SnapshotState字段解释。
/// * 支持批量操作。如果多个快照存在无法删除的快照,则操作不执行,以返回特定的错误码返回。
/// </summary>
/// <param name="req"><see cref="DeleteSnapshotsRequest"/></param>
/// <returns><see cref="DeleteSnapshotsResponse"/></returns>
public DeleteSnapshotsResponse DeleteSnapshotsSync(DeleteSnapshotsRequest req)
{
JsonResponseModel<DeleteSnapshotsResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DeleteSnapshots");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DeleteSnapshotsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeAutoSnapshotPolicies用于查询定期快照策略。
///
/// * 可以根据定期快照策略ID、名称或者状态等信息来查询定期快照策略的详细信息不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
/// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量默认为20的定期快照策略表。
/// </summary>
/// <param name="req"><see cref="DescribeAutoSnapshotPoliciesRequest"/></param>
/// <returns><see cref="DescribeAutoSnapshotPoliciesResponse"/></returns>
public async Task<DescribeAutoSnapshotPoliciesResponse> DescribeAutoSnapshotPolicies(DescribeAutoSnapshotPoliciesRequest req)
{
JsonResponseModel<DescribeAutoSnapshotPoliciesResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeAutoSnapshotPolicies");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeAutoSnapshotPoliciesResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeAutoSnapshotPolicies用于查询定期快照策略。
///
/// * 可以根据定期快照策略ID、名称或者状态等信息来查询定期快照策略的详细信息不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
/// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量默认为20的定期快照策略表。
/// </summary>
/// <param name="req"><see cref="DescribeAutoSnapshotPoliciesRequest"/></param>
/// <returns><see cref="DescribeAutoSnapshotPoliciesResponse"/></returns>
public DescribeAutoSnapshotPoliciesResponse DescribeAutoSnapshotPoliciesSync(DescribeAutoSnapshotPoliciesRequest req)
{
JsonResponseModel<DescribeAutoSnapshotPoliciesResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeAutoSnapshotPolicies");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeAutoSnapshotPoliciesResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDiskAssociatedAutoSnapshotPolicy用于查询云盘绑定的定期快照策略。
/// </summary>
/// <param name="req"><see cref="DescribeDiskAssociatedAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="DescribeDiskAssociatedAutoSnapshotPolicyResponse"/></returns>
public async Task<DescribeDiskAssociatedAutoSnapshotPolicyResponse> DescribeDiskAssociatedAutoSnapshotPolicy(DescribeDiskAssociatedAutoSnapshotPolicyRequest req)
{
JsonResponseModel<DescribeDiskAssociatedAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeDiskAssociatedAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDiskAssociatedAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDiskAssociatedAutoSnapshotPolicy用于查询云盘绑定的定期快照策略。
/// </summary>
/// <param name="req"><see cref="DescribeDiskAssociatedAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="DescribeDiskAssociatedAutoSnapshotPolicyResponse"/></returns>
public DescribeDiskAssociatedAutoSnapshotPolicyResponse DescribeDiskAssociatedAutoSnapshotPolicySync(DescribeDiskAssociatedAutoSnapshotPolicyRequest req)
{
JsonResponseModel<DescribeDiskAssociatedAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeDiskAssociatedAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDiskAssociatedAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDiskConfigQuota用于查询云硬盘配额。
/// </summary>
/// <param name="req"><see cref="DescribeDiskConfigQuotaRequest"/></param>
/// <returns><see cref="DescribeDiskConfigQuotaResponse"/></returns>
public async Task<DescribeDiskConfigQuotaResponse> DescribeDiskConfigQuota(DescribeDiskConfigQuotaRequest req)
{
JsonResponseModel<DescribeDiskConfigQuotaResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeDiskConfigQuota");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDiskConfigQuotaResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDiskConfigQuota用于查询云硬盘配额。
/// </summary>
/// <param name="req"><see cref="DescribeDiskConfigQuotaRequest"/></param>
/// <returns><see cref="DescribeDiskConfigQuotaResponse"/></returns>
public DescribeDiskConfigQuotaResponse DescribeDiskConfigQuotaSync(DescribeDiskConfigQuotaRequest req)
{
JsonResponseModel<DescribeDiskConfigQuotaResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeDiskConfigQuota");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDiskConfigQuotaResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDiskOperationLogs用于查询云盘操作日志列表。
///
/// 可根据云盘ID过滤。云盘ID形如disk-a1kmcp13。
/// </summary>
/// <param name="req"><see cref="DescribeDiskOperationLogsRequest"/></param>
/// <returns><see cref="DescribeDiskOperationLogsResponse"/></returns>
public async Task<DescribeDiskOperationLogsResponse> DescribeDiskOperationLogs(DescribeDiskOperationLogsRequest req)
{
JsonResponseModel<DescribeDiskOperationLogsResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeDiskOperationLogs");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDiskOperationLogsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDiskOperationLogs用于查询云盘操作日志列表。
///
/// 可根据云盘ID过滤。云盘ID形如disk-a1kmcp13。
/// </summary>
/// <param name="req"><see cref="DescribeDiskOperationLogsRequest"/></param>
/// <returns><see cref="DescribeDiskOperationLogsResponse"/></returns>
public DescribeDiskOperationLogsResponse DescribeDiskOperationLogsSync(DescribeDiskOperationLogsRequest req)
{
JsonResponseModel<DescribeDiskOperationLogsResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeDiskOperationLogs");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDiskOperationLogsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDisks用于查询云硬盘列表。
///
/// * 可以根据云硬盘ID、云硬盘类型或者云硬盘状态等信息来查询云硬盘的详细信息不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
/// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量默认为20的云硬盘列表。
/// </summary>
/// <param name="req"><see cref="DescribeDisksRequest"/></param>
/// <returns><see cref="DescribeDisksResponse"/></returns>
public async Task<DescribeDisksResponse> DescribeDisks(DescribeDisksRequest req)
{
JsonResponseModel<DescribeDisksResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeDisks用于查询云硬盘列表。
///
/// * 可以根据云硬盘ID、云硬盘类型或者云硬盘状态等信息来查询云硬盘的详细信息不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
/// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量默认为20的云硬盘列表。
/// </summary>
/// <param name="req"><see cref="DescribeDisksRequest"/></param>
/// <returns><see cref="DescribeDisksResponse"/></returns>
public DescribeDisksResponse DescribeDisksSync(DescribeDisksRequest req)
{
JsonResponseModel<DescribeDisksResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeInstancesDiskNum用于查询实例已挂载云硬盘数量。
///
/// * 支持批量操作当传入多个云服务器实例ID返回结果会分别列出每个云服务器挂载的云硬盘数量。
/// </summary>
/// <param name="req"><see cref="DescribeInstancesDiskNumRequest"/></param>
/// <returns><see cref="DescribeInstancesDiskNumResponse"/></returns>
public async Task<DescribeInstancesDiskNumResponse> DescribeInstancesDiskNum(DescribeInstancesDiskNumRequest req)
{
JsonResponseModel<DescribeInstancesDiskNumResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeInstancesDiskNum");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeInstancesDiskNumResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeInstancesDiskNum用于查询实例已挂载云硬盘数量。
///
/// * 支持批量操作当传入多个云服务器实例ID返回结果会分别列出每个云服务器挂载的云硬盘数量。
/// </summary>
/// <param name="req"><see cref="DescribeInstancesDiskNumRequest"/></param>
/// <returns><see cref="DescribeInstancesDiskNumResponse"/></returns>
public DescribeInstancesDiskNumResponse DescribeInstancesDiskNumSync(DescribeInstancesDiskNumRequest req)
{
JsonResponseModel<DescribeInstancesDiskNumResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeInstancesDiskNum");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeInstancesDiskNumResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeSnapshotOperationLogs用于查询快照操作日志列表。
///
/// 可根据快照ID过滤。快照ID形如snap-a1kmcp13。
/// </summary>
/// <param name="req"><see cref="DescribeSnapshotOperationLogsRequest"/></param>
/// <returns><see cref="DescribeSnapshotOperationLogsResponse"/></returns>
public async Task<DescribeSnapshotOperationLogsResponse> DescribeSnapshotOperationLogs(DescribeSnapshotOperationLogsRequest req)
{
JsonResponseModel<DescribeSnapshotOperationLogsResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeSnapshotOperationLogs");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeSnapshotOperationLogsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeSnapshotOperationLogs用于查询快照操作日志列表。
///
/// 可根据快照ID过滤。快照ID形如snap-a1kmcp13。
/// </summary>
/// <param name="req"><see cref="DescribeSnapshotOperationLogsRequest"/></param>
/// <returns><see cref="DescribeSnapshotOperationLogsResponse"/></returns>
public DescribeSnapshotOperationLogsResponse DescribeSnapshotOperationLogsSync(DescribeSnapshotOperationLogsRequest req)
{
JsonResponseModel<DescribeSnapshotOperationLogsResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeSnapshotOperationLogs");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeSnapshotOperationLogsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeSnapshotSharePermission用于查询快照的分享信息。
/// </summary>
/// <param name="req"><see cref="DescribeSnapshotSharePermissionRequest"/></param>
/// <returns><see cref="DescribeSnapshotSharePermissionResponse"/></returns>
public async Task<DescribeSnapshotSharePermissionResponse> DescribeSnapshotSharePermission(DescribeSnapshotSharePermissionRequest req)
{
JsonResponseModel<DescribeSnapshotSharePermissionResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeSnapshotSharePermission");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeSnapshotSharePermissionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeSnapshotSharePermission用于查询快照的分享信息。
/// </summary>
/// <param name="req"><see cref="DescribeSnapshotSharePermissionRequest"/></param>
/// <returns><see cref="DescribeSnapshotSharePermissionResponse"/></returns>
public DescribeSnapshotSharePermissionResponse DescribeSnapshotSharePermissionSync(DescribeSnapshotSharePermissionRequest req)
{
JsonResponseModel<DescribeSnapshotSharePermissionResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeSnapshotSharePermission");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeSnapshotSharePermissionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeSnapshots用于查询快照的详细信息。
///
/// * 根据快照ID、创建快照的云硬盘ID、创建快照的云硬盘类型等对结果进行过滤不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
/// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量默认为20的快照列表。
/// </summary>
/// <param name="req"><see cref="DescribeSnapshotsRequest"/></param>
/// <returns><see cref="DescribeSnapshotsResponse"/></returns>
public async Task<DescribeSnapshotsResponse> DescribeSnapshots(DescribeSnapshotsRequest req)
{
JsonResponseModel<DescribeSnapshotsResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DescribeSnapshots");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeSnapshotsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DescribeSnapshots用于查询快照的详细信息。
///
/// * 根据快照ID、创建快照的云硬盘ID、创建快照的云硬盘类型等对结果进行过滤不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
/// * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量默认为20的快照列表。
/// </summary>
/// <param name="req"><see cref="DescribeSnapshotsRequest"/></param>
/// <returns><see cref="DescribeSnapshotsResponse"/></returns>
public DescribeSnapshotsResponse DescribeSnapshotsSync(DescribeSnapshotsRequest req)
{
JsonResponseModel<DescribeSnapshotsResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DescribeSnapshots");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DescribeSnapshotsResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DetachDisks用于解挂云硬盘。
///
/// * 支持批量操作,解挂挂载在同一主机上的多块云盘。如果多块云盘存在不允许解挂载的云盘,则操作不执行,以返回特定的错误码返回。
/// * 本接口为异步接口,当请求成功返回时,云盘并未立即从主机解挂载,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态如果云盘的状态由“ATTACHED”变为“UNATTACHED”则为解挂载成功。
/// </summary>
/// <param name="req"><see cref="DetachDisksRequest"/></param>
/// <returns><see cref="DetachDisksResponse"/></returns>
public async Task<DetachDisksResponse> DetachDisks(DetachDisksRequest req)
{
JsonResponseModel<DetachDisksResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "DetachDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DetachDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口DetachDisks用于解挂云硬盘。
///
/// * 支持批量操作,解挂挂载在同一主机上的多块云盘。如果多块云盘存在不允许解挂载的云盘,则操作不执行,以返回特定的错误码返回。
/// * 本接口为异步接口,当请求成功返回时,云盘并未立即从主机解挂载,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态如果云盘的状态由“ATTACHED”变为“UNATTACHED”则为解挂载成功。
/// </summary>
/// <param name="req"><see cref="DetachDisksRequest"/></param>
/// <returns><see cref="DetachDisksResponse"/></returns>
public DetachDisksResponse DetachDisksSync(DetachDisksRequest req)
{
JsonResponseModel<DetachDisksResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "DetachDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<DetachDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取快照概览信息
/// </summary>
/// <param name="req"><see cref="GetSnapOverviewRequest"/></param>
/// <returns><see cref="GetSnapOverviewResponse"/></returns>
public async Task<GetSnapOverviewResponse> GetSnapOverview(GetSnapOverviewRequest req)
{
JsonResponseModel<GetSnapOverviewResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "GetSnapOverview");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetSnapOverviewResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 获取快照概览信息
/// </summary>
/// <param name="req"><see cref="GetSnapOverviewRequest"/></param>
/// <returns><see cref="GetSnapOverviewResponse"/></returns>
public GetSnapOverviewResponse GetSnapOverviewSync(GetSnapOverviewRequest req)
{
JsonResponseModel<GetSnapOverviewResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "GetSnapOverview");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<GetSnapOverviewResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口InquiryPriceCreateDisks用于创建云硬盘询价。
///
/// * 支持查询创建多块云硬盘的价格,此时返回结果为总价格。
/// </summary>
/// <param name="req"><see cref="InquiryPriceCreateDisksRequest"/></param>
/// <returns><see cref="InquiryPriceCreateDisksResponse"/></returns>
public async Task<InquiryPriceCreateDisksResponse> InquiryPriceCreateDisks(InquiryPriceCreateDisksRequest req)
{
JsonResponseModel<InquiryPriceCreateDisksResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "InquiryPriceCreateDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<InquiryPriceCreateDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口InquiryPriceCreateDisks用于创建云硬盘询价。
///
/// * 支持查询创建多块云硬盘的价格,此时返回结果为总价格。
/// </summary>
/// <param name="req"><see cref="InquiryPriceCreateDisksRequest"/></param>
/// <returns><see cref="InquiryPriceCreateDisksResponse"/></returns>
public InquiryPriceCreateDisksResponse InquiryPriceCreateDisksSync(InquiryPriceCreateDisksRequest req)
{
JsonResponseModel<InquiryPriceCreateDisksResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "InquiryPriceCreateDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<InquiryPriceCreateDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口InquiryPriceRenewDisks用于续费云硬盘询价。
///
/// * 只支持查询预付费模式的弹性云盘续费价格。
/// * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline此时会按对齐到实例续费后的到期时间来续费询价。
/// * 支持为多块云盘指定不同的续费时长,此时返回的价格为多块云盘续费的总价格。
/// </summary>
/// <param name="req"><see cref="InquiryPriceRenewDisksRequest"/></param>
/// <returns><see cref="InquiryPriceRenewDisksResponse"/></returns>
public async Task<InquiryPriceRenewDisksResponse> InquiryPriceRenewDisks(InquiryPriceRenewDisksRequest req)
{
JsonResponseModel<InquiryPriceRenewDisksResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "InquiryPriceRenewDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<InquiryPriceRenewDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口InquiryPriceRenewDisks用于续费云硬盘询价。
///
/// * 只支持查询预付费模式的弹性云盘续费价格。
/// * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline此时会按对齐到实例续费后的到期时间来续费询价。
/// * 支持为多块云盘指定不同的续费时长,此时返回的价格为多块云盘续费的总价格。
/// </summary>
/// <param name="req"><see cref="InquiryPriceRenewDisksRequest"/></param>
/// <returns><see cref="InquiryPriceRenewDisksResponse"/></returns>
public InquiryPriceRenewDisksResponse InquiryPriceRenewDisksSync(InquiryPriceRenewDisksRequest req)
{
JsonResponseModel<InquiryPriceRenewDisksResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "InquiryPriceRenewDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<InquiryPriceRenewDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口InquiryPriceResizeDisk用于扩容云硬盘询价。
///
/// * 只支持预付费模式的云硬盘扩容询价。
/// </summary>
/// <param name="req"><see cref="InquiryPriceResizeDiskRequest"/></param>
/// <returns><see cref="InquiryPriceResizeDiskResponse"/></returns>
public async Task<InquiryPriceResizeDiskResponse> InquiryPriceResizeDisk(InquiryPriceResizeDiskRequest req)
{
JsonResponseModel<InquiryPriceResizeDiskResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "InquiryPriceResizeDisk");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<InquiryPriceResizeDiskResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口InquiryPriceResizeDisk用于扩容云硬盘询价。
///
/// * 只支持预付费模式的云硬盘扩容询价。
/// </summary>
/// <param name="req"><see cref="InquiryPriceResizeDiskRequest"/></param>
/// <returns><see cref="InquiryPriceResizeDiskResponse"/></returns>
public InquiryPriceResizeDiskResponse InquiryPriceResizeDiskSync(InquiryPriceResizeDiskRequest req)
{
JsonResponseModel<InquiryPriceResizeDiskResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "InquiryPriceResizeDisk");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<InquiryPriceResizeDiskResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifyAutoSnapshotPolicyAttribute用于修改定期快照策略属性。
///
/// * 可通过该接口修改定期快照策略的执行策略、名称、是否激活等属性。
/// * 修改保留天数时必须保证不与是否永久保留属性冲突,否则整个操作失败,以特定的错误码返回。
/// </summary>
/// <param name="req"><see cref="ModifyAutoSnapshotPolicyAttributeRequest"/></param>
/// <returns><see cref="ModifyAutoSnapshotPolicyAttributeResponse"/></returns>
public async Task<ModifyAutoSnapshotPolicyAttributeResponse> ModifyAutoSnapshotPolicyAttribute(ModifyAutoSnapshotPolicyAttributeRequest req)
{
JsonResponseModel<ModifyAutoSnapshotPolicyAttributeResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ModifyAutoSnapshotPolicyAttribute");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyAutoSnapshotPolicyAttributeResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifyAutoSnapshotPolicyAttribute用于修改定期快照策略属性。
///
/// * 可通过该接口修改定期快照策略的执行策略、名称、是否激活等属性。
/// * 修改保留天数时必须保证不与是否永久保留属性冲突,否则整个操作失败,以特定的错误码返回。
/// </summary>
/// <param name="req"><see cref="ModifyAutoSnapshotPolicyAttributeRequest"/></param>
/// <returns><see cref="ModifyAutoSnapshotPolicyAttributeResponse"/></returns>
public ModifyAutoSnapshotPolicyAttributeResponse ModifyAutoSnapshotPolicyAttributeSync(ModifyAutoSnapshotPolicyAttributeRequest req)
{
JsonResponseModel<ModifyAutoSnapshotPolicyAttributeResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ModifyAutoSnapshotPolicyAttribute");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyAutoSnapshotPolicyAttributeResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。可以通过[DescribeDisks](/document/product/362/16315)接口查询见输出参数中Portable字段解释。
/// * “云硬盘名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行云盘管理操作的依据。
/// * 支持批量操作如果传入多个云盘ID则所有云盘修改为同一属性。如果存在不允许操作的云盘则操作不执行以特定错误码返回。
/// </summary>
/// <param name="req"><see cref="ModifyDiskAttributesRequest"/></param>
/// <returns><see cref="ModifyDiskAttributesResponse"/></returns>
public async Task<ModifyDiskAttributesResponse> ModifyDiskAttributes(ModifyDiskAttributesRequest req)
{
JsonResponseModel<ModifyDiskAttributesResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ModifyDiskAttributes");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyDiskAttributesResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。可以通过[DescribeDisks](/document/product/362/16315)接口查询见输出参数中Portable字段解释。
/// * “云硬盘名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行云盘管理操作的依据。
/// * 支持批量操作如果传入多个云盘ID则所有云盘修改为同一属性。如果存在不允许操作的云盘则操作不执行以特定错误码返回。
/// </summary>
/// <param name="req"><see cref="ModifyDiskAttributesRequest"/></param>
/// <returns><see cref="ModifyDiskAttributesResponse"/></returns>
public ModifyDiskAttributesResponse ModifyDiskAttributesSync(ModifyDiskAttributesRequest req)
{
JsonResponseModel<ModifyDiskAttributesResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ModifyDiskAttributes");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyDiskAttributesResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 接口请求域名: cbs.tencentcloudapi.com 。
///
/// 本接口 (ModifyDisksChargeType) 用于切换云盘的计费模式。
///
/// 只支持从 POSTPAID_BY_HOUR 计费模式切换为PREPAID计费模式。
/// 非弹性云盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云盘一起转换。
/// 默认接口请求频率限制10次/秒。
/// </summary>
/// <param name="req"><see cref="ModifyDisksChargeTypeRequest"/></param>
/// <returns><see cref="ModifyDisksChargeTypeResponse"/></returns>
public async Task<ModifyDisksChargeTypeResponse> ModifyDisksChargeType(ModifyDisksChargeTypeRequest req)
{
JsonResponseModel<ModifyDisksChargeTypeResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ModifyDisksChargeType");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyDisksChargeTypeResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 接口请求域名: cbs.tencentcloudapi.com 。
///
/// 本接口 (ModifyDisksChargeType) 用于切换云盘的计费模式。
///
/// 只支持从 POSTPAID_BY_HOUR 计费模式切换为PREPAID计费模式。
/// 非弹性云盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云盘一起转换。
/// 默认接口请求频率限制10次/秒。
/// </summary>
/// <param name="req"><see cref="ModifyDisksChargeTypeRequest"/></param>
/// <returns><see cref="ModifyDisksChargeTypeResponse"/></returns>
public ModifyDisksChargeTypeResponse ModifyDisksChargeTypeSync(ModifyDisksChargeTypeRequest req)
{
JsonResponseModel<ModifyDisksChargeTypeResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ModifyDisksChargeType");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyDisksChargeTypeResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifyDisksRenewFlag用于修改云硬盘续费标识支持批量修改。
/// </summary>
/// <param name="req"><see cref="ModifyDisksRenewFlagRequest"/></param>
/// <returns><see cref="ModifyDisksRenewFlagResponse"/></returns>
public async Task<ModifyDisksRenewFlagResponse> ModifyDisksRenewFlag(ModifyDisksRenewFlagRequest req)
{
JsonResponseModel<ModifyDisksRenewFlagResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ModifyDisksRenewFlag");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyDisksRenewFlagResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifyDisksRenewFlag用于修改云硬盘续费标识支持批量修改。
/// </summary>
/// <param name="req"><see cref="ModifyDisksRenewFlagRequest"/></param>
/// <returns><see cref="ModifyDisksRenewFlagResponse"/></returns>
public ModifyDisksRenewFlagResponse ModifyDisksRenewFlagSync(ModifyDisksRenewFlagRequest req)
{
JsonResponseModel<ModifyDisksRenewFlagResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ModifyDisksRenewFlag");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifyDisksRenewFlagResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifySnapshotAttribute用于修改指定快照的属性。
///
/// * 当前仅支持修改快照名称及将非永久快照修改为永久快照。
/// * “快照名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
/// </summary>
/// <param name="req"><see cref="ModifySnapshotAttributeRequest"/></param>
/// <returns><see cref="ModifySnapshotAttributeResponse"/></returns>
public async Task<ModifySnapshotAttributeResponse> ModifySnapshotAttribute(ModifySnapshotAttributeRequest req)
{
JsonResponseModel<ModifySnapshotAttributeResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ModifySnapshotAttribute");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifySnapshotAttributeResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifySnapshotAttribute用于修改指定快照的属性。
///
/// * 当前仅支持修改快照名称及将非永久快照修改为永久快照。
/// * “快照名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
/// </summary>
/// <param name="req"><see cref="ModifySnapshotAttributeRequest"/></param>
/// <returns><see cref="ModifySnapshotAttributeResponse"/></returns>
public ModifySnapshotAttributeResponse ModifySnapshotAttributeSync(ModifySnapshotAttributeRequest req)
{
JsonResponseModel<ModifySnapshotAttributeResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ModifySnapshotAttribute");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifySnapshotAttributeResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifySnapshotsSharePermission用于修改快照分享信息。
///
/// 分享快照后,被分享账户可以通过该快照创建云硬盘。
/// * 每个快照最多可分享给50个账户。
/// * 分享快照无法更改名称,描述,仅可用于创建云硬盘。
/// * 只支持分享到对方账户相同地域。
/// * 仅支持分享数据盘快照。
/// </summary>
/// <param name="req"><see cref="ModifySnapshotsSharePermissionRequest"/></param>
/// <returns><see cref="ModifySnapshotsSharePermissionResponse"/></returns>
public async Task<ModifySnapshotsSharePermissionResponse> ModifySnapshotsSharePermission(ModifySnapshotsSharePermissionRequest req)
{
JsonResponseModel<ModifySnapshotsSharePermissionResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ModifySnapshotsSharePermission");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifySnapshotsSharePermissionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ModifySnapshotsSharePermission用于修改快照分享信息。
///
/// 分享快照后,被分享账户可以通过该快照创建云硬盘。
/// * 每个快照最多可分享给50个账户。
/// * 分享快照无法更改名称,描述,仅可用于创建云硬盘。
/// * 只支持分享到对方账户相同地域。
/// * 仅支持分享数据盘快照。
/// </summary>
/// <param name="req"><see cref="ModifySnapshotsSharePermissionRequest"/></param>
/// <returns><see cref="ModifySnapshotsSharePermissionResponse"/></returns>
public ModifySnapshotsSharePermissionResponse ModifySnapshotsSharePermissionSync(ModifySnapshotsSharePermissionRequest req)
{
JsonResponseModel<ModifySnapshotsSharePermissionResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ModifySnapshotsSharePermission");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ModifySnapshotsSharePermissionResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口RenewDisk用于续费云硬盘。
///
/// * 只支持预付费的云硬盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询见输出参数中DiskChargeType字段解释。
/// * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline此时会按对齐到子机续费后的到期时间来续费。
/// </summary>
/// <param name="req"><see cref="RenewDiskRequest"/></param>
/// <returns><see cref="RenewDiskResponse"/></returns>
public async Task<RenewDiskResponse> RenewDisk(RenewDiskRequest req)
{
JsonResponseModel<RenewDiskResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "RenewDisk");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<RenewDiskResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口RenewDisk用于续费云硬盘。
///
/// * 只支持预付费的云硬盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询见输出参数中DiskChargeType字段解释。
/// * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline此时会按对齐到子机续费后的到期时间来续费。
/// </summary>
/// <param name="req"><see cref="RenewDiskRequest"/></param>
/// <returns><see cref="RenewDiskResponse"/></returns>
public RenewDiskResponse RenewDiskSync(RenewDiskRequest req)
{
JsonResponseModel<RenewDiskResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "RenewDisk");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<RenewDiskResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ResizeDisk用于扩容云硬盘。
///
/// * 只支持扩容弹性云盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询见输出参数中Portable字段解释。随云主机创建的云硬盘需通过[ResizeInstanceDisks](/document/product/213/15731)接口扩容。
/// * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态如果云盘的状态为“EXPANDING”表示正在扩容中当状态变为“UNATTACHED”表示扩容完成。
/// </summary>
/// <param name="req"><see cref="ResizeDiskRequest"/></param>
/// <returns><see cref="ResizeDiskResponse"/></returns>
public async Task<ResizeDiskResponse> ResizeDisk(ResizeDiskRequest req)
{
JsonResponseModel<ResizeDiskResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "ResizeDisk");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ResizeDiskResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口ResizeDisk用于扩容云硬盘。
///
/// * 只支持扩容弹性云盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询见输出参数中Portable字段解释。随云主机创建的云硬盘需通过[ResizeInstanceDisks](/document/product/213/15731)接口扩容。
/// * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态如果云盘的状态为“EXPANDING”表示正在扩容中当状态变为“UNATTACHED”表示扩容完成。
/// </summary>
/// <param name="req"><see cref="ResizeDiskRequest"/></param>
/// <returns><see cref="ResizeDiskResponse"/></returns>
public ResizeDiskResponse ResizeDiskSync(ResizeDiskRequest req)
{
JsonResponseModel<ResizeDiskResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "ResizeDisk");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<ResizeDiskResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口TerminateDisks用于退还云硬盘。
///
/// * 不再使用的云盘,可通过本接口主动退还。
/// * 本接口支持退还预付费云盘和按小时后付费云盘。按小时后付费云盘可直接退还,预付费云盘需符合退还规则。
/// * 支持批量操作每次请求批量云硬盘的上限为50。如果批量云盘存在不允许操作的请求会以特定错误码返回。
/// </summary>
/// <param name="req"><see cref="TerminateDisksRequest"/></param>
/// <returns><see cref="TerminateDisksResponse"/></returns>
public async Task<TerminateDisksResponse> TerminateDisks(TerminateDisksRequest req)
{
JsonResponseModel<TerminateDisksResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "TerminateDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<TerminateDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口TerminateDisks用于退还云硬盘。
///
/// * 不再使用的云盘,可通过本接口主动退还。
/// * 本接口支持退还预付费云盘和按小时后付费云盘。按小时后付费云盘可直接退还,预付费云盘需符合退还规则。
/// * 支持批量操作每次请求批量云硬盘的上限为50。如果批量云盘存在不允许操作的请求会以特定错误码返回。
/// </summary>
/// <param name="req"><see cref="TerminateDisksRequest"/></param>
/// <returns><see cref="TerminateDisksResponse"/></returns>
public TerminateDisksResponse TerminateDisksSync(TerminateDisksRequest req)
{
JsonResponseModel<TerminateDisksResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "TerminateDisks");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<TerminateDisksResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口UnbindAutoSnapshotPolicy用于解除云硬盘绑定的定期快照策略。
///
/// * 支持批量操作,可一次解除多个云盘与同一定期快照策略的绑定。
/// * 如果传入的云盘未绑定到当前定期快照策略,接口将自动跳过,仅解绑与当前定期快照策略绑定的云盘。
/// </summary>
/// <param name="req"><see cref="UnbindAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="UnbindAutoSnapshotPolicyResponse"/></returns>
public async Task<UnbindAutoSnapshotPolicyResponse> UnbindAutoSnapshotPolicy(UnbindAutoSnapshotPolicyRequest req)
{
JsonResponseModel<UnbindAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = await this.InternalRequest(req, "UnbindAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<UnbindAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
/// <summary>
/// 本接口UnbindAutoSnapshotPolicy用于解除云硬盘绑定的定期快照策略。
///
/// * 支持批量操作,可一次解除多个云盘与同一定期快照策略的绑定。
/// * 如果传入的云盘未绑定到当前定期快照策略,接口将自动跳过,仅解绑与当前定期快照策略绑定的云盘。
/// </summary>
/// <param name="req"><see cref="UnbindAutoSnapshotPolicyRequest"/></param>
/// <returns><see cref="UnbindAutoSnapshotPolicyResponse"/></returns>
public UnbindAutoSnapshotPolicyResponse UnbindAutoSnapshotPolicySync(UnbindAutoSnapshotPolicyRequest req)
{
JsonResponseModel<UnbindAutoSnapshotPolicyResponse> rsp = null;
try
{
var strResp = this.InternalRequestSync(req, "UnbindAutoSnapshotPolicy");
rsp = JsonConvert.DeserializeObject<JsonResponseModel<UnbindAutoSnapshotPolicyResponse>>(strResp);
}
catch (JsonSerializationException e)
{
throw new TencentCloudSDKException(e.Message);
}
return rsp.Response;
}
}
}