tencentcloud-sdk-bmvpc 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,1511 @@
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 Bmvpc
21
+ module V20180625
22
+ class Client < TencentCloud::Common::AbstractClient
23
+
24
+ def initialize(credential, region, profile = nil)
25
+ api_version = '2018-06-25'
26
+ api_endpoint = 'bmvpc.tencentcloudapi.com'
27
+ sdk_version = 'BMVPC_' + File.read(File.expand_path('../VERSION', __dir__)).strip
28
+ super(credential, region, api_version, api_endpoint, sdk_version, profile)
29
+ end
30
+
31
+
32
+ # 接受黑石对等连接
33
+
34
+ # @param request: Request instance for AcceptVpcPeerConnection.
35
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::AcceptVpcPeerConnectionRequest`
36
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::AcceptVpcPeerConnectionResponse`
37
+ def AcceptVpcPeerConnection(request)
38
+ body = send_request('AcceptVpcPeerConnection', request.serialize)
39
+ response = JSON.parse(body)
40
+ if response['Response'].key?('Error') == false
41
+ model = AcceptVpcPeerConnectionResponse.new
42
+ model.deserialize(response['Response'])
43
+ model
44
+ else
45
+ code = response['Response']['Error']['Code']
46
+ message = response['Response']['Error']['Message']
47
+ reqid = response['Response']['RequestId']
48
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
49
+ end
50
+ rescue TencentCloud::Common::TencentCloudSDKException => e
51
+ raise e
52
+ rescue StandardError => e
53
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
54
+ end
55
+
56
+ # 批量注册虚拟IP,异步接口。通过接口来查询任务进度。每次请求最多注册256个IP
57
+
58
+ # @param request: Request instance for AsyncRegisterIps.
59
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::AsyncRegisterIpsRequest`
60
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::AsyncRegisterIpsResponse`
61
+ def AsyncRegisterIps(request)
62
+ body = send_request('AsyncRegisterIps', request.serialize)
63
+ response = JSON.parse(body)
64
+ if response['Response'].key?('Error') == false
65
+ model = AsyncRegisterIpsResponse.new
66
+ model.deserialize(response['Response'])
67
+ model
68
+ else
69
+ code = response['Response']['Error']['Code']
70
+ message = response['Response']['Error']['Message']
71
+ reqid = response['Response']['RequestId']
72
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
73
+ end
74
+ rescue TencentCloud::Common::TencentCloudSDKException => e
75
+ raise e
76
+ rescue StandardError => e
77
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
78
+ end
79
+
80
+ # NAT网关绑定EIP接口,可将EIP绑定到NAT网关,该EIP作为访问外网的源IP地址,将流量发送到Internet
81
+
82
+ # @param request: Request instance for BindEipsToNatGateway.
83
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::BindEipsToNatGatewayRequest`
84
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::BindEipsToNatGatewayResponse`
85
+ def BindEipsToNatGateway(request)
86
+ body = send_request('BindEipsToNatGateway', request.serialize)
87
+ response = JSON.parse(body)
88
+ if response['Response'].key?('Error') == false
89
+ model = BindEipsToNatGatewayResponse.new
90
+ model.deserialize(response['Response'])
91
+ model
92
+ else
93
+ code = response['Response']['Error']['Code']
94
+ message = response['Response']['Error']['Message']
95
+ reqid = response['Response']['RequestId']
96
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
97
+ end
98
+ rescue TencentCloud::Common::TencentCloudSDKException => e
99
+ raise e
100
+ rescue StandardError => e
101
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
102
+ end
103
+
104
+ # 可用于将子网的部分IP绑定到NAT网关
105
+
106
+ # @param request: Request instance for BindIpsToNatGateway.
107
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::BindIpsToNatGatewayRequest`
108
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::BindIpsToNatGatewayResponse`
109
+ def BindIpsToNatGateway(request)
110
+ body = send_request('BindIpsToNatGateway', request.serialize)
111
+ response = JSON.parse(body)
112
+ if response['Response'].key?('Error') == false
113
+ model = BindIpsToNatGatewayResponse.new
114
+ model.deserialize(response['Response'])
115
+ model
116
+ else
117
+ code = response['Response']['Error']['Code']
118
+ message = response['Response']['Error']['Message']
119
+ reqid = response['Response']['RequestId']
120
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
121
+ end
122
+ rescue TencentCloud::Common::TencentCloudSDKException => e
123
+ raise e
124
+ rescue StandardError => e
125
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
126
+ end
127
+
128
+ # NAT网关绑定子网后,该子网内全部IP可出公网
129
+
130
+ # @param request: Request instance for BindSubnetsToNatGateway.
131
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::BindSubnetsToNatGatewayRequest`
132
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::BindSubnetsToNatGatewayResponse`
133
+ def BindSubnetsToNatGateway(request)
134
+ body = send_request('BindSubnetsToNatGateway', request.serialize)
135
+ response = JSON.parse(body)
136
+ if response['Response'].key?('Error') == false
137
+ model = BindSubnetsToNatGatewayResponse.new
138
+ model.deserialize(response['Response'])
139
+ model
140
+ else
141
+ code = response['Response']['Error']['Code']
142
+ message = response['Response']['Error']['Message']
143
+ reqid = response['Response']['RequestId']
144
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
145
+ end
146
+ rescue TencentCloud::Common::TencentCloudSDKException => e
147
+ raise e
148
+ rescue StandardError => e
149
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
150
+ end
151
+
152
+ # 本接口(CreateCustomerGateway)用于创建对端网关。
153
+
154
+ # @param request: Request instance for CreateCustomerGateway.
155
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateCustomerGatewayRequest`
156
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateCustomerGatewayResponse`
157
+ def CreateCustomerGateway(request)
158
+ body = send_request('CreateCustomerGateway', request.serialize)
159
+ response = JSON.parse(body)
160
+ if response['Response'].key?('Error') == false
161
+ model = CreateCustomerGatewayResponse.new
162
+ model.deserialize(response['Response'])
163
+ model
164
+ else
165
+ code = response['Response']['Error']['Code']
166
+ message = response['Response']['Error']['Message']
167
+ reqid = response['Response']['RequestId']
168
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
169
+ end
170
+ rescue TencentCloud::Common::TencentCloudSDKException => e
171
+ raise e
172
+ rescue StandardError => e
173
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
174
+ end
175
+
176
+ # 创建黑石Docker子网, 如果不指定VlanId,将会分配2000--2999范围的VlanId; 子网会关闭分布式网关
177
+
178
+ # @param request: Request instance for CreateDockerSubnetWithVlan.
179
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateDockerSubnetWithVlanRequest`
180
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateDockerSubnetWithVlanResponse`
181
+ def CreateDockerSubnetWithVlan(request)
182
+ body = send_request('CreateDockerSubnetWithVlan', request.serialize)
183
+ response = JSON.parse(body)
184
+ if response['Response'].key?('Error') == false
185
+ model = CreateDockerSubnetWithVlanResponse.new
186
+ model.deserialize(response['Response'])
187
+ model
188
+ else
189
+ code = response['Response']['Error']['Code']
190
+ message = response['Response']['Error']['Message']
191
+ reqid = response['Response']['RequestId']
192
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
193
+ end
194
+ rescue TencentCloud::Common::TencentCloudSDKException => e
195
+ raise e
196
+ rescue StandardError => e
197
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
198
+ end
199
+
200
+ # 本接口(CreateHostedInterface)用于黑石托管机器加入带VLANID不为5的子网。
201
+
202
+ # 1) 不能加入vlanId 为5的子网,只能加入VLANID范围为2000-2999的子网。
203
+ # 2) 每台托管机器最多可以加入20个子网。
204
+ # 3) 每次调用最多能支持传入10台托管机器。
205
+
206
+ # @param request: Request instance for CreateHostedInterface.
207
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateHostedInterfaceRequest`
208
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateHostedInterfaceResponse`
209
+ def CreateHostedInterface(request)
210
+ body = send_request('CreateHostedInterface', request.serialize)
211
+ response = JSON.parse(body)
212
+ if response['Response'].key?('Error') == false
213
+ model = CreateHostedInterfaceResponse.new
214
+ model.deserialize(response['Response'])
215
+ model
216
+ else
217
+ code = response['Response']['Error']['Code']
218
+ message = response['Response']['Error']['Message']
219
+ reqid = response['Response']['RequestId']
220
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
221
+ end
222
+ rescue TencentCloud::Common::TencentCloudSDKException => e
223
+ raise e
224
+ rescue StandardError => e
225
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
226
+ end
227
+
228
+ # 物理机加入子网
229
+
230
+ # @param request: Request instance for CreateInterfaces.
231
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateInterfacesRequest`
232
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateInterfacesResponse`
233
+ def CreateInterfaces(request)
234
+ body = send_request('CreateInterfaces', request.serialize)
235
+ response = JSON.parse(body)
236
+ if response['Response'].key?('Error') == false
237
+ model = CreateInterfacesResponse.new
238
+ model.deserialize(response['Response'])
239
+ model
240
+ else
241
+ code = response['Response']['Error']['Code']
242
+ message = response['Response']['Error']['Message']
243
+ reqid = response['Response']['RequestId']
244
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
245
+ end
246
+ rescue TencentCloud::Common::TencentCloudSDKException => e
247
+ raise e
248
+ rescue StandardError => e
249
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
250
+ end
251
+
252
+ # 创建NAT网关接口,可针对网段方式、子网全部IP、子网部分IP这三种方式创建NAT网关
253
+
254
+ # @param request: Request instance for CreateNatGateway.
255
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateNatGatewayRequest`
256
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateNatGatewayResponse`
257
+ def CreateNatGateway(request)
258
+ body = send_request('CreateNatGateway', request.serialize)
259
+ response = JSON.parse(body)
260
+ if response['Response'].key?('Error') == false
261
+ model = CreateNatGatewayResponse.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
+ # 创建黑石路由表的路由规则
277
+
278
+ # @param request: Request instance for CreateRoutePolicies.
279
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateRoutePoliciesRequest`
280
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateRoutePoliciesResponse`
281
+ def CreateRoutePolicies(request)
282
+ body = send_request('CreateRoutePolicies', request.serialize)
283
+ response = JSON.parse(body)
284
+ if response['Response'].key?('Error') == false
285
+ model = CreateRoutePoliciesResponse.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
+ # 创建黑石私有网络的子网
301
+ # 访问管理: 用户可以对VpcId进行授权操作。例如设置资源为["qcs::bmvpc:::unVpc/vpc-xxxxx"]
302
+
303
+ # @param request: Request instance for CreateSubnet.
304
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateSubnetRequest`
305
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateSubnetResponse`
306
+ def CreateSubnet(request)
307
+ body = send_request('CreateSubnet', request.serialize)
308
+ response = JSON.parse(body)
309
+ if response['Response'].key?('Error') == false
310
+ model = CreateSubnetResponse.new
311
+ model.deserialize(response['Response'])
312
+ model
313
+ else
314
+ code = response['Response']['Error']['Code']
315
+ message = response['Response']['Error']['Message']
316
+ reqid = response['Response']['RequestId']
317
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
318
+ end
319
+ rescue TencentCloud::Common::TencentCloudSDKException => e
320
+ raise e
321
+ rescue StandardError => e
322
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
323
+ end
324
+
325
+ # 创建黑石虚拟子网, 虚拟子网用于在黑石上创建虚拟网络,与黑石子网要做好规划。虚拟子网会分配2000-2999的VlanId。
326
+
327
+ # @param request: Request instance for CreateVirtualSubnetWithVlan.
328
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateVirtualSubnetWithVlanRequest`
329
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateVirtualSubnetWithVlanResponse`
330
+ def CreateVirtualSubnetWithVlan(request)
331
+ body = send_request('CreateVirtualSubnetWithVlan', request.serialize)
332
+ response = JSON.parse(body)
333
+ if response['Response'].key?('Error') == false
334
+ model = CreateVirtualSubnetWithVlanResponse.new
335
+ model.deserialize(response['Response'])
336
+ model
337
+ else
338
+ code = response['Response']['Error']['Code']
339
+ message = response['Response']['Error']['Message']
340
+ reqid = response['Response']['RequestId']
341
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
342
+ end
343
+ rescue TencentCloud::Common::TencentCloudSDKException => e
344
+ raise e
345
+ rescue StandardError => e
346
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
347
+ end
348
+
349
+ # 创建黑石私有网络
350
+
351
+ # @param request: Request instance for CreateVpc.
352
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateVpcRequest`
353
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateVpcResponse`
354
+ def CreateVpc(request)
355
+ body = send_request('CreateVpc', request.serialize)
356
+ response = JSON.parse(body)
357
+ if response['Response'].key?('Error') == false
358
+ model = CreateVpcResponse.new
359
+ model.deserialize(response['Response'])
360
+ model
361
+ else
362
+ code = response['Response']['Error']['Code']
363
+ message = response['Response']['Error']['Message']
364
+ reqid = response['Response']['RequestId']
365
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
366
+ end
367
+ rescue TencentCloud::Common::TencentCloudSDKException => e
368
+ raise e
369
+ rescue StandardError => e
370
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
371
+ end
372
+
373
+ # 创建对等连接
374
+
375
+ # @param request: Request instance for CreateVpcPeerConnection.
376
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::CreateVpcPeerConnectionRequest`
377
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::CreateVpcPeerConnectionResponse`
378
+ def CreateVpcPeerConnection(request)
379
+ body = send_request('CreateVpcPeerConnection', request.serialize)
380
+ response = JSON.parse(body)
381
+ if response['Response'].key?('Error') == false
382
+ model = CreateVpcPeerConnectionResponse.new
383
+ model.deserialize(response['Response'])
384
+ model
385
+ else
386
+ code = response['Response']['Error']['Code']
387
+ message = response['Response']['Error']['Message']
388
+ reqid = response['Response']['RequestId']
389
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
390
+ end
391
+ rescue TencentCloud::Common::TencentCloudSDKException => e
392
+ raise e
393
+ rescue StandardError => e
394
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
395
+ end
396
+
397
+ # 本接口(DeleteCustomerGateway)用于删除对端网关。
398
+
399
+ # @param request: Request instance for DeleteCustomerGateway.
400
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteCustomerGatewayRequest`
401
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteCustomerGatewayResponse`
402
+ def DeleteCustomerGateway(request)
403
+ body = send_request('DeleteCustomerGateway', request.serialize)
404
+ response = JSON.parse(body)
405
+ if response['Response'].key?('Error') == false
406
+ model = DeleteCustomerGatewayResponse.new
407
+ model.deserialize(response['Response'])
408
+ model
409
+ else
410
+ code = response['Response']['Error']['Code']
411
+ message = response['Response']['Error']['Message']
412
+ reqid = response['Response']['RequestId']
413
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
414
+ end
415
+ rescue TencentCloud::Common::TencentCloudSDKException => e
416
+ raise e
417
+ rescue StandardError => e
418
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
419
+ end
420
+
421
+ # 本接口用于托管机器从VLANID不为5的子网中移除。
422
+ # 1) 不能从vlanId 为5的子网中移除。
423
+ # 2) 每次调用最多能支持传入10台物理机。
424
+
425
+ # @param request: Request instance for DeleteHostedInterface.
426
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteHostedInterfaceRequest`
427
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteHostedInterfaceResponse`
428
+ def DeleteHostedInterface(request)
429
+ body = send_request('DeleteHostedInterface', request.serialize)
430
+ response = JSON.parse(body)
431
+ if response['Response'].key?('Error') == false
432
+ model = DeleteHostedInterfaceResponse.new
433
+ model.deserialize(response['Response'])
434
+ model
435
+ else
436
+ code = response['Response']['Error']['Code']
437
+ message = response['Response']['Error']['Message']
438
+ reqid = response['Response']['RequestId']
439
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
440
+ end
441
+ rescue TencentCloud::Common::TencentCloudSDKException => e
442
+ raise e
443
+ rescue StandardError => e
444
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
445
+ end
446
+
447
+ # 托管机器移除子网批量接口,传入一台托管机器和多个子网,批量移除这些子网。异步接口,接口返回TaskId。
448
+
449
+ # @param request: Request instance for DeleteHostedInterfaces.
450
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteHostedInterfacesRequest`
451
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteHostedInterfacesResponse`
452
+ def DeleteHostedInterfaces(request)
453
+ body = send_request('DeleteHostedInterfaces', request.serialize)
454
+ response = JSON.parse(body)
455
+ if response['Response'].key?('Error') == false
456
+ model = DeleteHostedInterfacesResponse.new
457
+ model.deserialize(response['Response'])
458
+ model
459
+ else
460
+ code = response['Response']['Error']['Code']
461
+ message = response['Response']['Error']['Message']
462
+ reqid = response['Response']['RequestId']
463
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
464
+ end
465
+ rescue TencentCloud::Common::TencentCloudSDKException => e
466
+ raise e
467
+ rescue StandardError => e
468
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
469
+ end
470
+
471
+ # 物理机移除子网批量接口,传入一台物理机和多个子网,批量移除这些子网。异步接口,接口返回TaskId。
472
+
473
+ # @param request: Request instance for DeleteInterfaces.
474
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteInterfacesRequest`
475
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteInterfacesResponse`
476
+ def DeleteInterfaces(request)
477
+ body = send_request('DeleteInterfaces', request.serialize)
478
+ response = JSON.parse(body)
479
+ if response['Response'].key?('Error') == false
480
+ model = DeleteInterfacesResponse.new
481
+ model.deserialize(response['Response'])
482
+ model
483
+ else
484
+ code = response['Response']['Error']['Code']
485
+ message = response['Response']['Error']['Message']
486
+ reqid = response['Response']['RequestId']
487
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
488
+ end
489
+ rescue TencentCloud::Common::TencentCloudSDKException => e
490
+ raise e
491
+ rescue StandardError => e
492
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
493
+ end
494
+
495
+ # 删除NAT网关
496
+
497
+ # @param request: Request instance for DeleteNatGateway.
498
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteNatGatewayRequest`
499
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteNatGatewayResponse`
500
+ def DeleteNatGateway(request)
501
+ body = send_request('DeleteNatGateway', request.serialize)
502
+ response = JSON.parse(body)
503
+ if response['Response'].key?('Error') == false
504
+ model = DeleteNatGatewayResponse.new
505
+ model.deserialize(response['Response'])
506
+ model
507
+ else
508
+ code = response['Response']['Error']['Code']
509
+ message = response['Response']['Error']['Message']
510
+ reqid = response['Response']['RequestId']
511
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
512
+ end
513
+ rescue TencentCloud::Common::TencentCloudSDKException => e
514
+ raise e
515
+ rescue StandardError => e
516
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
517
+ end
518
+
519
+ # 删除黑石路由表路由规则
520
+
521
+ # @param request: Request instance for DeleteRoutePolicy.
522
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteRoutePolicyRequest`
523
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteRoutePolicyResponse`
524
+ def DeleteRoutePolicy(request)
525
+ body = send_request('DeleteRoutePolicy', request.serialize)
526
+ response = JSON.parse(body)
527
+ if response['Response'].key?('Error') == false
528
+ model = DeleteRoutePolicyResponse.new
529
+ model.deserialize(response['Response'])
530
+ model
531
+ else
532
+ code = response['Response']['Error']['Code']
533
+ message = response['Response']['Error']['Message']
534
+ reqid = response['Response']['RequestId']
535
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
536
+ end
537
+ rescue TencentCloud::Common::TencentCloudSDKException => e
538
+ raise e
539
+ rescue StandardError => e
540
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
541
+ end
542
+
543
+ # 本接口(DeleteSubnet)用于删除黑石私有网络子网。
544
+ # 删除子网前,请清理该子网下所有资源,包括物理机、负载均衡、黑石数据库、弹性IP、NAT网关等资源
545
+
546
+ # @param request: Request instance for DeleteSubnet.
547
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteSubnetRequest`
548
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteSubnetResponse`
549
+ def DeleteSubnet(request)
550
+ body = send_request('DeleteSubnet', request.serialize)
551
+ response = JSON.parse(body)
552
+ if response['Response'].key?('Error') == false
553
+ model = DeleteSubnetResponse.new
554
+ model.deserialize(response['Response'])
555
+ model
556
+ else
557
+ code = response['Response']['Error']['Code']
558
+ message = response['Response']['Error']['Message']
559
+ reqid = response['Response']['RequestId']
560
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
561
+ end
562
+ rescue TencentCloud::Common::TencentCloudSDKException => e
563
+ raise e
564
+ rescue StandardError => e
565
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
566
+ end
567
+
568
+ # 退还虚拟IP。此接口只能退还虚拟IP,物理机IP不能退还。
569
+
570
+ # @param request: Request instance for DeleteVirtualIp.
571
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteVirtualIpRequest`
572
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteVirtualIpResponse`
573
+ def DeleteVirtualIp(request)
574
+ body = send_request('DeleteVirtualIp', request.serialize)
575
+ response = JSON.parse(body)
576
+ if response['Response'].key?('Error') == false
577
+ model = DeleteVirtualIpResponse.new
578
+ model.deserialize(response['Response'])
579
+ model
580
+ else
581
+ code = response['Response']['Error']['Code']
582
+ message = response['Response']['Error']['Message']
583
+ reqid = response['Response']['RequestId']
584
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
585
+ end
586
+ rescue TencentCloud::Common::TencentCloudSDKException => e
587
+ raise e
588
+ rescue StandardError => e
589
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
590
+ end
591
+
592
+ # 本接口(DeleteVpc)用于删除黑石私有网络(VPC)。
593
+
594
+ # 删除私有网络前,请清理该私有网络下所有资源,包括子网、负载均衡、弹性 IP、对等连接、NAT 网关、专线通道、SSLVPN 等资源。
595
+
596
+ # @param request: Request instance for DeleteVpc.
597
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpcRequest`
598
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpcResponse`
599
+ def DeleteVpc(request)
600
+ body = send_request('DeleteVpc', request.serialize)
601
+ response = JSON.parse(body)
602
+ if response['Response'].key?('Error') == false
603
+ model = DeleteVpcResponse.new
604
+ model.deserialize(response['Response'])
605
+ model
606
+ else
607
+ code = response['Response']['Error']['Code']
608
+ message = response['Response']['Error']['Message']
609
+ reqid = response['Response']['RequestId']
610
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
611
+ end
612
+ rescue TencentCloud::Common::TencentCloudSDKException => e
613
+ raise e
614
+ rescue StandardError => e
615
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
616
+ end
617
+
618
+ # 删除黑石对等连接
619
+
620
+ # @param request: Request instance for DeleteVpcPeerConnection.
621
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpcPeerConnectionRequest`
622
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpcPeerConnectionResponse`
623
+ def DeleteVpcPeerConnection(request)
624
+ body = send_request('DeleteVpcPeerConnection', request.serialize)
625
+ response = JSON.parse(body)
626
+ if response['Response'].key?('Error') == false
627
+ model = DeleteVpcPeerConnectionResponse.new
628
+ model.deserialize(response['Response'])
629
+ model
630
+ else
631
+ code = response['Response']['Error']['Code']
632
+ message = response['Response']['Error']['Message']
633
+ reqid = response['Response']['RequestId']
634
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
635
+ end
636
+ rescue TencentCloud::Common::TencentCloudSDKException => e
637
+ raise e
638
+ rescue StandardError => e
639
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
640
+ end
641
+
642
+ # 本接口(DeleteVpnConnection)用于删除VPN通道。
643
+
644
+ # @param request: Request instance for DeleteVpnConnection.
645
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpnConnectionRequest`
646
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpnConnectionResponse`
647
+ def DeleteVpnConnection(request)
648
+ body = send_request('DeleteVpnConnection', request.serialize)
649
+ response = JSON.parse(body)
650
+ if response['Response'].key?('Error') == false
651
+ model = DeleteVpnConnectionResponse.new
652
+ model.deserialize(response['Response'])
653
+ model
654
+ else
655
+ code = response['Response']['Error']['Code']
656
+ message = response['Response']['Error']['Message']
657
+ reqid = response['Response']['RequestId']
658
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
659
+ end
660
+ rescue TencentCloud::Common::TencentCloudSDKException => e
661
+ raise e
662
+ rescue StandardError => e
663
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
664
+ end
665
+
666
+ # 本接口(DeleteVpnGateway)用于删除VPN网关。
667
+
668
+ # @param request: Request instance for DeleteVpnGateway.
669
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpnGatewayRequest`
670
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeleteVpnGatewayResponse`
671
+ def DeleteVpnGateway(request)
672
+ body = send_request('DeleteVpnGateway', request.serialize)
673
+ response = JSON.parse(body)
674
+ if response['Response'].key?('Error') == false
675
+ model = DeleteVpnGatewayResponse.new
676
+ model.deserialize(response['Response'])
677
+ model
678
+ else
679
+ code = response['Response']['Error']['Code']
680
+ message = response['Response']['Error']['Message']
681
+ reqid = response['Response']['RequestId']
682
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
683
+ end
684
+ rescue TencentCloud::Common::TencentCloudSDKException => e
685
+ raise e
686
+ rescue StandardError => e
687
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
688
+ end
689
+
690
+ # 注销私有网络IP为空闲
691
+
692
+ # @param request: Request instance for DeregisterIps.
693
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DeregisterIpsRequest`
694
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DeregisterIpsResponse`
695
+ def DeregisterIps(request)
696
+ body = send_request('DeregisterIps', request.serialize)
697
+ response = JSON.parse(body)
698
+ if response['Response'].key?('Error') == false
699
+ model = DeregisterIpsResponse.new
700
+ model.deserialize(response['Response'])
701
+ model
702
+ else
703
+ code = response['Response']['Error']['Code']
704
+ message = response['Response']['Error']['Message']
705
+ reqid = response['Response']['RequestId']
706
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
707
+ end
708
+ rescue TencentCloud::Common::TencentCloudSDKException => e
709
+ raise e
710
+ rescue StandardError => e
711
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
712
+ end
713
+
714
+ # 本接口(DescribeCustomerGateways)用于查询对端网关列表。
715
+
716
+ # @param request: Request instance for DescribeCustomerGateways.
717
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeCustomerGatewaysRequest`
718
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeCustomerGatewaysResponse`
719
+ def DescribeCustomerGateways(request)
720
+ body = send_request('DescribeCustomerGateways', request.serialize)
721
+ response = JSON.parse(body)
722
+ if response['Response'].key?('Error') == false
723
+ model = DescribeCustomerGatewaysResponse.new
724
+ model.deserialize(response['Response'])
725
+ model
726
+ else
727
+ code = response['Response']['Error']['Code']
728
+ message = response['Response']['Error']['Message']
729
+ reqid = response['Response']['RequestId']
730
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
731
+ end
732
+ rescue TencentCloud::Common::TencentCloudSDKException => e
733
+ raise e
734
+ rescue StandardError => e
735
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
736
+ end
737
+
738
+ # 获取NAT网关信息,包括NAT网关 ID、网关名称、私有网络、网关并发连接上限、绑定EIP列表等
739
+
740
+ # @param request: Request instance for DescribeNatGateways.
741
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeNatGatewaysRequest`
742
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeNatGatewaysResponse`
743
+ def DescribeNatGateways(request)
744
+ body = send_request('DescribeNatGateways', request.serialize)
745
+ response = JSON.parse(body)
746
+ if response['Response'].key?('Error') == false
747
+ model = DescribeNatGatewaysResponse.new
748
+ model.deserialize(response['Response'])
749
+ model
750
+ else
751
+ code = response['Response']['Error']['Code']
752
+ message = response['Response']['Error']['Message']
753
+ reqid = response['Response']['RequestId']
754
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
755
+ end
756
+ rescue TencentCloud::Common::TencentCloudSDKException => e
757
+ raise e
758
+ rescue StandardError => e
759
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
760
+ end
761
+
762
+ # 可获取NAT网关绑定的子网信息
763
+
764
+ # @param request: Request instance for DescribeNatSubnets.
765
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeNatSubnetsRequest`
766
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeNatSubnetsResponse`
767
+ def DescribeNatSubnets(request)
768
+ body = send_request('DescribeNatSubnets', request.serialize)
769
+ response = JSON.parse(body)
770
+ if response['Response'].key?('Error') == false
771
+ model = DescribeNatSubnetsResponse.new
772
+ model.deserialize(response['Response'])
773
+ model
774
+ else
775
+ code = response['Response']['Error']['Code']
776
+ message = response['Response']['Error']['Message']
777
+ reqid = response['Response']['RequestId']
778
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
779
+ end
780
+ rescue TencentCloud::Common::TencentCloudSDKException => e
781
+ raise e
782
+ rescue StandardError => e
783
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
784
+ end
785
+
786
+ # 本接口(DescribeRoutePolicies)用于查询路由表条目。
787
+
788
+ # @param request: Request instance for DescribeRoutePolicies.
789
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeRoutePoliciesRequest`
790
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeRoutePoliciesResponse`
791
+ def DescribeRoutePolicies(request)
792
+ body = send_request('DescribeRoutePolicies', request.serialize)
793
+ response = JSON.parse(body)
794
+ if response['Response'].key?('Error') == false
795
+ model = DescribeRoutePoliciesResponse.new
796
+ model.deserialize(response['Response'])
797
+ model
798
+ else
799
+ code = response['Response']['Error']['Code']
800
+ message = response['Response']['Error']['Message']
801
+ reqid = response['Response']['RequestId']
802
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
803
+ end
804
+ rescue TencentCloud::Common::TencentCloudSDKException => e
805
+ raise e
806
+ rescue StandardError => e
807
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
808
+ end
809
+
810
+ # 本接口(DescribeRouteTables)用于查询路由表。
811
+
812
+ # @param request: Request instance for DescribeRouteTables.
813
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeRouteTablesRequest`
814
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeRouteTablesResponse`
815
+ def DescribeRouteTables(request)
816
+ body = send_request('DescribeRouteTables', request.serialize)
817
+ response = JSON.parse(body)
818
+ if response['Response'].key?('Error') == false
819
+ model = DescribeRouteTablesResponse.new
820
+ model.deserialize(response['Response'])
821
+ model
822
+ else
823
+ code = response['Response']['Error']['Code']
824
+ message = response['Response']['Error']['Message']
825
+ reqid = response['Response']['RequestId']
826
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
827
+ end
828
+ rescue TencentCloud::Common::TencentCloudSDKException => e
829
+ raise e
830
+ rescue StandardError => e
831
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
832
+ end
833
+
834
+ # 获取子网内可用IP列表
835
+
836
+ # @param request: Request instance for DescribeSubnetAvailableIps.
837
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetAvailableIpsRequest`
838
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetAvailableIpsResponse`
839
+ def DescribeSubnetAvailableIps(request)
840
+ body = send_request('DescribeSubnetAvailableIps', request.serialize)
841
+ response = JSON.parse(body)
842
+ if response['Response'].key?('Error') == false
843
+ model = DescribeSubnetAvailableIpsResponse.new
844
+ model.deserialize(response['Response'])
845
+ model
846
+ else
847
+ code = response['Response']['Error']['Code']
848
+ message = response['Response']['Error']['Message']
849
+ reqid = response['Response']['RequestId']
850
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
851
+ end
852
+ rescue TencentCloud::Common::TencentCloudSDKException => e
853
+ raise e
854
+ rescue StandardError => e
855
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
856
+ end
857
+
858
+ # 物理机可以加入物理机子网,虚拟子网,DOCKER子网,通过此接口可以查询物理机加入的子网。
859
+
860
+ # @param request: Request instance for DescribeSubnetByDevice.
861
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetByDeviceRequest`
862
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetByDeviceResponse`
863
+ def DescribeSubnetByDevice(request)
864
+ body = send_request('DescribeSubnetByDevice', request.serialize)
865
+ response = JSON.parse(body)
866
+ if response['Response'].key?('Error') == false
867
+ model = DescribeSubnetByDeviceResponse.new
868
+ model.deserialize(response['Response'])
869
+ model
870
+ else
871
+ code = response['Response']['Error']['Code']
872
+ message = response['Response']['Error']['Message']
873
+ reqid = response['Response']['RequestId']
874
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
875
+ end
876
+ rescue TencentCloud::Common::TencentCloudSDKException => e
877
+ raise e
878
+ rescue StandardError => e
879
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
880
+ end
881
+
882
+ # 托管可以加入物理机子网,虚拟子网,DOCKER子网,通过此接口可以查询托管加入的子网。
883
+
884
+ # @param request: Request instance for DescribeSubnetByHostedDevice.
885
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetByHostedDeviceRequest`
886
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetByHostedDeviceResponse`
887
+ def DescribeSubnetByHostedDevice(request)
888
+ body = send_request('DescribeSubnetByHostedDevice', request.serialize)
889
+ response = JSON.parse(body)
890
+ if response['Response'].key?('Error') == false
891
+ model = DescribeSubnetByHostedDeviceResponse.new
892
+ model.deserialize(response['Response'])
893
+ model
894
+ else
895
+ code = response['Response']['Error']['Code']
896
+ message = response['Response']['Error']['Message']
897
+ reqid = response['Response']['RequestId']
898
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
899
+ end
900
+ rescue TencentCloud::Common::TencentCloudSDKException => e
901
+ raise e
902
+ rescue StandardError => e
903
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
904
+ end
905
+
906
+ # 本接口(DescribeSubnets)用于查询黑石子网列表。
907
+
908
+ # @param request: Request instance for DescribeSubnets.
909
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetsRequest`
910
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeSubnetsResponse`
911
+ def DescribeSubnets(request)
912
+ body = send_request('DescribeSubnets', request.serialize)
913
+ response = JSON.parse(body)
914
+ if response['Response'].key?('Error') == false
915
+ model = DescribeSubnetsResponse.new
916
+ model.deserialize(response['Response'])
917
+ model
918
+ else
919
+ code = response['Response']['Error']['Code']
920
+ message = response['Response']['Error']['Message']
921
+ reqid = response['Response']['RequestId']
922
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
923
+ end
924
+ rescue TencentCloud::Common::TencentCloudSDKException => e
925
+ raise e
926
+ rescue StandardError => e
927
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
928
+ end
929
+
930
+ # 根据任务ID,获取任务的执行状态
931
+
932
+ # @param request: Request instance for DescribeTaskStatus.
933
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeTaskStatusRequest`
934
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeTaskStatusResponse`
935
+ def DescribeTaskStatus(request)
936
+ body = send_request('DescribeTaskStatus', request.serialize)
937
+ response = JSON.parse(body)
938
+ if response['Response'].key?('Error') == false
939
+ model = DescribeTaskStatusResponse.new
940
+ model.deserialize(response['Response'])
941
+ model
942
+ else
943
+ code = response['Response']['Error']['Code']
944
+ message = response['Response']['Error']['Message']
945
+ reqid = response['Response']['RequestId']
946
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
947
+ end
948
+ rescue TencentCloud::Common::TencentCloudSDKException => e
949
+ raise e
950
+ rescue StandardError => e
951
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
952
+ end
953
+
954
+ # 获取对等连接列表
955
+
956
+ # @param request: Request instance for DescribeVpcPeerConnections.
957
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcPeerConnectionsRequest`
958
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcPeerConnectionsResponse`
959
+ def DescribeVpcPeerConnections(request)
960
+ body = send_request('DescribeVpcPeerConnections', request.serialize)
961
+ response = JSON.parse(body)
962
+ if response['Response'].key?('Error') == false
963
+ model = DescribeVpcPeerConnectionsResponse.new
964
+ model.deserialize(response['Response'])
965
+ model
966
+ else
967
+ code = response['Response']['Error']['Code']
968
+ message = response['Response']['Error']['Message']
969
+ reqid = response['Response']['RequestId']
970
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
971
+ end
972
+ rescue TencentCloud::Common::TencentCloudSDKException => e
973
+ raise e
974
+ rescue StandardError => e
975
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
976
+ end
977
+
978
+ # 本接口(DescribeVpcQuota)用于查询用户VPC相关配额限制。
979
+
980
+ # @param request: Request instance for DescribeVpcQuota.
981
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcQuotaRequest`
982
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcQuotaResponse`
983
+ def DescribeVpcQuota(request)
984
+ body = send_request('DescribeVpcQuota', request.serialize)
985
+ response = JSON.parse(body)
986
+ if response['Response'].key?('Error') == false
987
+ model = DescribeVpcQuotaResponse.new
988
+ model.deserialize(response['Response'])
989
+ model
990
+ else
991
+ code = response['Response']['Error']['Code']
992
+ message = response['Response']['Error']['Message']
993
+ reqid = response['Response']['RequestId']
994
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
995
+ end
996
+ rescue TencentCloud::Common::TencentCloudSDKException => e
997
+ raise e
998
+ rescue StandardError => e
999
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1000
+ end
1001
+
1002
+ # 查询黑石私有网络关联资源
1003
+
1004
+ # @param request: Request instance for DescribeVpcResource.
1005
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcResourceRequest`
1006
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcResourceResponse`
1007
+ def DescribeVpcResource(request)
1008
+ body = send_request('DescribeVpcResource', request.serialize)
1009
+ response = JSON.parse(body)
1010
+ if response['Response'].key?('Error') == false
1011
+ model = DescribeVpcResourceResponse.new
1012
+ model.deserialize(response['Response'])
1013
+ model
1014
+ else
1015
+ code = response['Response']['Error']['Code']
1016
+ message = response['Response']['Error']['Message']
1017
+ reqid = response['Response']['RequestId']
1018
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1019
+ end
1020
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1021
+ raise e
1022
+ rescue StandardError => e
1023
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1024
+ end
1025
+
1026
+ # 本接口(DescribeVpcView)用于查询VPC网络拓扑视图。
1027
+
1028
+ # @param request: Request instance for DescribeVpcView.
1029
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcViewRequest`
1030
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcViewResponse`
1031
+ def DescribeVpcView(request)
1032
+ body = send_request('DescribeVpcView', request.serialize)
1033
+ response = JSON.parse(body)
1034
+ if response['Response'].key?('Error') == false
1035
+ model = DescribeVpcViewResponse.new
1036
+ model.deserialize(response['Response'])
1037
+ model
1038
+ else
1039
+ code = response['Response']['Error']['Code']
1040
+ message = response['Response']['Error']['Message']
1041
+ reqid = response['Response']['RequestId']
1042
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1043
+ end
1044
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1045
+ raise e
1046
+ rescue StandardError => e
1047
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1048
+ end
1049
+
1050
+ # 本接口(DescribeVpcs)用于查询私有网络列表。
1051
+ # 本接口不传参数时,返回默认排序下的前20条VPC信息。
1052
+
1053
+ # @param request: Request instance for DescribeVpcs.
1054
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcsRequest`
1055
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpcsResponse`
1056
+ def DescribeVpcs(request)
1057
+ body = send_request('DescribeVpcs', request.serialize)
1058
+ response = JSON.parse(body)
1059
+ if response['Response'].key?('Error') == false
1060
+ model = DescribeVpcsResponse.new
1061
+ model.deserialize(response['Response'])
1062
+ model
1063
+ else
1064
+ code = response['Response']['Error']['Code']
1065
+ message = response['Response']['Error']['Message']
1066
+ reqid = response['Response']['RequestId']
1067
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1068
+ end
1069
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1070
+ raise e
1071
+ rescue StandardError => e
1072
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1073
+ end
1074
+
1075
+ # 本接口(DescribeVpnConnections)查询VPN通道列表。
1076
+
1077
+ # @param request: Request instance for DescribeVpnConnections.
1078
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpnConnectionsRequest`
1079
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpnConnectionsResponse`
1080
+ def DescribeVpnConnections(request)
1081
+ body = send_request('DescribeVpnConnections', request.serialize)
1082
+ response = JSON.parse(body)
1083
+ if response['Response'].key?('Error') == false
1084
+ model = DescribeVpnConnectionsResponse.new
1085
+ model.deserialize(response['Response'])
1086
+ model
1087
+ else
1088
+ code = response['Response']['Error']['Code']
1089
+ message = response['Response']['Error']['Message']
1090
+ reqid = response['Response']['RequestId']
1091
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1092
+ end
1093
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1094
+ raise e
1095
+ rescue StandardError => e
1096
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1097
+ end
1098
+
1099
+ # 本接口(DescribeVpnGateways)用于查询VPN网关列表。
1100
+
1101
+ # @param request: Request instance for DescribeVpnGateways.
1102
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpnGatewaysRequest`
1103
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DescribeVpnGatewaysResponse`
1104
+ def DescribeVpnGateways(request)
1105
+ body = send_request('DescribeVpnGateways', request.serialize)
1106
+ response = JSON.parse(body)
1107
+ if response['Response'].key?('Error') == false
1108
+ model = DescribeVpnGatewaysResponse.new
1109
+ model.deserialize(response['Response'])
1110
+ model
1111
+ else
1112
+ code = response['Response']['Error']['Code']
1113
+ message = response['Response']['Error']['Message']
1114
+ reqid = response['Response']['RequestId']
1115
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1116
+ end
1117
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1118
+ raise e
1119
+ rescue StandardError => e
1120
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1121
+ end
1122
+
1123
+ # 本接口(DownloadCustomerGatewayConfiguration)用于下载VPN通道配置。
1124
+
1125
+ # @param request: Request instance for DownloadCustomerGatewayConfiguration.
1126
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::DownloadCustomerGatewayConfigurationRequest`
1127
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::DownloadCustomerGatewayConfigurationResponse`
1128
+ def DownloadCustomerGatewayConfiguration(request)
1129
+ body = send_request('DownloadCustomerGatewayConfiguration', request.serialize)
1130
+ response = JSON.parse(body)
1131
+ if response['Response'].key?('Error') == false
1132
+ model = DownloadCustomerGatewayConfigurationResponse.new
1133
+ model.deserialize(response['Response'])
1134
+ model
1135
+ else
1136
+ code = response['Response']['Error']['Code']
1137
+ message = response['Response']['Error']['Message']
1138
+ reqid = response['Response']['RequestId']
1139
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1140
+ end
1141
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1142
+ raise e
1143
+ rescue StandardError => e
1144
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1145
+ end
1146
+
1147
+ # 本接口(ModifyCustomerGatewayAttribute)用于修改对端网关信息。
1148
+
1149
+ # @param request: Request instance for ModifyCustomerGatewayAttribute.
1150
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifyCustomerGatewayAttributeRequest`
1151
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifyCustomerGatewayAttributeResponse`
1152
+ def ModifyCustomerGatewayAttribute(request)
1153
+ body = send_request('ModifyCustomerGatewayAttribute', request.serialize)
1154
+ response = JSON.parse(body)
1155
+ if response['Response'].key?('Error') == false
1156
+ model = ModifyCustomerGatewayAttributeResponse.new
1157
+ model.deserialize(response['Response'])
1158
+ model
1159
+ else
1160
+ code = response['Response']['Error']['Code']
1161
+ message = response['Response']['Error']['Message']
1162
+ reqid = response['Response']['RequestId']
1163
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1164
+ end
1165
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1166
+ raise e
1167
+ rescue StandardError => e
1168
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1169
+ end
1170
+
1171
+ # 修改自定义路由
1172
+
1173
+ # @param request: Request instance for ModifyRoutePolicy.
1174
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifyRoutePolicyRequest`
1175
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifyRoutePolicyResponse`
1176
+ def ModifyRoutePolicy(request)
1177
+ body = send_request('ModifyRoutePolicy', request.serialize)
1178
+ response = JSON.parse(body)
1179
+ if response['Response'].key?('Error') == false
1180
+ model = ModifyRoutePolicyResponse.new
1181
+ model.deserialize(response['Response'])
1182
+ model
1183
+ else
1184
+ code = response['Response']['Error']['Code']
1185
+ message = response['Response']['Error']['Message']
1186
+ reqid = response['Response']['RequestId']
1187
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1188
+ end
1189
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1190
+ raise e
1191
+ rescue StandardError => e
1192
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1193
+ end
1194
+
1195
+ # 修改路由表
1196
+
1197
+ # @param request: Request instance for ModifyRouteTable.
1198
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifyRouteTableRequest`
1199
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifyRouteTableResponse`
1200
+ def ModifyRouteTable(request)
1201
+ body = send_request('ModifyRouteTable', request.serialize)
1202
+ response = JSON.parse(body)
1203
+ if response['Response'].key?('Error') == false
1204
+ model = ModifyRouteTableResponse.new
1205
+ model.deserialize(response['Response'])
1206
+ model
1207
+ else
1208
+ code = response['Response']['Error']['Code']
1209
+ message = response['Response']['Error']['Message']
1210
+ reqid = response['Response']['RequestId']
1211
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1212
+ end
1213
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1214
+ raise e
1215
+ rescue StandardError => e
1216
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1217
+ end
1218
+
1219
+ # 修改子网属性
1220
+
1221
+ # @param request: Request instance for ModifySubnetAttribute.
1222
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifySubnetAttributeRequest`
1223
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifySubnetAttributeResponse`
1224
+ def ModifySubnetAttribute(request)
1225
+ body = send_request('ModifySubnetAttribute', request.serialize)
1226
+ response = JSON.parse(body)
1227
+ if response['Response'].key?('Error') == false
1228
+ model = ModifySubnetAttributeResponse.new
1229
+ model.deserialize(response['Response'])
1230
+ model
1231
+ else
1232
+ code = response['Response']['Error']['Code']
1233
+ message = response['Response']['Error']['Message']
1234
+ reqid = response['Response']['RequestId']
1235
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1236
+ end
1237
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1238
+ raise e
1239
+ rescue StandardError => e
1240
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1241
+ end
1242
+
1243
+ # 修改子网DHCP Relay属性
1244
+
1245
+ # @param request: Request instance for ModifySubnetDHCPRelay.
1246
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifySubnetDHCPRelayRequest`
1247
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifySubnetDHCPRelayResponse`
1248
+ def ModifySubnetDHCPRelay(request)
1249
+ body = send_request('ModifySubnetDHCPRelay', request.serialize)
1250
+ response = JSON.parse(body)
1251
+ if response['Response'].key?('Error') == false
1252
+ model = ModifySubnetDHCPRelayResponse.new
1253
+ model.deserialize(response['Response'])
1254
+ model
1255
+ else
1256
+ code = response['Response']['Error']['Code']
1257
+ message = response['Response']['Error']['Message']
1258
+ reqid = response['Response']['RequestId']
1259
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1260
+ end
1261
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1262
+ raise e
1263
+ rescue StandardError => e
1264
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1265
+ end
1266
+
1267
+ # 本接口(ModifyVpcAttribute)用于修改VPC的标识名称和控制VPC的监控起停。
1268
+
1269
+ # @param request: Request instance for ModifyVpcAttribute.
1270
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpcAttributeRequest`
1271
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpcAttributeResponse`
1272
+ def ModifyVpcAttribute(request)
1273
+ body = send_request('ModifyVpcAttribute', request.serialize)
1274
+ response = JSON.parse(body)
1275
+ if response['Response'].key?('Error') == false
1276
+ model = ModifyVpcAttributeResponse.new
1277
+ model.deserialize(response['Response'])
1278
+ model
1279
+ else
1280
+ code = response['Response']['Error']['Code']
1281
+ message = response['Response']['Error']['Message']
1282
+ reqid = response['Response']['RequestId']
1283
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1284
+ end
1285
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1286
+ raise e
1287
+ rescue StandardError => e
1288
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1289
+ end
1290
+
1291
+ # 修改黑石对等连接
1292
+
1293
+ # @param request: Request instance for ModifyVpcPeerConnection.
1294
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpcPeerConnectionRequest`
1295
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpcPeerConnectionResponse`
1296
+ def ModifyVpcPeerConnection(request)
1297
+ body = send_request('ModifyVpcPeerConnection', request.serialize)
1298
+ response = JSON.parse(body)
1299
+ if response['Response'].key?('Error') == false
1300
+ model = ModifyVpcPeerConnectionResponse.new
1301
+ model.deserialize(response['Response'])
1302
+ model
1303
+ else
1304
+ code = response['Response']['Error']['Code']
1305
+ message = response['Response']['Error']['Message']
1306
+ reqid = response['Response']['RequestId']
1307
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1308
+ end
1309
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1310
+ raise e
1311
+ rescue StandardError => e
1312
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1313
+ end
1314
+
1315
+ # 本接口(ModifyVpnConnectionAttribute)用于修改VPN通道。
1316
+
1317
+ # @param request: Request instance for ModifyVpnConnectionAttribute.
1318
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpnConnectionAttributeRequest`
1319
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpnConnectionAttributeResponse`
1320
+ def ModifyVpnConnectionAttribute(request)
1321
+ body = send_request('ModifyVpnConnectionAttribute', request.serialize)
1322
+ response = JSON.parse(body)
1323
+ if response['Response'].key?('Error') == false
1324
+ model = ModifyVpnConnectionAttributeResponse.new
1325
+ model.deserialize(response['Response'])
1326
+ model
1327
+ else
1328
+ code = response['Response']['Error']['Code']
1329
+ message = response['Response']['Error']['Message']
1330
+ reqid = response['Response']['RequestId']
1331
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1332
+ end
1333
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1334
+ raise e
1335
+ rescue StandardError => e
1336
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1337
+ end
1338
+
1339
+ # 本接口(ModifyVpnGatewayAttribute)用于修改VPN网关属性。
1340
+
1341
+ # @param request: Request instance for ModifyVpnGatewayAttribute.
1342
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpnGatewayAttributeRequest`
1343
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ModifyVpnGatewayAttributeResponse`
1344
+ def ModifyVpnGatewayAttribute(request)
1345
+ body = send_request('ModifyVpnGatewayAttribute', request.serialize)
1346
+ response = JSON.parse(body)
1347
+ if response['Response'].key?('Error') == false
1348
+ model = ModifyVpnGatewayAttributeResponse.new
1349
+ model.deserialize(response['Response'])
1350
+ model
1351
+ else
1352
+ code = response['Response']['Error']['Code']
1353
+ message = response['Response']['Error']['Message']
1354
+ reqid = response['Response']['RequestId']
1355
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1356
+ end
1357
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1358
+ raise e
1359
+ rescue StandardError => e
1360
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1361
+ end
1362
+
1363
+ # 拒绝黑石对等连接申请
1364
+
1365
+ # @param request: Request instance for RejectVpcPeerConnection.
1366
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::RejectVpcPeerConnectionRequest`
1367
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::RejectVpcPeerConnectionResponse`
1368
+ def RejectVpcPeerConnection(request)
1369
+ body = send_request('RejectVpcPeerConnection', request.serialize)
1370
+ response = JSON.parse(body)
1371
+ if response['Response'].key?('Error') == false
1372
+ model = RejectVpcPeerConnectionResponse.new
1373
+ model.deserialize(response['Response'])
1374
+ model
1375
+ else
1376
+ code = response['Response']['Error']['Code']
1377
+ message = response['Response']['Error']['Message']
1378
+ reqid = response['Response']['RequestId']
1379
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1380
+ end
1381
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1382
+ raise e
1383
+ rescue StandardError => e
1384
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1385
+ end
1386
+
1387
+ # 本接口(ResetVpnConnection)用于重置VPN通道。
1388
+
1389
+ # @param request: Request instance for ResetVpnConnection.
1390
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::ResetVpnConnectionRequest`
1391
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::ResetVpnConnectionResponse`
1392
+ def ResetVpnConnection(request)
1393
+ body = send_request('ResetVpnConnection', request.serialize)
1394
+ response = JSON.parse(body)
1395
+ if response['Response'].key?('Error') == false
1396
+ model = ResetVpnConnectionResponse.new
1397
+ model.deserialize(response['Response'])
1398
+ model
1399
+ else
1400
+ code = response['Response']['Error']['Code']
1401
+ message = response['Response']['Error']['Message']
1402
+ reqid = response['Response']['RequestId']
1403
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1404
+ end
1405
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1406
+ raise e
1407
+ rescue StandardError => e
1408
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1409
+ end
1410
+
1411
+ # NAT网关解绑该EIP后,NAT网关将不会使用该EIP作为访问外网的源IP地址
1412
+
1413
+ # @param request: Request instance for UnbindEipsFromNatGateway.
1414
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::UnbindEipsFromNatGatewayRequest`
1415
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::UnbindEipsFromNatGatewayResponse`
1416
+ def UnbindEipsFromNatGateway(request)
1417
+ body = send_request('UnbindEipsFromNatGateway', request.serialize)
1418
+ response = JSON.parse(body)
1419
+ if response['Response'].key?('Error') == false
1420
+ model = UnbindEipsFromNatGatewayResponse.new
1421
+ model.deserialize(response['Response'])
1422
+ model
1423
+ else
1424
+ code = response['Response']['Error']['Code']
1425
+ message = response['Response']['Error']['Message']
1426
+ reqid = response['Response']['RequestId']
1427
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1428
+ end
1429
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1430
+ raise e
1431
+ rescue StandardError => e
1432
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1433
+ end
1434
+
1435
+ # NAT网关解绑IP接口,可将子网的部分IP从NAT网关中解绑
1436
+
1437
+ # @param request: Request instance for UnbindIpsFromNatGateway.
1438
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::UnbindIpsFromNatGatewayRequest`
1439
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::UnbindIpsFromNatGatewayResponse`
1440
+ def UnbindIpsFromNatGateway(request)
1441
+ body = send_request('UnbindIpsFromNatGateway', request.serialize)
1442
+ response = JSON.parse(body)
1443
+ if response['Response'].key?('Error') == false
1444
+ model = UnbindIpsFromNatGatewayResponse.new
1445
+ model.deserialize(response['Response'])
1446
+ model
1447
+ else
1448
+ code = response['Response']['Error']['Code']
1449
+ message = response['Response']['Error']['Message']
1450
+ reqid = response['Response']['RequestId']
1451
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1452
+ end
1453
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1454
+ raise e
1455
+ rescue StandardError => e
1456
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1457
+ end
1458
+
1459
+ # NAT网关解绑子网接口,可将子网解绑NAT网关
1460
+
1461
+ # @param request: Request instance for UnbindSubnetsFromNatGateway.
1462
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::UnbindSubnetsFromNatGatewayRequest`
1463
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::UnbindSubnetsFromNatGatewayResponse`
1464
+ def UnbindSubnetsFromNatGateway(request)
1465
+ body = send_request('UnbindSubnetsFromNatGateway', request.serialize)
1466
+ response = JSON.parse(body)
1467
+ if response['Response'].key?('Error') == false
1468
+ model = UnbindSubnetsFromNatGatewayResponse.new
1469
+ model.deserialize(response['Response'])
1470
+ model
1471
+ else
1472
+ code = response['Response']['Error']['Code']
1473
+ message = response['Response']['Error']['Message']
1474
+ reqid = response['Response']['RequestId']
1475
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1476
+ end
1477
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1478
+ raise e
1479
+ rescue StandardError => e
1480
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1481
+ end
1482
+
1483
+ # 升级NAT网关接口,可NAT网关修改为小型NAT网关、中型NAT网关、以及大型NAT网关
1484
+
1485
+ # @param request: Request instance for UpgradeNatGateway.
1486
+ # @type request: :class:`Tencentcloud::bmvpc::V20180625::UpgradeNatGatewayRequest`
1487
+ # @rtype: :class:`Tencentcloud::bmvpc::V20180625::UpgradeNatGatewayResponse`
1488
+ def UpgradeNatGateway(request)
1489
+ body = send_request('UpgradeNatGateway', request.serialize)
1490
+ response = JSON.parse(body)
1491
+ if response['Response'].key?('Error') == false
1492
+ model = UpgradeNatGatewayResponse.new
1493
+ model.deserialize(response['Response'])
1494
+ model
1495
+ else
1496
+ code = response['Response']['Error']['Code']
1497
+ message = response['Response']['Error']['Message']
1498
+ reqid = response['Response']['RequestId']
1499
+ raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
1500
+ end
1501
+ rescue TencentCloud::Common::TencentCloudSDKException => e
1502
+ raise e
1503
+ rescue StandardError => e
1504
+ raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
1505
+ end
1506
+
1507
+
1508
+ end
1509
+ end
1510
+ end
1511
+ end