module Ropenstack::Networking::Version2::Extensions::L3
Public Instance Methods
add_router_gateway(router, network_id)
click to toggle source
Enable external connectivity through this router by connecting it to an “external network”
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 66 def add_router_gateway(router, network_id) data = { 'router' => {'external_gateway_info' => { 'network_id' => network_id }}} return put_request(address("routers/"+router), data, @token) end
add_router_interface(router, subnet)
click to toggle source
Connect a router to a subnet, given router id and subnet id.
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 40 def add_router_interface(router, subnet) data = { 'subnet_id' => subnet } return put_request(address("routers/"+router+"/add_router_interface"), data, @token) end
create_floating_ip(network, port = nil)
click to toggle source
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 86 def create_floating_ip(network, port = nil) data = { 'floatingip' => { 'floating_network_id' => network } } unless port.nil? data['floatingip']['port_id'] = port end return post_request(address('floatingips'), data, @token) end
create_router(name, admin_state_up = true)
click to toggle source
Create a new router with a given name.
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 20 def create_router(name, admin_state_up = true) data = { 'router' =>{ 'name' => name, 'admin_state_up' => admin_state_up, } } return post_request(address("routers"), data, @token) end
delete_floating_ip(id)
click to toggle source
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 98 def delete_floating_ip(id) return delete_request(address("floatingips/#{id}"), @token) end
delete_router(router)
click to toggle source
Delete a router given a routers id.
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 33 def delete_router(router) return delete_request(address("routers/" + router), @token) end
delete_router_gateway(router)
click to toggle source
Clear a routers external gateway information given a router id.
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 74 def delete_router_gateway(router) data = { 'router' => {'external_gateway_info' => nil}} return put_request(address('routers/' + router), data, @token) end
delete_router_interface(router_id, subnet_id, "subnet")
click to toggle source
delete_router_interface(router_id, port_id, "port")
Delete a connection between a subnet and router given either port or subnet ids.
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 53 def delete_router_interface(router, id, type) data = case type when 'port' then { 'port_id' => id } when 'subnet' then { 'subnet_id' => id } else raise "Invalid Interface Type" end return put_request(address("routers/" + router + "/remove_router_interface"), data, @token) end
floating_ips()
click to toggle source
Get a full list of floating ips for the tenant
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 82 def floating_ips return get_request(address("floatingips"), @token) end
routers(id) → A single router with the id matching the parameter
click to toggle source
routers → All routers visible to the tenant making the request
Get a list of a tenants routers
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 10 def routers(id = nil) endpoint = "routers" unless id.nil? endpoint = endpoint + "/" + id end return get_request(address(endpoint), @token) end
update_floating_ip(id, port)
click to toggle source
# File lib/ropenstack/networking/v2/extensions/l3.rb, line 102 def update_floating_ip(id, port) data = { 'floatingip' => { 'port_id' => port } } return put_request(address("floatingips/#{id}"), data, @token) end