class IIJ::Sakagura::GP::GL
Attributes
gl_service_code[R]
gp_service_code[R]
Public Class Methods
new(client, gp_service_code, gl_service_code)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 7 def initialize(client, gp_service_code, gl_service_code) @client = client @gp_service_code = gp_service_code @gl_service_code = gl_service_code end
Public Instance Methods
add_lb_node(pool, node)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 128 def add_lb_node(pool, node) opts = { "Pool" => pool, "NodeIpAddress" => node[0], "NodePort" => node[1] } call("AddLbNode", opts) end
add_lb_pool(pool, nodes)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 104 def add_lb_pool(pool, nodes) opts = { "Pool" => pool } nodes.each.with_index(1) do |node, i| opts["NodeIpAddress.#{i}"] = node[0] opts["NodePort.#{i}"] = node[1] end call("AddLbPool", opts) end
add_lb_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list = nil)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 67 def add_lb_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list = nil) opts = { "VirtualServerName" => virtual_server_name, "Port" => port, "Protocol" => protocol, "Pool" => pool } opts["TrafficIpName"] = traffic_ip_name_list if traffic_ip_name_list call('AddLbVirtualServer', opts) end
add_or_update_pool(pool, nodes)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 93 def add_or_update_pool(pool, nodes) lb_pool = lb_info['PoolList'].find{|lb_pool| lb_pool['Name'] == pool } if lb_pool # already exist set_lb_pool(pool, nodes) else # create a new pool add_lb_pool(pool, nodes) end end
add_or_update_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list = nil)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 56 def add_or_update_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list = nil) lb_vserver = lb_info['VirtualServerList'].find{|lb_vserver| lb_vserver['Name'] == virtual_server_name } if lb_vserver # already exist set_lb_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list) else # create a new vserver add_lb_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list) end end
call(api_name, params = {})
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 156 def call(api_name, params = {}) @client.post(api_name, default_args.merge(params)) end
change_fw_lb_option_type(type)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 152 def change_fw_lb_option_type(type) call("ChangeFwLbOptionType", "Type" => type) end
default_args()
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 19 def default_args { "GpServiceCode" => gp_service_code, "GlServiceCode" => gl_service_code } end
delete_lb_node(pool, node)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 142 def delete_lb_node(pool, node) opts = { "Pool" => pool, "NodeIpAddress" => node[0], "NodePort" => node[1] } call("DeleteLbNode", opts) end
delete_lb_pool(pool)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 138 def delete_lb_pool(pool) call("DeleteLbPool", "Pool" => pool) end
delete_lb_virtual_server(virtual_server_name)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 89 def delete_lb_virtual_server(virtual_server_name) call('DeleteLbVirtualServer', "VirtualServerName" => virtual_server_name) end
describe_fw()
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 34 def describe_fw call('DescribeFw') end
describe_lb()
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 30 def describe_lb call('DescribeLb') end
get_contract_status()
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 26 def get_contract_status call('GetContractStatus')['Status'] end
inspect()
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 15 def inspect %[#<#{self.class.name} @gp_service_code="#{gp_service_code}", @gl_service_code="#{gl_service_code}">] end
lb_info(force = false)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 38 def lb_info(force = false) @lb_info = nil if force @lb_info ||= describe_lb @lb_info end
lb_info!()
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 44 def lb_info! lb_info(force = true) end
set_label(label)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 48 def set_label(label) @client.post("SetLabel", "GpServiceCode" => gp_service_code, "ServiceCode" => gl_service_code, "Label" => label) end
Also aliased as: label=
set_lb_pool(pool, nodes)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 116 def set_lb_pool(pool, nodes) opts = { "Pool" => pool } nodes.each.with_index(1) do |node, i| opts["NodeIpAddress.#{i}"] = node[0] opts["NodePort.#{i}"] = node[1] end call("SetLbPool", opts) end
set_lb_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list = nil)
click to toggle source
# File lib/iij/sakagura/gp/gl.rb, line 78 def set_lb_virtual_server(virtual_server_name, port, protocol, pool, traffic_ip_name_list = nil) opts = { "VirtualServerName" => virtual_server_name, "Port" => port, "Protocol" => protocol, "Pool" => pool } opts["TrafficIpName"] = traffic_ip_name_list if traffic_ip_name_list call('SetLbVirtualServer', opts) end