saklient 0.0.2.5 → 0.0.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 950d3224ffc0b0dcd5b574e28ac96bde7fc96943
4
- data.tar.gz: d5b980c1ea8b7c78868ccb8b04963b5d2cc1db57
3
+ metadata.gz: 4452225f5c19ef63758c70c0332415d3a0a9bc71
4
+ data.tar.gz: 34c349f3d12de616bafe96305381a11e7de963a2
5
5
  SHA512:
6
- metadata.gz: 535fa1ff83ba2cf15754fda12ea80a58f4189b8dc1d05e0891e9f24088976d4b5eec99ce5fbfdb6ad4423c0141bb39761df3f233e1b1aa6fd1d3934f57a03bdc
7
- data.tar.gz: 4b3a4ef1a50ffe6c8173336d8f7537c978bbff1441014914e58df9d5e5e4f9fb8adb1ed1df209e0ea1e9a99bd2c79bc72b46e34e675dab5d1b6db7fe7d510d7e
6
+ metadata.gz: 8948ac21bbcd87ad1b0a6330dc6acaadc48acb87b926286eba3710a3651451ab6809badd44c26140cebf6a34fd2f7215c7774d12c5463630beda7e17f0b9a001
7
+ data.tar.gz: 1f57759c4078a35ed822a89b57967e2e785dae3eed4be9b16a1f0a345a476551dec75ef5dff44cdceecbf8381a7e05450cb3da454f9ec6f0f51fa2e41b0581e4
@@ -73,7 +73,7 @@ module Saklient
73
73
 
74
74
  extra_headers = {
75
75
  'Content-Type' => 'application/x-www-form-urlencoded',
76
- 'User-Agent' => 'saklient.ruby ver-0.0.2.5 rev-a581b28f8ddd2cd75cb32f710d33d3d650bba044',
76
+ 'User-Agent' => 'saklient.ruby ver-0.0.2.6 rev-ea935ca9d640e87509db882d9fd06ec2bf75fe23',
77
77
  'X-Requested-With' => 'XMLHttpRequest',
78
78
  'X-Sakura-HTTP-Method' => method,
79
79
  'X-Sakura-Error-Level' => 'warning',
@@ -6,7 +6,7 @@ module Saklient
6
6
  module Cloud
7
7
  module Resources
8
8
 
9
- # ロードバランサの監視対象サーバ.
9
+ # ロードバランサの監視対象サーバ設定.
10
10
  class LbServer
11
11
 
12
12
  protected
@@ -286,6 +286,7 @@ module Saklient
286
286
  }
287
287
  end
288
288
 
289
+ # @private
289
290
  # @param [any] obj
290
291
  # @return [LbServer]
291
292
  def update_status(obj)
@@ -7,7 +7,7 @@ module Saklient
7
7
  module Cloud
8
8
  module Resources
9
9
 
10
- # ロードバランサの仮想IPアドレス.
10
+ # ロードバランサの仮想IPアドレス設定.
11
11
  class LbVirtualIp
12
12
 
13
13
  protected
@@ -175,7 +175,9 @@ module Saklient
175
175
  end
176
176
  end
177
177
 
178
- # @param [any] settings
178
+ # 監視対象サーバ設定を追加します.
179
+ #
180
+ # @param [any] settings 設定オブジェクト
179
181
  # @return [LbServer]
180
182
  def add_server(settings = nil)
181
183
  ret = Saklient::Cloud::Resources::LbServer.new(settings)
@@ -197,8 +199,10 @@ module Saklient
197
199
  }
198
200
  end
199
201
 
200
- # @param [String] address
201
- # @return [LbServer]
202
+ # 指定したIPアドレスにマッチする監視対象サーバ設定のうち, 最初にマッチしたものを取得します.
203
+ #
204
+ # @param [String] address 検索するIPアドレス
205
+ # @return [LbServer] 監視対象サーバ設定(見つからなかった場合はnull)
202
206
  def get_server_by_address(address)
203
207
  Saklient::Util::validate_type(address, 'String')
204
208
  for srv in @_servers
@@ -207,6 +211,21 @@ module Saklient
207
211
  return nil
208
212
  end
209
213
 
214
+ # 指定したIPアドレスにマッチする監視対象サーバ設定をすべて削除します.
215
+ #
216
+ # @param [String] address
217
+ # @return [LbVirtualIp]
218
+ def remove_server_by_address(address)
219
+ Saklient::Util::validate_type(address, 'String')
220
+ servers = []
221
+ for srv in @_servers
222
+ servers << srv if srv.ip_address != address
223
+ end
224
+ @_servers = servers
225
+ return self
226
+ end
227
+
228
+ # @private
210
229
  # @param [Array] srvs
211
230
  # @return [LbVirtualIp]
212
231
  def update_status(srvs)
@@ -212,7 +212,9 @@ module Saklient
212
212
  return self
213
213
  end
214
214
 
215
- # @param [any] settings
215
+ # 仮想IPアドレス設定を追加します.
216
+ #
217
+ # @param [any] settings 設定オブジェクト
216
218
  # @return [LbVirtualIp]
217
219
  def add_virtual_ip(settings = nil)
218
220
  ret = Saklient::Cloud::Resources::LbVirtualIp.new(settings)
@@ -220,6 +222,8 @@ module Saklient
220
222
  return ret
221
223
  end
222
224
 
225
+ # 指定したIPアドレスにマッチする仮想IPアドレス設定を取得します.
226
+ #
223
227
  # @param [String] address
224
228
  # @return [LbVirtualIp]
225
229
  def get_virtual_ip_by_address(address)
@@ -230,15 +234,19 @@ module Saklient
230
234
  return nil
231
235
  end
232
236
 
237
+ # 監視対象サーバのステータスを最新の状態に更新します.
238
+ #
233
239
  # @return [LoadBalancer]
234
240
  def reload_status
235
241
  result = request_retry('GET', _api_path + '/' + Saklient::Util::url_encode(_id) + '/status')
236
- vips = result[:LoadBalancer]
237
- for vipDyn in vips
238
- vipStr = vipDyn[:VirtualIPAddress]
239
- vip = get_virtual_ip_by_address(vipStr)
240
- next if (vip).nil?
241
- vip.update_status(vipDyn[:Servers])
242
+ if !result.nil? && result.key?(:LoadBalancer)
243
+ vips = result[:LoadBalancer]
244
+ for vipDyn in vips
245
+ vipStr = vipDyn[:VirtualIPAddress]
246
+ vip = get_virtual_ip_by_address(vipStr)
247
+ next if (vip).nil?
248
+ vip.update_status(vipDyn[:Servers])
249
+ end
242
250
  end
243
251
  return self
244
252
  end
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: UTF-8 -*-
2
2
 
3
3
  module Saklient
4
- VERSION = "0.0.2.5"
4
+ VERSION = "0.0.2.6"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: saklient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.5
4
+ version: 0.0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - townewgokgok
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-26 00:00:00.000000000 Z
11
+ date: 2015-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -284,7 +284,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
284
284
  version: '0'
285
285
  requirements: []
286
286
  rubyforge_project:
287
- rubygems_version: 2.4.3
287
+ rubygems_version: 2.0.14
288
288
  signing_key:
289
289
  specification_version: 4
290
290
  summary: SAKURA Internet API Client Library for Ruby
@@ -300,3 +300,4 @@ test_files:
300
300
  - spec/server_spec.rb
301
301
  - spec/swytch_spec.rb
302
302
  - spec/util_spec.rb
303
+ has_rdoc: