Method: OpenStack::Compute::Connection#security_groups

Defined in:
lib/openstack/compute/connection.rb

#security_groupsObject

Security Groups: Returns a hash with the security group IDs as keys:

> { “1381” => { :tenant_id=>“12345678909876”, :id=>1381, :name=>“default”, :description=>“default”,

            :rules=> [
                      {:from_port=>22, :group=>{}, :ip_protocol=>"tcp", :to_port=>22,
                       :parent_group_id=>1381, :ip_range=>{:cidr=>"0.0.0.0/0"}, :id=>4902},
                      {:from_port=>80, :group=>{}, :ip_protocol=>"tcp", :to_port=>80,
                       :parent_group_id=>1381, :ip_range=>{:cidr=>"0.0.0.0/0"}, :id=>4903},
                      {:from_port=>443, :group=>{}, :ip_protocol=>"tcp", :to_port=>443,
                       :parent_group_id=>1381, :ip_range=>{:cidr=>"0.0.0.0/0"}, :id=>4904},
                      {:from_port=>-1, :group=>{}, :ip_protocol=>"icmp", :to_port=>-1,
                       :parent_group_id=>1381, :ip_range=>{:cidr=>"0.0.0.0/0"}, :id=>4905}],
                     ]
          },
"1234" => { ... } }


383
384
385
386
387
388
# File 'lib/openstack/compute/connection.rb', line 383

def security_groups
  raise OpenStack::Exception::NotImplemented.new("os-security-groups not implemented by #{@connection.http.keys.first}", 501, "NOT IMPLEMENTED") unless api_extensions[:"os-security-groups"] or api_extensions[:security_groups]
  response = @connection.req("GET", "/os-security-groups")
  res = OpenStack.symbolize_keys(JSON.parse(response.body))
  res[:security_groups].inject({}){|result, c| result[c[:id].to_s] = c ; result }
end