Example #1
1
include __DIR__ . '/vendor/autoload.php';
/**
 * Usage
 *
 * cli.php describe
 * cli.php create
 */
if (empty($argv[1])) {
    die('Empty cli command.');
}
$configFile = __DIR__ . '/config.php';
if (!file_exists($configFile)) {
    die('Missing config file');
}
$AWS_KEY = $AWS_SECRET = $AWS_VOLUME_ID = $AWS_VERSION = $AWS_REGION = $SNAPSHOT_DESCRIPTION = null;
extract(include $configFile, EXTR_OVERWRITE);
$clientConfig = ['version' => $AWS_VERSION, 'region' => $AWS_REGION, 'credentials' => ['key' => $AWS_KEY, 'secret' => $AWS_SECRET]];
$ec2 = new Aws\Ec2\Ec2Client($clientConfig);
switch ($argv[1]) {
    case 'describe':
        $describeConfig = ['Filters' => [['Name' => 'volume-id', 'Values' => [$AWS_VOLUME_ID]]]];
        var_export($ec2->describeSnapshots($describeConfig)->toArray()['Snapshots']);
        break;
    case 'create':
        $createConfig = ['DryRun' => false, 'VolumeId' => $AWS_VOLUME_ID, 'Description' => $SNAPSHOT_DESCRIPTION];
        var_export($ec2->createSnapshot($createConfig)->toArray());
        break;
    default:
        echo 'Invalid command';
        break;
}