Class: Awsum::Ec2::SecurityGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/awsum/ec2/security_group.rb

Defined Under Namespace

Classes: GroupPermission, IpPermission, Permission

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(ec2, name, description, owner_id, ip_permissions, group_permissions) ⇒ SecurityGroup

Returns a new instance of SecurityGroup.



8
9
10
11
12
13
14
15
# File 'lib/awsum/ec2/security_group.rb', line 8

def initialize(ec2, name, description, owner_id, ip_permissions, group_permissions)
  @ec2 = ec2
  @name = name
  @description = description
  @owner_id = owner_id
  @ip_permissions = ip_permissions
  @group_permissions = group_permissions
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



6
7
8
# File 'lib/awsum/ec2/security_group.rb', line 6

def description
  @description
end

#group_permissionsObject (readonly)

Returns the value of attribute group_permissions.



6
7
8
# File 'lib/awsum/ec2/security_group.rb', line 6

def group_permissions
  @group_permissions
end

#ip_permissionsObject (readonly)

Returns the value of attribute ip_permissions.



6
7
8
# File 'lib/awsum/ec2/security_group.rb', line 6

def ip_permissions
  @ip_permissions
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/awsum/ec2/security_group.rb', line 6

def name
  @name
end

#owner_idObject (readonly)

Returns the value of attribute owner_id.



6
7
8
# File 'lib/awsum/ec2/security_group.rb', line 6

def owner_id
  @owner_id
end

Instance Method Details

#authorize_group(group_name, owner_id) ⇒ Object

Authorize access for a group



18
19
20
# File 'lib/awsum/ec2/security_group.rb', line 18

def authorize_group(group_name, owner_id)
  @ec2.authorize_security_group_ingress(@name, :source_security_group_name => group_name, :source_security_group_owner_id => owner_id)
end

#authorize_ip(from_port, to_port, protocol = 'tcp', cidr_ip = '0.0.0.0/0') ⇒ Object

Authorize access for an ip address



28
29
30
# File 'lib/awsum/ec2/security_group.rb', line 28

def authorize_ip(from_port, to_port, protocol = 'tcp', cidr_ip = '0.0.0.0/0')
  @ec2.authorize_security_group_ingress(@name, :ip_protocol => protocol, :from_port => from_port, :to_port => to_port, :cidr_ip => cidr_ip)
end

#deleteObject

Delete this SecurityGroup



38
39
40
# File 'lib/awsum/ec2/security_group.rb', line 38

def delete
  @ec2.delete_security_group(@name)
end

#revoke_group(group_name, owner_id) ⇒ Object

Revoke access for a group



23
24
25
# File 'lib/awsum/ec2/security_group.rb', line 23

def revoke_group(group_name, owner_id)
  @ec2.revoke_security_group_ingress(@name, :source_security_group_name => group_name, :source_security_group_owner_id => owner_id)
end

#revoke_ip(from_port, to_port, protocol = 'tcp', cidr_ip = '0.0.0.0/0') ⇒ Object

Revoke access from an ip address



33
34
35
# File 'lib/awsum/ec2/security_group.rb', line 33

def revoke_ip(from_port, to_port, protocol = 'tcp', cidr_ip = '0.0.0.0/0')
  @ec2.revoke_security_group_ingress(@name, :ip_protocol => protocol, :from_port => from_port, :to_port => to_port, :cidr_ip => cidr_ip)
end