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,566 @@
|
|
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 MongoService
|
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/mongo/add_mongo_instances.html
|
30
|
+
def add_mongo_instances(mongo: '', node_count: nil, private_ips: [])
|
31
|
+
input = {
|
32
|
+
config: config,
|
33
|
+
properties: properties,
|
34
|
+
api_name: 'AddMongoInstances',
|
35
|
+
request_method: 'GET',
|
36
|
+
request_params: {
|
37
|
+
'mongo' => mongo,
|
38
|
+
'node_count' => node_count,
|
39
|
+
'private_ips' => private_ips,
|
40
|
+
},
|
41
|
+
}
|
42
|
+
|
43
|
+
add_mongo_instances_input_validate input
|
44
|
+
|
45
|
+
request = Request.new input
|
46
|
+
request.send
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def add_mongo_instances_input_validate(input)
|
52
|
+
input.deep_stringify_keys!
|
53
|
+
|
54
|
+
input['request_params']['private_ips'].map do |x|
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
public
|
59
|
+
|
60
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/change_mongo_vxnet.html
|
61
|
+
def change_mongo_vxnet(mongo: '', private_ips: [], vxnet: '')
|
62
|
+
input = {
|
63
|
+
config: config,
|
64
|
+
properties: properties,
|
65
|
+
api_name: 'ChangeMongoVxnet',
|
66
|
+
request_method: 'GET',
|
67
|
+
request_params: {
|
68
|
+
'mongo' => mongo,
|
69
|
+
'private_ips' => private_ips,
|
70
|
+
'vxnet' => vxnet,
|
71
|
+
},
|
72
|
+
}
|
73
|
+
|
74
|
+
change_mongo_vxnet_input_validate input
|
75
|
+
|
76
|
+
request = Request.new input
|
77
|
+
request.send
|
78
|
+
end
|
79
|
+
|
80
|
+
private
|
81
|
+
|
82
|
+
def change_mongo_vxnet_input_validate(input)
|
83
|
+
input.deep_stringify_keys!
|
84
|
+
|
85
|
+
unless !input['request_params']['mongo'].nil? && !input['request_params']['mongo'].to_s.empty?
|
86
|
+
raise ParameterRequiredError.new('mongo', 'ChangeMongoVxnetInput')
|
87
|
+
end
|
88
|
+
|
89
|
+
input['request_params']['private_ips'].map do |x|
|
90
|
+
end
|
91
|
+
|
92
|
+
unless !input['request_params']['vxnet'].nil? && !input['request_params']['vxnet'].to_s.empty?
|
93
|
+
raise ParameterRequiredError.new('vxnet', 'ChangeMongoVxnetInput')
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
public
|
98
|
+
|
99
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/create_mongo.html
|
100
|
+
def create_mongo(auto_backup_time: nil, description: '', mongo_name: '', mongo_password: '', mongo_type: nil, mongo_username: '', mongo_version: nil, private_ips: [], resource_class: nil, storage_size: nil, vxnet: '')
|
101
|
+
input = {
|
102
|
+
config: config,
|
103
|
+
properties: properties,
|
104
|
+
api_name: 'CreateMongo',
|
105
|
+
request_method: 'GET',
|
106
|
+
request_params: {
|
107
|
+
'auto_backup_time' => auto_backup_time,
|
108
|
+
'description' => description,
|
109
|
+
'mongo_name' => mongo_name,
|
110
|
+
'mongo_password' => mongo_password,
|
111
|
+
'mongo_type' => mongo_type,
|
112
|
+
'mongo_username' => mongo_username,
|
113
|
+
'mongo_version' => mongo_version,
|
114
|
+
'private_ips' => private_ips,
|
115
|
+
'resource_class' => resource_class,
|
116
|
+
'storage_size' => storage_size,
|
117
|
+
'vxnet' => vxnet,
|
118
|
+
},
|
119
|
+
}
|
120
|
+
|
121
|
+
create_mongo_input_validate input
|
122
|
+
|
123
|
+
request = Request.new input
|
124
|
+
request.send
|
125
|
+
end
|
126
|
+
|
127
|
+
private
|
128
|
+
|
129
|
+
def create_mongo_input_validate(input)
|
130
|
+
input.deep_stringify_keys!
|
131
|
+
|
132
|
+
unless !input['request_params']['mongo_type'].nil? && !input['request_params']['mongo_type'].to_s.empty?
|
133
|
+
raise ParameterRequiredError.new('mongo_type', 'CreateMongoInput')
|
134
|
+
end
|
135
|
+
|
136
|
+
input['request_params']['private_ips'].map do |x|
|
137
|
+
end
|
138
|
+
|
139
|
+
unless !input['request_params']['storage_size'].nil? && !input['request_params']['storage_size'].to_s.empty?
|
140
|
+
raise ParameterRequiredError.new('storage_size', 'CreateMongoInput')
|
141
|
+
end
|
142
|
+
|
143
|
+
unless !input['request_params']['vxnet'].nil? && !input['request_params']['vxnet'].to_s.empty?
|
144
|
+
raise ParameterRequiredError.new('vxnet', 'CreateMongoInput')
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
public
|
149
|
+
|
150
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/create_mongo_from_snapshot.html
|
151
|
+
def create_mongo_from_snapshot(auto_backup_time: nil, mongo_name: '', mongo_type: nil, mongo_version: nil, resource_class: nil, snapshot: '', storage_size: nil, vxnet: '')
|
152
|
+
input = {
|
153
|
+
config: config,
|
154
|
+
properties: properties,
|
155
|
+
api_name: 'CreateMongoFromSnapshot',
|
156
|
+
request_method: 'GET',
|
157
|
+
request_params: {
|
158
|
+
'auto_backup_time' => auto_backup_time,
|
159
|
+
'mongo_name' => mongo_name,
|
160
|
+
'mongo_type' => mongo_type,
|
161
|
+
'mongo_version' => mongo_version,
|
162
|
+
'resource_class' => resource_class,
|
163
|
+
'snapshot' => snapshot,
|
164
|
+
'storage_size' => storage_size,
|
165
|
+
'vxnet' => vxnet,
|
166
|
+
},
|
167
|
+
}
|
168
|
+
|
169
|
+
create_mongo_from_snapshot_input_validate input
|
170
|
+
|
171
|
+
request = Request.new input
|
172
|
+
request.send
|
173
|
+
end
|
174
|
+
|
175
|
+
private
|
176
|
+
|
177
|
+
def create_mongo_from_snapshot_input_validate(input)
|
178
|
+
input.deep_stringify_keys!
|
179
|
+
end
|
180
|
+
|
181
|
+
public
|
182
|
+
|
183
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/delete_mongos.html
|
184
|
+
def delete_mongos(mongos: [])
|
185
|
+
input = {
|
186
|
+
config: config,
|
187
|
+
properties: properties,
|
188
|
+
api_name: 'DeleteMongos',
|
189
|
+
request_method: 'GET',
|
190
|
+
request_params: {
|
191
|
+
'mongos' => mongos,
|
192
|
+
},
|
193
|
+
}
|
194
|
+
|
195
|
+
delete_mongos_input_validate input
|
196
|
+
|
197
|
+
request = Request.new input
|
198
|
+
request.send
|
199
|
+
end
|
200
|
+
|
201
|
+
private
|
202
|
+
|
203
|
+
def delete_mongos_input_validate(input)
|
204
|
+
input.deep_stringify_keys!
|
205
|
+
|
206
|
+
unless !input['request_params']['mongos'].nil? && !input['request_params']['mongos'].to_s.empty?
|
207
|
+
raise ParameterRequiredError.new('mongos', 'DeleteMongosInput')
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
|
+
public
|
212
|
+
|
213
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/describe_mongo_nodes.html
|
214
|
+
def describe_mongo_nodes(limit: nil, mongo: '', offset: nil, status: [])
|
215
|
+
input = {
|
216
|
+
config: config,
|
217
|
+
properties: properties,
|
218
|
+
api_name: 'DescribeMongoNodes',
|
219
|
+
request_method: 'GET',
|
220
|
+
request_params: {
|
221
|
+
'limit' => limit,
|
222
|
+
'mongo' => mongo,
|
223
|
+
'offset' => offset,
|
224
|
+
'status' => status,
|
225
|
+
},
|
226
|
+
}
|
227
|
+
|
228
|
+
describe_mongo_nodes_input_validate input
|
229
|
+
|
230
|
+
request = Request.new input
|
231
|
+
request.send
|
232
|
+
end
|
233
|
+
|
234
|
+
private
|
235
|
+
|
236
|
+
def describe_mongo_nodes_input_validate(input)
|
237
|
+
input.deep_stringify_keys!
|
238
|
+
|
239
|
+
unless !input['request_params']['mongo'].nil? && !input['request_params']['mongo'].to_s.empty?
|
240
|
+
raise ParameterRequiredError.new('mongo', 'DescribeMongoNodesInput')
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
public
|
245
|
+
|
246
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/describe_mongo_parameters.html
|
247
|
+
def describe_mongo_parameters(limit: nil, mongo: '', offset: nil)
|
248
|
+
input = {
|
249
|
+
config: config,
|
250
|
+
properties: properties,
|
251
|
+
api_name: 'DescribeMongoParameters',
|
252
|
+
request_method: 'GET',
|
253
|
+
request_params: {
|
254
|
+
'limit' => limit,
|
255
|
+
'mongo' => mongo,
|
256
|
+
'offset' => offset,
|
257
|
+
},
|
258
|
+
}
|
259
|
+
|
260
|
+
describe_mongo_parameters_input_validate input
|
261
|
+
|
262
|
+
request = Request.new input
|
263
|
+
request.send
|
264
|
+
end
|
265
|
+
|
266
|
+
private
|
267
|
+
|
268
|
+
def describe_mongo_parameters_input_validate(input)
|
269
|
+
input.deep_stringify_keys!
|
270
|
+
|
271
|
+
unless !input['request_params']['mongo'].nil? && !input['request_params']['mongo'].to_s.empty?
|
272
|
+
raise ParameterRequiredError.new('mongo', 'DescribeMongoParametersInput')
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
276
|
+
public
|
277
|
+
|
278
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/describe_mongos.html
|
279
|
+
def describe_mongos(limit: nil, mongo_name: '', mongos: [], offset: nil, status: [], tags: [], verbose: nil)
|
280
|
+
input = {
|
281
|
+
config: config,
|
282
|
+
properties: properties,
|
283
|
+
api_name: 'DescribeMongos',
|
284
|
+
request_method: 'GET',
|
285
|
+
request_params: {
|
286
|
+
'limit' => limit,
|
287
|
+
'mongo_name' => mongo_name,
|
288
|
+
'mongos' => mongos,
|
289
|
+
'offset' => offset,
|
290
|
+
'status' => status,
|
291
|
+
'tags' => tags,
|
292
|
+
'verbose' => verbose,
|
293
|
+
},
|
294
|
+
}
|
295
|
+
|
296
|
+
describe_mongos_input_validate input
|
297
|
+
|
298
|
+
request = Request.new input
|
299
|
+
request.send
|
300
|
+
end
|
301
|
+
|
302
|
+
private
|
303
|
+
|
304
|
+
def describe_mongos_input_validate(input)
|
305
|
+
input.deep_stringify_keys!
|
306
|
+
end
|
307
|
+
|
308
|
+
public
|
309
|
+
|
310
|
+
# Documentation URL: https://docs.qingcloud.com/api/monitor/get_mongo_monitor.html
|
311
|
+
def get_mongo_monitor(end_time: '', meters: [], resource: '', start_time: '', step: '')
|
312
|
+
input = {
|
313
|
+
config: config,
|
314
|
+
properties: properties,
|
315
|
+
api_name: 'GetMongoMonitor',
|
316
|
+
request_method: 'GET',
|
317
|
+
request_params: {
|
318
|
+
'end_time' => end_time,
|
319
|
+
'meters' => meters,
|
320
|
+
'resource' => resource,
|
321
|
+
'start_time' => start_time,
|
322
|
+
'step' => step, # step's available values: 5m, 15m, 2h, 1d
|
323
|
+
},
|
324
|
+
}
|
325
|
+
|
326
|
+
get_mongo_monitor_input_validate input
|
327
|
+
|
328
|
+
request = Request.new input
|
329
|
+
request.send
|
330
|
+
end
|
331
|
+
|
332
|
+
private
|
333
|
+
|
334
|
+
def get_mongo_monitor_input_validate(input)
|
335
|
+
input.deep_stringify_keys!
|
336
|
+
|
337
|
+
unless !input['request_params']['end_time'].nil? && !input['request_params']['end_time'].to_s.empty?
|
338
|
+
raise ParameterRequiredError.new('end_time', 'GetMongoMonitorInput')
|
339
|
+
end
|
340
|
+
|
341
|
+
unless !input['request_params']['meters'].nil? && !input['request_params']['meters'].to_s.empty?
|
342
|
+
raise ParameterRequiredError.new('meters', 'GetMongoMonitorInput')
|
343
|
+
end
|
344
|
+
|
345
|
+
unless !input['request_params']['resource'].nil? && !input['request_params']['resource'].to_s.empty?
|
346
|
+
raise ParameterRequiredError.new('resource', 'GetMongoMonitorInput')
|
347
|
+
end
|
348
|
+
|
349
|
+
unless !input['request_params']['start_time'].nil? && !input['request_params']['start_time'].to_s.empty?
|
350
|
+
raise ParameterRequiredError.new('start_time', 'GetMongoMonitorInput')
|
351
|
+
end
|
352
|
+
|
353
|
+
unless !input['request_params']['step'].nil? && !input['request_params']['step'].to_s.empty?
|
354
|
+
raise ParameterRequiredError.new('step', 'GetMongoMonitorInput')
|
355
|
+
end
|
356
|
+
|
357
|
+
if input['request_params']['step'] && !input['request_params']['step'].to_s.empty?
|
358
|
+
step_valid_values = %w(5m 15m 2h 1d)
|
359
|
+
unless step_valid_values.include? input['request_params']['step'].to_s
|
360
|
+
raise ParameterValueNotAllowedError.new(
|
361
|
+
'step',
|
362
|
+
input['request_params']['step'],
|
363
|
+
step_valid_values,
|
364
|
+
)
|
365
|
+
end
|
366
|
+
end
|
367
|
+
end
|
368
|
+
|
369
|
+
public
|
370
|
+
|
371
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/modify_mongo_attributes.html
|
372
|
+
def modify_mongo_attributes(auto_backup_time: nil, description: '', mongo: '', mongo_name: '')
|
373
|
+
input = {
|
374
|
+
config: config,
|
375
|
+
properties: properties,
|
376
|
+
api_name: 'ModifyMongoAttributes',
|
377
|
+
request_method: 'GET',
|
378
|
+
request_params: {
|
379
|
+
'auto_backup_time' => auto_backup_time,
|
380
|
+
'description' => description,
|
381
|
+
'mongo' => mongo,
|
382
|
+
'mongo_name' => mongo_name,
|
383
|
+
},
|
384
|
+
}
|
385
|
+
|
386
|
+
modify_mongo_attributes_input_validate input
|
387
|
+
|
388
|
+
request = Request.new input
|
389
|
+
request.send
|
390
|
+
end
|
391
|
+
|
392
|
+
private
|
393
|
+
|
394
|
+
def modify_mongo_attributes_input_validate(input)
|
395
|
+
input.deep_stringify_keys!
|
396
|
+
|
397
|
+
unless !input['request_params']['mongo'].nil? && !input['request_params']['mongo'].to_s.empty?
|
398
|
+
raise ParameterRequiredError.new('mongo', 'ModifyMongoAttributesInput')
|
399
|
+
end
|
400
|
+
end
|
401
|
+
|
402
|
+
public
|
403
|
+
|
404
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/modify_mongo_instances.html
|
405
|
+
def modify_mongo_instances(mongo: '', private_ips: [])
|
406
|
+
input = {
|
407
|
+
config: config,
|
408
|
+
properties: properties,
|
409
|
+
api_name: 'ModifyMongoInstances',
|
410
|
+
request_method: 'GET',
|
411
|
+
request_params: {
|
412
|
+
'mongo' => mongo,
|
413
|
+
'private_ips' => private_ips,
|
414
|
+
},
|
415
|
+
}
|
416
|
+
|
417
|
+
modify_mongo_instances_input_validate input
|
418
|
+
|
419
|
+
request = Request.new input
|
420
|
+
request.send
|
421
|
+
end
|
422
|
+
|
423
|
+
private
|
424
|
+
|
425
|
+
def modify_mongo_instances_input_validate(input)
|
426
|
+
input.deep_stringify_keys!
|
427
|
+
|
428
|
+
unless !input['request_params']['mongo'].nil? && !input['request_params']['mongo'].to_s.empty?
|
429
|
+
raise ParameterRequiredError.new('mongo', 'ModifyMongoInstancesInput')
|
430
|
+
end
|
431
|
+
|
432
|
+
input['request_params']['private_ips'].map do |x|
|
433
|
+
end
|
434
|
+
end
|
435
|
+
|
436
|
+
public
|
437
|
+
|
438
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/remove_mongo_instances.html
|
439
|
+
def remove_mongo_instances(mongo: '', mongo_instances: [])
|
440
|
+
input = {
|
441
|
+
config: config,
|
442
|
+
properties: properties,
|
443
|
+
api_name: 'RemoveMongoInstances',
|
444
|
+
request_method: 'GET',
|
445
|
+
request_params: {
|
446
|
+
'mongo' => mongo,
|
447
|
+
'mongo_instances' => mongo_instances,
|
448
|
+
},
|
449
|
+
}
|
450
|
+
|
451
|
+
remove_mongo_instances_input_validate input
|
452
|
+
|
453
|
+
request = Request.new input
|
454
|
+
request.send
|
455
|
+
end
|
456
|
+
|
457
|
+
private
|
458
|
+
|
459
|
+
def remove_mongo_instances_input_validate(input)
|
460
|
+
input.deep_stringify_keys!
|
461
|
+
|
462
|
+
unless !input['request_params']['mongo'].nil? && !input['request_params']['mongo'].to_s.empty?
|
463
|
+
raise ParameterRequiredError.new('mongo', 'RemoveMongoInstancesInput')
|
464
|
+
end
|
465
|
+
|
466
|
+
unless !input['request_params']['mongo_instances'].nil? && !input['request_params']['mongo_instances'].to_s.empty?
|
467
|
+
raise ParameterRequiredError.new('mongo_instances', 'RemoveMongoInstancesInput')
|
468
|
+
end
|
469
|
+
end
|
470
|
+
|
471
|
+
public
|
472
|
+
|
473
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/resize_mongos.html
|
474
|
+
def resize_mongos(mongo_type: nil, mongos: [], storage_size: nil)
|
475
|
+
input = {
|
476
|
+
config: config,
|
477
|
+
properties: properties,
|
478
|
+
api_name: 'ResizeMongos',
|
479
|
+
request_method: 'GET',
|
480
|
+
request_params: {
|
481
|
+
'mongo_type' => mongo_type,
|
482
|
+
'mongos' => mongos,
|
483
|
+
'storage_size' => storage_size,
|
484
|
+
},
|
485
|
+
}
|
486
|
+
|
487
|
+
resize_mongos_input_validate input
|
488
|
+
|
489
|
+
request = Request.new input
|
490
|
+
request.send
|
491
|
+
end
|
492
|
+
|
493
|
+
private
|
494
|
+
|
495
|
+
def resize_mongos_input_validate(input)
|
496
|
+
input.deep_stringify_keys!
|
497
|
+
|
498
|
+
unless !input['request_params']['mongos'].nil? && !input['request_params']['mongos'].to_s.empty?
|
499
|
+
raise ParameterRequiredError.new('mongos', 'ResizeMongosInput')
|
500
|
+
end
|
501
|
+
end
|
502
|
+
|
503
|
+
public
|
504
|
+
|
505
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/start_mongos.html
|
506
|
+
def start_mongos(mongos: '')
|
507
|
+
input = {
|
508
|
+
config: config,
|
509
|
+
properties: properties,
|
510
|
+
api_name: 'StartMongos',
|
511
|
+
request_method: 'GET',
|
512
|
+
request_params: {
|
513
|
+
'mongos' => mongos,
|
514
|
+
},
|
515
|
+
}
|
516
|
+
|
517
|
+
start_mongos_input_validate input
|
518
|
+
|
519
|
+
request = Request.new input
|
520
|
+
request.send
|
521
|
+
end
|
522
|
+
|
523
|
+
private
|
524
|
+
|
525
|
+
def start_mongos_input_validate(input)
|
526
|
+
input.deep_stringify_keys!
|
527
|
+
|
528
|
+
unless !input['request_params']['mongos'].nil? && !input['request_params']['mongos'].to_s.empty?
|
529
|
+
raise ParameterRequiredError.new('mongos', 'StartMongosInput')
|
530
|
+
end
|
531
|
+
end
|
532
|
+
|
533
|
+
public
|
534
|
+
|
535
|
+
# Documentation URL: https://docs.qingcloud.com/api/mongo/stop_mongos.html
|
536
|
+
def stop_mongos(mongos: [])
|
537
|
+
input = {
|
538
|
+
config: config,
|
539
|
+
properties: properties,
|
540
|
+
api_name: 'StopMongos',
|
541
|
+
request_method: 'GET',
|
542
|
+
request_params: {
|
543
|
+
'mongos' => mongos,
|
544
|
+
},
|
545
|
+
}
|
546
|
+
|
547
|
+
stop_mongos_input_validate input
|
548
|
+
|
549
|
+
request = Request.new input
|
550
|
+
request.send
|
551
|
+
end
|
552
|
+
|
553
|
+
private
|
554
|
+
|
555
|
+
def stop_mongos_input_validate(input)
|
556
|
+
input.deep_stringify_keys!
|
557
|
+
|
558
|
+
unless !input['request_params']['mongos'].nil? && !input['request_params']['mongos'].to_s.empty?
|
559
|
+
raise ParameterRequiredError.new('mongos', 'StopMongosInput')
|
560
|
+
end
|
561
|
+
end
|
562
|
+
|
563
|
+
public
|
564
|
+
end
|
565
|
+
end
|
566
|
+
end
|