diff --git a/lib/fog/hp/dns.rb b/lib/fog/hp/dns.rb index 1f3354584..eb59f6bd8 100644 --- a/lib/fog/hp/dns.rb +++ b/lib/fog/hp/dns.rb @@ -8,11 +8,11 @@ module Fog recognizes :hp_auth_uri, :persistent, :connection_options, :hp_use_upass_auth_style, :hp_auth_version, :user_agent, :hp_service_type model_path 'fog/hp/models/dns' - model :domain + model :domain collection :domains - model :record + model :record collection :records - model :server + model :server request_path 'fog/hp/requests/dns' @@ -33,8 +33,7 @@ module Fog def self.data @data ||= Hash.new do |hash, key| hash[key] = { - :flavors => {}, - :instances => {} + } end end diff --git a/lib/fog/hp/requests/lb/create_load_balancer.rb b/lib/fog/hp/requests/lb/create_load_balancer.rb index 78f3e32b0..09fc1f741 100644 --- a/lib/fog/hp/requests/lb/create_load_balancer.rb +++ b/lib/fog/hp/requests/lb/create_load_balancer.rb @@ -3,10 +3,48 @@ module Fog class BlockStorage class LB class Real + def create_load_balancer(name,nodes,options={}) + #required + # name + #at least one node + data = { + "name" => name, + "nodes" => nodes + } + if options['port'] + data['port'] = options['port'] + end + + if options['protocol'] + data['protocol'] = options['protocol'] + end + + if options['virtualIps'] + data['virtualIps'] = [] + for vip in options['virtualIps'] + data['virtualIps'] << vip + end + end + + response = request( + :body => Fog::JSON.encode(data), + :expects => 200, + :method => 'POST', + :path => "loadbalancers/#{load_balancer_id}" + ) + response + + + end end class Mock + def create_load_balancer(name,nodes, options={}) + response = Excon::Response.new + + response + end end end end diff --git a/lib/fog/hp/requests/lb/create_load_balancer_node.rb b/lib/fog/hp/requests/lb/create_load_balancer_node.rb index 78f3e32b0..6fc7796d5 100644 --- a/lib/fog/hp/requests/lb/create_load_balancer_node.rb +++ b/lib/fog/hp/requests/lb/create_load_balancer_node.rb @@ -3,10 +3,18 @@ module Fog class BlockStorage class LB class Real + def create_load_balancer_node(load_balancer_id,options={}) + end end class Mock + def create_load_balancer_node(load_balancer_id, options={}) + response = Excon::Response.new + + response + + end end end end diff --git a/lib/fog/hp/requests/lb/delete_load_balancer.rb b/lib/fog/hp/requests/lb/delete_load_balancer.rb index 78f3e32b0..b07482aa3 100644 --- a/lib/fog/hp/requests/lb/delete_load_balancer.rb +++ b/lib/fog/hp/requests/lb/delete_load_balancer.rb @@ -4,9 +4,20 @@ module Fog class LB class Real + def delete_load_balancer(instance_id) + response = request( + :expects => 202, + :method => 'DELETE', + :path => "loadbalancers/#{instance_id}" + ) + response + end + end class Mock + def delete_load_balancer(instance_id) + end end end end diff --git a/lib/fog/hp/requests/lb/delete_node_balancer_node.rb b/lib/fog/hp/requests/lb/delete_node_balancer_node.rb index 78f3e32b0..d9b7c039c 100644 --- a/lib/fog/hp/requests/lb/delete_node_balancer_node.rb +++ b/lib/fog/hp/requests/lb/delete_node_balancer_node.rb @@ -3,10 +3,23 @@ module Fog class BlockStorage class LB class Real + def delete_load_balancer_node(instance_id, node_id) + response = request( + :expects => 202, + :method => 'DELETE', + :path => "loadbalancers/#{instance_id}/nodes/#{node_id}" + ) + response + end end class Mock + def delete_load_balancer_node(instance_id,node_id) + response = Excon::Response.new + + response + end end end end diff --git a/lib/fog/hp/requests/lb/get_load_balancer.rb b/lib/fog/hp/requests/lb/get_load_balancer.rb index 78f3e32b0..670362d51 100644 --- a/lib/fog/hp/requests/lb/get_load_balancer.rb +++ b/lib/fog/hp/requests/lb/get_load_balancer.rb @@ -3,10 +3,20 @@ module Fog class BlockStorage class LB class Real + def get_load_balancer(load_balancer_id) + response = request( + :expects => 200, + :method => 'GET', + :path => "loadbalancers/#{load_balancer_id}" + ) + response + end end class Mock + def get_load_balancer(load_balancer_id) + end end end end diff --git a/lib/fog/hp/requests/lb/get_load_balancer_node.rb b/lib/fog/hp/requests/lb/get_load_balancer_node.rb index 78f3e32b0..c496521fd 100644 --- a/lib/fog/hp/requests/lb/get_load_balancer_node.rb +++ b/lib/fog/hp/requests/lb/get_load_balancer_node.rb @@ -3,10 +3,23 @@ module Fog class BlockStorage class LB class Real + def get_load_balancer_node(load_balancer_id, node_id) + response = request( + :expects => 200, + :method => 'GET', + :path => "loadbalancers/#{load_balancer_id}/nodes/#{node_id}" + ) + response + end end class Mock + def get_load_balancer_node(load_balancer_id, node_id) + response = Excon::Response.new + + response + end end end end diff --git a/lib/fog/hp/requests/lb/get_virtual_ips.rb b/lib/fog/hp/requests/lb/get_virtual_ips.rb index 78f3e32b0..aad53c2e6 100644 --- a/lib/fog/hp/requests/lb/get_virtual_ips.rb +++ b/lib/fog/hp/requests/lb/get_virtual_ips.rb @@ -3,9 +3,24 @@ module Fog class BlockStorage class LB class Real + def get_virtual_ips(load_balancer_id) + response = request( + :expects => 200, + :method => 'GET', + :path => "loadbalancers/#{load_balancer_id}/virtualips" + ) + response + end end class Mock + def get_virtual_ips(load_balancer_id) + response = Excon::Response.new + + + response + + end end end diff --git a/lib/fog/hp/requests/lb/list_load_balancer_nodes.rb b/lib/fog/hp/requests/lb/list_load_balancer_nodes.rb new file mode 100644 index 000000000..f291d6b5a --- /dev/null +++ b/lib/fog/hp/requests/lb/list_load_balancer_nodes.rb @@ -0,0 +1,26 @@ +module Fog + module HP + class BlockStorage + class LB + class Real + def list_load_balancer_nodes(load_balancer_id) + response = request( + :expects => 200, + :method => 'GET', + :path => 'loadbalancers/#{load_balancer_id}/nodes' + ) + response + end + end + class Mock + def list_load_balancer_nodes(load_balancer_id) + response = Excon::Response.new + + response + + end + end + end + end + end +end \ No newline at end of file diff --git a/lib/fog/hp/requests/lb/list_load_balancers.rb b/lib/fog/hp/requests/lb/list_load_balancers.rb index add5f14cb..2b6951375 100644 --- a/lib/fog/hp/requests/lb/list_load_balancers.rb +++ b/lib/fog/hp/requests/lb/list_load_balancers.rb @@ -4,13 +4,21 @@ module Fog class LB class Real def list_load_balancers - + response = request( + :expects => 200, + :method => 'GET', + :path => 'loadbalancers' + ) + response end end class Mock def list_load_balancers + response = Excon::Response.new + + response end end end diff --git a/lib/fog/hp/requests/lb/update_load_balancer.rb b/lib/fog/hp/requests/lb/update_load_balancer.rb index 78f3e32b0..1afe42928 100644 --- a/lib/fog/hp/requests/lb/update_load_balancer.rb +++ b/lib/fog/hp/requests/lb/update_load_balancer.rb @@ -3,10 +3,23 @@ module Fog class BlockStorage class LB class Real + def update_load_balancer(load_balancer_id,options=()) + request( + :body => Fog::JSON.encode(options), + :expects => 202, + :method => 'PUT', + :path => "loadbalancers/#{load_balancer_id}" + ) + end end class Mock + def update_load_balancer(load_balancer_id, options={}) + response = Excon::Response.new + + response + end end end end diff --git a/lib/fog/hp/requests/lb/update_load_balancer_node.rb b/lib/fog/hp/requests/lb/update_load_balancer_node.rb index 78f3e32b0..2be6532ca 100644 --- a/lib/fog/hp/requests/lb/update_load_balancer_node.rb +++ b/lib/fog/hp/requests/lb/update_load_balancer_node.rb @@ -3,10 +3,27 @@ module Fog class BlockStorage class LB class Real + def update_load_balancer_node(load_balancer_id, node_id, condition) + data = { + #ENABLED | DISABLED + "condition" => condition + } + request( + :body => Fog::JSON.encode(data), + :expects => 202, + :method => 'PUT', + :path => "loadbalancers/#{load_balancer_id}/nodes/#{node_id}" + ) + end end class Mock + def update_load_balancer_node(load_balancer_id, node_id, condition) + response = Excon::Response.new + + response + end end end end