tencentcloud-sdk-cbs 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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