saklient 0.0.2.5 → 0.0.2.6

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 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: