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:
parent
e5ec043245
commit
523414a43f
7 changed files with 169 additions and 0 deletions
|
@ -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
|
||||
|
|
32
lib/fog/openstack/requests/compute/create_security_group.rb
Normal file
32
lib/fog/openstack/requests/compute/create_security_group.rb
Normal 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
|
|
@ -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
|
23
lib/fog/openstack/requests/compute/delete_security_group.rb
Normal file
23
lib/fog/openstack/requests/compute/delete_security_group.rb
Normal 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
|
|
@ -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
|
23
lib/fog/openstack/requests/compute/get_security_group.rb
Normal file
23
lib/fog/openstack/requests/compute/get_security_group.rb
Normal 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
|
23
lib/fog/openstack/requests/compute/list_security_group.rb
Normal file
23
lib/fog/openstack/requests/compute/list_security_group.rb
Normal 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
|
Loading…
Add table
Reference in a new issue