qingcloud-sdk 0.4.1 → 2.0.0.pre.alpha.1
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.
- checksums.yaml +4 -4
- data/LICENSE +201 -21
- data/README.md +141 -61
- data/bin/console +3 -3
- data/lib/qingcloud/sdk.rb +16 -14
- data/lib/qingcloud/sdk/general/config.rb +70 -0
- data/lib/qingcloud/sdk/general/contract.rb +28 -17
- data/lib/qingcloud/sdk/general/default/config.yaml +13 -0
- data/lib/qingcloud/sdk/general/error.rb +41 -32
- data/lib/qingcloud/sdk/general/logger.rb +54 -0
- data/lib/qingcloud/sdk/request/preprocessor.rb +81 -0
- data/lib/qingcloud/sdk/request/request.rb +80 -0
- data/lib/qingcloud/sdk/request/signer.rb +53 -0
- data/lib/qingcloud/sdk/service/cache.rb +1005 -0
- data/lib/qingcloud/sdk/service/dns_alias.rb +150 -0
- data/lib/qingcloud/sdk/service/eip.rb +389 -0
- data/lib/qingcloud/sdk/service/image.rb +304 -0
- data/lib/qingcloud/sdk/service/instance.rb +585 -0
- data/lib/qingcloud/sdk/service/job.rb +71 -0
- data/lib/qingcloud/sdk/service/key_pair.rb +257 -0
- data/lib/qingcloud/sdk/service/load_balancer.rb +1119 -0
- data/lib/qingcloud/sdk/service/mongo.rb +566 -0
- data/lib/qingcloud/sdk/service/qingcloud.rb +185 -0
- data/lib/qingcloud/sdk/service/rdb.rb +751 -0
- data/lib/qingcloud/sdk/service/router.rb +778 -0
- data/lib/qingcloud/sdk/service/security_group.rb +645 -0
- data/lib/qingcloud/sdk/service/shared_storage.rb +666 -0
- data/lib/qingcloud/sdk/service/snapshot.rb +283 -0
- data/lib/qingcloud/sdk/service/tag.rb +227 -0
- data/lib/qingcloud/sdk/service/user_data.rb +61 -0
- data/lib/qingcloud/sdk/service/volume.rb +296 -0
- data/lib/qingcloud/sdk/service/vxnet.rb +295 -0
- data/lib/qingcloud/sdk/version.rb +19 -5
- metadata +98 -29
- data/.gitignore +0 -13
- data/.rspec +0 -2
- data/.travis.yml +0 -3
- data/Rakefile +0 -6
- data/lib/qingcloud/sdk/iaas/connector.rb +0 -99
- data/lib/qingcloud/sdk/iaas/foundation.rb +0 -73
- data/lib/qingcloud/sdk/iaas/service.rb +0 -1274
- data/lib/qingcloud/sdk/template/config.json +0 -4
- data/lib/qingcloud/sdk/utility/file_manager.rb +0 -43
- data/lib/qingcloud/sdk/utility/json_parser.rb +0 -41
- data/lib/qingcloud/sdk/utility/logger.rb +0 -19
- data/qingcloud-sdk.gemspec +0 -31
@@ -0,0 +1,645 @@
|
|
1
|
+
# +-------------------------------------------------------------------------
|
2
|
+
# | Copyright (C) 2016 Yunify, Inc.
|
3
|
+
# +-------------------------------------------------------------------------
|
4
|
+
# | Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# | you may not use this work except in compliance with the License.
|
6
|
+
# | You may obtain a copy of the License in the LICENSE file, or at:
|
7
|
+
# |
|
8
|
+
# | http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
# |
|
10
|
+
# | Unless required by applicable law or agreed to in writing, software
|
11
|
+
# | distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# | See the License for the specific language governing permissions and
|
14
|
+
# | limitations under the License.
|
15
|
+
# +-------------------------------------------------------------------------
|
16
|
+
|
17
|
+
require 'active_support/core_ext/hash/keys'
|
18
|
+
|
19
|
+
module QingCloud
|
20
|
+
module SDK
|
21
|
+
class SecurityGroupService
|
22
|
+
attr_accessor :config, :properties
|
23
|
+
|
24
|
+
def initialize(config, properties)
|
25
|
+
self.config = config
|
26
|
+
self.properties = properties.deep_symbolize_keys
|
27
|
+
end
|
28
|
+
|
29
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/add_security_group_rules.html
|
30
|
+
def add_security_group_rules(rules: [], security_group: '')
|
31
|
+
input = {
|
32
|
+
config: config,
|
33
|
+
properties: properties,
|
34
|
+
api_name: 'AddSecurityGroupRules',
|
35
|
+
request_method: 'GET',
|
36
|
+
request_params: {
|
37
|
+
'rules' => rules,
|
38
|
+
'security_group' => security_group,
|
39
|
+
},
|
40
|
+
}
|
41
|
+
|
42
|
+
add_security_group_rules_input_validate input
|
43
|
+
|
44
|
+
request = Request.new input
|
45
|
+
request.send
|
46
|
+
end
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
def add_security_group_rules_input_validate(input)
|
51
|
+
input.deep_stringify_keys!
|
52
|
+
|
53
|
+
unless !input['request_params']['rules'].nil? && !input['request_params']['rules'].to_s.empty?
|
54
|
+
raise ParameterRequiredError.new('rules', 'AddSecurityGroupRulesInput')
|
55
|
+
end
|
56
|
+
|
57
|
+
input['request_params']['rules'].map do |x|
|
58
|
+
next unless x['action'] && !x['action'].to_s.empty?
|
59
|
+
action_valid_values = %w(accept drop)
|
60
|
+
next if action_valid_values.include? x['action'].to_s
|
61
|
+
raise ParameterValueNotAllowedError.new(
|
62
|
+
'action',
|
63
|
+
x['action'],
|
64
|
+
action_valid_values,
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
|
69
|
+
raise ParameterRequiredError.new('security_group', 'AddSecurityGroupRulesInput')
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
public
|
74
|
+
|
75
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/apply_security_group.html
|
76
|
+
def apply_security_group(instances: [], security_group: '')
|
77
|
+
input = {
|
78
|
+
config: config,
|
79
|
+
properties: properties,
|
80
|
+
api_name: 'ApplySecurityGroup',
|
81
|
+
request_method: 'GET',
|
82
|
+
request_params: {
|
83
|
+
'instances' => instances,
|
84
|
+
'security_group' => security_group,
|
85
|
+
},
|
86
|
+
}
|
87
|
+
|
88
|
+
apply_security_group_input_validate input
|
89
|
+
|
90
|
+
request = Request.new input
|
91
|
+
request.send
|
92
|
+
end
|
93
|
+
|
94
|
+
private
|
95
|
+
|
96
|
+
def apply_security_group_input_validate(input)
|
97
|
+
input.deep_stringify_keys!
|
98
|
+
|
99
|
+
unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
|
100
|
+
raise ParameterRequiredError.new('security_group', 'ApplySecurityGroupInput')
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
public
|
105
|
+
|
106
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/create_security_group.html
|
107
|
+
def create_security_group(security_group_name: '')
|
108
|
+
input = {
|
109
|
+
config: config,
|
110
|
+
properties: properties,
|
111
|
+
api_name: 'CreateSecurityGroup',
|
112
|
+
request_method: 'GET',
|
113
|
+
request_params: {
|
114
|
+
'security_group_name' => security_group_name,
|
115
|
+
},
|
116
|
+
}
|
117
|
+
|
118
|
+
create_security_group_input_validate input
|
119
|
+
|
120
|
+
request = Request.new input
|
121
|
+
request.send
|
122
|
+
end
|
123
|
+
|
124
|
+
private
|
125
|
+
|
126
|
+
def create_security_group_input_validate(input)
|
127
|
+
input.deep_stringify_keys!
|
128
|
+
end
|
129
|
+
|
130
|
+
public
|
131
|
+
|
132
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/create_security_group_ipset.html
|
133
|
+
def create_security_group_ip_set(ipset_type: nil, security_group_ipset_name: '', val: '')
|
134
|
+
input = {
|
135
|
+
config: config,
|
136
|
+
properties: properties,
|
137
|
+
api_name: 'CreateSecurityGroupIPSet',
|
138
|
+
request_method: 'GET',
|
139
|
+
request_params: {
|
140
|
+
'ipset_type' => ipset_type, # ipset_type's available values: 0, 1
|
141
|
+
'security_group_ipset_name' => security_group_ipset_name,
|
142
|
+
'val' => val,
|
143
|
+
},
|
144
|
+
}
|
145
|
+
|
146
|
+
create_security_group_ip_set_input_validate input
|
147
|
+
|
148
|
+
request = Request.new input
|
149
|
+
request.send
|
150
|
+
end
|
151
|
+
|
152
|
+
private
|
153
|
+
|
154
|
+
def create_security_group_ip_set_input_validate(input)
|
155
|
+
input.deep_stringify_keys!
|
156
|
+
|
157
|
+
unless !input['request_params']['ipset_type'].nil? && !input['request_params']['ipset_type'].to_s.empty?
|
158
|
+
raise ParameterRequiredError.new('ipset_type', 'CreateSecurityGroupIPSetInput')
|
159
|
+
end
|
160
|
+
|
161
|
+
if input['request_params']['ipset_type'] && !input['request_params']['ipset_type'].to_s.empty?
|
162
|
+
ipset_type_valid_values = %w(0 1)
|
163
|
+
unless ipset_type_valid_values.include? input['request_params']['ipset_type'].to_s
|
164
|
+
raise ParameterValueNotAllowedError.new(
|
165
|
+
'ipset_type',
|
166
|
+
input['request_params']['ipset_type'],
|
167
|
+
ipset_type_valid_values,
|
168
|
+
)
|
169
|
+
end
|
170
|
+
end
|
171
|
+
|
172
|
+
unless !input['request_params']['val'].nil? && !input['request_params']['val'].to_s.empty?
|
173
|
+
raise ParameterRequiredError.new('val', 'CreateSecurityGroupIPSetInput')
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
public
|
178
|
+
|
179
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/create_security_group_snapshot.html
|
180
|
+
def create_security_group_snapshot(name: '', security_group: '')
|
181
|
+
input = {
|
182
|
+
config: config,
|
183
|
+
properties: properties,
|
184
|
+
api_name: 'CreateSecurityGroupSnapshot',
|
185
|
+
request_method: 'GET',
|
186
|
+
request_params: {
|
187
|
+
'name' => name,
|
188
|
+
'security_group' => security_group,
|
189
|
+
},
|
190
|
+
}
|
191
|
+
|
192
|
+
create_security_group_snapshot_input_validate input
|
193
|
+
|
194
|
+
request = Request.new input
|
195
|
+
request.send
|
196
|
+
end
|
197
|
+
|
198
|
+
private
|
199
|
+
|
200
|
+
def create_security_group_snapshot_input_validate(input)
|
201
|
+
input.deep_stringify_keys!
|
202
|
+
|
203
|
+
unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
|
204
|
+
raise ParameterRequiredError.new('security_group', 'CreateSecurityGroupSnapshotInput')
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
public
|
209
|
+
|
210
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/delete_security_group_ipsets.html
|
211
|
+
def delete_security_group_ip_sets(security_group_ipsets: [])
|
212
|
+
input = {
|
213
|
+
config: config,
|
214
|
+
properties: properties,
|
215
|
+
api_name: 'DeleteSecurityGroupIPSets',
|
216
|
+
request_method: 'GET',
|
217
|
+
request_params: {
|
218
|
+
'security_group_ipsets' => security_group_ipsets,
|
219
|
+
},
|
220
|
+
}
|
221
|
+
|
222
|
+
delete_security_group_ip_sets_input_validate input
|
223
|
+
|
224
|
+
request = Request.new input
|
225
|
+
request.send
|
226
|
+
end
|
227
|
+
|
228
|
+
private
|
229
|
+
|
230
|
+
def delete_security_group_ip_sets_input_validate(input)
|
231
|
+
input.deep_stringify_keys!
|
232
|
+
|
233
|
+
unless !input['request_params']['security_group_ipsets'].nil? && !input['request_params']['security_group_ipsets'].to_s.empty?
|
234
|
+
raise ParameterRequiredError.new('security_group_ipsets', 'DeleteSecurityGroupIPSetsInput')
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
public
|
239
|
+
|
240
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/delete_security_group_rules.html
|
241
|
+
def delete_security_group_rules(security_group_rules: [])
|
242
|
+
input = {
|
243
|
+
config: config,
|
244
|
+
properties: properties,
|
245
|
+
api_name: 'DeleteSecurityGroupRules',
|
246
|
+
request_method: 'GET',
|
247
|
+
request_params: {
|
248
|
+
'security_group_rules' => security_group_rules,
|
249
|
+
},
|
250
|
+
}
|
251
|
+
|
252
|
+
delete_security_group_rules_input_validate input
|
253
|
+
|
254
|
+
request = Request.new input
|
255
|
+
request.send
|
256
|
+
end
|
257
|
+
|
258
|
+
private
|
259
|
+
|
260
|
+
def delete_security_group_rules_input_validate(input)
|
261
|
+
input.deep_stringify_keys!
|
262
|
+
|
263
|
+
unless !input['request_params']['security_group_rules'].nil? && !input['request_params']['security_group_rules'].to_s.empty?
|
264
|
+
raise ParameterRequiredError.new('security_group_rules', 'DeleteSecurityGroupRulesInput')
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
268
|
+
public
|
269
|
+
|
270
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/delete_security_group_snapshots.html
|
271
|
+
def delete_security_group_snapshots(security_group_snapshots: [])
|
272
|
+
input = {
|
273
|
+
config: config,
|
274
|
+
properties: properties,
|
275
|
+
api_name: 'DeleteSecurityGroupSnapshots',
|
276
|
+
request_method: 'GET',
|
277
|
+
request_params: {
|
278
|
+
'security_group_snapshots' => security_group_snapshots,
|
279
|
+
},
|
280
|
+
}
|
281
|
+
|
282
|
+
delete_security_group_snapshots_input_validate input
|
283
|
+
|
284
|
+
request = Request.new input
|
285
|
+
request.send
|
286
|
+
end
|
287
|
+
|
288
|
+
private
|
289
|
+
|
290
|
+
def delete_security_group_snapshots_input_validate(input)
|
291
|
+
input.deep_stringify_keys!
|
292
|
+
|
293
|
+
unless !input['request_params']['security_group_snapshots'].nil? && !input['request_params']['security_group_snapshots'].to_s.empty?
|
294
|
+
raise ParameterRequiredError.new('security_group_snapshots', 'DeleteSecurityGroupSnapshotsInput')
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
public
|
299
|
+
|
300
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/delete_security_groups.html
|
301
|
+
def delete_security_groups(security_groups: [])
|
302
|
+
input = {
|
303
|
+
config: config,
|
304
|
+
properties: properties,
|
305
|
+
api_name: 'DeleteSecurityGroups',
|
306
|
+
request_method: 'GET',
|
307
|
+
request_params: {
|
308
|
+
'security_groups' => security_groups,
|
309
|
+
},
|
310
|
+
}
|
311
|
+
|
312
|
+
delete_security_groups_input_validate input
|
313
|
+
|
314
|
+
request = Request.new input
|
315
|
+
request.send
|
316
|
+
end
|
317
|
+
|
318
|
+
private
|
319
|
+
|
320
|
+
def delete_security_groups_input_validate(input)
|
321
|
+
input.deep_stringify_keys!
|
322
|
+
|
323
|
+
unless !input['request_params']['security_groups'].nil? && !input['request_params']['security_groups'].to_s.empty?
|
324
|
+
raise ParameterRequiredError.new('security_groups', 'DeleteSecurityGroupsInput')
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
328
|
+
public
|
329
|
+
|
330
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/describe_security_group_ipsets.html
|
331
|
+
def describe_security_group_ip_sets(ipset_type: nil, limit: nil, offset: nil, security_group_ipset_name: '', security_group_ipsets: [], tags: [], verbose: nil)
|
332
|
+
input = {
|
333
|
+
config: config,
|
334
|
+
properties: properties,
|
335
|
+
api_name: 'DescribeSecurityGroupIPSets',
|
336
|
+
request_method: 'GET',
|
337
|
+
request_params: {
|
338
|
+
'ipset_type' => ipset_type, # ipset_type's available values: 0, 1
|
339
|
+
'limit' => limit,
|
340
|
+
'offset' => offset,
|
341
|
+
'security_group_ipset_name' => security_group_ipset_name,
|
342
|
+
'security_group_ipsets' => security_group_ipsets,
|
343
|
+
'tags' => tags,
|
344
|
+
'verbose' => verbose,
|
345
|
+
},
|
346
|
+
}
|
347
|
+
|
348
|
+
describe_security_group_ip_sets_input_validate input
|
349
|
+
|
350
|
+
request = Request.new input
|
351
|
+
request.send
|
352
|
+
end
|
353
|
+
|
354
|
+
private
|
355
|
+
|
356
|
+
def describe_security_group_ip_sets_input_validate(input)
|
357
|
+
input.deep_stringify_keys!
|
358
|
+
|
359
|
+
if input['request_params']['ipset_type'] && !input['request_params']['ipset_type'].to_s.empty?
|
360
|
+
ipset_type_valid_values = %w(0 1)
|
361
|
+
unless ipset_type_valid_values.include? input['request_params']['ipset_type'].to_s
|
362
|
+
raise ParameterValueNotAllowedError.new(
|
363
|
+
'ipset_type',
|
364
|
+
input['request_params']['ipset_type'],
|
365
|
+
ipset_type_valid_values,
|
366
|
+
)
|
367
|
+
end
|
368
|
+
end
|
369
|
+
end
|
370
|
+
|
371
|
+
public
|
372
|
+
|
373
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/describe_security_group_rules.html
|
374
|
+
def describe_security_group_rules(direction: nil, limit: nil, offset: nil, security_group: '', security_group_rules: [])
|
375
|
+
input = {
|
376
|
+
config: config,
|
377
|
+
properties: properties,
|
378
|
+
api_name: 'DescribeSecurityGroupRules',
|
379
|
+
request_method: 'GET',
|
380
|
+
request_params: {
|
381
|
+
'direction' => direction, # direction's available values: 0, 1
|
382
|
+
'limit' => limit,
|
383
|
+
'offset' => offset,
|
384
|
+
'security_group' => security_group,
|
385
|
+
'security_group_rules' => security_group_rules,
|
386
|
+
},
|
387
|
+
}
|
388
|
+
|
389
|
+
describe_security_group_rules_input_validate input
|
390
|
+
|
391
|
+
request = Request.new input
|
392
|
+
request.send
|
393
|
+
end
|
394
|
+
|
395
|
+
private
|
396
|
+
|
397
|
+
def describe_security_group_rules_input_validate(input)
|
398
|
+
input.deep_stringify_keys!
|
399
|
+
|
400
|
+
if input['request_params']['direction'] && !input['request_params']['direction'].to_s.empty?
|
401
|
+
direction_valid_values = %w(0 1)
|
402
|
+
unless direction_valid_values.include? input['request_params']['direction'].to_s
|
403
|
+
raise ParameterValueNotAllowedError.new(
|
404
|
+
'direction',
|
405
|
+
input['request_params']['direction'],
|
406
|
+
direction_valid_values,
|
407
|
+
)
|
408
|
+
end
|
409
|
+
end
|
410
|
+
|
411
|
+
unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
|
412
|
+
raise ParameterRequiredError.new('security_group', 'DescribeSecurityGroupRulesInput')
|
413
|
+
end
|
414
|
+
end
|
415
|
+
|
416
|
+
public
|
417
|
+
|
418
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/describe_security_group_snapshots.html
|
419
|
+
def describe_security_group_snapshots(limit: nil, offset: nil, reverse: nil, security_group: '', security_group_snapshots: [])
|
420
|
+
input = {
|
421
|
+
config: config,
|
422
|
+
properties: properties,
|
423
|
+
api_name: 'DescribeSecurityGroupSnapshots',
|
424
|
+
request_method: 'GET',
|
425
|
+
request_params: {
|
426
|
+
'limit' => limit,
|
427
|
+
'offset' => offset,
|
428
|
+
'reverse' => reverse,
|
429
|
+
'security_group' => security_group,
|
430
|
+
'security_group_snapshots' => security_group_snapshots,
|
431
|
+
},
|
432
|
+
}
|
433
|
+
|
434
|
+
describe_security_group_snapshots_input_validate input
|
435
|
+
|
436
|
+
request = Request.new input
|
437
|
+
request.send
|
438
|
+
end
|
439
|
+
|
440
|
+
private
|
441
|
+
|
442
|
+
def describe_security_group_snapshots_input_validate(input)
|
443
|
+
input.deep_stringify_keys!
|
444
|
+
|
445
|
+
unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
|
446
|
+
raise ParameterRequiredError.new('security_group', 'DescribeSecurityGroupSnapshotsInput')
|
447
|
+
end
|
448
|
+
end
|
449
|
+
|
450
|
+
public
|
451
|
+
|
452
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/describe_security_groups.html
|
453
|
+
def describe_security_groups(limit: nil, offset: nil, search_word: '', security_groups: [], tags: [], verbose: nil)
|
454
|
+
input = {
|
455
|
+
config: config,
|
456
|
+
properties: properties,
|
457
|
+
api_name: 'DescribeSecurityGroups',
|
458
|
+
request_method: 'GET',
|
459
|
+
request_params: {
|
460
|
+
'limit' => limit,
|
461
|
+
'offset' => offset,
|
462
|
+
'search_word' => search_word,
|
463
|
+
'security_groups' => security_groups,
|
464
|
+
'tags' => tags,
|
465
|
+
'verbose' => verbose,
|
466
|
+
},
|
467
|
+
}
|
468
|
+
|
469
|
+
describe_security_groups_input_validate input
|
470
|
+
|
471
|
+
request = Request.new input
|
472
|
+
request.send
|
473
|
+
end
|
474
|
+
|
475
|
+
private
|
476
|
+
|
477
|
+
def describe_security_groups_input_validate(input)
|
478
|
+
input.deep_stringify_keys!
|
479
|
+
end
|
480
|
+
|
481
|
+
public
|
482
|
+
|
483
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/modify_security_group_attributes.html
|
484
|
+
def modify_security_group_attributes(description: '', security_group: '', security_group_name: '')
|
485
|
+
input = {
|
486
|
+
config: config,
|
487
|
+
properties: properties,
|
488
|
+
api_name: 'ModifySecurityGroupAttributes',
|
489
|
+
request_method: 'GET',
|
490
|
+
request_params: {
|
491
|
+
'description' => description,
|
492
|
+
'security_group' => security_group,
|
493
|
+
'security_group_name' => security_group_name,
|
494
|
+
},
|
495
|
+
}
|
496
|
+
|
497
|
+
modify_security_group_attributes_input_validate input
|
498
|
+
|
499
|
+
request = Request.new input
|
500
|
+
request.send
|
501
|
+
end
|
502
|
+
|
503
|
+
private
|
504
|
+
|
505
|
+
def modify_security_group_attributes_input_validate(input)
|
506
|
+
input.deep_stringify_keys!
|
507
|
+
|
508
|
+
unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
|
509
|
+
raise ParameterRequiredError.new('security_group', 'ModifySecurityGroupAttributesInput')
|
510
|
+
end
|
511
|
+
end
|
512
|
+
|
513
|
+
public
|
514
|
+
|
515
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/modify_security_group_ipset_attributes.html
|
516
|
+
def modify_security_group_ip_set_attributes(description: '', security_group_ipset: '', security_group_ipset_name: '', val: '')
|
517
|
+
input = {
|
518
|
+
config: config,
|
519
|
+
properties: properties,
|
520
|
+
api_name: 'ModifySecurityGroupIPSetAttributes',
|
521
|
+
request_method: 'GET',
|
522
|
+
request_params: {
|
523
|
+
'description' => description,
|
524
|
+
'security_group_ipset' => security_group_ipset,
|
525
|
+
'security_group_ipset_name' => security_group_ipset_name,
|
526
|
+
'val' => val,
|
527
|
+
},
|
528
|
+
}
|
529
|
+
|
530
|
+
modify_security_group_ip_set_attributes_input_validate input
|
531
|
+
|
532
|
+
request = Request.new input
|
533
|
+
request.send
|
534
|
+
end
|
535
|
+
|
536
|
+
private
|
537
|
+
|
538
|
+
def modify_security_group_ip_set_attributes_input_validate(input)
|
539
|
+
input.deep_stringify_keys!
|
540
|
+
|
541
|
+
unless !input['request_params']['security_group_ipset'].nil? && !input['request_params']['security_group_ipset'].to_s.empty?
|
542
|
+
raise ParameterRequiredError.new('security_group_ipset', 'ModifySecurityGroupIPSetAttributesInput')
|
543
|
+
end
|
544
|
+
end
|
545
|
+
|
546
|
+
public
|
547
|
+
|
548
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/modify_security_group_rule_attributes.html
|
549
|
+
def modify_security_group_rule_attributes(direction: nil, priority: nil, protocol: '', rule_action: '', security_group: '', security_group_rule: '', security_group_rule_name: '', val1: nil, val2: nil, val3: nil)
|
550
|
+
input = {
|
551
|
+
config: config,
|
552
|
+
properties: properties,
|
553
|
+
api_name: 'ModifySecurityGroupRuleAttributes',
|
554
|
+
request_method: 'GET',
|
555
|
+
request_params: {
|
556
|
+
'direction' => direction, # direction's available values: 0, 1
|
557
|
+
'priority' => priority,
|
558
|
+
'protocol' => protocol,
|
559
|
+
'rule_action' => rule_action, # rule_action's available values: accept, drop
|
560
|
+
'security_group' => security_group,
|
561
|
+
'security_group_rule' => security_group_rule,
|
562
|
+
'security_group_rule_name' => security_group_rule_name,
|
563
|
+
'val1' => val1,
|
564
|
+
'val2' => val2,
|
565
|
+
'val3' => val3,
|
566
|
+
},
|
567
|
+
}
|
568
|
+
|
569
|
+
modify_security_group_rule_attributes_input_validate input
|
570
|
+
|
571
|
+
request = Request.new input
|
572
|
+
request.send
|
573
|
+
end
|
574
|
+
|
575
|
+
private
|
576
|
+
|
577
|
+
def modify_security_group_rule_attributes_input_validate(input)
|
578
|
+
input.deep_stringify_keys!
|
579
|
+
|
580
|
+
if input['request_params']['direction'] && !input['request_params']['direction'].to_s.empty?
|
581
|
+
direction_valid_values = %w(0 1)
|
582
|
+
unless direction_valid_values.include? input['request_params']['direction'].to_s
|
583
|
+
raise ParameterValueNotAllowedError.new(
|
584
|
+
'direction',
|
585
|
+
input['request_params']['direction'],
|
586
|
+
direction_valid_values,
|
587
|
+
)
|
588
|
+
end
|
589
|
+
end
|
590
|
+
|
591
|
+
if input['request_params']['rule_action'] && !input['request_params']['rule_action'].to_s.empty?
|
592
|
+
rule_action_valid_values = %w(accept drop)
|
593
|
+
unless rule_action_valid_values.include? input['request_params']['rule_action'].to_s
|
594
|
+
raise ParameterValueNotAllowedError.new(
|
595
|
+
'rule_action',
|
596
|
+
input['request_params']['rule_action'],
|
597
|
+
rule_action_valid_values,
|
598
|
+
)
|
599
|
+
end
|
600
|
+
end
|
601
|
+
|
602
|
+
unless !input['request_params']['security_group_rule'].nil? && !input['request_params']['security_group_rule'].to_s.empty?
|
603
|
+
raise ParameterRequiredError.new('security_group_rule', 'ModifySecurityGroupRuleAttributesInput')
|
604
|
+
end
|
605
|
+
end
|
606
|
+
|
607
|
+
public
|
608
|
+
|
609
|
+
# Documentation URL: https://docs.qingcloud.com/api/sg/rollback_security_group.html
|
610
|
+
def rollback_security_group(security_group: '', security_group_snapshot: '')
|
611
|
+
input = {
|
612
|
+
config: config,
|
613
|
+
properties: properties,
|
614
|
+
api_name: 'RollbackSecurityGroup',
|
615
|
+
request_method: 'GET',
|
616
|
+
request_params: {
|
617
|
+
'security_group' => security_group,
|
618
|
+
'security_group_snapshot' => security_group_snapshot,
|
619
|
+
},
|
620
|
+
}
|
621
|
+
|
622
|
+
rollback_security_group_input_validate input
|
623
|
+
|
624
|
+
request = Request.new input
|
625
|
+
request.send
|
626
|
+
end
|
627
|
+
|
628
|
+
private
|
629
|
+
|
630
|
+
def rollback_security_group_input_validate(input)
|
631
|
+
input.deep_stringify_keys!
|
632
|
+
|
633
|
+
unless !input['request_params']['security_group'].nil? && !input['request_params']['security_group'].to_s.empty?
|
634
|
+
raise ParameterRequiredError.new('security_group', 'RollbackSecurityGroupInput')
|
635
|
+
end
|
636
|
+
|
637
|
+
unless !input['request_params']['security_group_snapshot'].nil? && !input['request_params']['security_group_snapshot'].to_s.empty?
|
638
|
+
raise ParameterRequiredError.new('security_group_snapshot', 'RollbackSecurityGroupInput')
|
639
|
+
end
|
640
|
+
end
|
641
|
+
|
642
|
+
public
|
643
|
+
end
|
644
|
+
end
|
645
|
+
end
|