/** * Describe Security Groups Action Sample * The DescribeSecurityGroups operation returns information about security groups * that you own. * If you specify security group names, information about those security group is * returned. Otherwise, information for all security group is returned. If you * specify a group that does not exist, a fault is returned. * @param Amazon_EC2_Interface $service instance of Amazon_EC2_Interface * @param mixed $request Amazon_EC2_Model_DescribeSecurityGroups or array of parameters */ function invokeDescribeSecurityGroups(Amazon_EC2_Interface $service, $request) { try { $response = $service->describeSecurityGroups($request); echo "Service Response\n"; echo "=============================================================================\n"; echo " DescribeSecurityGroupsResponse\n"; if ($response->isSetResponseMetadata()) { echo " ResponseMetadata\n"; $responseMetadata = $response->getResponseMetadata(); if ($responseMetadata->isSetRequestId()) { echo " RequestId\n"; echo " " . $responseMetadata->getRequestId() . "\n"; } } if ($response->isSetDescribeSecurityGroupsResult()) { echo " DescribeSecurityGroupsResult\n"; $describeSecurityGroupsResult = $response->getDescribeSecurityGroupsResult(); $securityGroupList = $describeSecurityGroupsResult->getSecurityGroup(); foreach ($securityGroupList as $securityGroup) { echo " SecurityGroup\n"; if ($securityGroup->isSetOwnerId()) { echo " OwnerId\n"; echo " " . $securityGroup->getOwnerId() . "\n"; } if ($securityGroup->isSetGroupName()) { echo " GroupName\n"; echo " " . $securityGroup->getGroupName() . "\n"; } if ($securityGroup->isSetGroupDescription()) { echo " GroupDescription\n"; echo " " . $securityGroup->getGroupDescription() . "\n"; } $ipPermissionList = $securityGroup->getIpPermission(); foreach ($ipPermissionList as $ipPermission) { echo " IpPermission\n"; if ($ipPermission->isSetIpProtocol()) { echo " IpProtocol\n"; echo " " . $ipPermission->getIpProtocol() . "\n"; } if ($ipPermission->isSetFromPort()) { echo " FromPort\n"; echo " " . $ipPermission->getFromPort() . "\n"; } if ($ipPermission->isSetToPort()) { echo " ToPort\n"; echo " " . $ipPermission->getToPort() . "\n"; } $userIdGroupPairList = $ipPermission->getUserIdGroupPair(); foreach ($userIdGroupPairList as $userIdGroupPair) { echo " UserIdGroupPair\n"; if ($userIdGroupPair->isSetUserId()) { echo " UserId\n"; echo " " . $userIdGroupPair->getUserId() . "\n"; } if ($userIdGroupPair->isSetGroupName()) { echo " GroupName\n"; echo " " . $userIdGroupPair->getGroupName() . "\n"; } } $ipRangeList = $ipPermission->getIpRange(); foreach ($ipRangeList as $ipRange) { echo " IpRange\n"; echo " " . $ipRange; } } } } } catch (Amazon_EC2_Exception $ex) { echo "Caught Exception: " . $ex->getMessage() . "\n"; echo "Response Status Code: " . $ex->getStatusCode() . "\n"; echo "Error Code: " . $ex->getErrorCode() . "\n"; echo "Error Type: " . $ex->getErrorType() . "\n"; echo "Request ID: " . $ex->getRequestId() . "\n"; echo "XML: " . $ex->getXML() . "\n"; } }