Class: Saklient::Cloud::Resources::LbVirtualIp

Inherits:
Object
  • Object
show all
Defined in:
lib/saklient/cloud/resources/lb_virtual_ip.rb

Overview

ロードバランサの仮想IPアドレス設定.

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Instance Attribute Details

- (Fixnum) delay_loop

チェック間隔 [秒]

Returns:

  • (Fixnum)


113
114
115
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 113

def delay_loop
  @delay_loop
end

- (Fixnum) port

ポート番号

Returns:

  • (Fixnum)


77
78
79
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 77

def port
  @port
end

- (Array<LbServer>) servers (readonly)

実サーバ Saklient::Cloud::Resources::LbServer の配列

Returns:



140
141
142
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 140

def servers
  @servers
end

- (String) virtual_ip_address

VIPアドレス

Returns:

  • (String)


41
42
43
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 41

def virtual_ip_address
  @virtual_ip_address
end

Instance Method Details

- (LbServer) add_server(settings = nil)

監視対象サーバ設定を追加します.

Parameters:

  • settings (any) (defaults to: nil)

    設定オブジェクト

Returns:



184
185
186
187
188
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 184

def add_server(settings = nil)
  ret = Saklient::Cloud::Resources::LbServer.new(settings)
  @_servers << ret
  return ret
end

- (LbServer) get_server_by_address(address)

指定したIPアドレスにマッチする監視対象サーバ設定のうち, 最初にマッチしたものを取得します.

Parameters:

  • address (String)

    検索するIPアドレス

Returns:

  • (LbServer)

    監視対象サーバ設定(見つからなかった場合はnull)



208
209
210
211
212
213
214
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 208

def get_server_by_address(address)
  Saklient::Util::validate_type(address, 'String')
  for srv in @_servers
    return srv if srv.ip_address == address
  end
  return nil
end

- (LbVirtualIp) remove_server_by_address(address)

指定したIPアドレスにマッチする監視対象サーバ設定をすべて削除します.

Parameters:

  • address (String)

Returns:



220
221
222
223
224
225
226
227
228
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 220

def remove_server_by_address(address)
  Saklient::Util::validate_type(address, 'String')
  servers = []
  for srv in @_servers
    servers << srv if srv.ip_address != address
  end
  @_servers = servers
  return self
end

- (any) to_raw_settings

Returns:

  • (any)


191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/saklient/cloud/resources/lb_virtual_ip.rb', line 191

def to_raw_settings
  servers = []
  for server in @_servers
    servers << server.to_raw_settings
  end
  return {
    VirtualIPAddress: @_virtual_ip_address,
    Port: @_port,
    DelayLoop: @_delay_loop,
    Servers: servers
  }
end