rackspace/php-opencloud
PHP SDK for Rackspace OpenCloud/OpenStack services. Manage Cloud Servers, Files, DNS, Load Balancers, Databases, Monitoring, and Identity via a unified API with authentication, region support, and common resource helpers for building cloud integrations.
composer.jsonlistPorts method (#603)composer.json regression which only installed Guzzle/Http rather than all packages.Container::uploadObjects() can now return an array of DataObjects (#546)listContainers() (#527)guzzle/guzzle instead of various guzzle/* packages (#544)The "alpha" tag on this release indicates that the PHP API provided by the SDK for the new CDN service might change in a backwards-incompatible manner. Once stable, we will release the new CDN service as part of a regular, non-alpha release.
X-Auth-Token header was not being reset before authentication, causing OpenStack auth calls to fail (#484 — bug reported by @notFloran)httpsRedirect as an updatable attribute (#367)PaginatedIterator from fetchDataPoints now returns MetricDataPoints instead of Metrics (#387 — bug fixed by @Ben-Speakman)X-*-Meta-* (#403 — bug reported and fixed by @killswitch)claim_id (#382)copy method only supports cross-container migrations in one region. For more information about how to implement this, please consult the documentation.AbstractService, since the method was already defined in ServiceInterface - this caused problems with versions of 5.3OpenCloud\Version class for greater clarity--prefer-source flag to Travis builds to get around Github API rate-limitsOpenCloud\Common\Collection\ResourceIterator that was causing errors (fixes #249)OpenStack\Rackspace so it references the correct CredentialError class (fixes #253)fopen() (fixes #262)Full changelog can be found here
condition, weight or type).X-Auth-Token header to be set when importing credentials (#236)Content-Type header (#198)PUT operation.application/json.application/json by default for all entity-enclosing request (#221 and #222)Guzzle\Http\Url), allowing for greater functionalityGuzzle\Http\EntityBody object, which extends and builds on the native functionality offered by PHP streams. Now there is a cool abstraction layer that offers a lot of consistencyFor a complete list of features, view the official page.
Although code now exists in the SDK for API compatability for creating servers with keypairs, there has been a recent bug in Nova where certain endpoints (DFW, IAD and ORD) do not exhibit the desired functionality. A patch will be released in the near future. For reference, you just need to add in an extra array key:
try {
$server->create(array(
'name' => 'test',
'image' => $image,
'flavor' => $flavor,
'networks' => array(
$service->network(RAX_PUBLIC),
$service->network(RAX_PRIVATE)
),
'OS-DCF:diskConfig' => 'AUTO',
'keypair' => array(
'name' => 'id_rsa.pub',
'publicKey' => file_get_contents('/path/to/local/key')
)
));
} catch (\Guzzle\Http\Exception\ClientErrorResponseException $e) {
var_dump($e->getResponse());
}
Account, Container, CDNContainer, DataObjectOpenCloud\ObjectStore\Upload\TransferBuilder factory for handling large uploads (+5GB) that require chunkingIf-Match, If-None-Match, If-Modified-Since and If-Unmodified-Since).
Range is also now supported for partial content returns.__DIR__ to all internal require() calls. [Issue #40]How can I help you explore Laravel packages today?