asilgag/aws-cli-wrapper

A simple PHP wrapper over AWS CLI command

v1.0.0 2020-03-16 11:55 UTC

This package is auto-updated.

Last update: 2024-05-16 21:23:42 UTC


README

A simple PHP wrapper over CLI commands.

Installation

composer require asilgag/aws-cli-wrapper

Usage

use Asilgag\CliWrapper\AWS\AwsCliWrapper;
use Asilgag\CliWrapper\CliCommand;

// Create a new AWS CLI Wrapper.
$awsCli = new AwsCliWrapper();

// Set credentials if needed.
$awsCli->setEnvironment('AWS_ACCESS_KEY_ID', '***');
$awsCli->setEnvironment('AWS_SECRET_ACCESS_KEY', '***');

// Set options for the "aws" part of the command.
// @see https://docs.aws.amazon.com/cli/latest/reference/
$awsCli->getAwsOptions()->add('--region us-east-1');

// Set global options for specific commands.
// In this example, all "s3" commands will be suffixed with "--only-show-errors".
// @see https://docs.aws.amazon.com/cli/latest/reference/s3/
$awsCli->getGlobalOptions('s3')->add('--only-show-errors');

// Create new command.
$command = new CliCommand('s3', ['sync', '/source/path/', 's3://bucket/', '--include *.html', '--delete']);

// Execute command. It will throw a RuntimeException if it exits with a non-zero code.
try {
    $cli->exec($command);
}
catch (RuntimeException $e) {
    // Do some logging
}