Class: QingCloud::SDK::EIPService

Inherits:
Object
  • Object
show all
Defined in:
lib/qingcloud/sdk/service/eip.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config, properties) ⇒ EIPService

Returns a new instance of EIPService.



24
25
26
27
# File 'lib/qingcloud/sdk/service/eip.rb', line 24

def initialize(config, properties)
  self.config     = config
  self.properties = properties.deep_symbolize_keys
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



22
23
24
# File 'lib/qingcloud/sdk/service/eip.rb', line 22

def config
  @config
end

#propertiesObject

Returns the value of attribute properties.



22
23
24
# File 'lib/qingcloud/sdk/service/eip.rb', line 22

def properties
  @properties
end

Instance Method Details

#allocate_eips(bandwidth: nil, billing_mode: '', count: nil, eip_name: '', need_icp: nil) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/qingcloud/sdk/service/eip.rb', line 30

def allocate_eips(bandwidth: nil, billing_mode: '', count: nil, eip_name: '', need_icp: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'AllocateEips',
    request_method: 'GET',
    request_params: {
      'bandwidth'    => bandwidth,
      'billing_mode' => billing_mode, # billing_mode's available values: bandwidth, traffic
      'count'        => count,
      'eip_name'     => eip_name,
      'need_icp'     => need_icp, # need_icp's available values: 0, 1
    },
  }

  allocate_eips_input_validate input

  request = Request.new input
  request.send
end

#associate_eip(eip: '', instance: '') ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/qingcloud/sdk/service/eip.rb', line 86

def associate_eip(eip: '', instance: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'AssociateEip',
    request_method: 'GET',
    request_params: {
      'eip'      => eip,
      'instance' => instance,
    },
  }

  associate_eip_input_validate input

  request = Request.new input
  request.send
end

#change_eips_bandwidth(bandwidth: nil, eips: []) ⇒ Object



121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/qingcloud/sdk/service/eip.rb', line 121

def change_eips_bandwidth(bandwidth: nil, eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ChangeEipsBandwidth',
    request_method: 'GET',
    request_params: {
      'bandwidth' => bandwidth,
      'eips'      => eips,
    },
  }

  change_eips_bandwidth_input_validate input

  request = Request.new input
  request.send
end

#change_eips_billing_mode(billing_mode: '', eip_group: '', eips: []) ⇒ Object



156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'lib/qingcloud/sdk/service/eip.rb', line 156

def change_eips_billing_mode(billing_mode: '', eip_group: '', eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ChangeEipsBillingMode',
    request_method: 'GET',
    request_params: {
      'billing_mode' => billing_mode, # billing_mode's available values: bandwidth, traffic
      'eip_group'    => eip_group,
      'eips'         => eips,
    },
  }

  change_eips_billing_mode_input_validate input

  request = Request.new input
  request.send
end

#describe_eips(eips: [], instance_id: '', limit: nil, offset: nil, search_word: '', status: [], tags: [], verbose: nil) ⇒ Object



203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# File 'lib/qingcloud/sdk/service/eip.rb', line 203

def describe_eips(eips: [], instance_id: '', limit: nil, offset: nil, search_word: '', status: [], tags: [], verbose: nil)
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DescribeEips',
    request_method: 'GET',
    request_params: {
      'eips'        => eips,
      'instance_id' => instance_id,
      'limit'       => limit,
      'offset'      => offset,
      'search_word' => search_word,
      'status'      => status,
      'tags'        => tags,
      'verbose'     => verbose,
    },
  }

  describe_eips_input_validate input

  request = Request.new input
  request.send
end

#dissociate_eips(eips: []) ⇒ Object



236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
# File 'lib/qingcloud/sdk/service/eip.rb', line 236

def dissociate_eips(eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'DissociateEips',
    request_method: 'GET',
    request_params: {
      'eips' => eips,
    },
  }

  dissociate_eips_input_validate input

  request = Request.new input
  request.send
end

#get_eip_monitor(end_time: '', meters: [], resource: '', start_time: '', step: '') ⇒ Object



266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
# File 'lib/qingcloud/sdk/service/eip.rb', line 266

def get_eip_monitor(end_time: '', meters: [], resource: '', start_time: '', step: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'GetMonitor',
    request_method: 'GET',
    request_params: {
      'end_time'   => end_time,
      'meters'     => meters,
      'resource'   => resource,
      'start_time' => start_time,
      'step'       => step, # step's available values: 5m, 15m, 2h, 1d
    },
  }

  get_eip_monitor_input_validate input

  request = Request.new input
  request.send
end

#modify_eip_attributes(description: '', eip: '', eip_name: '') ⇒ Object



327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
# File 'lib/qingcloud/sdk/service/eip.rb', line 327

def modify_eip_attributes(description: '', eip: '', eip_name: '')
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ModifyEipAttributes',
    request_method: 'GET',
    request_params: {
      'description' => description,
      'eip'         => eip,
      'eip_name'    => eip_name,
    },
  }

  modify_eip_attributes_input_validate input

  request = Request.new input
  request.send
end

#release_eips(eips: []) ⇒ Object



359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
# File 'lib/qingcloud/sdk/service/eip.rb', line 359

def release_eips(eips: [])
  input = {
    config:         config,
    properties:     properties,
    api_name:       'ReleaseEips',
    request_method: 'GET',
    request_params: {
      'eips' => eips,
    },
  }

  release_eips_input_validate input

  request = Request.new input
  request.send
end