/** * Cancel Bundle Task Action Sample * CancelBundleTask operation cancels a pending or * in-progress bundling task. This is an asynchronous * call and it make take a while for the task to be cancelled. * If a task is cancelled while it is storing items, * there may be parts of the incomplete AMI stored in S3. * It is up to the caller to clean up these parts from S3. * * @param Amazon_EC2_Interface $service instance of Amazon_EC2_Interface * @param mixed $request Amazon_EC2_Model_CancelBundleTask or array of parameters */ function invokeCancelBundleTask(Amazon_EC2_Interface $service, $request) { try { $response = $service->cancelBundleTask($request); echo "Service Response\n"; echo "=============================================================================\n"; echo " CancelBundleTaskResponse\n"; if ($response->isSetResponseMetadata()) { echo " ResponseMetadata\n"; $responseMetadata = $response->getResponseMetadata(); if ($responseMetadata->isSetRequestId()) { echo " RequestId\n"; echo " " . $responseMetadata->getRequestId() . "\n"; } } if ($response->isSetCancelBundleTaskResult()) { echo " CancelBundleTaskResult\n"; $cancelBundleTaskResult = $response->getCancelBundleTaskResult(); $bundleTaskList = $cancelBundleTaskResult->getBundleTask(); foreach ($bundleTaskList as $bundleTask) { echo " BundleTask\n"; if ($bundleTask->isSetInstanceId()) { echo " InstanceId\n"; echo " " . $bundleTask->getInstanceId() . "\n"; } if ($bundleTask->isSetBundleId()) { echo " BundleId\n"; echo " " . $bundleTask->getBundleId() . "\n"; } if ($bundleTask->isSetBundleState()) { echo " BundleState\n"; echo " " . $bundleTask->getBundleState() . "\n"; } if ($bundleTask->isSetStartTime()) { echo " StartTime\n"; echo " " . $bundleTask->getStartTime() . "\n"; } if ($bundleTask->isSetUpdateTime()) { echo " UpdateTime\n"; echo " " . $bundleTask->getUpdateTime() . "\n"; } if ($bundleTask->isSetStorage()) { echo " Storage\n"; $storage = $bundleTask->getStorage(); if ($storage->isSetS3()) { echo " S3\n"; $s3 = $storage->getS3(); if ($s3->isSetBucket()) { echo " Bucket\n"; echo " " . $s3->getBucket() . "\n"; } if ($s3->isSetPrefix()) { echo " Prefix\n"; echo " " . $s3->getPrefix() . "\n"; } if ($s3->isSetAWSAccessKeyId()) { echo " AWSAccessKeyId\n"; echo " " . $s3->getAWSAccessKeyId() . "\n"; } if ($s3->isSetUploadPolicy()) { echo " UploadPolicy\n"; echo " " . $s3->getUploadPolicy() . "\n"; } if ($s3->isSetUploadPolicySignature()) { echo " UploadPolicySignature\n"; echo " " . $s3->getUploadPolicySignature() . "\n"; } } } if ($bundleTask->isSetProgress()) { echo " Progress\n"; echo " " . $bundleTask->getProgress() . "\n"; } if ($bundleTask->isSetBundleTaskError()) { echo " BundleTaskError\n"; $bundleTaskError = $bundleTask->getBundleTaskError(); if ($bundleTaskError->isSetCode()) { echo " Code\n"; echo " " . $bundleTaskError->getCode() . "\n"; } if ($bundleTaskError->isSetMessage()) { echo " Message\n"; echo " " . $bundleTaskError->getMessage() . "\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"; } }