Class | Fog::Compute::AWS::SecurityGroup
In: | lib/fog/aws/models/compute/security_group.rb
Parent: | Fog::Model

### Methods

authorize_group_and_owner authorize_port_range destroy revoke_group_and_owner revoke_port_range save

### Public Instance methods

authorize_group_and_owner(group, owner = nil)

Authorize access by another security group

     >> g = AWS.security_groups.all(:description => "something").first
     >> g.authorize_group_and_owner("some_group_name", "1234567890")

## Parameters:

group: | The name of the security group you‘re granting access to.
owner: | The owner id for security group you‘re granting access to.

## Returns:

An excon response object representing the result

     <Excon::Response:0x101fc2ae0
       @status=200,
       @body={"requestId"=>"some-id-string",
              "return"=>true},
       headers{"Transfer-Encoding"=>"chunked",
               "Date"=>"Mon, 27 Dec 2010 22:12:57 GMT",
               "Content-Type"=>"text/xml;charset=UTF-8",
               "Server"=>"AmazonEC2"}

authorize_port_range(range, options = {})

Authorize a new port range for a security group

     >> g = AWS.security_groups.all(:description => "something").first
     >> g.authorize_port_range(20..21)

## Parameters:

range: | A Range object representing the port range you want to open up. E.g., 20..21
options: | A hash that can contain any of the following keys:
     :cidr_ip (defaults to "0.0.0.0/0")
     :group - ("account:group_name" or "account:group_id"), cannot be used with :cidr_ip
     :ip_protocol (defaults to "tcp")

## Returns:

An excon response object representing the result

     <Excon::Response:0x101fc2ae0
       @status=200,
       @body={"requestId"=>"some-id-string",
              "return"=>true},
       headers{"Transfer-Encoding"=>"chunked",
               "Date"=>"Mon, 27 Dec 2010 22:12:57 GMT",
               "Content-Type"=>"text/xml;charset=UTF-8",
               "Server"=>"AmazonEC2"}

destroy()

Removes an existing security group

security_group.destroy

#### Returns

True or false depending on the result

revoke_group_and_owner(group, owner = nil)

Revoke access by another security group

     >> g = AWS.security_groups.all(:description => "something").first
     >> g.revoke_group_and_owner("some_group_name", "1234567890")

## Parameters:

group: | The name of the security group you‘re revoking access to.
owner: | The owner id for security group you‘re revoking access access to.

## Returns:

An excon response object representing the result

     <Excon::Response:0x101fc2ae0
       @status=200,
       @body={"requestId"=>"some-id-string",
              "return"=>true},
       headers{"Transfer-Encoding"=>"chunked",
               "Date"=>"Mon, 27 Dec 2010 22:12:57 GMT",
               "Content-Type"=>"text/xml;charset=UTF-8",
               "Server"=>"AmazonEC2"}

revoke_port_range(range, options = {})

Revoke an existing port range for a security group

     >> g = AWS.security_groups.all(:description => "something").first
     >> g.revoke_port_range(20..21)

## Parameters:

range: | A Range object representing the port range you want to open up. E.g., 20..21
options: | A hash that can contain any of the following keys:
     :cidr_ip (defaults to "0.0.0.0/0")
     :group - ("account:group_name" or "account:group_id"), cannot be used with :cidr_ip
     :ip_protocol (defaults to "tcp")

## Returns:

An excon response object representing the result

     <Excon::Response:0x101fc2ae0
       @status=200,
       @body={"requestId"=>"some-id-string",
              "return"=>true},
       headers{"Transfer-Encoding"=>"chunked",
               "Date"=>"Mon, 27 Dec 2010 22:12:57 GMT",
               "Content-Type"=>"text/xml;charset=UTF-8",
               "Server"=>"AmazonEC2"}

save()

Create a security group

     >> g = AWS.security_groups.new(:name => "some_name", :description => "something")
     >> g.save

## Returns:

True or an exception depending on the result. Keep in mind that this creates a new security group. As such, it yields an InvalidGroup.Duplicate exception if you attempt to save an existing group.

[Validate]