1 Star 0 Fork 0

tencentcloud / tencentcloud-sdk-ruby

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
client.rb 59.40 KB
一键复制 编辑 原始数据 按行查看 历史
tencentcloud 提交于 2023-09-07 08:59 . release 3.0.654
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115
# frozen_string_literal: true
# Copyright (c) 2017-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.
require 'json'
module TencentCloud
module Cbs
module V20170312
class Client < TencentCloud::Common::AbstractClient
def initialize(credential, region, profile = nil)
api_version = '2017-03-12'
api_endpoint = 'cbs.tencentcloudapi.com'
sdk_version = 'CBS_' + File.read(File.expand_path('../VERSION', __dir__)).strip
super(credential, region, api_version, api_endpoint, sdk_version, profile)
end
# 本接口(ApplyDiskBackup)用于回滚备份点到原云硬盘。
# * 仅支持回滚到原云硬盘上。对于数据盘备份点,如果您需要复制备份点数据到其它云硬盘上,请先使用 CreateSnapshot 将备份点转换为快照,然后使用 CreateDisks 接口创建新的弹性云硬盘,将快照数据复制到新购云硬盘上。
# * 用于回滚的备份点必须处于NORMAL状态。备份点状态可以通过DescribeDiskBackups接口查询,见输出参数中BackupState字段解释。
# * 如果是弹性云硬盘,则云硬盘必须处于未挂载状态,云硬盘挂载状态可以通过DescribeDisks接口查询,见Attached字段解释;如果是随实例一起购买的非弹性云硬盘,则实例必须处于关机状态,实例状态可以通过DescribeInstancesStatus接口查询。
# @param request: Request instance for ApplyDiskBackup.
# @type request: :class:`Tencentcloud::cbs::V20170312::ApplyDiskBackupRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ApplyDiskBackupResponse`
def ApplyDiskBackup(request)
body = send_request('ApplyDiskBackup', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ApplyDiskBackupResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(ApplySnapshot)用于回滚快照到原云硬盘。
# * 仅支持回滚到原云硬盘上。对于数据盘快照,如果您需要复制快照数据到其它云硬盘上,请使用[CreateDisks](/document/product/362/16312)接口创建新的弹性云盘,将快照数据复制到新购云盘上。
# * 用于回滚的快照必须处于NORMAL状态。快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询,见输出参数中SnapshotState字段解释。
# * 如果是弹性云盘,则云盘必须处于未挂载状态,云硬盘挂载状态可以通过[DescribeDisks](/document/product/362/16315)接口查询,见Attached字段解释;如果是随实例一起购买的非弹性云盘,则实例必须处于关机状态,实例状态可以通过[DescribeInstancesStatus](/document/product/213/15738)接口查询。
# @param request: Request instance for ApplySnapshot.
# @type request: :class:`Tencentcloud::cbs::V20170312::ApplySnapshotRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ApplySnapshotResponse`
def ApplySnapshot(request)
body = send_request('ApplySnapshot', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ApplySnapshotResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(AttachDisks)用于挂载云硬盘。
# * 支持批量操作,将多块云盘挂载到同一云主机。如果多个云盘中存在不允许挂载的云盘,则操作不执行,返回特定的错误码。
# * 本接口为异步接口,当挂载云盘的请求成功返回时,表示后台已发起挂载云盘的操作,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHING”变为“ATTACHED”,则为挂载成功。
# @param request: Request instance for AttachDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::AttachDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::AttachDisksResponse`
def AttachDisks(request)
body = send_request('AttachDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = AttachDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(BindAutoSnapshotPolicy)用于绑定云硬盘到指定的定期快照策略。
# * 每个地域下的定期快照策略配额限制请参考文档[定期快照](/document/product/362/8191)。
# * 当已绑定定期快照策略的云硬盘处于未使用状态(即弹性云盘未挂载或非弹性云盘的主机处于关机状态)将不会创建定期快照。
# @param request: Request instance for BindAutoSnapshotPolicy.
# @type request: :class:`Tencentcloud::cbs::V20170312::BindAutoSnapshotPolicyRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::BindAutoSnapshotPolicyResponse`
def BindAutoSnapshotPolicy(request)
body = send_request('BindAutoSnapshotPolicy', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = BindAutoSnapshotPolicyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(CopySnapshotCrossRegions)用于快照跨地域复制。
# * 本接口为异步接口,当跨地域复制的请求下发成功后会返回一个新的快照ID,此时快照未立即复制到目标地域,可请求目标地域的[DescribeSnapshots](/document/product/362/15647)接口查询新快照的状态,判断是否复制完成。如果快照的状态为“NORMAL”,表示快照复制完成。
# * 本接口实现的快照跨地域复制操作将产生跨地域流量,预计2022年第三季度会针对此功能进行商业化计费;请留意后续站内信公告,避免产生预期外扣费。
# @param request: Request instance for CopySnapshotCrossRegions.
# @type request: :class:`Tencentcloud::cbs::V20170312::CopySnapshotCrossRegionsRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::CopySnapshotCrossRegionsResponse`
def CopySnapshotCrossRegions(request)
body = send_request('CopySnapshotCrossRegions', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CopySnapshotCrossRegionsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(CreateAutoSnapshotPolicy)用于创建定期快照策略。
# * 每个地域可创建的定期快照策略数量限制请参考文档[定期快照](/document/product/362/8191)。
# * 每个地域可创建的快照有数量和容量的限制,具体请见腾讯云控制台快照页面提示,如果快照超配额,定期快照创建会失败。
# @param request: Request instance for CreateAutoSnapshotPolicy.
# @type request: :class:`Tencentcloud::cbs::V20170312::CreateAutoSnapshotPolicyRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::CreateAutoSnapshotPolicyResponse`
def CreateAutoSnapshotPolicy(request)
body = send_request('CreateAutoSnapshotPolicy', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateAutoSnapshotPolicyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 为云硬盘创建一个备份点。
# @param request: Request instance for CreateDiskBackup.
# @type request: :class:`Tencentcloud::cbs::V20170312::CreateDiskBackupRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::CreateDiskBackupResponse`
def CreateDiskBackup(request)
body = send_request('CreateDiskBackup', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateDiskBackupResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(CreateDisks)用于创建云硬盘。
# * 预付费云盘的购买会预先扣除本次云盘购买所需金额,在调用本接口前请确保账户余额充足。
# * 本接口支持传入数据盘快照来创建云盘,实现将快照数据复制到新购云盘上。
# * 本接口为异步接口,当创建请求下发成功后会返回一个新建的云盘ID列表,此时云盘的创建并未立即完成。可以通过调用[DescribeDisks](/document/product/362/16315)接口根据DiskId查询对应云盘,如果能查到云盘,且状态为'UNATTACHED'或'ATTACHED',则表示创建成功。
# @param request: Request instance for CreateDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::CreateDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::CreateDisksResponse`
def CreateDisks(request)
body = send_request('CreateDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(CreateSnapshot)用于对指定云盘创建快照。
# * 只有具有快照能力的云硬盘才能创建快照。云硬盘是否具有快照能力可由[DescribeDisks](/document/product/362/16315)接口查询,见SnapshotAbility字段。
# * 可创建快照数量限制见[产品使用限制](https://cloud.tencent.com/doc/product/362/5145)。
# * 当前支持将备份点转化为普通快照,转化之后可能会收取快照使用费用,备份点不保留,其占用的备份点配额也将被释放。
# @param request: Request instance for CreateSnapshot.
# @type request: :class:`Tencentcloud::cbs::V20170312::CreateSnapshotRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::CreateSnapshotResponse`
def CreateSnapshot(request)
body = send_request('CreateSnapshot', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = CreateSnapshotResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DeleteAutoSnapshotPolicies)用于删除定期快照策略。
# * 支持批量操作。如果多个定期快照策略存在无法删除的,则操作不执行,以特定错误码返回。
# @param request: Request instance for DeleteAutoSnapshotPolicies.
# @type request: :class:`Tencentcloud::cbs::V20170312::DeleteAutoSnapshotPoliciesRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DeleteAutoSnapshotPoliciesResponse`
def DeleteAutoSnapshotPolicies(request)
body = send_request('DeleteAutoSnapshotPolicies', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteAutoSnapshotPoliciesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 批量删除指定的云硬盘备份点。
# @param request: Request instance for DeleteDiskBackups.
# @type request: :class:`Tencentcloud::cbs::V20170312::DeleteDiskBackupsRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DeleteDiskBackupsResponse`
def DeleteDiskBackups(request)
body = send_request('DeleteDiskBackups', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteDiskBackupsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DeleteSnapshots)用于删除快照。
# * 快照必须处于NORMAL状态,快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询,见输出参数中SnapshotState字段解释。
# * 支持批量操作。如果多个快照存在无法删除的快照,则操作不执行,以特定的错误码返回。
# @param request: Request instance for DeleteSnapshots.
# @type request: :class:`Tencentcloud::cbs::V20170312::DeleteSnapshotsRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DeleteSnapshotsResponse`
def DeleteSnapshots(request)
body = send_request('DeleteSnapshots', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DeleteSnapshotsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeAutoSnapshotPolicies)用于查询定期快照策略。
# * 可以根据定期快照策略ID、名称或者状态等信息来查询定期快照策略的详细信息,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
# * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的定期快照策略表。
# @param request: Request instance for DescribeAutoSnapshotPolicies.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeAutoSnapshotPoliciesRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeAutoSnapshotPoliciesResponse`
def DescribeAutoSnapshotPolicies(request)
body = send_request('DescribeAutoSnapshotPolicies', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeAutoSnapshotPoliciesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeDiskAssociatedAutoSnapshotPolicy)用于查询云盘绑定的定期快照策略。
# @param request: Request instance for DescribeDiskAssociatedAutoSnapshotPolicy.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskAssociatedAutoSnapshotPolicyRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskAssociatedAutoSnapshotPolicyResponse`
def DescribeDiskAssociatedAutoSnapshotPolicy(request)
body = send_request('DescribeDiskAssociatedAutoSnapshotPolicy', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeDiskAssociatedAutoSnapshotPolicyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeDiskBackups)用于查询备份点的详细信息。
# 根据备份点ID、创建备份点的云硬盘ID、创建备份点的云硬盘类型等对结果进行过滤,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器Filter。
# 如果参数为空,返回当前用户一定数量(Limit所指定的数量,默认为20)的备份点列表。
# @param request: Request instance for DescribeDiskBackups.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskBackupsRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskBackupsResponse`
def DescribeDiskBackups(request)
body = send_request('DescribeDiskBackups', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeDiskBackupsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeDiskConfigQuota)用于查询云硬盘配额。
# @param request: Request instance for DescribeDiskConfigQuota.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskConfigQuotaRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskConfigQuotaResponse`
def DescribeDiskConfigQuota(request)
body = send_request('DescribeDiskConfigQuota', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeDiskConfigQuotaResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeDiskStoragePool)查询用户的云硬盘独享集群列表。
# * 可以根据独享集群ID(CdcId)、可用区(zone)等信息来查询和过滤云硬盘独享集群详细信息,不同的过滤条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
# * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的云硬盘独享集群列表。
# @param request: Request instance for DescribeDiskStoragePool.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskStoragePoolRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskStoragePoolResponse`
def DescribeDiskStoragePool(request)
body = send_request('DescribeDiskStoragePool', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeDiskStoragePoolResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeDisks)用于查询云硬盘列表。
# * 可以根据云硬盘ID、云硬盘类型或者云硬盘状态等信息来查询云硬盘的详细信息,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
# * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的云硬盘列表。
# @param request: Request instance for DescribeDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDisksResponse`
def DescribeDisks(request)
body = send_request('DescribeDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeInstancesDiskNum)用于查询实例已挂载云硬盘数量。
# * 支持批量操作,当传入多个云服务器实例ID,返回结果会分别列出每个云服务器挂载的云硬盘数量。
# @param request: Request instance for DescribeInstancesDiskNum.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeInstancesDiskNumRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeInstancesDiskNumResponse`
def DescribeInstancesDiskNum(request)
body = send_request('DescribeInstancesDiskNum', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeInstancesDiskNumResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeSnapshotSharePermission)用于查询快照的分享信息。
# @param request: Request instance for DescribeSnapshotSharePermission.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotSharePermissionRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotSharePermissionResponse`
def DescribeSnapshotSharePermission(request)
body = send_request('DescribeSnapshotSharePermission', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeSnapshotSharePermissionResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DescribeSnapshots)用于查询快照的详细信息。
# * 根据快照ID、创建快照的云硬盘ID、创建快照的云硬盘类型等对结果进行过滤,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
# * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的快照列表。
# @param request: Request instance for DescribeSnapshots.
# @type request: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotsRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotsResponse`
def DescribeSnapshots(request)
body = send_request('DescribeSnapshots', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DescribeSnapshotsResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(DetachDisks)用于卸载云硬盘。
# * 支持批量操作,卸载挂载在同一主机上的多块云盘。如果多块云盘中存在不允许卸载的云盘,则操作不执行,返回特定的错误码。
# * 本接口为异步接口,当请求成功返回时,云盘并未立即从主机卸载,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHED”变为“UNATTACHED”,则为卸载成功。
# @param request: Request instance for DetachDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::DetachDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::DetachDisksResponse`
def DetachDisks(request)
body = send_request('DetachDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = DetachDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 获取快照概览信息
# @param request: Request instance for GetSnapOverview.
# @type request: :class:`Tencentcloud::cbs::V20170312::GetSnapOverviewRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::GetSnapOverviewResponse`
def GetSnapOverview(request)
body = send_request('GetSnapOverview', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = GetSnapOverviewResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 重新初始化云硬盘至云硬盘初始创建时的状态。使用云硬盘的重新初始化功能时需要注意以下4点:
# 1. 如果云硬盘是由快照创建的,则重新初始化会通过此快照重新回滚此云硬盘,即将云硬盘恢复为与快照一致的状态;
# 2. 如果云硬盘不是通过快照创建的,则重新初始化会清空此云硬盘的数据;请在重新初始化云硬盘前检查并备份必要的数据;
# 3. 当前仅未挂载的、非共享属性的数据盘云硬盘支持重新初始化;
# 4. 当创建此云硬盘的原始快照被删除时,不再支持重新初始化此云硬盘。
# @param request: Request instance for InitializeDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::InitializeDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::InitializeDisksResponse`
def InitializeDisks(request)
body = send_request('InitializeDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = InitializeDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(InquirePricePriceModifyDiskBackupQuota)用于修改云硬盘备份点配额询价。
# @param request: Request instance for InquirePriceModifyDiskBackupQuota.
# @type request: :class:`Tencentcloud::cbs::V20170312::InquirePriceModifyDiskBackupQuotaRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::InquirePriceModifyDiskBackupQuotaResponse`
def InquirePriceModifyDiskBackupQuota(request)
body = send_request('InquirePriceModifyDiskBackupQuota', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = InquirePriceModifyDiskBackupQuotaResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(InquirePriceModifyDiskExtraPerformance)用于调整云硬盘额外性能询价。
# @param request: Request instance for InquirePriceModifyDiskExtraPerformance.
# @type request: :class:`Tencentcloud::cbs::V20170312::InquirePriceModifyDiskExtraPerformanceRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::InquirePriceModifyDiskExtraPerformanceResponse`
def InquirePriceModifyDiskExtraPerformance(request)
body = send_request('InquirePriceModifyDiskExtraPerformance', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = InquirePriceModifyDiskExtraPerformanceResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(InquiryPriceCreateDisks)用于创建云硬盘询价。
# * 支持查询创建多块云硬盘的价格,此时返回结果为总价格。
# @param request: Request instance for InquiryPriceCreateDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::InquiryPriceCreateDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::InquiryPriceCreateDisksResponse`
def InquiryPriceCreateDisks(request)
body = send_request('InquiryPriceCreateDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = InquiryPriceCreateDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(InquiryPriceRenewDisks)用于续费云硬盘询价。
# * 只支持查询预付费模式的弹性云盘续费价格。
# * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline,此时会按对齐到实例续费后的到期时间来续费询价。
# * 支持为多块云盘指定不同的续费时长,此时返回的价格为多块云盘续费的总价格。
# @param request: Request instance for InquiryPriceRenewDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::InquiryPriceRenewDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::InquiryPriceRenewDisksResponse`
def InquiryPriceRenewDisks(request)
body = send_request('InquiryPriceRenewDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = InquiryPriceRenewDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(InquiryPriceResizeDisk)用于扩容云硬盘询价。
# @param request: Request instance for InquiryPriceResizeDisk.
# @type request: :class:`Tencentcloud::cbs::V20170312::InquiryPriceResizeDiskRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::InquiryPriceResizeDiskResponse`
def InquiryPriceResizeDisk(request)
body = send_request('InquiryPriceResizeDisk', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = InquiryPriceResizeDiskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(ModifyAutoSnapshotPolicyAttribute)用于修改定期快照策略属性。
# * 可通过该接口修改定期快照策略的执行策略、名称、是否激活等属性。
# * 修改保留天数时必须保证不与是否永久保留属性冲突,否则整个操作失败,以特定的错误码返回。
# @param request: Request instance for ModifyAutoSnapshotPolicyAttribute.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifyAutoSnapshotPolicyAttributeRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyAutoSnapshotPolicyAttributeResponse`
def ModifyAutoSnapshotPolicyAttribute(request)
body = send_request('ModifyAutoSnapshotPolicyAttribute', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyAutoSnapshotPolicyAttributeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。
# * “云硬盘名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行云盘管理操作的依据。
# * 支持批量操作,如果传入多个云盘ID,则所有云盘修改为同一属性。如果存在不允许操作的云盘,则操作不执行,以特定错误码返回。
# @param request: Request instance for ModifyDiskAttributes.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDiskAttributesRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDiskAttributesResponse`
def ModifyDiskAttributes(request)
body = send_request('ModifyDiskAttributes', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyDiskAttributesResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 此接口 (ModifyDiskBackupQuota) 用于修改云硬盘备份点配额。
# @param request: Request instance for ModifyDiskBackupQuota.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDiskBackupQuotaRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDiskBackupQuotaResponse`
def ModifyDiskBackupQuota(request)
body = send_request('ModifyDiskBackupQuota', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyDiskBackupQuotaResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(ModifyDiskExtraPerformance)用于调整云硬盘额外的性能。
# * 目前仅支持增强型SSD云硬盘(CLOUD_HSSD)和极速型SSD云硬盘(CLOUD_TSSD)。
# @param request: Request instance for ModifyDiskExtraPerformance.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDiskExtraPerformanceRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDiskExtraPerformanceResponse`
def ModifyDiskExtraPerformance(request)
body = send_request('ModifyDiskExtraPerformance', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyDiskExtraPerformanceResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口 (ModifyDisksChargeType) 用于切换云硬盘的计费模式。
# 非弹性云硬盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云硬盘一起转换。
# 默认接口请求频率限制:10次/秒。
# @param request: Request instance for ModifyDisksChargeType.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDisksChargeTypeRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDisksChargeTypeResponse`
def ModifyDisksChargeType(request)
body = send_request('ModifyDisksChargeType', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyDisksChargeTypeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(ModifyDisksRenewFlag)用于修改云硬盘续费标识,支持批量修改。
# @param request: Request instance for ModifyDisksRenewFlag.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDisksRenewFlagRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDisksRenewFlagResponse`
def ModifyDisksRenewFlag(request)
body = send_request('ModifyDisksRenewFlag', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifyDisksRenewFlagResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(ModifySnapshotAttribute)用于修改指定快照的属性。
# * 本接口支持修改快照名称及到期时间,以及将非永久快照修改为永久快照。
# * “快照名称”仅为方便用户管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
# @param request: Request instance for ModifySnapshotAttribute.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotAttributeRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotAttributeResponse`
def ModifySnapshotAttribute(request)
body = send_request('ModifySnapshotAttribute', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifySnapshotAttributeResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(ModifySnapshotsSharePermission)用于修改快照分享信息。
# 分享快照后,被分享账户可以通过该快照创建云硬盘。
# * 每个快照最多可分享给50个账户。
# * 分享快照无法更改名称,描述,仅可用于创建云硬盘。
# * 只支持分享到对方账户相同地域。
# * 仅支持分享数据盘快照。
# @param request: Request instance for ModifySnapshotsSharePermission.
# @type request: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotsSharePermissionRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotsSharePermissionResponse`
def ModifySnapshotsSharePermission(request)
body = send_request('ModifySnapshotsSharePermission', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ModifySnapshotsSharePermissionResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(RenewDisk)用于续费云硬盘。
# * 只支持预付费的云硬盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中DiskChargeType字段解释。
# * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline,此时会按对齐到子机续费后的到期时间来续费。
# @param request: Request instance for RenewDisk.
# @type request: :class:`Tencentcloud::cbs::V20170312::RenewDiskRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::RenewDiskResponse`
def RenewDisk(request)
body = send_request('RenewDisk', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = RenewDiskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(ResizeDisk)用于扩容云硬盘。
# * 只支持扩容弹性云盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。非弹性云硬盘需通过[ResizeInstanceDisks](/document/product/213/15731)接口扩容。
# * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态为“EXPANDING”,表示正在扩容中。
# @param request: Request instance for ResizeDisk.
# @type request: :class:`Tencentcloud::cbs::V20170312::ResizeDiskRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::ResizeDiskResponse`
def ResizeDisk(request)
body = send_request('ResizeDisk', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = ResizeDiskResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(TerminateDisks)用于退还云硬盘。
# * 不再使用的云盘,可通过本接口主动退还。
# * 本接口支持退还预付费云盘和按小时后付费云盘。按小时后付费云盘可直接退还,预付费云盘需符合退还规则。
# * 支持批量操作,每次请求批量云硬盘的上限为100。如果批量云盘存在不允许操作的,请求会以特定错误码返回。
# @param request: Request instance for TerminateDisks.
# @type request: :class:`Tencentcloud::cbs::V20170312::TerminateDisksRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::TerminateDisksResponse`
def TerminateDisks(request)
body = send_request('TerminateDisks', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = TerminateDisksResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
# 本接口(UnbindAutoSnapshotPolicy)用于解除云硬盘绑定的定期快照策略。
# * 支持批量操作,可一次解除多个云盘与同一定期快照策略的绑定。
# * 如果传入的云盘未绑定到当前定期快照策略,接口将自动跳过,仅解绑与当前定期快照策略绑定的云盘。
# @param request: Request instance for UnbindAutoSnapshotPolicy.
# @type request: :class:`Tencentcloud::cbs::V20170312::UnbindAutoSnapshotPolicyRequest`
# @rtype: :class:`Tencentcloud::cbs::V20170312::UnbindAutoSnapshotPolicyResponse`
def UnbindAutoSnapshotPolicy(request)
body = send_request('UnbindAutoSnapshotPolicy', request.serialize)
response = JSON.parse(body)
if response['Response'].key?('Error') == false
model = UnbindAutoSnapshotPolicyResponse.new
model.deserialize(response['Response'])
model
else
code = response['Response']['Error']['Code']
message = response['Response']['Error']['Message']
reqid = response['Response']['RequestId']
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
end
rescue TencentCloud::Common::TencentCloudSDKException => e
raise e
rescue StandardError => e
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
end
end
end
end
end
1
https://gitee.com/tencentcloud/tencentcloud-sdk-ruby.git
git@gitee.com:tencentcloud/tencentcloud-sdk-ruby.git
tencentcloud
tencentcloud-sdk-ruby
tencentcloud-sdk-ruby
master

搜索帮助