purple-dbu/vcloud-sdk-helpers

用于vCloud Director PHP SDK的工具类

v1.2.4 2014-04-15 08:33 UTC

This package is auto-updated.

Last update: 2024-09-12 23:51:49 UTC


README

用于vCloud Director PHP SDK的工具类

Build Status Coverage Status Dependency Status

Latest Stable Version

安装

可以通过Composer进行安装。您只需在您的composer.json中添加以下内容

  "repositories": [
    {
      "type": "pear",
      "url": "http://pear.php.net"
    }
  ],
  "require": {
    "purple-dbu/vcloud-sdk-helpers": "1.1.3"
  }

使用方法

有关完整的使用说明,请参阅API 文档

正确的助手

正确的助手让您轻松地操作用户权限。它帮助您确定当前登录用户的权限。

确定当前用户是否是其组织的管理员

$service = \VMware_VCloud_SDK_Service::getService();
$service->login(...);

\VCloud\Helpers\Right::create($service)->isCurrentUserOrganizationAdmin();

// => true|false depending on currently logged user rights

查询助手

查询助手让您轻松地操作vCloud SDK查询服务。它提供了分页的抽象。

获取查询 'adminVApp' 的所有结果

$service = \VMware_VCloud_SDK_Service::getService();
$service->login(...);

\VCloud\Helpers\Query::create($service)->queryRecords(\VMware_VCloud_SDK_Query_Types::ADMIN_VAPP);

// => array(
//        \VMware_VCloud_API_QueryResultAdminVAppRecordType,
//        ...
//    )

获取 id 为 'c47ddf20-05de-44f5-b79e-c463992ffd3f' 的查询结果 'adminVApp'

$service = \VMware_VCloud_SDK_Service::getService();
$service->login(...);

\VCloud\Helpers\Query::create($service)->queryRecord(
    \VMware_VCloud_SDK_Query_Types::ADMIN_VAPP,
    'id==c47ddf20-05de-44f5-b79e-c463992ffd3f'
);

// => \VMware_VCloud_API_QueryResultAdminVAppRecordType
// OR null if no vApp exist with such id

异常助手

异常助手让您轻松地操作vCloud SDK异常(VMware_VCloud_SDK_Exception)。它允许从原始异常消息中提取错误代码和消息,该消息只是以下形式的原始XML

<Error
    xmlns="http://www.vmware.com/vcloud/v1.5"
    message="xs:string"
    majorErrorCode="xs:int"
    minorErrorCode="xs:string"
    vendorSpecificErrorCode="xs:string"
    stackTrace="xs:string"
/>

获取错误消息

...
catch(\VMware_VCloud_SDK_Exception $e) {
    \VCloud\Helpers\Exception::create($e)->getMessage($e);

    // => (string) The message contained in the error XML
}

获取错误代码

...
catch(\VMware_VCloud_SDK_Exception $e) {
    \VCloud\Helpers\Exception::create($e)->getMajorErrorCode($e);

    // => (int) The major error code contained in the error XML
}

元数据助手

元数据助手让您轻松地操作vCloud对象上的元数据。它帮助找到具有特定元数据的对象(可以是特定值或任何值)。

获取所有具有给定元数据集的vApp模板(任何值)

$service = \VMware_VCloud_SDK_Service::getService();
$service->login(...);

\VCloud\Helpers\Metadata::create($service)->getObjects(
    \VMware_VCloud_SDK_Query_Types::ADMIN_VAPP_TEMPLATE,
    'myMetadata'
);

// => array(
//        \VMware_VCloud_SDK_VAppTemplate,
//        ...
//    )
// The result array contains all the vApp Templates that hold a metadata named
// "myMetadata"

获取给定元数据集设置为特定值的第一个vApp模板

$service = \VMware_VCloud_SDK_Service::getService();
$service->login(...);

\VCloud\Helpers\Metadata::create($service)->getObject(
    \VMware_VCloud_SDK_Query_Types::ADMIN_VAPP_TEMPLATE,
    'someId',
    '23d6deb1-1778-4325-8289-2f150d122675'
);

// => \VMware_VCloud_SDK_VAppTemplate
// 
// The result vApp Template is the first vApp Template that holds a metadata
// named "someId" with the value "23d6deb1-1778-4325-8289-2f150d122675"

许可

本项目遵循MIT 许可协议发布。如果由于任何原因此许可证不适合您的需求,但您有兴趣在其他许可证下使用该作品(如下所述),请联系Purple DBU,邮箱:dbu.purple@gmail.com

贡献

贡献(问题♥,拉取请求♥♥♥)非常欢迎!请随意克隆、分支、修改、扩展等,只要您尊重许可条款

要求

您需要安装以下软件

  • git
  • make
  • curl
  • php >= 5.3.2

您需要有一个可工作的vCloud Director安装。

入门

要开始贡献,最好是遵循以下步骤

  1. 创建GitHub账户
  2. 创建此项目的分支副本
  3. 将其克隆到您的机器:git clone https://github.com/<you>/vcloud-sdk-php-helpers.git
  4. 进入项目的根目录:cd vcloud-sdk-php-helpers
  5. 创建文件tests/config.phpcp tests/config.php.dist tests/config.php
  6. 编辑tests/config.php并根据您的vCloud Director配置设置值
  7. 安装依赖项:make dependencies
  8. 运行测试:make test

常见任务

  • 更新依赖项:make dependencies
  • 清理依赖项:make clean
  • 检查代码质量:make lint
  • 运行集成测试:make integration
  • 为单元测试生成存根:make stubs
  • 运行单元测试:make test
  • 生成API文档:make doc
  • 发布API文档:make publish

版本管理

语义化版本控制(Semver)为基础进行版本控制,本项目还遵循额外的版本编号指南。每个版本格式为x.y.z,其中

  • x的任何修改都会引入向下不兼容的破坏
  • y的任何修改都会引入一个新特性
  • y的修改只是对现有补丁的纠正