/** * Release Address Action Sample * The ReleaseAddress operation releases an elastic IP address associated with * your account. * Note: * Releasing an IP address automatically disassociates it from any instance with * which it is associated. For more information, see DisassociateAddress. * Important: * After releasing an elastic IP address, it is released to the IP address pool * and might no longer be available to your account. Make sure to update your DNS * records and any servers or devices that communicate with the address. * If you run this operation on an elastic IP address that is already released, * the address might be assigned to another account which will cause Amazon EC2 to * return an error. * * @param Amazon_EC2_Interface $service instance of Amazon_EC2_Interface * @param mixed $request Amazon_EC2_Model_ReleaseAddress or array of parameters */ function invokeReleaseAddress(Amazon_EC2_Interface $service, $request) { try { $response = $service->releaseAddress($request); echo "Service Response\n"; echo "=============================================================================\n"; echo " ReleaseAddressResponse\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"; } }