Class: OpenStack::Network::Connection
- Defined in:
- lib/openstack/network/connection.rb
Instance Attribute Summary collapse
-
#connection ⇒ Object
Returns the value of attribute connection.
Instance Method Summary collapse
- #add_router_interface(id, subnet_id) ⇒ Object
- #add_router_interface_by_name(name, interface) ⇒ Object
-
#authok? ⇒ Boolean
Returns true if the authentication was successful and returns false otherwise.
- #create_network(name, parameter = {}) ⇒ Object
- #create_port(network_id, opts = {}) ⇒ Object
- #create_router(name, admin_state_up, opts = {}) ⇒ Object
- #create_subnet(network_id, cidr, ip_version = "4", opts = {}) ⇒ Object
- #delete_network(id) ⇒ Object
- #delete_port(id) ⇒ Object
- #delete_router(id) ⇒ Object
- #delete_router_by_name(name) ⇒ Object
- #delete_subnet(id) ⇒ Object
- #get_network(network_id) ⇒ Object (also: #network)
- #get_port(port_id) ⇒ Object (also: #port)
- #get_router_id(name) ⇒ Object
- #get_subnet(subnet_id) ⇒ Object (also: #subnet)
-
#initialize(connection) ⇒ Connection
constructor
A new instance of Connection.
- #list_networks ⇒ Object (also: #networks)
- #list_ports ⇒ Object (also: #ports)
- #list_routers ⇒ Object (also: #routers)
- #list_subnets ⇒ Object (also: #subnets)
- #remove_router_interface(id, subnet_id) ⇒ Object
- #update_port(id, options) ⇒ Object
- #update_router(id, opts = {}) ⇒ Object
- #update_router_by_name(name, opts = {}) ⇒ Object
Constructor Details
#initialize(connection) ⇒ Connection
Returns a new instance of Connection.
8 9 10 11 |
# File 'lib/openstack/network/connection.rb', line 8 def initialize(connection) @connection = connection OpenStack::Authentication.init(@connection) end |
Instance Attribute Details
#connection ⇒ Object
Returns the value of attribute connection.
6 7 8 |
# File 'lib/openstack/network/connection.rb', line 6 def connection @connection end |
Instance Method Details
#add_router_interface(id, subnet_id) ⇒ Object
133 134 135 136 |
# File 'lib/openstack/network/connection.rb', line 133 def add_router_interface(id, subnet_id) req_body = JSON.generate({'subnet_id' => subnet_id}) @connection.req('PUT', "/routers/#{id}/add_router_interface", {:data => req_body}) end |
#add_router_interface_by_name(name, interface) ⇒ Object
129 130 131 |
# File 'lib/openstack/network/connection.rb', line 129 def add_router_interface_by_name(name, interface) @connection.req('PUT', "/routers/#{get_router_id(name)}/#{interface}") end |
#authok? ⇒ Boolean
Returns true if the authentication was successful and returns false otherwise.
cs.authok?
=> true
17 18 19 |
# File 'lib/openstack/network/connection.rb', line 17 def authok? @connection.authok end |
#create_network(name, parameter = {}) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/openstack/network/connection.rb', line 34 def create_network(name, parameter={}) body_hash = {"network" => {"name"=>name}} body_hash['network'].merge! parameter req_body = JSON.generate(body_hash) response = @connection.req("POST", "/networks", {:data=>req_body}) OpenStack::Network::Network.new(JSON.parse(response.body)["network"]) end |
#create_port(network_id, opts = {}) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/openstack/network/connection.rb', line 86 def create_port(network_id, opts={}) body_hash = {"port"=>{"network_id"=> network_id}} body_hash["port"].merge!(opts) #fixme - validation? req_body = JSON.generate(body_hash) response = @connection.req("POST", "/ports", {:data=>req_body}) OpenStack::Network::Port.new(JSON.parse(response.body)["port"]) end |
#create_router(name, admin_state_up, opts = {}) ⇒ Object
113 114 115 116 117 118 119 |
# File 'lib/openstack/network/connection.rb', line 113 def create_router(name, admin_state_up, opts={}) body_hash = {'router'=> {'name' => name, 'admin_state_up' => admin_state_up}} body_hash['router'].merge! opts req_body = JSON.generate body_hash response = @connection.req('POST', '/routers', {:data => req_body }) OpenStack::Network::Router.new(JSON.parse(response.body)['router']) end |
#create_subnet(network_id, cidr, ip_version = "4", opts = {}) ⇒ Object
60 61 62 63 64 65 66 |
# File 'lib/openstack/network/connection.rb', line 60 def create_subnet(network_id, cidr, ip_version="4", opts={}) body_hash = {"subnet"=>{"network_id"=> network_id, "cidr"=>cidr, "ip_version"=>ip_version}} body_hash["subnet"].merge!(opts) #fixme - validation? req_body = JSON.generate(body_hash) response = @connection.req("POST", "/subnets", {:data=>req_body}) OpenStack::Network::Subnet.new(JSON.parse(response.body)["subnet"]) end |
#delete_network(id) ⇒ Object
42 43 44 45 |
# File 'lib/openstack/network/connection.rb', line 42 def delete_network(id) @connection.req("DELETE", "/networks/#{id}") true end |
#delete_port(id) ⇒ Object
101 102 103 104 |
# File 'lib/openstack/network/connection.rb', line 101 def delete_port(id) @connection.req("DELETE", "/ports/#{id}") true end |
#delete_router(id) ⇒ Object
125 126 127 |
# File 'lib/openstack/network/connection.rb', line 125 def delete_router(id) @connection.req('DELETE', "/routers/#{id}") end |
#delete_router_by_name(name) ⇒ Object
121 122 123 |
# File 'lib/openstack/network/connection.rb', line 121 def delete_router_by_name(name) @connection.req('DELETE', "/routers/#{get_router_id(name)}") end |
#delete_subnet(id) ⇒ Object
68 69 70 71 |
# File 'lib/openstack/network/connection.rb', line 68 def delete_subnet(id) @connection.req("DELETE", "/subnets/#{id}") true end |
#get_network(network_id) ⇒ Object Also known as: network
28 29 30 31 |
# File 'lib/openstack/network/connection.rb', line 28 def get_network(network_id) response = @connection.req("GET", "/networks/#{network_id}") OpenStack::Network::Network.new(JSON.parse(response.body)["network"]) end |
#get_port(port_id) ⇒ Object Also known as: port
80 81 82 83 |
# File 'lib/openstack/network/connection.rb', line 80 def get_port(port_id) response = @connection.req("GET", "/ports/#{port_id}") OpenStack::Network::Port.new(JSON.parse(response.body)["port"]) end |
#get_router_id(name) ⇒ Object
155 156 157 158 159 |
# File 'lib/openstack/network/connection.rb', line 155 def get_router_id(name) routers.detect do |value| return value.id if value.name == name end end |
#get_subnet(subnet_id) ⇒ Object Also known as: subnet
54 55 56 57 |
# File 'lib/openstack/network/connection.rb', line 54 def get_subnet(subnet_id) response = @connection.req("GET", "/subnets/#{subnet_id}") OpenStack::Network::Subnet.new(JSON.parse(response.body)["subnet"]) end |
#list_networks ⇒ Object Also known as: networks
21 22 23 24 25 |
# File 'lib/openstack/network/connection.rb', line 21 def list_networks response = @connection.req("GET", "/networks") nets_hash = JSON.parse(response.body)["networks"] nets_hash.inject([]){|res, current| res << OpenStack::Network::Network.new(current); res} end |
#list_ports ⇒ Object Also known as: ports
73 74 75 76 77 |
# File 'lib/openstack/network/connection.rb', line 73 def list_ports response = @connection.req("GET", "/ports") ports_hash = JSON.parse(response.body)["ports"] ports_hash.inject([]){|res, current| res << OpenStack::Network::Port.new(current); res} end |
#list_routers ⇒ Object Also known as: routers
106 107 108 109 110 |
# File 'lib/openstack/network/connection.rb', line 106 def list_routers response = @connection.req('GET', '/routers') nets_hash = JSON.parse(response.body)['routers'] nets_hash.inject([]){|res, current| res << OpenStack::Network::Router.new(current); res} end |
#list_subnets ⇒ Object Also known as: subnets
47 48 49 50 51 |
# File 'lib/openstack/network/connection.rb', line 47 def list_subnets response = @connection.req("GET", "/subnets") nets_hash = JSON.parse(response.body)["subnets"] nets_hash.inject([]){|res, current| res << OpenStack::Network::Subnet.new(current); res} end |
#remove_router_interface(id, subnet_id) ⇒ Object
138 139 140 141 |
# File 'lib/openstack/network/connection.rb', line 138 def remove_router_interface(id, subnet_id) req_body = JSON.generate({'subnet_id' => subnet_id}) @connection.req('PUT', "/routers/#{id}/remove_router_interface", {:data => req_body}) end |
#update_port(id, options) ⇒ Object
94 95 96 97 98 99 |
# File 'lib/openstack/network/connection.rb', line 94 def update_port(id, ) data = JSON.generate(:port => ) response = @connection.req("PUT", "/ports/#{id}", {:data => data}) OpenStack::Exception.raise_exception(response) unless response.code.match(/^20.$/) OpenStack::Network::Port.new(JSON.parse(response.body)["port"]) end |
#update_router(id, opts = {}) ⇒ Object
149 150 151 152 153 |
# File 'lib/openstack/network/connection.rb', line 149 def update_router(id,opts={}) req_body = JSON.generate({'router' => opts}) response = @connection.req('PUT',"/routers/#{id}",{:data => req_body}) OpenStack::Network::Router.new(JSON.parse(response.body)['router']) end |
#update_router_by_name(name, opts = {}) ⇒ Object
143 144 145 146 147 |
# File 'lib/openstack/network/connection.rb', line 143 def update_router_by_name(name,opts={}) req_body = JSON.generate opts response = @connection.req('PUT',"/routers/#{get_router_id(name)}",{:data => req_body}) OpenStack::Network::Router.new(JSON.parse(response.body)['router']) end |