class Fog::Network::OpenStack::Mock
Public Class Methods
data()
click to toggle source
# File lib/fog/openstack/network.rb, line 135 def self.data @data ||= Hash.new do |hash, key| network_id = Fog::UUID.uuid subnet_id = Fog::UUID.uuid tenant_id = Fog::Mock.random_hex(8) hash[key] = { :networks => { network_id => { 'id' => network_id, 'name' => 'Public', 'subnets' => [subnet_id], 'shared' => true, 'status' => 'ACTIVE', 'tenant_id' => tenant_id, 'provider_network_type' => 'vlan', 'router:external' => false, 'admin_state_up' => true, } }, :ports => {}, :subnets => { subnet_id => { 'id' => subnet_id, 'name' => "Public", 'network_id' => network_id, 'cidr' => "192.168.0.0/22", 'ip_version' => 4, 'gateway_ip' => Fog::Mock.random_ip, 'allocation_pools' => [], 'dns_nameservers' => [Fog::Mock.random_ip, Fog::Mock.random_ip], 'host_routes' => [Fog::Mock.random_ip], 'enable_dhcp' => true, 'tenant_id' => tenant_id, } }, :floating_ips => {}, :routers => {}, :lb_pools => {}, :lb_members => {}, :lb_health_monitors => {}, :lb_vips => {}, :quota => { "subnet" => 10, "router" => 10, "port" => 50, "network" => 10, "floatingip" => 50 }, :quotas => [ { "subnet" => 10, "network" => 10, "floatingip" => 50, "tenant_id" => tenant_id, "router" => 10, "port" => 30 } ], :security_groups => {}, :security_group_rules => {}, } end end
new(options={})
click to toggle source
# File lib/fog/openstack/network.rb, line 204 def initialize(options={}) @openstack_username = options[:openstack_username] @openstack_tenant = options[:openstack_tenant] end
reset()
click to toggle source
# File lib/fog/openstack/network.rb, line 200 def self.reset @data = nil end
Public Instance Methods
add_router_interface(router_id, subnet_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/add_router_interface.rb, line 20 def add_router_interface(router_id, subnet_id, options = {}) response = Excon::Response.new response.status = 201 data = { 'status' => 'ACTIVE', 'name' => '', 'admin_state_up' => true, 'network_id' => '5307648b-e836-4658-8f1a-ff7536870c64', 'tenant_id' => '6b96ff0cb17a4b859e1e575d221683d3', 'device_owner' => 'network:router_interface', 'mac_address' => 'fa:16:3e:f7:d1:9c', 'fixed_ips' => { 'subnet_id' => 'a2f1f29d-571b-4533-907f-5803ab96ead1', 'ip_address' => '10.1.1.1' }, 'id' => '3a44f4e5-1694-493a-a1fb-393881c673a4', 'device_id' => '7177abc4-5ae9-4bb7-b0d4-89e94a4abf3b' } self.data[:routers][data['router_id']] = data response.body = { 'router' => data } response end
associate_floating_ip(floating_ip_id, port_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/associate_floating_ip.rb, line 27 def associate_floating_ip(floating_ip_id, port_id, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => '00000000-0000-0000-0000-000000000000', 'router_id' => '00000000-0000-0000-0000-000000000000', 'tenant_id' => options["tenant_id"], 'floating_network_id' => options["floating_network_id"], 'fixed_ip_address' => options["fixed_ip_address"], 'floating_ip_address' => options["floating_ip_address"], 'port_id' => port_id, } self.data[:floating_ips][data['floating_ip_id']] = data response.body = { 'floatingip' => data } response end
associate_lb_health_monitor(pool_id, health_monitor_id)
click to toggle source
# File lib/fog/openstack/requests/network/associate_lb_health_monitor.rb, line 22 def associate_lb_health_monitor(pool_id, health_monitor_id) response = Excon::Response.new if pool = list_lb_pools.body['pools'].find { |_| _['id'] == pool_id } pool['health_monitors'] << health_monitor_id self.data[:lb_pools][pool_id] = pool response.body = { 'health_monitor' => {} } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end
create_floating_ip(floating_network_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_floating_ip.rb, line 27 def create_floating_ip(floating_network_id, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => floating_network_id, 'floating_network_id' => floating_network_id, 'port_id' => options[:port_id], 'tenant_id' => options[:tenant_id], 'fixed_ip_address' => options[:fixed_ip_address], 'router_id' => nil, } self.data[:floating_ips][data['id']] = data response.body = { 'floatingip' => data } response end
create_lb_health_monitor(type, delay, timeout, max_retries, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_lb_health_monitor.rb, line 30 def create_lb_health_monitor(type, delay, timeout, max_retries, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => Fog::Mock.random_numbers(6).to_s, 'type' => type, 'delay' => delay, 'timeout' => timeout, 'max_retries' => max_retries, 'http_method' => options[:http_method], 'url_path' => options[:url_path], 'expected_codes' => options[:expected_codes], 'status' => 'ACTIVE', 'admin_state_up' => options[:admin_state_up], 'tenant_id' => options[:tenant_id], } self.data[:lb_health_monitors][data['id']] = data response.body = { 'health_monitor' => data } response end
create_lb_member(pool_id, address, protocol_port, weight, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_lb_member.rb, line 30 def create_lb_member(pool_id, address, protocol_port, weight, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => Fog::Mock.random_numbers(6).to_s, 'pool_id' => pool_id, 'address' => address, 'protocol_port' => protocol_port, 'weight' => weight, 'status' => 'ACTIVE', 'admin_state_up' => options[:admin_state_up], 'tenant_id' => options[:tenant_id], } self.data[:lb_members][data['id']] = data response.body = { 'member' => data } response end
create_lb_pool(subnet_id, protocol, lb_method, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_lb_pool.rb, line 29 def create_lb_pool(subnet_id, protocol, lb_method, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => Fog::Mock.random_numbers(6).to_s, 'subnet_id' => subnet_id, 'protocol' => protocol, 'lb_method' => lb_method, 'name' => options[:name], 'description' => options[:description], 'health_monitors' => [], 'members' => [], 'status' => 'ACTIVE', 'admin_state_up' => options[:admin_state_up], 'vip_id' => nil, 'tenant_id' => options[:tenant_id], 'active_connections' => nil, 'bytes_in' => nil, 'bytes_out' => nil, 'total_connections' => nil } self.data[:lb_pools][data['id']] = data response.body = { 'pool' => data } response end
create_lb_vip(subnet_id, pool_id, protocol, protocol_port, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_lb_vip.rb, line 31 def create_lb_vip(subnet_id, pool_id, protocol, protocol_port, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => Fog::Mock.random_numbers(6).to_s, 'subnet_id' => subnet_id, 'pool_id' => pool_id, 'protocol' => protocol, 'protocol_port' => protocol_port, 'name' => options[:name], 'description' => options[:description], 'address' => options[:address], 'port_id' => Fog::Mock.random_numbers(6).to_s, 'session_persistence' => options[:session_persistence], 'connection_limit' => options[:connection_limit], 'status' => 'ACTIVE', 'admin_state_up' => options[:admin_state_up], 'tenant_id' => options[:tenant_id], } self.data[:lb_vips][data['id']] = data response.body = { 'vip' => data } response end
create_network(options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_network.rb, line 57 def create_network(options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => Fog::Mock.random_numbers(6).to_s, 'name' => options[:name], 'shared' => options[:shared], 'subnets' => [], 'status' => 'ACTIVE', 'admin_state_up' => options[:admin_state_up], 'tenant_id' => options[:tenant_id], } # Add provider specific attributes when found # provider_options = [ :router_external, :provider_network_type, :provider_segmentation_id, :provider_physical_network ] aliases = { :provider_network_type => 'provider:network_type', # Not applicable to the "local" or "gre" network types :provider_physical_network => 'provider:physical_network', :provider_segmentation_id => 'provider:segmentation_id', :router_external => 'router:external' } provider_options.reject{ |o| options[o].nil? }.each do |key| aliased_key = aliases[key] || key data[aliased_key] = options[key] end self.data[:networks][data['id']] = data response.body = { 'network' => data } response end
create_port(network_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_port.rb, line 28 def create_port(network_id, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => Fog::Mock.random_numbers(6).to_s, 'name' => options[:name], 'network_id' => network_id, 'fixed_ips' => options[:fixed_ips], 'mac_address' => options[:mac_address], 'status' => 'ACTIVE', 'admin_state_up' => options[:admin_state_up], 'device_owner' => options[:device_owner], 'device_id' => options[:device_id], 'tenant_id' => options[:tenant_id], } self.data[:ports][data['id']] = data response.body = { 'port' => data } response end
create_router(name, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_router.rb, line 47 def create_router(name, options = {}) response = Excon::Response.new response.status = 201 # remove this in a future egi = options[:external_gateway_info] if egi && egi.is_a?(Fog::Network::OpenStack::Network) Fog::Logger.deprecation "Passing a model objects into options[:external_gateway_info] is deprecated. \ Please pass external external gateway as follows options[:external_gateway_info] = { :network_id => NETWORK_ID }]" egi = { :network_id => egi.id } end data = { 'router' => { :id => Fog::Mock.random_numbers(6).to_s, :status => options[:status] || 'ACTIVE', :external_gateway_info => egi, :name => name, :admin_state_up => options[:admin_state_up], :tenant_id => '6b96ff0cb17a4b859e1e575d221683d3' } } self.data[:routers][data['router'][:id]] = data['router'] response.body = data response end
create_security_group(options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_security_group.rb, line 48 def create_security_group(options = {}) # Spaces are NOT removed from name and description, as in case of compute sec groups tenant_id = Fog::Mock.random_numbers(14).to_s sec_group_id = Fog::UUID.uuid response = Excon::Response.new response.status = 201 # by default every security group will come setup with an egress rule to "allow all out" data = { "security_group_rules" => [ { "remote_group_id" => nil, "direction" => "egress", "remote_ip_prefix" => nil, "protocol" => nil, "ethertype" => "IPv4", "tenant_id" => tenant_id, "port_range_max" => nil, "port_range_min" => nil, "id" => Fog::UUID.uuid, "security_group_id" => sec_group_id }, { "remote_group_id" => nil, "direction" => "egress", "remote_ip_prefix" => nil, "protocol" => nil, "ethertype" => "IPv6", "tenant_id" => tenant_id, "port_range_max" => nil, "port_range_min" => nil, "id" => Fog::UUID.uuid, "security_group_id" => sec_group_id } ], "id" => sec_group_id, "tenant_id" => tenant_id, "name" => options[:name] || "", "description" => options[:description] || "" } self.data[:security_groups][data["id"]] = data response.body = {"security_group" => data} response end
create_security_group_rule(security_group_id, direction, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_security_group_rule.rb, line 57 def create_security_group_rule(security_group_id, direction, options = {}) response = Excon::Response.new data = { "id" => Fog::UUID.uuid, "remote_group_id" => options[:remote_group_id], "direction" => direction, "remote_ip_prefix" => options[:remote_ip_prefix], "protocol" => options[:protocol], "ethertype" => options[:ethertype] || "IPv4", "tenant_id" => options[:tenant_id] || Fog::Mock.random_numbers(14).to_s, "port_range_max" => options[:port_range_max], "port_range_min" => options[:port_range_min], "security_group_id" => security_group_id } self.data[:security_group_rules][data["id"]] = data response.status = 201 response.body = {"security_group_rule" => data} response end
create_subnet(network_id, cidr, ip_version, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/create_subnet.rb, line 31 def create_subnet(network_id, cidr, ip_version, options = {}) response = Excon::Response.new response.status = 201 data = { 'id' => Fog::Mock.random_numbers(6).to_s, 'name' => options[:name], 'network_id' => network_id, 'cidr' => cidr, 'ip_version' => ip_version, 'gateway_ip' => options[:gateway_ip], 'allocation_pools' => options[:allocation_pools], 'dns_nameservers' => options[:dns_nameservers], 'host_routes' => options[:host_routes], 'enable_dhcp' => options[:enable_dhcp], 'tenant_id' => options[:tenant_id], } self.data[:subnets][data['id']] = data response.body = { 'subnet' => data } response end
credentials()
click to toggle source
# File lib/fog/openstack/network.rb, line 217 def credentials { :provider => 'openstack', :openstack_auth_url => @openstack_auth_uri.to_s, :openstack_auth_token => @auth_token, :openstack_management_url => @openstack_management_url } end
data()
click to toggle source
# File lib/fog/openstack/network.rb, line 209 def data self.class.data["#{@openstack_username}-#{@openstack_tenant}"] end
delete_floating_ip(floating_ip_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_floating_ip.rb, line 15 def delete_floating_ip(floating_ip_id) response = Excon::Response.new if list_floating_ips.body['floatingips'].map { |r| r['id'] }.include? floating_ip_id self.data[:floating_ips].delete(floating_ip_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_lb_health_monitor(health_monitor_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_lb_health_monitor.rb, line 15 def delete_lb_health_monitor(health_monitor_id) response = Excon::Response.new if list_lb_health_monitors.body['health_monitors'].map { |r| r['id'] }.include? health_monitor_id self.data[:lb_health_monitors].delete(health_monitor_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_lb_member(member_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_lb_member.rb, line 15 def delete_lb_member(member_id) response = Excon::Response.new if list_lb_members.body['members'].map { |r| r['id'] }.include? member_id self.data[:lb_members].delete(member_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_lb_pool(pool_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_lb_pool.rb, line 15 def delete_lb_pool(pool_id) response = Excon::Response.new if list_lb_pools.body['pools'].map { |r| r['id'] }.include? pool_id self.data[:lb_pools].delete(pool_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_lb_vip(vip_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_lb_vip.rb, line 15 def delete_lb_vip(vip_id) response = Excon::Response.new if list_lb_vips.body['vips'].map { |r| r['id'] }.include? vip_id self.data[:lb_vips].delete(vip_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_network(network_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_network.rb, line 15 def delete_network(network_id) response = Excon::Response.new if list_networks.body['networks'].map { |r| r['id'] }.include? network_id self.data[:networks].delete(network_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_port(port_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_port.rb, line 15 def delete_port(port_id) response = Excon::Response.new if list_ports.body['ports'].map { |r| r['id'] }.include? port_id self.data[:ports].delete(port_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_quota(tenant_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_quota.rb, line 15 def delete_quota(tenant_id) response = Excon::Response.new response.status = 204 response end
delete_router(router_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_router.rb, line 15 def delete_router(router_id) response = Excon::Response.new if list_routers.body['routers'].find { |r| r[:id] == router_id } self.data[:routers].delete(router_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_security_group(security_group_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_security_group.rb, line 19 def delete_security_group(security_group_id) response = Excon::Response.new if self.data[:security_groups][security_group_id] self.data[:security_groups].delete(security_group_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_security_group_rule(security_group_rule_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_security_group_rule.rb, line 19 def delete_security_group_rule(security_group_rule_id) response = Excon::Response.new if self.data[:security_group_rules][security_group_rule_id] self.data[:security_group_rules].delete(security_group_rule_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
delete_subnet(subnet_id)
click to toggle source
# File lib/fog/openstack/requests/network/delete_subnet.rb, line 15 def delete_subnet(subnet_id) response = Excon::Response.new if list_subnets.body['subnets'].map { |r| r['id'] }.include? subnet_id self.data[:subnets].delete(subnet_id) response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
disassociate_floating_ip(floating_ip_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/disassociate_floating_ip.rb, line 27 def disassociate_floating_ip(floating_ip_id, options = {}) response = Excon::Response.new response.status = 200 data = { 'id' => '00000000-0000-0000-0000-000000000000', 'router_id' => nil, 'tenant_id' => options["tenant_id"], 'floating_network_id' => options["floating_network_id"], 'fixed_ip_address' => nil, 'floating_ip_address' => options["floating_ip_address"], 'port_id' => options["port_id"], } self.data[:floating_ips][data['floating_ip_id']] = data response.body = { 'floatingip' => data } response end
disassociate_lb_health_monitor(pool_id, health_monitor_id)
click to toggle source
# File lib/fog/openstack/requests/network/disassociate_lb_health_monitor.rb, line 15 def disassociate_lb_health_monitor(pool_id, health_monitor_id) response = Excon::Response.new if pool = list_lb_pools.body['pools'].find { |_| _['id'] == pool_id } pool['health_monitors'].delete(health_monitor_id) self.data[:lb_pools][pool_id] = pool response.status = 204 response else raise Fog::Network::OpenStack::NotFound end end
get_floating_ip(floating_ip_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_floating_ip.rb, line 15 def get_floating_ip(floating_ip_id) response = Excon::Response.new if data = self.data[:floating_ips][floating_ip_id] response.status = 200 response.body = { "floatingip" => { "id" => "00000000-0000-0000-0000-000000000000", # changed # "floating_ip_id" => floating_ip_id, "port_id" => data["port_id"], "tenant_id" => data["tenant_id"], "fixed_ip_address" => data["fixed_ip_address"], "router_id" => "00000000-0000-0000-0000-000000000000", "floating_ip_address" => data["floating_ip_address"], } } response else raise Fog::Network::OpenStack::NotFound end end
get_lb_health_monitor(health_monitor_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_lb_health_monitor.rb, line 15 def get_lb_health_monitor(health_monitor_id) response = Excon::Response.new if data = self.data[:lb_health_monitors][health_monitor_id] response.status = 200 response.body = { 'health_monitor' => data } response else raise Fog::Network::OpenStack::NotFound end end
get_lb_member(member_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_lb_member.rb, line 15 def get_lb_member(member_id) response = Excon::Response.new if data = self.data[:lb_members][member_id] response.status = 200 response.body = { 'member' => data } response else raise Fog::Network::OpenStack::NotFound end end
get_lb_pool(pool_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_lb_pool.rb, line 15 def get_lb_pool(pool_id) response = Excon::Response.new if data = self.data[:lb_pools][pool_id] response.status = 200 response.body = { 'pool' => data } response else raise Fog::Network::OpenStack::NotFound end end
get_lb_pool_stats(pool_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_lb_pool_stats.rb, line 15 def get_lb_pool_stats(pool_id) response = Excon::Response.new if data = self.data[:lb_pools][pool_id] stats = {} stats["active_connections"] = 0 stats["bytes_in"] = 0 stats["bytes_out"] = 0 stats["total_connections"] = 0 response.status = 200 response.body = { 'stats' => stats } response else raise Fog::Network::OpenStack::NotFound end end
get_lb_vip(vip_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_lb_vip.rb, line 15 def get_lb_vip(vip_id) response = Excon::Response.new if data = self.data[:lb_vips][vip_id] response.status = 200 response.body = { 'vip' => data } response else raise Fog::Network::OpenStack::NotFound end end
get_network(network_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_network.rb, line 15 def get_network(network_id) response = Excon::Response.new if data = self.data[:networks][network_id] response.status = 200 response.body = { 'network' => { 'id' => 'e624a36d-762b-481f-9b50-4154ceb78bbb', 'name' => 'network_1', 'subnets' => [ '2e4ec6a4-0150-47f5-8523-e899ac03026e' ], 'shared' => false, 'status' => 'ACTIVE', 'admin_state_up' => true, 'tenant_id' => 'f8b26a6032bc47718a7702233ac708b9', } } response else raise Fog::Network::OpenStack::NotFound end end
get_port(port_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_port.rb, line 15 def get_port(port_id) response = Excon::Response.new if data = self.data[:ports][port_id] response.status = 200 response.body = { 'port' => { 'id' => '5c81d975-5fea-4674-9c1f-b8aa10bf9a79', 'name' => 'port_1', 'network_id' => 'e624a36d-762b-481f-9b50-4154ceb78bbb', 'fixed_ips' => [ { 'ip_address' => '10.2.2.2', 'subnet_id' => '2e4ec6a4-0150-47f5-8523-e899ac03026e', } ], 'mac_address' => 'fa:16:3e:62:91:7f', 'status' => 'ACTIVE', 'admin_state_up' => true, 'device_id' => 'dhcp724fc160-2b2e-597e-b9ed-7f65313cd73f-e624a36d-762b-481f-9b50-4154ceb78bbb', 'device_owner' => 'network:dhcp', 'tenant_id' => 'f8b26a6032bc47718a7702233ac708b9', } } response else raise Fog::Network::OpenStack::NotFound end end
get_quota(tenant_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_quota.rb, line 15 def get_quota(tenant_id) response = Excon::Response.new response.status = 200 response.body = { 'quota' => (self.data[:quota_updated] or self.data[:quota]) } response end
get_quotas()
click to toggle source
# File lib/fog/openstack/requests/network/get_quotas.rb, line 15 def get_quotas response = Excon::Response.new response.status = 200 response.body = { 'quotas' => self.data[:quotas] } response end
get_router(router_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_router.rb, line 15 def get_router(router_id) response = Excon::Response.new if data = (self.data[:routers].find { |id,value| id == router_id }) response.status = 200 response.body = { 'router' => data[1], } response else raise Fog::Network::OpenStack::NotFound end end
get_security_group(security_group_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_security_group.rb, line 39 def get_security_group(security_group_id) response = Excon::Response.new if sec_group = self.data[:security_groups][security_group_id] response.status = 200 response.body = {"security_group" => sec_group} response else raise Fog::Network::OpenStack::NotFound end end
get_security_group_rule(security_group_rule_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_security_group_rule.rb, line 34 def get_security_group_rule(security_group_rule_id) response = Excon::Response.new if sec_group_rule = self.data[:security_group_rules][security_group_rule_id] response.status = 200 response.body = {"security_group_rule" => sec_group_rule} response else raise Fog::Network::OpenStack::NotFound end end
get_subnet(subnet_id)
click to toggle source
# File lib/fog/openstack/requests/network/get_subnet.rb, line 15 def get_subnet(subnet_id) response = Excon::Response.new if data = self.data[:subnets][subnet_id] response.status = 200 response.body = { "subnet" => { "id" => "2e4ec6a4-0150-47f5-8523-e899ac03026e", "name" => "subnet_1", "network_id" => "e624a36d-762b-481f-9b50-4154ceb78bbb", "cidr" => "10.2.2.0/24", "ip_version" => 4, "gateway_ip" => "10.2.2.1", "allocation_pools" => [ { "start" => "10.2.2.2", "end" => "10.2.2.254" } ], "dns_nameservers" => [], "host_routes" => [], "enable_dhcp" => true, "tenant_id" => "f8b26a6032bc47718a7702233ac708b9", } } response else raise Fog::Network::OpenStack::NotFound end end
list_floating_ips(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_floating_ips.rb, line 16 def list_floating_ips(filters = {}) Excon::Response.new( :body => { 'floatingips' => self.data[:floating_ips].values }, :status => 200 ) end
list_lb_health_monitors(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_lb_health_monitors.rb, line 16 def list_lb_health_monitors(filters = {}) Excon::Response.new( :body => { 'health_monitors' => self.data[:lb_health_monitors].values }, :status => 200 ) end
list_lb_members(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_lb_members.rb, line 16 def list_lb_members(filters = {}) Excon::Response.new( :body => { 'members' => self.data[:lb_members].values }, :status => 200 ) end
list_lb_pools(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_lb_pools.rb, line 16 def list_lb_pools(filters = {}) Excon::Response.new( :body => { 'pools' => self.data[:lb_pools].values }, :status => 200 ) end
list_lb_vips(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_lb_vips.rb, line 16 def list_lb_vips(filters = {}) Excon::Response.new( :body => { 'vips' => self.data[:lb_vips].values }, :status => 200 ) end
list_networks(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_networks.rb, line 16 def list_networks(filters = {}) Excon::Response.new( :body => { 'networks' => self.data[:networks].values }, :status => 200 ) end
list_ports(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_ports.rb, line 16 def list_ports(filters = {}) Excon::Response.new( :body => { 'ports' => self.data[:ports].values }, :status => 200 ) end
list_routers(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_routers.rb, line 16 def list_routers(filters = {}) Excon::Response.new( :body => { 'routers' => self.data[:routers].values }, :status => 200 ) end
list_security_group_rules(options = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_security_group_rules.rb, line 35 def list_security_group_rules(options = {}) response = Excon::Response.new sec_group_rules = [] sec_group_rules = self.data[:security_group_rules].values unless self.data[:security_group_rules].nil? response.status = 200 response.body = { 'security_group_rules' => sec_group_rules } response end
list_security_groups(options = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_security_groups.rb, line 40 def list_security_groups(options = {}) response = Excon::Response.new sec_groups = [] sec_groups = self.data[:security_groups].values unless self.data[:security_groups].nil? response.status = 200 response.body = { 'security_groups' => sec_groups } response end
list_subnets(filters = {})
click to toggle source
# File lib/fog/openstack/requests/network/list_subnets.rb, line 16 def list_subnets(filters = {}) Excon::Response.new( :body => { 'subnets' => self.data[:subnets].values }, :status => 200 ) end
remove_router_interface(router_id, subnet_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/remove_router_interface.rb, line 20 def remove_router_interface(router_id, subnet_id, options = {}) response = Excon::Response.new response.status = 201 data = { 'subnet_id' => 'a2f1f29d-571b-4533-907f-5803ab96ead1' } self.data[:routers][data['router_id']] = data response.body = { 'router' => data } response end
reset_data()
click to toggle source
# File lib/fog/openstack/network.rb, line 213 def reset_data self.class.data.delete("#{@openstack_username}-#{@openstack_tenant}") end
set_tenant(tenant)
click to toggle source
# File lib/fog/openstack/requests/network/set_tenant.rb, line 13 def set_tenant(tenant) true end
update_lb_health_monitor(health_monitor_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_lb_health_monitor.rb, line 23 def update_lb_health_monitor(health_monitor_id, options = {}) response = Excon::Response.new if health_monitor = list_lb_health_monitors.body['health_monitors'].find { |_| _['id'] == health_monitor_id } health_monitor['delay'] = options[:delay] health_monitor['timeout'] = options[:timeout] health_monitor['max_retries'] = options[:max_retries] health_monitor['http_method'] = options[:http_method] health_monitor['url_path'] = options[:url_path] health_monitor['expected_codes'] = options[:expected_codes] health_monitor['admin_state_up'] = options[:admin_state_up] response.body = { 'health_monitor' => health_monitor } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end
update_lb_member(member_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_lb_member.rb, line 23 def update_lb_member(member_id, options = {}) response = Excon::Response.new if member = list_lb_members.body['members'].find { |_| _['id'] == member_id } member['pool_id'] = options[:pool_id] member['weight'] = options[:weight] member['admin_state_up'] = options[:admin_state_up] response.body = { 'member' => member } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end
update_lb_pool(pool_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_lb_pool.rb, line 23 def update_lb_pool(pool_id, options = {}) response = Excon::Response.new if pool = list_lb_pools.body['pools'].find { |_| _['id'] == pool_id } pool['name'] = options[:name] pool['description'] = options[:description] pool['lb_method'] = options[:lb_method] pool['admin_state_up'] = options[:admin_state_up] response.body = { 'pool' => pool } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end
update_lb_vip(vip_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_lb_vip.rb, line 23 def update_lb_vip(vip_id, options = {}) response = Excon::Response.new if vip = list_lb_vips.body['vips'].find { |_| _['id'] == vip_id } vip['pool_id'] = options[:pool_id] vip['name'] = options[:name] vip['description'] = options[:description] vip['session_persistence'] = options[:session_persistence] vip['connection_limit'] = options[:connection_limit] vip['admin_state_up'] = options[:admin_state_up] response.body = { 'vip' => vip } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end
update_network(network_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_network.rb, line 23 def update_network(network_id, options = {}) response = Excon::Response.new if network = list_networks.body['networks'].find { |_| _['id'] == network_id } network['name'] = options[:name] network['shared'] = options[:shared] network['admin_state_up'] = options[:admin_state_up] response.body = { 'network' => network } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end
update_port(port_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_port.rb, line 24 def update_port(port_id, options = {}) response = Excon::Response.new if port = list_ports.body['ports'].find { |_| _['id'] == port_id } port['name'] = options[:name] port['fixed_ips'] = options[:fixed_ips] port['admin_state_up'] = options[:admin_state_up] port['device_owner'] = options[:device_owner] port['device_id'] = options[:device_id] response.body = { 'port' => port } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end
update_quota(tenant_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_quota.rb, line 16 def update_quota(tenant_id, options = {}) self.data[:quota_updated] = self.data[:quota].merge options response = Excon::Response.new response.status = 200 response.body = { 'quota' => self.data[:quota_updated] } response end
update_router(router_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_router.rb, line 42 def update_router(router_id, options = {}) response = Excon::Response.new router = list_routers.body['routers'].find {|r| r[:id] == router_id} raise Fog::Network::OpenStack::NotFound unless router options.keys.each {|k| router[k] = options[k] } # remove this in a future egi = options[:external_gateway_info] if egi if egi.is_a?(Fog::Network::OpenStack::Network) Fog::Logger.deprecation "Passing a model objects into options[:external_gateway_info] is deprecated. \ Please pass external external gateway as follows options[:external_gateway_info] = { :network_id => NETWORK_ID }]" router[:external_gateway_info] = { :network_id => egi.id } else egi.is_a?(Hash) && egi[:network_id] router[:external_gateway_info] = egi end end response.body = { 'router' => router } response.status = 200 response end
update_subnet(subnet_id, options = {})
click to toggle source
# File lib/fog/openstack/requests/network/update_subnet.rb, line 24 def update_subnet(subnet_id, options = {}) response = Excon::Response.new if subnet = list_subnets.body['subnets'].find { |_| _['id'] == subnet_id } subnet['name'] = options[:name] subnet['gateway_ip'] = options[:gateway_ip] subnet['dns_nameservers'] = options[:dns_nameservers] subnet['host_routes'] = options[:host_routes] subnet['enable_dhcp'] = options[:enable_dhcp] response.body = { 'subnet' => subnet } response.status = 200 response else raise Fog::Network::OpenStack::NotFound end end