1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00

[openstack|compute] Initial extension support for security groups

This commit is contained in:
Hunter Nield 2012-02-16 16:14:54 +08:00 committed by Nelvin Driz
parent e5ec043245
commit 523414a43f
7 changed files with 169 additions and 0 deletions

View file

@ -65,6 +65,13 @@ module Fog
request :list_addresses
request :release_address
request :create_security_group
request :create_security_group_rule
request :delete_security_group
request :delete_security_group_rule
request :list_security_groups
request :get_security_group
request :create_key_pair
request :delete_key_pair
request :list_key_pairs
@ -79,6 +86,7 @@ module Fog
:images => {},
:servers => {},
:key_pairs => {},
:security_groups => {},
:addresses => {}
},
:images => {
@ -96,6 +104,7 @@ module Fog
},
:servers => {},
:key_pairs => {},
:security_groups => {},
:addresses => {}
}
end

View file

@ -0,0 +1,32 @@
module Fog
module Compute
class Openstack
class Real
def create_security_group(name, description)
data = {
'security_group' => {
'name' => name,
'description' => description
}
}
request(
:body => MultiJson.encode(data),
:expects => 200,
:method => 'POST',
:path => 'os-security-groups.json'
)
end
end
class Mock
end
end
end
end

View file

@ -0,0 +1,36 @@
module Fog
module Compute
class Openstack
class Real
def create_security_group_rule(parent_group_id, ip_protocol, from_port, to_port, cidr, group_id=nil)
data = {
'security_group_rule' => {
'parent_group_id' => parent_group_id,
'ip_protocol' => ip_protocol,
'from_port' => from_port,
'to_port' => to_port,
'cidr' => cidr,
'group_id' => group_id
}
}
request(
:body => MultiJson.encode(data),
:expects => 200,
:method => 'POST',
:path => 'os-security-group-rules.json'
)
end
end
class Mock
end
end
end
end

View file

@ -0,0 +1,23 @@
module Fog
module Compute
class Openstack
class Real
def delete_security_group(security_group_id)
request(
:expects => 202,
:method => 'DELETE',
:path => "os-security-groups/#{security_group_id}"
)
end
end
class Mock
end
end
end
end

View file

@ -0,0 +1,23 @@
module Fog
module Compute
class Openstack
class Real
def delete_security_group_rule(security_group_rule_id)
request(
:expects => 202,
:method => 'DELETE',
:path => "os-security-group-rules/#{security_group_rule_id}"
)
end
end
class Mock
end
end
end
end

View file

@ -0,0 +1,23 @@
module Fog
module Compute
class Openstack
class Real
def get_security_group(security_group_id)
request(
:expects => [200],
:method => 'GET',
:path => "os-security-groups/#{security_group_id}"
)
end
end
class Mock
end
end
end
end

View file

@ -0,0 +1,23 @@
module Fog
module Compute
class Openstack
class Real
def list_security_groups
request(
:expects => [200],
:method => 'GET',
:path => 'os-security-groups.json'
)
end
end
class Mock
end
end
end
end