function _testS3Bucket() { $AmazonS3 = new AmazonS3("0EJNVE9QFYY3TD554T02", "VOtWnbI2PmsqKOqDNVVgfLVsEnGD/6miiYDY552S"); $res = $AmazonS3->ListBuckets(); $this->assertTrue(is_array($res->Bucket), "ListBuckets returned array"); $res = $AmazonS3->CreateBucket("MySQLDumps"); $this->assertTrue($res, "Bucket successfull created"); $res = $AmazonS3->CreateObject("fonts/test.ttf", "offload-public", "/tmp/PhotoEditService.wsdl", "plain/text"); $this->assertTrue($res, "Object successfull created"); $res = $AmazonS3->DownloadObject("fonts/test.ttf", "offload-public"); $this->assertTrue($res, "Object successfull downloaded"); $res = $AmazonS3->DeleteObject("fonts/test.ttf", "offload-public"); $this->assertTrue($res, "Object successfull removed"); }
function _testS3Bucket() { $AmazonS3 = new AmazonS3("", ""); $res = $AmazonS3->ListBuckets(); $this->assertTrue(is_array($res->Bucket), "ListBuckets returned array"); $res = $AmazonS3->CreateBucket("MySQLDumps"); $this->assertTrue($res, "Bucket successfull created"); $res = $AmazonS3->CreateObject("fonts/test.ttf", "offload-public", "/tmp/PhotoEditService.wsdl", "plain/text"); $this->assertTrue($res, "Object successfull created"); $res = $AmazonS3->DownloadObject("fonts/test.ttf", "offload-public"); $this->assertTrue($res, "Object successfull downloaded"); $res = $AmazonS3->DeleteObject("fonts/test.ttf", "offload-public"); $this->assertTrue($res, "Object successfull removed"); }
public function RemoveServerSnapshot(DBRole $DBRole) { foreach ($DBRole->getImageId(SERVER_PLATFORMS::EC2) as $location => $imageId) { try { $EC2Client = Scalr_Service_Cloud_Aws::newEc2($location, $DBRole->getEnvironmentObject()->getPlatformConfigValue(self::PRIVATE_KEY), $DBRole->getEnvironmentObject()->getPlatformConfigValue(self::CERTIFICATE)); try { $DescribeImagesType = new DescribeImagesType(); $DescribeImagesType->imagesSet = new stdClass(); $DescribeImagesType->imagesSet->item[] = array("imageId" => $imageId); $ami_info = $EC2Client->DescribeImages($DescribeImagesType); } catch (Exception $e) { if (stristr($e->getMessage(), "Failure Signing Data") || stristr($e->getMessage(), "is no longer available") || stristr($e->getMessage(), "does not exist") || stristr($e->getMessage(), "Not authorized for image")) { return true; } else { throw $e; } } $platfrom = (string) $ami_info->imagesSet->item->platform; $rootDeviceType = (string) $ami_info->imagesSet->item->rootDeviceType; if ($rootDeviceType == 'ebs') { $EC2Client->DeregisterImage($imageId); $snapshotId = (string) $ami_info->imagesSet->item->blockDeviceMapping->item->ebs->snapshotId; if ($snapshotId) { $EC2Client->DeleteSnapshot($snapshotId); } } else { $image_path = (string) $ami_info->imagesSet->item->imageLocation; $chunks = explode("/", $image_path); $bucket_name = $chunks[0]; if (count($chunks) == 3) { $prefix = $chunks[1]; } else { $prefix = str_replace(".manifest.xml", "", $chunks[1]); } try { $bucket_not_exists = false; $S3Client = new AmazonS3($DBRole->getEnvironmentObject()->getPlatformConfigValue(self::ACCESS_KEY), $DBRole->getEnvironmentObject()->getPlatformConfigValue(self::SECRET_KEY)); $objects = $S3Client->ListBucket($bucket_name, $prefix); } catch (Exception $e) { if (stristr($e->getMessage(), "The specified bucket does not exist")) { $bucket_not_exists = true; } } if ($ami_info) { if (!$bucket_not_exists) { foreach ($objects as $object) { $S3Client->DeleteObject($object->Key, $bucket_name); } $bucket_not_exists = true; } if ($bucket_not_exists) { $EC2Client->DeregisterImage($imageId); } } } } catch (Exception $e) { if (stristr($e->getMessage(), "is no longer available") || stristr($e->getMessage(), "Not authorized for image")) { continue; } else { throw $e; } } } }