Skip to content

A guzzle based REST client for the RightScale 1.0 API for PHP

License

Notifications You must be signed in to change notification settings

tmotyl/rs_guzzle_client

 
 

Repository files navigation

Guzzle Rightscale API client for PHP

rs_guzzle_client is a PHP Guzzle REST API client library for the RightScale API.

Support is available for v1.0 of the API and v1.5 support is coming soon!

Installation

Add rs_guzzle_client to the src/Guzzle/Rs directory of your Guzzle installation:

cd /path/to/guzzle
git submodule add git://github.com/rgeyer/rs_guzzle_client.git ./src/Guzzle/Rs

You can now build a phar file containing guzzle-aws and the main guzzle framework:

cd /path/to/guzzle/build
phing phar

Now you just need to include guzzle.phar in your script. The phar file will take care of autoloading Guzzle classes:

    <?php
    require_once 'guzzle.phar';

The example script for getting your servers:

<?php
    require_once 'guzzle.phar';
    $serviceBuilder = \Guzzle\Service\ServiceBuilder::factory(array(
    'guzzle-rs-1_0' => array(
        'class'     => 'Guzzle\Rs\RightScaleClient',
        'params'     => array(
            'acct_num'     => '00000', // your rightscale account id
            'email'            => '[email protected]',
            'password'    => 'yourPassword',
            'version'        => '1.0',
            'curl.CURLOPT_SSL_VERIFYHOST' => false,
            'curl.CURLOPT_SSL_VERIFYPEER' => false,
        )
    ),
    ));

    $client = $serviceBuilder->get('guzzle-rs-1_0');

    $params = array();
    $command = $client->getCommand('servers', $params);

API coverage

Below you will find the current controllers (and their commands) that are supported by the library. A quick legend for the completeness percentage.

100% - Implemented Commands, Full tests, Mock responses in the library 50% - Implemented Commands, Not tested or minimally tested, Mocks may or may not exist 0% - Not implemented

Alert Spec Subjects
Command v1.0 v1.5
create 100% 0%
Model 0% 0%

Alert Spec
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 50% 0%
Model 0% 0%

Audit Entries
Command v1.0 v1.5
show 100% 0%
Model 0% 0%

Component EC2 EBS Volumes
Command v1.0 v1.5
create 100% 0%
destroy 100% 0%
Model 0% 0%

Servers
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
start 100% 0%
start_ebs 100% 0%
stop 100% 0%
stop_ebs 100% 0%
reboot 100% 0%
run_script 50% 0%
run_executable 50% 0%
attach_volume 50% 0%
settings 100% 0%
get_sketchy_data 100% 0%
current/show 100% 0%
current/update 100% 0%
current/settings 100% 0%
alert_specs 100% 0%
monitoring 100% 0%
monitoring/graph-name 100% 0%
Model 100% 0%

Credentials
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
Model 0% 0%

Deployments
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
duplicate 100% 0%
start_all 100% 0%
stop_all 100% 0%
Model 100% 0%

EC2 EBS Snapshots
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
Model 0% 0%

EC2 EBS Volumes
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
Model 0% 0%

EC2 Elastic IPs
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
destroy 100% 0%
Model 0% 0%

EC2 Security Groups
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
Model 0% 0%

Server Arrays
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
terminate_all 100% 0%
launch 100% 0%
run_script_on_all 50% 0%
instances 100% 0%
Model 50% 0%

EC2 SSH Keys
Command v1.0 v1.5
show 100% 0%
create 100% 0%
destroy 100% 0%
Model 100% 0%

Macros
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
Model 0% 0%

Multi Cloud Images
Command v1.0 v1.5
show 100% 0%
index 100% 0%
Model 100% 0%

Right Scripts
Command v1.0 v1.5
show 100% 0%
index 100% 0%
Model 0% 0%

S3 Bucket
Command v1.0 v1.5
create 100% 0%
destroy 100% 0%
Model 0% 0%

Server Template
Command v1.0 v1.5
show 100% 0%
index 100% 0%
create 100% 0%
update 100% 0%
destroy 100% 0%
executables 100% 0%
alert_specs 100% 0%
Model 0% 0%

SQS Queues
Command v1.0 v1.5
show 50% 0%
index 50% 0%
create 50% 0%
destroy 50% 0%
Model 0% 0%

Statuses
Command v1.0 v1.5
show 50% 0%
Model 0% 0%

Tags
Command v1.0 v1.5
search 100% 0%
set 100% 0%
unset 100% 0%
taggable_resources 100% 0%
Model 0% 0%

VPC DHCP Option
Command v1.0 v1.5
show 50% 0%
index 50% 0%
create 50% 0%
update 50% 0%
destroy 50% 0%
Model 0% 0%

TODO

  • Allow the user to specify a logger.

About

A guzzle based REST client for the RightScale 1.0 API for PHP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%