rgeyer/guzzle-rs

RightScale API 1.0 和 1.5 的 Guzzle 客户端

v0.0.1 2012-08-11 00:14 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:52:54 UTC


README

Build Status

rs_guzzle_client 是一个用于 RightScale API 的 PHP Guzzle REST API 客户端库。

支持 API 的 v1.0 和 v1.5 版本。并非所有 API 调用都得到覆盖,支持调用的表格如下。

安装

将 rs_guzzle_client 添加到您的 Guzzle 安装的 src/Guzzle/Rs 目录

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

现在您可以构建包含 guzzle-aws 和主 Guzzle 框架的 phar 文件

cd /path/to/guzzle/build
phing phar

现在您只需在脚本中包含 guzzle.phar。phar 文件将负责自动加载 Guzzle 类

    <?php
    require_once 'guzzle.phar';

获取您的服务器的示例脚本

<?php
    require_once 'guzzle.phar';
    $serviceBuilder = \Guzzle\Service\ServiceBuilder::factory(array(
    'guzzle-rs-1_0' => array(
        'class'     => 'RGeyer\Guzzle\Rs\RightScaleClient',
        'params'     => array(
            'acct_num'     => '00000', // your rightscale account id
            'email'            => 'your@email.com',
            '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 覆盖范围

以下列出当前由库支持的控制器(及其命令)。快速图例以显示完整性百分比。

100% - 实现的命令、完整测试、库中的模拟响应 50% - 实现的命令、未测试或最小测试、模拟可能存在或不存在 0% - 未实现































待办事项

  • 允许用户指定记录器。
  • ModelBase 的 "duplicate" 和 "clone" 应在 Ec2 或 Mc 类上都能正常工作。
  • 处理 HTTP 500 seek() null 错误
  • 减少(或消除)对 ServiceBuilder 和 ClientFactory 的需求
  • ModelBase 应假定 API 调用与关系名称相同,除非另行指定。例如,'cloud' 的关系将调用带有 ID 的 'cloud' 命令
  • 将标记功能重构到 ModelBase 或 "IsTaggable" 混合类中。请参阅 Model\Mc\Server 中的示例,了解如何 要这样做
  • 测试具体模型上的可选/必选参数。例如,create 上的 deployment[name] 是一个无效参数,除非将其定义为必选或可选,基本类型是不够的。
  • 测试应确保执行命令请求关系的模型正确覆盖了命令的路径。