/acquia-php-sdk-v2

A PHP SDK for Acquia Cloud API v2 https://cloud.acquia.com/api-docs/#

Primary LanguagePHPMIT LicenseMIT

Acquia PHP SDK for CloudAPI v2

Build Status Total Downloads Coverage Status Quality Status

License Latest Stable Version Latest Unstable Version

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.

Installation

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.0.0"
    }
}

Generating an API access token

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.

Usage

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;

$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);

// 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);

Documentation

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.

I just want to talk to the API without having to write code

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.