tencentcloud-sdk-cbs 1.0.200

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,963 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ require 'json'
18
+
19
+ module TencentCloud
20
+ module Cbs
21
+ module V20170312
22
+ class Client < TencentCloud::Common::AbstractClient
23
+
24
+ def initialize(credential, region, profile = nil)
25
+ api_version = '2017-03-12'
26
+ api_endpoint = 'cbs.tencentcloudapi.com'
27
+ sdk_version = 'CBS_' + File.read(File.expand_path('../VERSION', __dir__)).strip
28
+ super(credential, region, api_version, api_endpoint, sdk_version, profile)
29
+ end
30
+
31
+
32
+ # 本接口(ApplySnapshot)用于回滚快照到原云硬盘。
33
+
34
+ # * 仅支持回滚到原云硬盘上。对于数据盘快照,如果您需要复制快照数据到其它云硬盘上,请使用[CreateDisks](/document/product/362/16312)接口创建新的弹性云盘,将快照数据复制到新购云盘上。
35
+ # * 用于回滚的快照必须处于NORMAL状态。快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询,见输出参数中SnapshotState字段解释。
36
+ # * 如果是弹性云盘,则云盘必须处于未挂载状态,云硬盘挂载状态可以通过[DescribeDisks](/document/product/362/16315)接口查询,见Attached字段解释;如果是随实例一起购买的非弹性云盘,则实例必须处于关机状态,实例状态可以通过[DescribeInstancesStatus](/document/product/213/15738)接口查询。
37
+
38
+ # @param request: Request instance for ApplySnapshot.
39
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ApplySnapshotRequest`
40
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ApplySnapshotResponse`
41
+ def ApplySnapshot(request)
42
+ body = send_request('ApplySnapshot', request.serialize)
43
+ response = JSON.parse(body)
44
+ if response['Response'].key?('Error') == false
45
+ model = ApplySnapshotResponse.new
46
+ model.deserialize(response['Response'])
47
+ model
48
+ else
49
+ code = response['Response']['Error']['Code']
50
+ message = response['Response']['Error']['Message']
51
+ reqid = response['Response']['RequestId']
52
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
53
+ end
54
+ rescue TencentCloud::Common::TencentCloudSDKException => e
55
+ raise e
56
+ rescue StandardError => e
57
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
58
+ end
59
+
60
+ # 本接口(AttachDisks)用于挂载云硬盘。
61
+
62
+ # * 支持批量操作,将多块云盘挂载到同一云主机。如果多个云盘中存在不允许挂载的云盘,则操作不执行,返回特定的错误码。
63
+ # * 本接口为异步接口,当挂载云盘的请求成功返回时,表示后台已发起挂载云盘的操作,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHING”变为“ATTACHED”,则为挂载成功。
64
+
65
+ # @param request: Request instance for AttachDisks.
66
+ # @type request: :class:`Tencentcloud::cbs::V20170312::AttachDisksRequest`
67
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::AttachDisksResponse`
68
+ def AttachDisks(request)
69
+ body = send_request('AttachDisks', request.serialize)
70
+ response = JSON.parse(body)
71
+ if response['Response'].key?('Error') == false
72
+ model = AttachDisksResponse.new
73
+ model.deserialize(response['Response'])
74
+ model
75
+ else
76
+ code = response['Response']['Error']['Code']
77
+ message = response['Response']['Error']['Message']
78
+ reqid = response['Response']['RequestId']
79
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
80
+ end
81
+ rescue TencentCloud::Common::TencentCloudSDKException => e
82
+ raise e
83
+ rescue StandardError => e
84
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
85
+ end
86
+
87
+ # 本接口(BindAutoSnapshotPolicy)用于绑定云硬盘到指定的定期快照策略。
88
+
89
+ # * 每个地域下的定期快照策略配额限制请参考文档[定期快照](/document/product/362/8191)。
90
+ # * 当已绑定定期快照策略的云硬盘处于未使用状态(即弹性云盘未挂载或非弹性云盘的主机处于关机状态)将不会创建定期快照。
91
+
92
+ # @param request: Request instance for BindAutoSnapshotPolicy.
93
+ # @type request: :class:`Tencentcloud::cbs::V20170312::BindAutoSnapshotPolicyRequest`
94
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::BindAutoSnapshotPolicyResponse`
95
+ def BindAutoSnapshotPolicy(request)
96
+ body = send_request('BindAutoSnapshotPolicy', request.serialize)
97
+ response = JSON.parse(body)
98
+ if response['Response'].key?('Error') == false
99
+ model = BindAutoSnapshotPolicyResponse.new
100
+ model.deserialize(response['Response'])
101
+ model
102
+ else
103
+ code = response['Response']['Error']['Code']
104
+ message = response['Response']['Error']['Message']
105
+ reqid = response['Response']['RequestId']
106
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
107
+ end
108
+ rescue TencentCloud::Common::TencentCloudSDKException => e
109
+ raise e
110
+ rescue StandardError => e
111
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
112
+ end
113
+
114
+ # 本接口(CreateAutoSnapshotPolicy)用于创建定期快照策略。
115
+
116
+ # * 每个地域可创建的定期快照策略数量限制请参考文档[定期快照](/document/product/362/8191)。
117
+ # * 每个地域可创建的快照有数量和容量的限制,具体请见腾讯云控制台快照页面提示,如果快照超配额,定期快照创建会失败。
118
+
119
+ # @param request: Request instance for CreateAutoSnapshotPolicy.
120
+ # @type request: :class:`Tencentcloud::cbs::V20170312::CreateAutoSnapshotPolicyRequest`
121
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::CreateAutoSnapshotPolicyResponse`
122
+ def CreateAutoSnapshotPolicy(request)
123
+ body = send_request('CreateAutoSnapshotPolicy', request.serialize)
124
+ response = JSON.parse(body)
125
+ if response['Response'].key?('Error') == false
126
+ model = CreateAutoSnapshotPolicyResponse.new
127
+ model.deserialize(response['Response'])
128
+ model
129
+ else
130
+ code = response['Response']['Error']['Code']
131
+ message = response['Response']['Error']['Message']
132
+ reqid = response['Response']['RequestId']
133
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
134
+ end
135
+ rescue TencentCloud::Common::TencentCloudSDKException => e
136
+ raise e
137
+ rescue StandardError => e
138
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
139
+ end
140
+
141
+ # 本接口(CreateDisks)用于创建云硬盘。
142
+
143
+ # * 预付费云盘的购买会预先扣除本次云盘购买所需金额,在调用本接口前请确保账户余额充足。
144
+ # * 本接口支持传入数据盘快照来创建云盘,实现将快照数据复制到新购云盘上。
145
+ # * 本接口为异步接口,当创建请求下发成功后会返回一个新建的云盘ID列表,此时云盘的创建并未立即完成。可以通过调用[DescribeDisks](/document/product/362/16315)接口根据DiskId查询对应云盘,如果能查到云盘,且状态为'UNATTACHED'或'ATTACHED',则表示创建成功。
146
+
147
+ # @param request: Request instance for CreateDisks.
148
+ # @type request: :class:`Tencentcloud::cbs::V20170312::CreateDisksRequest`
149
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::CreateDisksResponse`
150
+ def CreateDisks(request)
151
+ body = send_request('CreateDisks', request.serialize)
152
+ response = JSON.parse(body)
153
+ if response['Response'].key?('Error') == false
154
+ model = CreateDisksResponse.new
155
+ model.deserialize(response['Response'])
156
+ model
157
+ else
158
+ code = response['Response']['Error']['Code']
159
+ message = response['Response']['Error']['Message']
160
+ reqid = response['Response']['RequestId']
161
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
162
+ end
163
+ rescue TencentCloud::Common::TencentCloudSDKException => e
164
+ raise e
165
+ rescue StandardError => e
166
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
167
+ end
168
+
169
+ # 本接口(CreateSnapshot)用于对指定云盘创建快照。
170
+
171
+ # * 只有具有快照能力的云硬盘才能创建快照。云硬盘是否具有快照能力可由[DescribeDisks](/document/product/362/16315)接口查询,见SnapshotAbility字段。
172
+ # * 可创建快照数量限制见[产品使用限制](https://cloud.tencent.com/doc/product/362/5145)。
173
+
174
+ # @param request: Request instance for CreateSnapshot.
175
+ # @type request: :class:`Tencentcloud::cbs::V20170312::CreateSnapshotRequest`
176
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::CreateSnapshotResponse`
177
+ def CreateSnapshot(request)
178
+ body = send_request('CreateSnapshot', request.serialize)
179
+ response = JSON.parse(body)
180
+ if response['Response'].key?('Error') == false
181
+ model = CreateSnapshotResponse.new
182
+ model.deserialize(response['Response'])
183
+ model
184
+ else
185
+ code = response['Response']['Error']['Code']
186
+ message = response['Response']['Error']['Message']
187
+ reqid = response['Response']['RequestId']
188
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
189
+ end
190
+ rescue TencentCloud::Common::TencentCloudSDKException => e
191
+ raise e
192
+ rescue StandardError => e
193
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
194
+ end
195
+
196
+ # 本接口(DeleteAutoSnapshotPolicies)用于删除定期快照策略。
197
+
198
+ # * 支持批量操作。如果多个定期快照策略存在无法删除的,则操作不执行,以特定错误码返回。
199
+
200
+ # @param request: Request instance for DeleteAutoSnapshotPolicies.
201
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DeleteAutoSnapshotPoliciesRequest`
202
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DeleteAutoSnapshotPoliciesResponse`
203
+ def DeleteAutoSnapshotPolicies(request)
204
+ body = send_request('DeleteAutoSnapshotPolicies', request.serialize)
205
+ response = JSON.parse(body)
206
+ if response['Response'].key?('Error') == false
207
+ model = DeleteAutoSnapshotPoliciesResponse.new
208
+ model.deserialize(response['Response'])
209
+ model
210
+ else
211
+ code = response['Response']['Error']['Code']
212
+ message = response['Response']['Error']['Message']
213
+ reqid = response['Response']['RequestId']
214
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
215
+ end
216
+ rescue TencentCloud::Common::TencentCloudSDKException => e
217
+ raise e
218
+ rescue StandardError => e
219
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
220
+ end
221
+
222
+ # 本接口(DeleteSnapshots)用于删除快照。
223
+
224
+ # * 快照必须处于NORMAL状态,快照状态可以通过[DescribeSnapshots](/document/product/362/15647)接口查询,见输出参数中SnapshotState字段解释。
225
+ # * 支持批量操作。如果多个快照存在无法删除的快照,则操作不执行,以特定的错误码返回。
226
+
227
+ # @param request: Request instance for DeleteSnapshots.
228
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DeleteSnapshotsRequest`
229
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DeleteSnapshotsResponse`
230
+ def DeleteSnapshots(request)
231
+ body = send_request('DeleteSnapshots', request.serialize)
232
+ response = JSON.parse(body)
233
+ if response['Response'].key?('Error') == false
234
+ model = DeleteSnapshotsResponse.new
235
+ model.deserialize(response['Response'])
236
+ model
237
+ else
238
+ code = response['Response']['Error']['Code']
239
+ message = response['Response']['Error']['Message']
240
+ reqid = response['Response']['RequestId']
241
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
242
+ end
243
+ rescue TencentCloud::Common::TencentCloudSDKException => e
244
+ raise e
245
+ rescue StandardError => e
246
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
247
+ end
248
+
249
+ # 本接口(DescribeAutoSnapshotPolicies)用于查询定期快照策略。
250
+
251
+ # * 可以根据定期快照策略ID、名称或者状态等信息来查询定期快照策略的详细信息,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
252
+ # * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的定期快照策略表。
253
+
254
+ # @param request: Request instance for DescribeAutoSnapshotPolicies.
255
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeAutoSnapshotPoliciesRequest`
256
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeAutoSnapshotPoliciesResponse`
257
+ def DescribeAutoSnapshotPolicies(request)
258
+ body = send_request('DescribeAutoSnapshotPolicies', request.serialize)
259
+ response = JSON.parse(body)
260
+ if response['Response'].key?('Error') == false
261
+ model = DescribeAutoSnapshotPoliciesResponse.new
262
+ model.deserialize(response['Response'])
263
+ model
264
+ else
265
+ code = response['Response']['Error']['Code']
266
+ message = response['Response']['Error']['Message']
267
+ reqid = response['Response']['RequestId']
268
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
269
+ end
270
+ rescue TencentCloud::Common::TencentCloudSDKException => e
271
+ raise e
272
+ rescue StandardError => e
273
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
274
+ end
275
+
276
+ # 本接口(DescribeDiskAssociatedAutoSnapshotPolicy)用于查询云盘绑定的定期快照策略。
277
+
278
+ # @param request: Request instance for DescribeDiskAssociatedAutoSnapshotPolicy.
279
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskAssociatedAutoSnapshotPolicyRequest`
280
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskAssociatedAutoSnapshotPolicyResponse`
281
+ def DescribeDiskAssociatedAutoSnapshotPolicy(request)
282
+ body = send_request('DescribeDiskAssociatedAutoSnapshotPolicy', request.serialize)
283
+ response = JSON.parse(body)
284
+ if response['Response'].key?('Error') == false
285
+ model = DescribeDiskAssociatedAutoSnapshotPolicyResponse.new
286
+ model.deserialize(response['Response'])
287
+ model
288
+ else
289
+ code = response['Response']['Error']['Code']
290
+ message = response['Response']['Error']['Message']
291
+ reqid = response['Response']['RequestId']
292
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
293
+ end
294
+ rescue TencentCloud::Common::TencentCloudSDKException => e
295
+ raise e
296
+ rescue StandardError => e
297
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
298
+ end
299
+
300
+ # 本接口(DescribeDiskConfigQuota)用于查询云硬盘配额。
301
+
302
+ # @param request: Request instance for DescribeDiskConfigQuota.
303
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskConfigQuotaRequest`
304
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskConfigQuotaResponse`
305
+ def DescribeDiskConfigQuota(request)
306
+ body = send_request('DescribeDiskConfigQuota', request.serialize)
307
+ response = JSON.parse(body)
308
+ if response['Response'].key?('Error') == false
309
+ model = DescribeDiskConfigQuotaResponse.new
310
+ model.deserialize(response['Response'])
311
+ model
312
+ else
313
+ code = response['Response']['Error']['Code']
314
+ message = response['Response']['Error']['Message']
315
+ reqid = response['Response']['RequestId']
316
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
317
+ end
318
+ rescue TencentCloud::Common::TencentCloudSDKException => e
319
+ raise e
320
+ rescue StandardError => e
321
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
322
+ end
323
+
324
+ # 查询云盘操作日志功能已迁移至LookUpEvents接口(https://cloud.tencent.com/document/product/629/12359),本接口(DescribeDiskOperationLogs)即将下线,后续不再提供调用,请知悉。
325
+
326
+ # @param request: Request instance for DescribeDiskOperationLogs.
327
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskOperationLogsRequest`
328
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskOperationLogsResponse`
329
+ def DescribeDiskOperationLogs(request)
330
+ body = send_request('DescribeDiskOperationLogs', request.serialize)
331
+ response = JSON.parse(body)
332
+ if response['Response'].key?('Error') == false
333
+ model = DescribeDiskOperationLogsResponse.new
334
+ model.deserialize(response['Response'])
335
+ model
336
+ else
337
+ code = response['Response']['Error']['Code']
338
+ message = response['Response']['Error']['Message']
339
+ reqid = response['Response']['RequestId']
340
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
341
+ end
342
+ rescue TencentCloud::Common::TencentCloudSDKException => e
343
+ raise e
344
+ rescue StandardError => e
345
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
346
+ end
347
+
348
+ # 本接口(DescribeDiskStoragePool)查询用户的云硬盘独享集群列表。
349
+
350
+ # * 可以根据独享集群ID(CdcId)、集群区域名(zone)类型等信息来查询和过滤云硬盘独享集群详细信息,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
351
+ # * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的云硬盘独享集群列表。
352
+
353
+ # @param request: Request instance for DescribeDiskStoragePool.
354
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDiskStoragePoolRequest`
355
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDiskStoragePoolResponse`
356
+ def DescribeDiskStoragePool(request)
357
+ body = send_request('DescribeDiskStoragePool', request.serialize)
358
+ response = JSON.parse(body)
359
+ if response['Response'].key?('Error') == false
360
+ model = DescribeDiskStoragePoolResponse.new
361
+ model.deserialize(response['Response'])
362
+ model
363
+ else
364
+ code = response['Response']['Error']['Code']
365
+ message = response['Response']['Error']['Message']
366
+ reqid = response['Response']['RequestId']
367
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
368
+ end
369
+ rescue TencentCloud::Common::TencentCloudSDKException => e
370
+ raise e
371
+ rescue StandardError => e
372
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
373
+ end
374
+
375
+ # 本接口(DescribeDisks)用于查询云硬盘列表。
376
+
377
+ # * 可以根据云硬盘ID、云硬盘类型或者云硬盘状态等信息来查询云硬盘的详细信息,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
378
+ # * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的云硬盘列表。
379
+
380
+ # @param request: Request instance for DescribeDisks.
381
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeDisksRequest`
382
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeDisksResponse`
383
+ def DescribeDisks(request)
384
+ body = send_request('DescribeDisks', request.serialize)
385
+ response = JSON.parse(body)
386
+ if response['Response'].key?('Error') == false
387
+ model = DescribeDisksResponse.new
388
+ model.deserialize(response['Response'])
389
+ model
390
+ else
391
+ code = response['Response']['Error']['Code']
392
+ message = response['Response']['Error']['Message']
393
+ reqid = response['Response']['RequestId']
394
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
395
+ end
396
+ rescue TencentCloud::Common::TencentCloudSDKException => e
397
+ raise e
398
+ rescue StandardError => e
399
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
400
+ end
401
+
402
+ # 本接口(DescribeInstancesDiskNum)用于查询实例已挂载云硬盘数量。
403
+
404
+ # * 支持批量操作,当传入多个云服务器实例ID,返回结果会分别列出每个云服务器挂载的云硬盘数量。
405
+
406
+ # @param request: Request instance for DescribeInstancesDiskNum.
407
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeInstancesDiskNumRequest`
408
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeInstancesDiskNumResponse`
409
+ def DescribeInstancesDiskNum(request)
410
+ body = send_request('DescribeInstancesDiskNum', request.serialize)
411
+ response = JSON.parse(body)
412
+ if response['Response'].key?('Error') == false
413
+ model = DescribeInstancesDiskNumResponse.new
414
+ model.deserialize(response['Response'])
415
+ model
416
+ else
417
+ code = response['Response']['Error']['Code']
418
+ message = response['Response']['Error']['Message']
419
+ reqid = response['Response']['RequestId']
420
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
421
+ end
422
+ rescue TencentCloud::Common::TencentCloudSDKException => e
423
+ raise e
424
+ rescue StandardError => e
425
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
426
+ end
427
+
428
+ # 本接口(DescribeSnapshotOperationLogs)用于查询快照操作日志列表。
429
+
430
+ # 可根据快照ID过滤。快照ID形如:snap-a1kmcp13。
431
+
432
+ # @param request: Request instance for DescribeSnapshotOperationLogs.
433
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotOperationLogsRequest`
434
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotOperationLogsResponse`
435
+ def DescribeSnapshotOperationLogs(request)
436
+ body = send_request('DescribeSnapshotOperationLogs', request.serialize)
437
+ response = JSON.parse(body)
438
+ if response['Response'].key?('Error') == false
439
+ model = DescribeSnapshotOperationLogsResponse.new
440
+ model.deserialize(response['Response'])
441
+ model
442
+ else
443
+ code = response['Response']['Error']['Code']
444
+ message = response['Response']['Error']['Message']
445
+ reqid = response['Response']['RequestId']
446
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
447
+ end
448
+ rescue TencentCloud::Common::TencentCloudSDKException => e
449
+ raise e
450
+ rescue StandardError => e
451
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
452
+ end
453
+
454
+ # 本接口(DescribeSnapshotSharePermission)用于查询快照的分享信息。
455
+
456
+ # @param request: Request instance for DescribeSnapshotSharePermission.
457
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotSharePermissionRequest`
458
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotSharePermissionResponse`
459
+ def DescribeSnapshotSharePermission(request)
460
+ body = send_request('DescribeSnapshotSharePermission', request.serialize)
461
+ response = JSON.parse(body)
462
+ if response['Response'].key?('Error') == false
463
+ model = DescribeSnapshotSharePermissionResponse.new
464
+ model.deserialize(response['Response'])
465
+ model
466
+ else
467
+ code = response['Response']['Error']['Code']
468
+ message = response['Response']['Error']['Message']
469
+ reqid = response['Response']['RequestId']
470
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
471
+ end
472
+ rescue TencentCloud::Common::TencentCloudSDKException => e
473
+ raise e
474
+ rescue StandardError => e
475
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
476
+ end
477
+
478
+ # 本接口(DescribeSnapshots)用于查询快照的详细信息。
479
+
480
+ # * 根据快照ID、创建快照的云硬盘ID、创建快照的云硬盘类型等对结果进行过滤,不同条件之间为与(AND)的关系,过滤信息详细请见过滤器`Filter`。
481
+ # * 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的快照列表。
482
+
483
+ # @param request: Request instance for DescribeSnapshots.
484
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotsRequest`
485
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DescribeSnapshotsResponse`
486
+ def DescribeSnapshots(request)
487
+ body = send_request('DescribeSnapshots', request.serialize)
488
+ response = JSON.parse(body)
489
+ if response['Response'].key?('Error') == false
490
+ model = DescribeSnapshotsResponse.new
491
+ model.deserialize(response['Response'])
492
+ model
493
+ else
494
+ code = response['Response']['Error']['Code']
495
+ message = response['Response']['Error']['Message']
496
+ reqid = response['Response']['RequestId']
497
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
498
+ end
499
+ rescue TencentCloud::Common::TencentCloudSDKException => e
500
+ raise e
501
+ rescue StandardError => e
502
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
503
+ end
504
+
505
+ # 本接口(DetachDisks)用于卸载云硬盘。
506
+
507
+ # * 支持批量操作,卸载挂载在同一主机上的多块云盘。如果多块云盘中存在不允许卸载的云盘,则操作不执行,返回特定的错误码。
508
+ # * 本接口为异步接口,当请求成功返回时,云盘并未立即从主机卸载,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态由“ATTACHED”变为“UNATTACHED”,则为卸载成功。
509
+
510
+ # @param request: Request instance for DetachDisks.
511
+ # @type request: :class:`Tencentcloud::cbs::V20170312::DetachDisksRequest`
512
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::DetachDisksResponse`
513
+ def DetachDisks(request)
514
+ body = send_request('DetachDisks', request.serialize)
515
+ response = JSON.parse(body)
516
+ if response['Response'].key?('Error') == false
517
+ model = DetachDisksResponse.new
518
+ model.deserialize(response['Response'])
519
+ model
520
+ else
521
+ code = response['Response']['Error']['Code']
522
+ message = response['Response']['Error']['Message']
523
+ reqid = response['Response']['RequestId']
524
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
525
+ end
526
+ rescue TencentCloud::Common::TencentCloudSDKException => e
527
+ raise e
528
+ rescue StandardError => e
529
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
530
+ end
531
+
532
+ # 获取快照概览信息
533
+
534
+ # @param request: Request instance for GetSnapOverview.
535
+ # @type request: :class:`Tencentcloud::cbs::V20170312::GetSnapOverviewRequest`
536
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::GetSnapOverviewResponse`
537
+ def GetSnapOverview(request)
538
+ body = send_request('GetSnapOverview', request.serialize)
539
+ response = JSON.parse(body)
540
+ if response['Response'].key?('Error') == false
541
+ model = GetSnapOverviewResponse.new
542
+ model.deserialize(response['Response'])
543
+ model
544
+ else
545
+ code = response['Response']['Error']['Code']
546
+ message = response['Response']['Error']['Message']
547
+ reqid = response['Response']['RequestId']
548
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
549
+ end
550
+ rescue TencentCloud::Common::TencentCloudSDKException => e
551
+ raise e
552
+ rescue StandardError => e
553
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
554
+ end
555
+
556
+ # 本接口(InquirePriceModifyDiskExtraPerformance)用于调整云硬盘额外性能询价。
557
+
558
+ # @param request: Request instance for InquirePriceModifyDiskExtraPerformance.
559
+ # @type request: :class:`Tencentcloud::cbs::V20170312::InquirePriceModifyDiskExtraPerformanceRequest`
560
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::InquirePriceModifyDiskExtraPerformanceResponse`
561
+ def InquirePriceModifyDiskExtraPerformance(request)
562
+ body = send_request('InquirePriceModifyDiskExtraPerformance', request.serialize)
563
+ response = JSON.parse(body)
564
+ if response['Response'].key?('Error') == false
565
+ model = InquirePriceModifyDiskExtraPerformanceResponse.new
566
+ model.deserialize(response['Response'])
567
+ model
568
+ else
569
+ code = response['Response']['Error']['Code']
570
+ message = response['Response']['Error']['Message']
571
+ reqid = response['Response']['RequestId']
572
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
573
+ end
574
+ rescue TencentCloud::Common::TencentCloudSDKException => e
575
+ raise e
576
+ rescue StandardError => e
577
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
578
+ end
579
+
580
+ # 本接口(InquiryPriceCreateDisks)用于创建云硬盘询价。
581
+
582
+ # * 支持查询创建多块云硬盘的价格,此时返回结果为总价格。
583
+
584
+ # @param request: Request instance for InquiryPriceCreateDisks.
585
+ # @type request: :class:`Tencentcloud::cbs::V20170312::InquiryPriceCreateDisksRequest`
586
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::InquiryPriceCreateDisksResponse`
587
+ def InquiryPriceCreateDisks(request)
588
+ body = send_request('InquiryPriceCreateDisks', request.serialize)
589
+ response = JSON.parse(body)
590
+ if response['Response'].key?('Error') == false
591
+ model = InquiryPriceCreateDisksResponse.new
592
+ model.deserialize(response['Response'])
593
+ model
594
+ else
595
+ code = response['Response']['Error']['Code']
596
+ message = response['Response']['Error']['Message']
597
+ reqid = response['Response']['RequestId']
598
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
599
+ end
600
+ rescue TencentCloud::Common::TencentCloudSDKException => e
601
+ raise e
602
+ rescue StandardError => e
603
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
604
+ end
605
+
606
+ # 本接口(InquiryPriceRenewDisks)用于续费云硬盘询价。
607
+
608
+ # * 只支持查询预付费模式的弹性云盘续费价格。
609
+ # * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline,此时会按对齐到实例续费后的到期时间来续费询价。
610
+ # * 支持为多块云盘指定不同的续费时长,此时返回的价格为多块云盘续费的总价格。
611
+
612
+ # @param request: Request instance for InquiryPriceRenewDisks.
613
+ # @type request: :class:`Tencentcloud::cbs::V20170312::InquiryPriceRenewDisksRequest`
614
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::InquiryPriceRenewDisksResponse`
615
+ def InquiryPriceRenewDisks(request)
616
+ body = send_request('InquiryPriceRenewDisks', request.serialize)
617
+ response = JSON.parse(body)
618
+ if response['Response'].key?('Error') == false
619
+ model = InquiryPriceRenewDisksResponse.new
620
+ model.deserialize(response['Response'])
621
+ model
622
+ else
623
+ code = response['Response']['Error']['Code']
624
+ message = response['Response']['Error']['Message']
625
+ reqid = response['Response']['RequestId']
626
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
627
+ end
628
+ rescue TencentCloud::Common::TencentCloudSDKException => e
629
+ raise e
630
+ rescue StandardError => e
631
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
632
+ end
633
+
634
+ # 本接口(InquiryPriceResizeDisk)用于扩容云硬盘询价。
635
+
636
+ # * 只支持预付费模式的云硬盘扩容询价。
637
+
638
+ # @param request: Request instance for InquiryPriceResizeDisk.
639
+ # @type request: :class:`Tencentcloud::cbs::V20170312::InquiryPriceResizeDiskRequest`
640
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::InquiryPriceResizeDiskResponse`
641
+ def InquiryPriceResizeDisk(request)
642
+ body = send_request('InquiryPriceResizeDisk', request.serialize)
643
+ response = JSON.parse(body)
644
+ if response['Response'].key?('Error') == false
645
+ model = InquiryPriceResizeDiskResponse.new
646
+ model.deserialize(response['Response'])
647
+ model
648
+ else
649
+ code = response['Response']['Error']['Code']
650
+ message = response['Response']['Error']['Message']
651
+ reqid = response['Response']['RequestId']
652
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
653
+ end
654
+ rescue TencentCloud::Common::TencentCloudSDKException => e
655
+ raise e
656
+ rescue StandardError => e
657
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
658
+ end
659
+
660
+ # 本接口(ModifyAutoSnapshotPolicyAttribute)用于修改定期快照策略属性。
661
+
662
+ # * 可通过该接口修改定期快照策略的执行策略、名称、是否激活等属性。
663
+ # * 修改保留天数时必须保证不与是否永久保留属性冲突,否则整个操作失败,以特定的错误码返回。
664
+
665
+ # @param request: Request instance for ModifyAutoSnapshotPolicyAttribute.
666
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ModifyAutoSnapshotPolicyAttributeRequest`
667
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyAutoSnapshotPolicyAttributeResponse`
668
+ def ModifyAutoSnapshotPolicyAttribute(request)
669
+ body = send_request('ModifyAutoSnapshotPolicyAttribute', request.serialize)
670
+ response = JSON.parse(body)
671
+ if response['Response'].key?('Error') == false
672
+ model = ModifyAutoSnapshotPolicyAttributeResponse.new
673
+ model.deserialize(response['Response'])
674
+ model
675
+ else
676
+ code = response['Response']['Error']['Code']
677
+ message = response['Response']['Error']['Message']
678
+ reqid = response['Response']['RequestId']
679
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
680
+ end
681
+ rescue TencentCloud::Common::TencentCloudSDKException => e
682
+ raise e
683
+ rescue StandardError => e
684
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
685
+ end
686
+
687
+ # * 只支持修改弹性云盘的项目ID。随云主机创建的云硬盘项目ID与云主机联动。可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。
688
+ # * “云硬盘名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行云盘管理操作的依据。
689
+ # * 支持批量操作,如果传入多个云盘ID,则所有云盘修改为同一属性。如果存在不允许操作的云盘,则操作不执行,以特定错误码返回。
690
+
691
+ # @param request: Request instance for ModifyDiskAttributes.
692
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDiskAttributesRequest`
693
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDiskAttributesResponse`
694
+ def ModifyDiskAttributes(request)
695
+ body = send_request('ModifyDiskAttributes', request.serialize)
696
+ response = JSON.parse(body)
697
+ if response['Response'].key?('Error') == false
698
+ model = ModifyDiskAttributesResponse.new
699
+ model.deserialize(response['Response'])
700
+ model
701
+ else
702
+ code = response['Response']['Error']['Code']
703
+ message = response['Response']['Error']['Message']
704
+ reqid = response['Response']['RequestId']
705
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
706
+ end
707
+ rescue TencentCloud::Common::TencentCloudSDKException => e
708
+ raise e
709
+ rescue StandardError => e
710
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
711
+ end
712
+
713
+ # 本接口(ModifyDiskExtraPerformance)用于调整云硬盘额外的性能。
714
+
715
+ # * 目前仅支持极速型SSD云硬盘(CLOUD_TSSD)和高性能SSD云硬盘(CLOUD_HSSD)。
716
+
717
+ # @param request: Request instance for ModifyDiskExtraPerformance.
718
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDiskExtraPerformanceRequest`
719
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDiskExtraPerformanceResponse`
720
+ def ModifyDiskExtraPerformance(request)
721
+ body = send_request('ModifyDiskExtraPerformance', request.serialize)
722
+ response = JSON.parse(body)
723
+ if response['Response'].key?('Error') == false
724
+ model = ModifyDiskExtraPerformanceResponse.new
725
+ model.deserialize(response['Response'])
726
+ model
727
+ else
728
+ code = response['Response']['Error']['Code']
729
+ message = response['Response']['Error']['Message']
730
+ reqid = response['Response']['RequestId']
731
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
732
+ end
733
+ rescue TencentCloud::Common::TencentCloudSDKException => e
734
+ raise e
735
+ rescue StandardError => e
736
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
737
+ end
738
+
739
+ # 接口请求域名: cbs.tencentcloudapi.com 。
740
+
741
+ # 本接口 (ModifyDisksChargeType) 用于切换云盘的计费模式。
742
+
743
+ # 只支持从 POSTPAID_BY_HOUR 计费模式切换为PREPAID计费模式。
744
+ # 非弹性云盘不支持此接口,请通过修改实例计费模式接口将实例连同非弹性云盘一起转换。
745
+ # 默认接口请求频率限制:10次/秒。
746
+
747
+ # @param request: Request instance for ModifyDisksChargeType.
748
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDisksChargeTypeRequest`
749
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDisksChargeTypeResponse`
750
+ def ModifyDisksChargeType(request)
751
+ body = send_request('ModifyDisksChargeType', request.serialize)
752
+ response = JSON.parse(body)
753
+ if response['Response'].key?('Error') == false
754
+ model = ModifyDisksChargeTypeResponse.new
755
+ model.deserialize(response['Response'])
756
+ model
757
+ else
758
+ code = response['Response']['Error']['Code']
759
+ message = response['Response']['Error']['Message']
760
+ reqid = response['Response']['RequestId']
761
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
762
+ end
763
+ rescue TencentCloud::Common::TencentCloudSDKException => e
764
+ raise e
765
+ rescue StandardError => e
766
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
767
+ end
768
+
769
+ # 本接口(ModifyDisksRenewFlag)用于修改云硬盘续费标识,支持批量修改。
770
+
771
+ # @param request: Request instance for ModifyDisksRenewFlag.
772
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ModifyDisksRenewFlagRequest`
773
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ModifyDisksRenewFlagResponse`
774
+ def ModifyDisksRenewFlag(request)
775
+ body = send_request('ModifyDisksRenewFlag', request.serialize)
776
+ response = JSON.parse(body)
777
+ if response['Response'].key?('Error') == false
778
+ model = ModifyDisksRenewFlagResponse.new
779
+ model.deserialize(response['Response'])
780
+ model
781
+ else
782
+ code = response['Response']['Error']['Code']
783
+ message = response['Response']['Error']['Message']
784
+ reqid = response['Response']['RequestId']
785
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
786
+ end
787
+ rescue TencentCloud::Common::TencentCloudSDKException => e
788
+ raise e
789
+ rescue StandardError => e
790
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
791
+ end
792
+
793
+ # 本接口(ModifySnapshotAttribute)用于修改指定快照的属性。
794
+
795
+ # * 当前仅支持修改快照名称及将非永久快照修改为永久快照。
796
+ # * “快照名称”仅为方便用户自己管理之用,腾讯云并不以此名称作为提交工单或是进行快照管理操作的依据。
797
+
798
+ # @param request: Request instance for ModifySnapshotAttribute.
799
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotAttributeRequest`
800
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotAttributeResponse`
801
+ def ModifySnapshotAttribute(request)
802
+ body = send_request('ModifySnapshotAttribute', request.serialize)
803
+ response = JSON.parse(body)
804
+ if response['Response'].key?('Error') == false
805
+ model = ModifySnapshotAttributeResponse.new
806
+ model.deserialize(response['Response'])
807
+ model
808
+ else
809
+ code = response['Response']['Error']['Code']
810
+ message = response['Response']['Error']['Message']
811
+ reqid = response['Response']['RequestId']
812
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
813
+ end
814
+ rescue TencentCloud::Common::TencentCloudSDKException => e
815
+ raise e
816
+ rescue StandardError => e
817
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
818
+ end
819
+
820
+ # 本接口(ModifySnapshotsSharePermission)用于修改快照分享信息。
821
+
822
+ # 分享快照后,被分享账户可以通过该快照创建云硬盘。
823
+ # * 每个快照最多可分享给50个账户。
824
+ # * 分享快照无法更改名称,描述,仅可用于创建云硬盘。
825
+ # * 只支持分享到对方账户相同地域。
826
+ # * 仅支持分享数据盘快照。
827
+
828
+ # @param request: Request instance for ModifySnapshotsSharePermission.
829
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotsSharePermissionRequest`
830
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ModifySnapshotsSharePermissionResponse`
831
+ def ModifySnapshotsSharePermission(request)
832
+ body = send_request('ModifySnapshotsSharePermission', request.serialize)
833
+ response = JSON.parse(body)
834
+ if response['Response'].key?('Error') == false
835
+ model = ModifySnapshotsSharePermissionResponse.new
836
+ model.deserialize(response['Response'])
837
+ model
838
+ else
839
+ code = response['Response']['Error']['Code']
840
+ message = response['Response']['Error']['Message']
841
+ reqid = response['Response']['RequestId']
842
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
843
+ end
844
+ rescue TencentCloud::Common::TencentCloudSDKException => e
845
+ raise e
846
+ rescue StandardError => e
847
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
848
+ end
849
+
850
+ # 本接口(RenewDisk)用于续费云硬盘。
851
+
852
+ # * 只支持预付费的云硬盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中DiskChargeType字段解释。
853
+ # * 支持与挂载实例一起续费的场景,需要在[DiskChargePrepaid](/document/product/362/15669#DiskChargePrepaid)参数中指定CurInstanceDeadline,此时会按对齐到子机续费后的到期时间来续费。
854
+
855
+ # @param request: Request instance for RenewDisk.
856
+ # @type request: :class:`Tencentcloud::cbs::V20170312::RenewDiskRequest`
857
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::RenewDiskResponse`
858
+ def RenewDisk(request)
859
+ body = send_request('RenewDisk', request.serialize)
860
+ response = JSON.parse(body)
861
+ if response['Response'].key?('Error') == false
862
+ model = RenewDiskResponse.new
863
+ model.deserialize(response['Response'])
864
+ model
865
+ else
866
+ code = response['Response']['Error']['Code']
867
+ message = response['Response']['Error']['Message']
868
+ reqid = response['Response']['RequestId']
869
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
870
+ end
871
+ rescue TencentCloud::Common::TencentCloudSDKException => e
872
+ raise e
873
+ rescue StandardError => e
874
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
875
+ end
876
+
877
+ # 本接口(ResizeDisk)用于扩容云硬盘。
878
+
879
+ # * 只支持扩容弹性云盘。云硬盘类型可以通过[DescribeDisks](/document/product/362/16315)接口查询,见输出参数中Portable字段解释。非弹性云硬盘需通过[ResizeInstanceDisks](/document/product/213/15731)接口扩容。
880
+ # * 本接口为异步接口,接口成功返回时,云盘并未立即扩容到指定大小,可通过接口[DescribeDisks](/document/product/362/16315)来查询对应云盘的状态,如果云盘的状态为“EXPANDING”,表示正在扩容中。
881
+
882
+ # @param request: Request instance for ResizeDisk.
883
+ # @type request: :class:`Tencentcloud::cbs::V20170312::ResizeDiskRequest`
884
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::ResizeDiskResponse`
885
+ def ResizeDisk(request)
886
+ body = send_request('ResizeDisk', request.serialize)
887
+ response = JSON.parse(body)
888
+ if response['Response'].key?('Error') == false
889
+ model = ResizeDiskResponse.new
890
+ model.deserialize(response['Response'])
891
+ model
892
+ else
893
+ code = response['Response']['Error']['Code']
894
+ message = response['Response']['Error']['Message']
895
+ reqid = response['Response']['RequestId']
896
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
897
+ end
898
+ rescue TencentCloud::Common::TencentCloudSDKException => e
899
+ raise e
900
+ rescue StandardError => e
901
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
902
+ end
903
+
904
+ # 本接口(TerminateDisks)用于退还云硬盘。
905
+
906
+ # * 不再使用的云盘,可通过本接口主动退还。
907
+ # * 本接口支持退还预付费云盘和按小时后付费云盘。按小时后付费云盘可直接退还,预付费云盘需符合退还规则。
908
+ # * 支持批量操作,每次请求批量云硬盘的上限为50。如果批量云盘存在不允许操作的,请求会以特定错误码返回。
909
+
910
+ # @param request: Request instance for TerminateDisks.
911
+ # @type request: :class:`Tencentcloud::cbs::V20170312::TerminateDisksRequest`
912
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::TerminateDisksResponse`
913
+ def TerminateDisks(request)
914
+ body = send_request('TerminateDisks', request.serialize)
915
+ response = JSON.parse(body)
916
+ if response['Response'].key?('Error') == false
917
+ model = TerminateDisksResponse.new
918
+ model.deserialize(response['Response'])
919
+ model
920
+ else
921
+ code = response['Response']['Error']['Code']
922
+ message = response['Response']['Error']['Message']
923
+ reqid = response['Response']['RequestId']
924
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
925
+ end
926
+ rescue TencentCloud::Common::TencentCloudSDKException => e
927
+ raise e
928
+ rescue StandardError => e
929
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
930
+ end
931
+
932
+ # 本接口(UnbindAutoSnapshotPolicy)用于解除云硬盘绑定的定期快照策略。
933
+
934
+ # * 支持批量操作,可一次解除多个云盘与同一定期快照策略的绑定。
935
+ # * 如果传入的云盘未绑定到当前定期快照策略,接口将自动跳过,仅解绑与当前定期快照策略绑定的云盘。
936
+
937
+ # @param request: Request instance for UnbindAutoSnapshotPolicy.
938
+ # @type request: :class:`Tencentcloud::cbs::V20170312::UnbindAutoSnapshotPolicyRequest`
939
+ # @rtype: :class:`Tencentcloud::cbs::V20170312::UnbindAutoSnapshotPolicyResponse`
940
+ def UnbindAutoSnapshotPolicy(request)
941
+ body = send_request('UnbindAutoSnapshotPolicy', request.serialize)
942
+ response = JSON.parse(body)
943
+ if response['Response'].key?('Error') == false
944
+ model = UnbindAutoSnapshotPolicyResponse.new
945
+ model.deserialize(response['Response'])
946
+ model
947
+ else
948
+ code = response['Response']['Error']['Code']
949
+ message = response['Response']['Error']['Message']
950
+ reqid = response['Response']['RequestId']
951
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
952
+ end
953
+ rescue TencentCloud::Common::TencentCloudSDKException => e
954
+ raise e
955
+ rescue StandardError => e
956
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
957
+ end
958
+
959
+
960
+ end
961
+ end
962
+ end
963
+ end