VM::EC2::SecurityGroup::GroupPermission(3) Object describing an authorized group within a security group firewall rule


$ec2 = VM::EC2->new(...);
$sg = $ec2->describe_security_groups(-name=>'My Group');
@rules = $sg->ipPermissions;
$rule = $rules[0];
@groups = $rule->groups;
for my $g (@groups) {
$userId = $g->userId;
$name = $g>groupName;
$id = $g->groupId;
$group_object = $g->security_group;


This object describes a security group whose instances are granted permission to exchange data traffic with another group of instances. It is returned by the groups() method of VM::EC2::SecurityGroup::ipPermission.

Note that this object is not the same as a bona fide VM::EC2::SecurityGroup, which has access to the group's firewall rules. This object contains just the name, id and owner of a group used within a firewall rule. For groups that belong to you, you can get the full VM::EC2::SecurityGroup object by calling the security_group() method. These details are not available to groups that belong to other accounts.


$id = $group->groupId

Return the group's unique ID.

$id = $group->userId

Return the account ID of the owner of this group.

$id = $group->groupName

Return this group's name.

$string = $group->short_name

Return a string for use in string overloading. See ``STRING OVERLOADING''.

$sg = $group->security_group

For groups that belong to the current account, calls VM::EC2->describe_security_groups() to turn the group name into a VM::EC2::SecurityGroup. For groups that belong to a different account, will return undef, since describe_security_groups() on other accounts is not allowed by Amazon.


When used in a string context, this object will interpolate the user id and group name in the form ``userId/groupName'' for groups that belong to other accounts, and the groupName alone in the case of groups that belong to you.


Lincoln Stein <[email protected]>.

Copyright (c) 2011 Ontario Institute for Cancer Research

This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the GPL (either version 1, or at your option, any later version) or the Artistic License 2.0. Refer to LICENSE for the full license text. In addition, please see DISCLAIMER.txt for disclaimers of warranty.