Module: Ropenstack::Compute::Version2::Extensions::SecurityGroups

Included in:
Ropenstack::Compute::Version2::Extensions
Defined in:
lib/ropenstack/compute/v2/extensions/securitygroups.rb

Instance Method Summary collapse

Instance Method Details

#create_security_group(name, description) ⇒ Object



11
12
13
14
# File 'lib/ropenstack/compute/v2/extensions/securitygroups.rb', line 11

def create_security_group(name, description)
  data = { "security_group" => {"name" => name, "description" => description } }
  return post_request(address("/os-security-groups"), data, @token)
end

#create_security_group_rule(protocol, from, to, cidr, parent, group = nil) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ropenstack/compute/v2/extensions/securitygroups.rb', line 20

def create_security_group_rule(protocol, from, to, cidr, parent, group = nil)
  data = { 
    "security_group_rule" => {
      "ip_protocol" => protocol,
      "from_port" => from,
      "to_port" => to,
      "cidr" => cidr,
      "parent_group_id" => parent
    } 
  }
  unless group.nil?
    data["security_group_rule"]["group_id"] = group
  end
  return post_request(address("/os-security-group-rules"), data, @token)
end

#destroy_security_group(id) ⇒ Object



16
17
18
# File 'lib/ropenstack/compute/v2/extensions/securitygroups.rb', line 16

def destroy_security_group(id)
  return post_request(address("/os-security-groups/#{id}"), @token)
end

#destroy_security_group_rule(id) ⇒ Object



36
37
38
# File 'lib/ropenstack/compute/v2/extensions/securitygroups.rb', line 36

def destroy_security_group_rule(id)
  return delete_request(address("/os-security-group-rules/#{id}"), @token)
end

#security_groups(id = nil) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/ropenstack/compute/v2/extensions/securitygroups.rb', line 3

def security_groups(id = nil)
  endpoint = "/os-security-groups"
  unless id.nil?
    endpoint = "#{endpoint}/#{id}"
  end
  return get_request(address(endpoint), @token)
end