/** * Revoke Security Group Ingress Action Sample * The RevokeSecurityGroupIngress operation revokes permissions from a security * group. The permissions used to revoke must be specified using the same values * used to grant the permissions. * Permissions are specified by IP protocol (TCP, UDP, or ICMP), the source of the * request (by IP range or an Amazon EC2 user-group pair), the source and * destination port ranges (for TCP and UDP), and the ICMP codes and types (for * ICMP). * Permission changes are quickly propagated to instances within the security * group. However, depending on the number of instances in the group, a small * delay is might occur, . * When revoking a user/group pair permission, GroupName, SourceSecurityGroupName * and SourceSecurityGroupOwnerId must be specified. When authorizing a CIDR IP * permission, GroupName, IpProtocol, FromPort, ToPort and CidrIp must be * specified. Mixing these two types of parameters is not allowed. * * @param Amazon_EC2_Interface $service instance of Amazon_EC2_Interface * @param mixed $request Amazon_EC2_Model_RevokeSecurityGroupIngress or array of parameters */ function invokeRevokeSecurityGroupIngress(Amazon_EC2_Interface $service, $request) { try { $response = $service->revokeSecurityGroupIngress($request); echo "Service Response\n"; echo "=============================================================================\n"; echo " RevokeSecurityGroupIngressResponse\n"; if ($response->isSetResponseMetadata()) { echo " ResponseMetadata\n"; $responseMetadata = $response->getResponseMetadata(); if ($responseMetadata->isSetRequestId()) { echo " RequestId\n"; echo " " . $responseMetadata->getRequestId() . "\n"; } } } 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"; } }