This library provides the capability to develop tooling which integrates with the new version (2.0) of Cloud API.
The original Acquia Cloud SDK has been deprecated so build tools requiring modern PHP versions and packages should use this library.
The SDK can be installed with Composer by adding this library as a dependency to your composer.json file.
{
"require": {
"typhonius/acquia-php-sdk-v2": "^2"
}
}
To generate an API access token, login to https://cloud.acquia.com, then visit https://cloud.acquia.com/#/profile/tokens, and click Create Token.
- Provide a label for the access token, so it can be easily identified. Click Create Token.
- The token has been generated, copy the api key and api secret to a secure place. Make sure you record it now: you will not be able to retrieve this access token's secret again.
Basic usage examples for the SDK.
<?php
require 'vendor/autoload.php';
use AcquiaCloudApi\Connector\Client;
use AcquiaCloudApi\Connector\Connector;
use AcquiaCloudApi\Endpoints\Applications;
use AcquiaCloudApi\Endpoints\Environments;
use AcquiaCloudApi\Endpoints\Servers;
use AcquiaCloudApi\Endpoints\DatabaseBackups;
use AcquiaCloudApi\Endpoints\Variables;
use AcquiaCloudApi\Endpoints\Account;
$key = 'd0697bfc-7f56-4942-9205-b5686bf5b3f5';
$secret = 'D5UfO/4FfNBWn4+0cUwpLOoFzfP7Qqib4AoY+wYGsKE=';
$config = [
'key' => $key,
'secret' => $secret,
];
$connector = new Connector($config);
$client = Client::factory($connector);
$application = new Applications($client);
$environment = new Environments($client);
$server = new Servers($client);
$backup = new DatabaseBackups($client);
$variable = new Variables($client);
$account = new Account($client);
// Get all applications.
$applications = $application->getAll();
// Get all environments of an application.
$environments = $environment->getAll($applicationUuid);
// Get all servers in an environment.
$servers = $server->getAll($environmentUuid);
// Create DB backup
$backup->create($environmentUuid, $dbName);
// Set an environment varible
$variable->create($environmentUuid, 'test_variable', 'test_value');
// Download Drush 9 aliases to a temp directory
$client->addQuery('version', '9');
$result = $account->getDrushAliases();
$drushArchive = tempnam(sys_get_temp_dir(), 'AcquiaDrushAliases') . '.tar.gz';
file_put_contents($drushArchive, $aliases, LOCK_EX);
// Download database backup
// file_put_contents loads the response into memory. This is okay for small things like Drush aliases, but not for database backups.
// Use curl.options to stream data to disk and minimize memory usage.
$client->addOption('sink', $filepath);
$client->addOption('curl.options', ['CURLOPT_RETURNTRANSFER' => true, 'CURLOPT_FILE' => $filepath]);
$backup->download($environmentUuid, $dbName, $backupId);
Documentation of each of the classes and methods has been automatically generated by phpDocumentor and exists in the gh-pages
branch. This is available for browsing on GitHub.
The Acquia Cli Robo application creates a command line tool for communicating with the API using this SDK. Its purpose is to provide a simple mechanism for interacting with the API without having to write a line of code.