Permalink
Browse files

1.5.7 release. http://aws.amazon.com/releasenotes/0798917048577730

  • Loading branch information...
1 parent 9e51818 commit 3059cfeb21ba700abf4e9b240ede8423eefc4ae5 @skyzyx skyzyx committed Jun 12, 2012
View
4 README.md
@@ -127,6 +127,10 @@ your project with:
3. Make sure that `getenv('HOME')` points to your user directory. If not you'll need to set
`putenv('HOME=<your-user-directory>')`.
+This is because PHP will attempt to load the file from your user directory (e.g., `~/.aws/sdk/config.inc.php`).
+If PHP doesn't happen to know where your user directory is, you'll need to tell PHP where it is with the `putenv()`
+function.
+
## Additional Information
View
62 _docs/CHANGELOG.md
@@ -1,11 +1,63 @@
+# Changelog: "HyperCard"
+One of the first successful hypermedia systems before the World Wide Web, developed by Apple. <http://en.wikipedia.org/wiki/HyperCard>
+
+Launched Monday, June 11th, 2012.
+
+## Bug fixes and enhancements
+* [Handling of NULL bytes](https://forums.aws.amazon.com/thread.jspa?threadID=94935)
+* [Bug with setting credentials](https://forums.aws.amazon.com/thread.jspa?messageID=337661)
+* [Add a composer.json configuration](https://github.com/amazonwebservices/aws-sdk-for-php/pull/29)
+* [Change auto home detection for windows](https://github.com/amazonwebservices/aws-sdk-for-php/pull/28)
+* [Encode ampersands in keys passed to delete_objects](https://github.com/amazonwebservices/aws-sdk-for-php/pull/27)
+* Bug with S3 object copy
+* Bug with JSON encoding happening too early
+
+## Runtime
+* **New:** Support for retrieving credentials using IAM Instance Profiles has been added to the SDK.
+* **Fixed:** Resolved an issue where default credentials must be provided in the case of multiple credential sets.
+
+## Services
+### AmazonAS
+* **New:** Support for specifying spot instances in Auto Scaling has been added to the SDK.
+* **New:** Support for IAM Instance Profiles has been added to the SDK.
+
+### AmazonDynamoDB
+* **Fixed:** Resolved an issue where JSON encoding was happening too early in the request process.
+* **Fixed:** Resolved an issue where providing token-based credentials caused errors.
+* **Fixed:** Resolved an issue where null-bytes were causing data to be truncated.
+
+### AmazonEC2
+* **New:** Support for IAM Instance Profiles has been added to the SDK.
+* **New:** Support for VM export tasks has been added to the SDK.
+* **New:** Support for AWS Marketplace product codes has been added to the SDK.
+* **New:** Support for an enhanced `describe_instance_status()` has been added to the SDK.
+
+### AmazonElastiCache
+* **New:** Support for reserved cache nodes has been added to the SDK.
+
+### AmazonIAM
+* **New:** Support for IAM Instance Profiles has been added to the SDK.
+
+### AmazonS3
+* **Fixed:** Resolved an issue where ampersands were not being encoded correctly in `delete_objects` calls.
+* **Fixed:** Resolved an issue where content-types were being incorrectly set in `copy_object` calls.
+
+### AmazonStorageGateway
+* **Fixed:** Resolved an issue where JSON encoding was happening too early in the request process.
+
+### AmazonSWF
+* **Fixed:** Resolved an issue where JSON encoding was happening too early in the request process.
+
+----
+
# Changelog: 1.5.6.2 "Gershwin"
Code name for Apple's never-released successor to the never-released Copeland. <http://en.wikipedia.org/wiki/Gershwin_operating_system>
-Launched Tuesday, May 29th, 2012.
+Launched Tuesday, May 30th, 2012.
## Services
### AmazonDynamoDB
-- **Fixed:** STS credentials were not always being cached correctly.
+* **Fixed:** STS credentials were not always being cached correctly.
----
@@ -16,7 +68,7 @@ Launched Tuesday, May 24th, 2012.
## Services
### AmazonDynamoDB
-- **Fixed:** STS credentials were not always being cached correctly.
+* **Fixed:** STS credentials were not always being cached correctly.
----
@@ -27,8 +79,8 @@ Launched Tuesday, May 15th, 2012.
## Services
### AmazonSES
-- **New:** Support for domain verification has been added to the SDK, which enables customers to verify an entire email domain.
-- **New:** Requests to this service are now signed with Signature V4.
+* **New:** Support for domain verification has been added to the SDK, which enables customers to verify an entire email domain.
+* **New:** Requests to this service are now signed with Signature V4.
----
View
3 _docs/CONTRIBUTORS.md
@@ -9,13 +9,16 @@ The following people have provided ideas, support and bug fixes:
* [arech8](http://developer.amazonwebservices.com/connect/profile.jspa?userID=154435) (bug fixes)
* [Aizat Faiz](http://aizatto.com) (bug fixes)
* [Ben Lumley](http://github.com/benlumley) (bug fixes)
+* [Dan Stillman](https://github.com/dstillman) (bug fixes)
+* [Daniel Holmes](https://github.com/danielholmes) (bug fixes)
* [David Chan](http://www.chandeeland.org) (bug fixes)
* [Eric Caron](http://www.ericcaron.com) (bug fixes)
* [Jason Ardell](http://ardell.posterous.com/) (bug fixes)
* [Jeremy Archuleta](http://code.google.com/u/jeremy.archuleta/) (bug fixes)
* [Jimmy Berry](http://blog.boombatower.com/) (bug fixes, patches)
* [Paul Voegler](mailto:voegler@gmx.de) (bug fixes, bug reports, patches)
* [Peter Bowen](http://github.com/pzb) (feedback, bug reports)
+* [Roman Cambian](https://github.com/rcambien) (patches)
* [zoxa](https://github.com/zoxa) (bug fixes)
View
23 authentication/signature_v3json.class.php
@@ -54,11 +54,9 @@ public function authenticate()
$date = gmdate(CFUtilities::DATE_FORMAT_RFC2616, $current_time);
$timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time);
$nonce = $this->util->generate_guid();
- $curlopts = array();
$signed_headers = array();
- $return_curl_handle = false;
$x_amz_target = null;
- $query = array('body' => $this->payload);
+ $query = array();
// Do we have an authentication token?
if ($this->auth_token)
@@ -83,28 +81,11 @@ public function authenticate()
$query['Version'] = $this->api_version;
}
- $curlopts = array();
-
- // Set custom CURLOPT settings
- if (is_array($this->payload) && isset($this->payload['curlopts']))
- {
- $curlopts = $this->payload['curlopts'];
- unset($this->payload['curlopts']);
- }
-
- // Merge in any options that were passed in
- if (is_array($this->payload))
- {
- $query = array_merge($query, $this->payload);
- }
-
- $return_curl_handle = isset($query['returnCurlHandle']) ? $query['returnCurlHandle'] : false;
- unset($query['returnCurlHandle']);
-
// Do a case-sensitive, natural order sort on the array keys.
uksort($query, 'strcmp');
// Normalize JSON input
+ $query['body'] = json_encode($this->payload);
if (isset($query['body']) && $query['body'] === '[]')
{
$query['body'] = '{}';
View
6 authentication/signature_v4json.class.php
@@ -62,11 +62,7 @@ public function authenticate()
$this->query = array();
// Prepare JSON structure
- $decoded = json_decode($this->payload, true);
- $data = (array) (is_array($decoded) ? $decoded : $this->payload);
- unset($data['curlopts']);
- unset($data['returnCurlHandle']);
- $this->body = json_encode($data);
+ $this->body = json_encode($this->payload);
if ($this->body === '' || $this->body === '[]')
{
$this->body = '{}';
View
27 composer.json
@@ -0,0 +1,27 @@
+{
+ "name":"amazonwebservices/aws-sdk-for-php",
+ "description":"AWS SDK for PHP",
+ "keywords":["aws","amazon","sdk","s3","ec2","dynamodb"],
+ "type":"library",
+ "license":"Apache-2.0",
+ "authors":[
+ {
+ "name":"Amazon Web Services",
+ "homepage":"http://aws.amazon.com"
+ }
+ ],
+ "homepage": "http://aws.amazon.com/sdkforphp/",
+ "require":{
+ "php":">=5.2.0"
+ },
+ "autoload":{
+ "classmap": [
+ "authentication/",
+ "extensions/",
+ "lib/",
+ "services/",
+ "utilities/",
+ "sdk.class.php"
+ ]
+ }
+}
View
6 lib/dom/ArrayToDOMDocument.php
@@ -66,6 +66,12 @@ private static function createDOMElement($source, $tagName, DOMDocument $documen
{
if (!is_array($source))
{
+ // Handle NULL bytes
+ if (strpos($source, "\0") !== false)
+ {
+ $source = 'json_encoded::' . json_encode($source);
+ }
+
$element = $document->createElement($tagName);
$element->appendChild($document->createCDATASection($source));
View
16 package.xml
@@ -10,11 +10,11 @@
<email>rparman@amazon.com</email>
<active>yes</active>
</lead>
- <date>2012-05-29</date>
- <time>12:42:45</time>
+ <date>2012-06-11</date>
+ <time>17:52:00</time>
<version>
- <release>1.5.6.2</release>
- <api>1.5.6.2</api>
+ <release>1.5.7</release>
+ <api>1.5.7</api>
</version>
<stability>
<release>stable</release>
@@ -23,7 +23,7 @@
<license uri="http://aws.amazon.com/apache2.0/">Apache 2.0</license>
<notes>-</notes>
<contents>
- <dir baseinstalldir="AWSSDKforPHP" name="/"><file baseinstalldir="AWSSDKforPHP" role="php" name="README.md" md5sum="5ebb7e264b1131f56b91dde12f3ca3a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="config-sample.inc.php" md5sum="ade3d570d4567c994cee701cfd913fb0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="sdk.class.php" md5sum="70126c196bb8b2af40a4c1ef94caa56f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/README.md" md5sum="c29429ec7a18c756729b5e56dcf46615"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility.inc.php" md5sum="229fac3f481065fd7febad9c38e2085b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility_test.php" md5sum="c4ce64589e3a502835b270a06afc65c6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility_test_cli.php" md5sum="e76994b0909ccf877e4017d69c259500"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/CHANGELOG.md" md5sum="f203dc1d04355395fd64f97df213f116"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/CONTRIBUTORS.md" md5sum="f07fc54e0f2c563aaa4b30739ff75d7b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/DYNAMODBSESSIONHANDLER.html" md5sum="b5e621a8fe4ee6fceda7e95cb94497b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/KNOWNISSUES.md" md5sum="759e4ce35f77f1c446de1987a6404605"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/LICENSE.md" md5sum="c101f69c0271135eef789cd808a30eae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/NOTICE.md" md5sum="c77555a244f25e132f88a8ba9bf7058a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/STREAMWRAPPER_README.html" md5sum="f46a4a4c29600818707f086c7138f17c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/WHERE_IS_THE_API_REFERENCE.md" md5sum="8d9d9d1b44dc35483b4cae8619ed95a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/README.md" md5sum="13d920a4d2473746f18573c343d31baf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-ec2_sorting_and_filtering.php" md5sum="007e77ce401da9e16c275a3cef346ea6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-s3_get_urls_for_uploads.php" md5sum="9189e7319a83befdd105541d827051e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-s3_progress_bar.php" md5sum="df3544aa6d043d072cd596b059313b6b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/html-dynamodb_sessions_login.php" md5sum="d296b895d3a155d2497d176faecb7d8d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/html-sdb_create_domain_data.php" md5sum="83534b6952e686853fdc6a62d75ef541"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/lib/ProgressBar.php" md5sum="b7af80295476f281425cfe6095cfcfde"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/audio.wav" md5sum="36235fb7f88a1cec806119529058f806"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/plain.txt" md5sum="c947c2eb40966243d4471eab7926961c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/video.mp4" md5sum="c784874fd5b2532e64a9ca1090e68a9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/word.doc" md5sum="1efd2ffd8cb5426e5c405b709f924b11"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signable.interface.php" md5sum="d2e6655d85141fd827553a5684d695ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v2query.class.php" md5sum="12673959fd1eacd00a557b3ca457b90a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v3json.class.php" md5sum="886798df7c07e5be8f4c45f20837ba43"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v3query.class.php" md5sum="c59b6c0024de9f92d509239e8303943a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v4json.class.php" md5sum="2cdcf7ed8d70648926956240bbae5d71"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v4query.class.php" md5sum="c9a27dc754777fab2927e35cd539f7bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signer.abstract.php" md5sum="ada9310deaef0b6391381bb8fbe75d75"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/dynamodbsessionhandler.class.php" md5sum="04e80b7a4c469294ae8bb5d164af04c8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/s3browserupload.class.php" md5sum="4ec019d950fb83c40f90f78d97bb41ad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/s3streamwrapper.class.php" md5sum="5ab2df9a1fcbe4e2bfa5fd29ff7189e0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/LICENSE" md5sum="70f142181074f83b33d258164c008cd9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/README" md5sum="69bacd091afe98a53695d99b1deca48e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cacheapc.class.php" md5sum="de19901a07780f8135d7f7af9eb120fb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachecore.class.php" md5sum="e1cc8a1db18935ec4b1fb54daa5ec4db"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachefile.class.php" md5sum="6d538b3a6f50fe256356d9488e52315c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachemc.class.php" md5sum="9cf82343d252ce00f29604f49fb8ed75"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachepdo.class.php" md5sum="770ec2ca78f53ee48dfc57e912c7d3fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachexcache.class.php" md5sum="c84bea5a1a12a1858cdc8ac74b292db6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/icachecore.interface.php" md5sum="eddc7dec5da4bad0faaba229b7bbb9b1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/README" md5sum="bb14abe0c209c9f54256975bae796c9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/mysql.sql" md5sum="dc8b835b3e737bfb5905a61391b6e4a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/pgsql.sql" md5sum="ddc5308c119fb421b3d26eff1238229a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/sqlite3.sql" md5sum="12810a853ca7e2b5dc35654fb241cee5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/ArrayToDOMDocument.php" md5sum="37dc7a999da2ec94a37a8e7cc28b630b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/LICENSE" md5sum="70f142181074f83b33d258164c008cd9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/README.md" md5sum="702485f100351d8dcc1346d087d09656"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/cacert.pem" md5sum="b78517772ef2c63a849568b66cf31d4d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/requestcore.class.php" md5sum="6b4701747eae56ba8abce0fc69d45845"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/LICENSE" md5sum="4828aab1cb984d8a5d29e1c0df3cdcbd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/README.markdown" md5sum="872df9017f6485111a36d2ce9c1e8bdc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYaml.php" md5sum="2b7116a9f3bf6f9e8cd914c81bf79830"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlDumper.php" md5sum="28196a0efdcea67d72e1eaf71e936958"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlInline.php" md5sum="9a63c1c4637eea3b4e208bea63e52baa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlParser.php" md5sum="91d3546a19262abc38275eb8f9d6dfb4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/as.class.php" md5sum="02274a8e9cbc3e9338c04bc1677d3b3f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudformation.class.php" md5sum="709a39906dca6c178ce0ea458dc22301"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudfront.class.php" md5sum="c9d4addb4976b8ee8ca005ae23f139fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudsearch.class.php" md5sum="8d43f81b5aa6b7ca60dedde604f475a5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudwatch.class.php" md5sum="6213fec6cc66f5547d33d5d37d6bc2d2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/dynamodb.class.php" md5sum="bc4cf62ae3f55e4565dd78f8a035942b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/ec2.class.php" md5sum="a2c3eee06d01221035f39d1bd6e1583e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elasticache.class.php" md5sum="92554094bb2a5622e35c1438080bc060"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elasticbeanstalk.class.php" md5sum="27ae1e37fd05ab28fd891f7a3cded5bd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elb.class.php" md5sum="1dec44d40a2ae183f2ad7caf8c9b7e5b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/emr.class.php" md5sum="35c3fe6331d18eeaab4d08fe257ccd4e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/iam.class.php" md5sum="a9d4e732550f44483295ed5419d52e4f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/importexport.class.php" md5sum="9d0550c2fd972e3ad1eb6b50cb85d2db"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/rds.class.php" md5sum="34ea7e5b075d9d12d09c23785c33f079"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/s3.class.php" md5sum="a1be13f44b6b8ec32c759cfa7f5d41c4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sdb.class.php" md5sum="17a720f3aeb7fcfc9a3f61034b686899"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/ses.class.php" md5sum="49f74c26571d942e55c7922de9b07350"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sns.class.php" md5sum="dc5477208680f82a77c0725aa9585ddd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sqs.class.php" md5sum="32ee4b5aa04a367dd17fb0292540c357"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/storagegateway.class.php" md5sum="466f10e2e3035f059a36877092aff908"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sts.class.php" md5sum="1049c94c038370f829339a10aabfaaf4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/swf.class.php" md5sum="eaa3eaf6095814648ab62c7196ebe0e4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/array.class.php" md5sum="9841d72dc8e8ec5c8442beb4f8a8ba58"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/batchrequest.class.php" md5sum="76500fa538d8d34e8f93f00576426916"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/complextype.class.php" md5sum="57442bdc6b0dc293ebad9d4957a232d3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/credential.class.php" md5sum="8079be3eaf46c53385a53c47035de0f5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/credentials.class.php" md5sum="f8a042512da6b781225ad9202aee26ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/gzipdecode.class.php" md5sum="72f04c67d939781212ba4a50b716b312"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopbase.class.php" md5sum="aa7e733943aabd2e6c70d71f48ed6a61"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopbootstrap.class.php" md5sum="26493fbcb4f029deeb059c35b6a3208d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopstep.class.php" md5sum="59e65597f64c334c2598c1b070f756dd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/info.class.php" md5sum="5cb2ea67be42002a92a5c3df50a9074d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/json.class.php" md5sum="bdb863cd348d8986d6e71c7cb6f9ad41"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/manifest.class.php" md5sum="4e0ccf098687db506c730940bef460c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/mimetypes.class.php" md5sum="9a3e2f6c4f071ee835f695d5e698ba83"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/policy.class.php" md5sum="3636c183bfccbcd4cf6b23144cc49038"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/request.class.php" md5sum="f226fd38a6219b584ffe1810071d6b57"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/response.class.php" md5sum="d5331e92a1974069ca49009bf2cba8d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/simplexml.class.php" md5sum="816972d3382766b66ae6ea9c2f4d7429"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/stacktemplate.class.php" md5sum="496fac08955ffca1cd2fbba54a646b8b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/stepconfig.class.php" md5sum="0c485483eb7b64c9441f6998f6045a4f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/utilities.class.php" md5sum="18d7794013975183e3a95f3d772e4f02"/></dir>
+ <dir baseinstalldir="AWSSDKforPHP" name="/"><file baseinstalldir="AWSSDKforPHP" role="php" name="README.md" md5sum="7a209390568eeefd350798895a155ba2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="composer.json" md5sum="db8be868a69166efcae10b58c763b31e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="config-sample.inc.php" md5sum="ade3d570d4567c994cee701cfd913fb0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="sdk.class.php" md5sum="da546ae70d063ecbb9ce54049c49e959"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/array.class.php" md5sum="9841d72dc8e8ec5c8442beb4f8a8ba58"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/batchrequest.class.php" md5sum="76500fa538d8d34e8f93f00576426916"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/complextype.class.php" md5sum="57442bdc6b0dc293ebad9d4957a232d3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/credential.class.php" md5sum="8079be3eaf46c53385a53c47035de0f5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/credentials.class.php" md5sum="bc972eca80876aa9a6b2712de41aa44b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/gzipdecode.class.php" md5sum="72f04c67d939781212ba4a50b716b312"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopbase.class.php" md5sum="aa7e733943aabd2e6c70d71f48ed6a61"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopbootstrap.class.php" md5sum="26493fbcb4f029deeb059c35b6a3208d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/hadoopstep.class.php" md5sum="59e65597f64c334c2598c1b070f756dd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/info.class.php" md5sum="5cb2ea67be42002a92a5c3df50a9074d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/json.class.php" md5sum="bdb863cd348d8986d6e71c7cb6f9ad41"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/manifest.class.php" md5sum="4e0ccf098687db506c730940bef460c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/mimetypes.class.php" md5sum="9a3e2f6c4f071ee835f695d5e698ba83"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/policy.class.php" md5sum="3636c183bfccbcd4cf6b23144cc49038"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/request.class.php" md5sum="f226fd38a6219b584ffe1810071d6b57"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/response.class.php" md5sum="d5331e92a1974069ca49009bf2cba8d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/simplexml.class.php" md5sum="bc4bfc2e407329b0e7de0e28e72082e6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/stacktemplate.class.php" md5sum="496fac08955ffca1cd2fbba54a646b8b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/stepconfig.class.php" md5sum="0c485483eb7b64c9441f6998f6045a4f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="utilities/utilities.class.php" md5sum="18d7794013975183e3a95f3d772e4f02"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/dynamodbsessionhandler.class.php" md5sum="04e80b7a4c469294ae8bb5d164af04c8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/s3browserupload.class.php" md5sum="4ec019d950fb83c40f90f78d97bb41ad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="extensions/s3streamwrapper.class.php" md5sum="5ab2df9a1fcbe4e2bfa5fd29ff7189e0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signable.interface.php" md5sum="d2e6655d85141fd827553a5684d695ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v2query.class.php" md5sum="12673959fd1eacd00a557b3ca457b90a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v3json.class.php" md5sum="a183553dfd39475ebc23d59f329361e0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v3query.class.php" md5sum="c59b6c0024de9f92d509239e8303943a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v4json.class.php" md5sum="109e81faacd4be71cb213c65cdec1ae6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signature_v4query.class.php" md5sum="c9a27dc754777fab2927e35cd539f7bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="authentication/signer.abstract.php" md5sum="ada9310deaef0b6391381bb8fbe75d75"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/ArrayToDOMDocument.php" md5sum="1b51d247eacc5a02933f60774880c417"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/books.phpt" md5sum="89c05b7e0929dfe947885239e44c099f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/different_root_nodes.phpt" md5sum="45b17cb08d39e5de38e8baf90603c519"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/empty_inner.phpt" md5sum="047bacc6cd2282db1e16e2d55bf3182a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/empty_outer.phpt" md5sum="8c7a1178d04054d67c8d3b1aceb0fdfc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/list_of_hashes.phpt" md5sum="00de6795f5b3f918c854770aa78509a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/list_of_hashes2.phpt" md5sum="3188d2db933ccddeb7b508dddd68141e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/null_bytes.phpt" md5sum="84919f5dad25d3ca87debfa3d4685e70"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/same_root_nodes.phpt" md5sum="87977e04c3c5a4f4ecb732f40fb7190d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/dom/_tests/simple.phpt" md5sum="1c898a162d910c24d282e20d9b40502f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/LICENSE" md5sum="4828aab1cb984d8a5d29e1c0df3cdcbd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/README.markdown" md5sum="872df9017f6485111a36d2ce9c1e8bdc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYaml.php" md5sum="2b7116a9f3bf6f9e8cd914c81bf79830"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlDumper.php" md5sum="28196a0efdcea67d72e1eaf71e936958"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlInline.php" md5sum="9a63c1c4637eea3b4e208bea63e52baa"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/yaml/lib/sfYamlParser.php" md5sum="91d3546a19262abc38275eb8f9d6dfb4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/LICENSE" md5sum="70f142181074f83b33d258164c008cd9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/README" md5sum="69bacd091afe98a53695d99b1deca48e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cacheapc.class.php" md5sum="de19901a07780f8135d7f7af9eb120fb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachecore.class.php" md5sum="e1cc8a1db18935ec4b1fb54daa5ec4db"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachefile.class.php" md5sum="6d538b3a6f50fe256356d9488e52315c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachemc.class.php" md5sum="9cf82343d252ce00f29604f49fb8ed75"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachepdo.class.php" md5sum="770ec2ca78f53ee48dfc57e912c7d3fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/cachexcache.class.php" md5sum="c84bea5a1a12a1858cdc8ac74b292db6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/icachecore.interface.php" md5sum="eddc7dec5da4bad0faaba229b7bbb9b1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/AllTests.php" md5sum="b967961f53854ea43e7b603c0539a894"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheAPC-class_exists.phpt" md5sum="e2676afe7d0f226e3db8bf2702ba019a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheAPC-class_implements.phpt" md5sum="4425f8cd81178d537271413e20740a2e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheAPC-object_type.phpt" md5sum="78d96f5d99ad0cc6a7e509ed76fd8fcd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheCore-class_exists.phpt" md5sum="ddaa215b428131a0539388538c3120c2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheCore-class_implements.phpt" md5sum="c974bf9bbb403e0d9ae319924cb16b71"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheCore-object_type.phpt" md5sum="535c7a9a90bd7bf7930b6abf887c39af"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheFile-class_exists.phpt" md5sum="5cf0d1a692190646a82aafc5a9cb41ee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheFile-class_implements.phpt" md5sum="602b82811a51a364ce7ed990edc65474"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheFile-object_type.phpt" md5sum="6e1b92ed28f14a95f6c303540895e9a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheMC-class_exists.phpt" md5sum="3b8835b7207dc9c14519ac4244d1ad45"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheMC-class_implements.phpt" md5sum="4cc67e15c3c7835d05d23b1d143201fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheMC-object_type.phpt" md5sum="9a4d669e026d1ed6a25ba9d44b5746ab"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CachePDO-class_exists.phpt" md5sum="972c8b4878f371e8944e89048bd1b6ad"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CachePDO-sqlite_class_implements.phpt" md5sum="ba30834da8360ae21cccea385a7728e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CachePDO-sqlite_object_type.phpt" md5sum="f51ec3d9abbed7bfb506e3d7eb3b8c7b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheXCache-class_exists.phpt" md5sum="742bbc2cfed061359dd59b191a0fce48"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheXCache-class_implements.phpt" md5sum="c7799c72f115968d2b91ac868b9b72c6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/CacheXCache-object_type.phpt" md5sum="f092384a06025b6a44a90f78beb8692b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_create.phpt" md5sum="abc8d8c32d78fc47953620e97faef6fc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_delete.phpt" md5sum="80e7a9bf46b51f21b2e2d97ae951cc99"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_delete_false.phpt" md5sum="4a386b005761a2ac1e68e00686c74a89"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_delete_update.phpt" md5sum="e985d5119ad3fbf05ff6dd0ffefeac99"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_is_expired.phpt" md5sum="8b2644d9f2146b8b3ea13fe63b278ea5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_read.phpt" md5sum="88d6ebc86cbbc8d778c3e0d6ad19d41a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_reset.phpt" md5sum="a57c25d1d5650a582cbe4a766da677e3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_response_manager.phpt" md5sum="84e5ec8e31686c39efc5379732937ae4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_response_manager_reset.phpt" md5sum="59400bf80b364409b290598893055596"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_timestamp.phpt" md5sum="ea57f7b32cbb5ae029ebe22f0af7d79a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_update.phpt" md5sum="53b1dd7f997766861f8df3f35c357b82"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_method_update_read.phpt" md5sum="c40ede4a83ea5fae3b0e0408b50e173f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_prop_expires.phpt" md5sum="72884eeb5b08c019ae66e125d0b1a05e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_prop_id.phpt" md5sum="3aa5cc75ab8a59332e3183fa02c6f5b9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_prop_location.phpt" md5sum="4791b41da5643ad2525814684b528340"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_prop_name.phpt" md5sum="c4b132220c9c0cac47ca48a023b48bfb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/apc_prop_timestamp.phpt" md5sum="bf8049a7140633c30b768e7437bde521"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/core_prop_expires.phpt" md5sum="c5dba4c38e09a608227755359d9b5203"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/core_prop_id.phpt" md5sum="68b5cca87530497288768b24f2a2e052"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/core_prop_location.phpt" md5sum="549c114b8dadcf954478076612cc86ec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/core_prop_name.phpt" md5sum="6eb6f552016acc615f77cf8b31f2eb3a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/core_prop_timestamp.phpt" md5sum="75811869e550615c66bb54b6b7782a36"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_create.phpt" md5sum="5a10413a335e89fa010d69f3d5110b68"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_create_fail.phpt" md5sum="d33722b175776010e462fc35d360babd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_delete.phpt" md5sum="55932af8a5355a43e8957644893c4455"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_delete_false.phpt" md5sum="afae980bf020e142b6bfa1b60ce12736"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_delete_update.phpt" md5sum="1ebbeb4d81d3ef43fa30632932071fb6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_is_expired.phpt" md5sum="808073903d0c685edc5cc3aa396d71a8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_read.phpt" md5sum="00fd0d89b75b66829021f4cb34f2a304"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_reset.phpt" md5sum="acc6f957f5b64dbf6856f35f94d604a1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_reset_fail.phpt" md5sum="3a62c819fb5605f54840405e346dcb55"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_response_manager.phpt" md5sum="2e5564ca14e16f5eae8dea4de7586967"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_response_manager_no_params.phpt" md5sum="f337eaa449f4c6f91f1aeedf9ceccc5c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_response_manager_reset.phpt" md5sum="100829d1c45c80f586683159fa08af00"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_timestamp.phpt" md5sum="e54a52650ce23415cc5868c91b3d2a63"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_timestamp_nocreate.phpt" md5sum="c1d6ffdbe202ae5fb7858de8339333d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_update.phpt" md5sum="4a1b5018d2dd2ab9a90abeeef5a44253"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_method_update_read.phpt" md5sum="78c050672716cc7fe405e49bd1ddf0bf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_prop_expires.phpt" md5sum="a16a9f3f7ae1534656481060dcb3a7af"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_prop_id.phpt" md5sum="5b8e9ec9fdefb093f8dcce7f00ec14c3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_prop_location.phpt" md5sum="54a685fdea6dfe57a6f991deb50f379d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_prop_name.phpt" md5sum="37920dda84db83afeb15fc3706940b19"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/file_prop_timestamp.phpt" md5sum="5efe8cb6c356f3b7f656231cddb6f1f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_create.phpt" md5sum="eeba2163c976afff2fc4a3bbf3173c05"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_delete.phpt" md5sum="cd753f5371608ca390815d6c6e5e6865"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_delete_false.phpt" md5sum="c281e57477904715495e48b206475e1d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_delete_update.phpt" md5sum="f24878049ea8050c3dcf950f57efdb93"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_is_expired.phpt" md5sum="e9b2dce8030058c5641179ff7c3dcd7c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_read.phpt" md5sum="fd2fbd23360facb9f4d6b6f0365f5d9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_read2.phpt" md5sum="ed76c7903e6f5f71445ee986c4b9f696"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_reset.phpt" md5sum="43cf63834cf00a635eb67c6c8afa0ed4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_response_manager.phpt" md5sum="004d87d0710117e35a22d7f08513754f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_response_manager_reset.phpt" md5sum="d87a02e21c67d764bca787c629c5aa33"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_timestamp.phpt" md5sum="d408d39c54afba96c2177841ede4b58b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_timestamp_nocreate.phpt" md5sum="ea5592bb4df14e0c0400eb5add3df39c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_update.phpt" md5sum="7764f87d9e122ce788eb87f5d9840cba"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_method_update_read.phpt" md5sum="ceae6450417900b445b8e32935684eef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_prop_expires.phpt" md5sum="34aa201e7d4290c86ffa67f728c1f459"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_prop_id.phpt" md5sum="343abb1dcf0e0a1451006a227eb843a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_prop_location.phpt" md5sum="37f0e9fa40dcced9009104f3f0bb0cd6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_prop_name.phpt" md5sum="239d3339ff0fe74ab47377b93df70ce4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/memcached_prop_timestamp.phpt" md5sum="7887616c485d3fac61595bf6cae8de38"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/test_request.txt" md5sum="44daf28deeecb35cbe53e6af784082e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_create.phpt" md5sum="d0c42152bc5c352a1f9a1ebb3ca7d414"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_delete.phpt" md5sum="f6e7bdb38a0d56563624fae7015ee0cc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_delete_false.phpt" md5sum="e2e7af5ed7d6f63cc34a2d53d552939b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_delete_update.phpt" md5sum="433014a2defd357ccacb3f506a0235bc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_is_expired.phpt" md5sum="a763ae799accfe8ff5d54ccfe6f46733"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_read.phpt" md5sum="e84930ce5d0203150c07f70c8d44c39f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_reset.phpt" md5sum="af2d3e2b077b463c081325786af60d2f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_response_manager.phpt" md5sum="b471d23c7fd806b291d852c9330c3aae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_response_manager_reset.phpt" md5sum="5c720eb6a4edff098d05c54fca9d758a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_timestamp.phpt" md5sum="7908112a183701f04b32be96cb86c1f0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_timestamp_nocreate.phpt" md5sum="c1d3cf2a67508f08a7c1d3754cca11ac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_update.phpt" md5sum="c3763bda14fb49ac13711a8eabebd7f1"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_method_update_read.phpt" md5sum="02480b4a8515ee5e3520bc3118e1660a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_prop_expires.phpt" md5sum="4c145f188d672fcd126fca5981290416"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_prop_id.phpt" md5sum="6c972fcdeacc4f2af5c4725962985176"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_prop_location.phpt" md5sum="c130f698e8eb8411d0a879f269792f9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_prop_name.phpt" md5sum="0edbda82e284954a0d062a7c3d772f4c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/xcache_prop_timestamp.phpt" md5sum="277ae0c33a6d2dbdc3bfef8a3ebd2024"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_tests/cache/sqlite.db" md5sum="91b98d86b5af02ee68d22e6650f54d81"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/README" md5sum="bb14abe0c209c9f54256975bae796c9f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/mysql.sql" md5sum="dc8b835b3e737bfb5905a61391b6e4a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/pgsql.sql" md5sum="ddc5308c119fb421b3d26eff1238229a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/cachecore/_sql/sqlite3.sql" md5sum="12810a853ca7e2b5dc35654fb241cee5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/LICENSE" md5sum="70f142181074f83b33d258164c008cd9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/README.md" md5sum="702485f100351d8dcc1346d087d09656"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/cacert.pem" md5sum="b78517772ef2c63a849568b66cf31d4d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/requestcore.class.php" md5sum="6b4701747eae56ba8abce0fc69d45845"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/AllTests.php" md5sum="b967961f53854ea43e7b603c0539a894"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/HTTP_DELETE.phpt" md5sum="2601ede88b14a6bf6e74402a3ea24865"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/HTTP_GET.phpt" md5sum="d875cbf70f78abfd22527a6706f3d84e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/HTTP_HEAD.phpt" md5sum="860ba5b795a36fd2ad6c6d21121ca5fd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/HTTP_POST.phpt" md5sum="2933dd7f87f240727869a994dc19aa47"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/HTTP_PUT.phpt" md5sum="740b03b421b628cbac7454c9210edb62"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/RequestCore-class_exists.phpt" md5sum="68a7b64f7b18a09b3c7cc59e7164d769"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/RequestCore-object_type.phpt" md5sum="7e16f036e0e04ad65abd10f46b50b30d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/RequestCore_Exception-class_exists.phpt" md5sum="140e58053963b349ec9973c8af9dea8c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/RequestCore_Exception-get_parent_class.phpt" md5sum="3e836c2309bc6b7da439001c5e51040e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/examples.yml" md5sum="1d3beff371b714e6837bca6883d7b178"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_add_header.phpt" md5sum="dc3c62032cbe981cd62670e062689dc6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_get_response_body.phpt" md5sum="958c592aefc6ada8774536164b85f8d9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_get_response_code.phpt" md5sum="9cec7d39296c534794c601868b115a70"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_get_response_header_content_type.phpt" md5sum="245c40614439148973be15be998d657a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_get_response_header_info_url.phpt" md5sum="67d98ec407040035279fdd2da2510080"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_process_response.phpt" md5sum="38fde1d3114cd260209fb86becb03152"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_remove_header.phpt" md5sum="d53b2d31ee5cf540eccabda4b585d49c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_responsecore_isok.phpt" md5sum="37ab669ec6626bccdb89bdd207e35f9a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_responsecore_isok_false.phpt" md5sum="7cde0911e181500e454447e5eaca9953"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_multi_request.phpt" md5sum="50dad7b5d2322559c8440e9c529aa728"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_multi_request_failed.phpt" md5sum="9f4934317ff53c5f18c6cbd50b91bc85"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_multi_request_failed2.txt" md5sum="11478a6d3b414130a51b0064020c6978"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request.phpt" md5sum="b3714284837c2377de6c698c7ce56b36"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request2.phpt" md5sum="565cb4688814e8303f6fdc21a3b7aba8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request2_failed.phpt" md5sum="ae6cb58f3714bbba6b1a3d9d68904dec"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request_array.txt" md5sum="5533963fc24c6eac56710230029a0f0f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request_failed.phpt" md5sum="6dc1ed6fdc754b4df18e862b2f597db3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request_head.phpt" md5sum="916daa6af690a6662edb6d725fb6e303"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request_isok.phpt" md5sum="966b2854543cfbf83ef1504b301f32d7"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request_isok_200.phpt" md5sum="817ed267c927fc96f0dfcadea23ca633"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_send_request_put.phpt" md5sum="eb3406a28d363d81a99e0a8982efa2c2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_set_credentials_pass.phpt" md5sum="85a0424081beee98ff45da273ddd9529"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_set_credentials_user.phpt" md5sum="2329a4f866bb27fc68fb22aeacb65cd8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_set_proxy.phpt" md5sum="b965d22b5ac0eca693943e09968281ac"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_set_request_class.phpt" md5sum="e6d1ea1826cdb4eb55d9ec280b9ad368"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_set_request_url.phpt" md5sum="9cfc8e271b5555e97824d273387300f4"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_set_response_class.phpt" md5sum="add93c9d60d9a5e46dc8c18e1b88bccb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/method_set_useragent.phpt" md5sum="dd4ebb9c1c2d130441be2634ecc4b3c0"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_curl_handle.phpt" md5sum="bf10a17ca643705cbdc06a972e763f7f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_method.phpt" md5sum="677692f98d646e7dbf4c6ea78926a7ef"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_method_post.phpt" md5sum="1a92baf57298b74f06622cb327bd2c21"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_proxy.phpt" md5sum="02d92e555492eb3021dc924ba6d4c73d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_request_body.phpt" md5sum="bc4b35f888afde2049de54d47f4318b3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_request_class.phpt" md5sum="228563065753a463cc7d42a27004f1b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_request_headers.phpt" md5sum="484b00938f39119db1ecde2b09be862f"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_request_url.phpt" md5sum="38a603fee85463f94e3520a8f559a270"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_response_body.phpt" md5sum="42724fdb4312d1bfb267f0a3b19da3e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_response_class.phpt" md5sum="801626d45a07705b7813028a920019fb"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_response_code.phpt" md5sum="7de3e04784ded94b71a1385467c52345"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_response_info_content_type.phpt" md5sum="2fcaccd81e0cf9286882f4fc6e6004ee"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_response_info_url.phpt" md5sum="2f6c3120b8eb8f9cfb1ea0315314bbe6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_responsecore_body.phpt" md5sum="76a6407148cb7c4040055a1ffb2ea43d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_responsecore_header_content_type.phpt" md5sum="f0efc04ef91e1841f9ff68cd0c418e0a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_responsecore_status.phpt" md5sum="093dd72748a66dc890a7bd349c327c64"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/prop_useragent.phpt" md5sum="50dc54e670417fa89109c81c6fd5f978"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/test_request.txt" md5sum="44daf28deeecb35cbe53e6af784082e9"/><file baseinstalldir="AWSSDKforPHP" role="php" name="lib/requestcore/_tests/test_request2.txt" md5sum="5dc1551ce833aad0dc94a8706aa23a39"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/CHANGELOG.md" md5sum="73efc220df3fe8fd2505ac5327a2dc3a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/CONTRIBUTORS.md" md5sum="d13e67b6c3ea63ae7d4e8bce3cc34abc"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/DYNAMODBSESSIONHANDLER.html" md5sum="b5e621a8fe4ee6fceda7e95cb94497b6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/KNOWNISSUES.md" md5sum="759e4ce35f77f1c446de1987a6404605"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/LICENSE.md" md5sum="c101f69c0271135eef789cd808a30eae"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/NOTICE.md" md5sum="c77555a244f25e132f88a8ba9bf7058a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/STREAMWRAPPER_README.html" md5sum="f46a4a4c29600818707f086c7138f17c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_docs/WHERE_IS_THE_API_REFERENCE.md" md5sum="8d9d9d1b44dc35483b4cae8619ed95a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/README.md" md5sum="c29429ec7a18c756729b5e56dcf46615"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility.inc.php" md5sum="229fac3f481065fd7febad9c38e2085b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility_test.php" md5sum="c4ce64589e3a502835b270a06afc65c6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_compatibility_test/sdk_compatibility_test_cli.php" md5sum="e76994b0909ccf877e4017d69c259500"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/as.class.php" md5sum="ddc7cb6e3705ebb4ef32d19dc88887a6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudformation.class.php" md5sum="709a39906dca6c178ce0ea458dc22301"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudfront.class.php" md5sum="c9d4addb4976b8ee8ca005ae23f139fe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudsearch.class.php" md5sum="956b13cf82ba15eefd25c92189c05f87"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/cloudwatch.class.php" md5sum="6213fec6cc66f5547d33d5d37d6bc2d2"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/dynamodb.class.php" md5sum="a127c4b83b9162c641d6ef7dbf215bf8"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/ec2.class.php" md5sum="137a45748830bb8df46ed7694c425bfe"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elasticache.class.php" md5sum="67bbdd82024500141d28360d50cd332d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elasticbeanstalk.class.php" md5sum="27ae1e37fd05ab28fd891f7a3cded5bd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/elb.class.php" md5sum="1dec44d40a2ae183f2ad7caf8c9b7e5b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/emr.class.php" md5sum="35c3fe6331d18eeaab4d08fe257ccd4e"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/iam.class.php" md5sum="be0915593af53a2f87f58fa064857d54"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/importexport.class.php" md5sum="9d0550c2fd972e3ad1eb6b50cb85d2db"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/rds.class.php" md5sum="34ea7e5b075d9d12d09c23785c33f079"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/s3.class.php" md5sum="9379c86c26990478f9f777c53ccc1a80"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sdb.class.php" md5sum="17a720f3aeb7fcfc9a3f61034b686899"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/ses.class.php" md5sum="49f74c26571d942e55c7922de9b07350"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sns.class.php" md5sum="dc5477208680f82a77c0725aa9585ddd"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sqs.class.php" md5sum="32ee4b5aa04a367dd17fb0292540c357"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/storagegateway.class.php" md5sum="a6c72396f93517c9032649168e115a1b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/sts.class.php" md5sum="8faa6f009a0012ee7a0c82bb7781ae2a"/><file baseinstalldir="AWSSDKforPHP" role="php" name="services/swf.class.php" md5sum="597dab98a21a896622cc9c0f65ae14a3"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/README.md" md5sum="13d920a4d2473746f18573c343d31baf"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-ec2_sorting_and_filtering.php" md5sum="007e77ce401da9e16c275a3cef346ea6"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-s3_get_urls_for_uploads.php" md5sum="9189e7319a83befdd105541d827051e5"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/cli-s3_progress_bar.php" md5sum="df3544aa6d043d072cd596b059313b6b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/html-dynamodb_sessions_login.php" md5sum="d296b895d3a155d2497d176faecb7d8d"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/html-sdb_create_domain_data.php" md5sum="83534b6952e686853fdc6a62d75ef541"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/lib/ProgressBar.php" md5sum="b7af80295476f281425cfe6095cfcfde"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/audio.wav" md5sum="36235fb7f88a1cec806119529058f806"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/plain.txt" md5sum="c947c2eb40966243d4471eab7926961c"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/video.mp4" md5sum="c784874fd5b2532e64a9ca1090e68a9b"/><file baseinstalldir="AWSSDKforPHP" role="php" name="_samples/test_files/word.doc" md5sum="1efd2ffd8cb5426e5c405b709f924b11"/></dir>
</contents>
<dependencies>
<required>
@@ -39,14 +39,14 @@
<changelog>
<release>
<version>
- <release>1.5.6.2</release>
- <api>1.5.6.2</api>
+ <release>1.5.7</release>
+ <api>1.5.7</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
- <date>2012-05-29</date>
+ <date>2012-06-11</date>
<license uri="http://aws.amazon.com/apache2.0/">Apache 2.0</license>
<notes>-</notes>
</release>
View
177 sdk.class.php
@@ -115,8 +115,8 @@ function __aws_sdk_ua_callback()
// INTERMEDIARY CONSTANTS
define('CFRUNTIME_NAME', 'aws-sdk-php');
-define('CFRUNTIME_VERSION', '1.5.6.2');
-define('CFRUNTIME_BUILD', '20120529180000');
+define('CFRUNTIME_VERSION', '1.5.7');
+define('CFRUNTIME_BUILD', '20120611193000');
define('CFRUNTIME_USERAGENT', CFRUNTIME_NAME . '/' . CFRUNTIME_VERSION . ' PHP/' . PHP_VERSION . ' ' . str_replace(' ', '_', php_uname('s')) . '/' . str_replace(' ', '_', php_uname('r')) . ' Arch/' . php_uname('m') . ' SAPI/' . php_sapi_name() . ' Integer/' . PHP_INT_MAX . ' Build/' . CFRUNTIME_BUILD . __aws_sdk_ua_callback());
@@ -127,7 +127,7 @@ function __aws_sdk_ua_callback()
* Core functionality and default settings shared across all SDK classes. All methods and properties in this
* class are inherited by the service-specific classes.
*
- * @version 2012.05.29
+ * @version 2012.05.25
* @license See the included NOTICE.md file for more information.
* @copyright See the included NOTICE.md file for more information.
* @link http://aws.amazon.com/php/ PHP Developer Center
@@ -387,45 +387,76 @@ public function __construct(array $options = array())
$this->service = get_class($this);
// Create credentials based on the options
- $instance_credentials = new CFCredential($options);
+ $runtime_credentials = new CFCredential($options);
+ $credentials_provided = false;
- // Retreive a credential set from config.inc.php if it exists
+ // Retrieve a credential set from config.inc.php if it exists
if (isset($options['credentials']))
{
- // Use a specific credential set and merge with the instance credentials
+ // Use a specific credential set and merge with the runtime credentials
$this->credentials = CFCredentials::get($options['credentials'])
- ->merge($instance_credentials);
+ ->merge($runtime_credentials);
}
else
{
try
{
- // Use the default credential set and merge with the instance credentials
+ // Use the default credential set and merge with the runtime credentials
$this->credentials = CFCredentials::get(CFCredentials::DEFAULT_KEY)
- ->merge($instance_credentials);
+ ->merge($runtime_credentials);
}
catch (CFCredentials_Exception $e)
{
- if (isset($options['key']) && isset($options['secret']))
- {
- // Only the instance credentials were provided
- $this->credentials = $instance_credentials;
- }
- else
- {
- // No credentials provided in the config file or constructor
- throw new CFCredentials_Exception('No credentials were provided to ' . $this->service . '.');
- }
+ // Only the runtime credentials were provided
+ $this->credentials = $runtime_credentials;
+ }
+ }
+
+ // Check if keys were actually provided
+ if (isset($this->credentials['key']) && isset($this->credentials['secret']))
+ {
+ $credentials_provided = true;
+ }
+
+ // Check for an instance profile credentials override
+ if (isset($this->credentials['use_instance_profile_credentials']) && $this->credentials['use_instance_profile_credentials'])
+ {
+ $credentials_provided = false;
+ }
+
+ // Automatically enable whichever caching mechanism is set to default.
+ $this->set_cache_config($this->credentials->default_cache_config);
+
+ // If no credentials were provided, try to get them from the EC2 instance profile
+ if (!$credentials_provided)
+ {
+ // Default caching mechanism is required
+ if (!$this->credentials->default_cache_config)
+ {
+ // @codeCoverageIgnoreStart
+ throw new CFCredentials_Exception('The Instance Profile credentials '
+ . 'provider requires the "default_cache_config" option to '
+ . 'be set in the config.inc.php file or constructor.');
+ // @codeCoverageIgnoreEnd
+ }
+
+ // Instantiate and invoke the cache for instance profile credentials
+ $cache = new $this->cache_class('instance_profile_credentials', $this->cache_location, 0, $this->cache_compress);
+ if ($data = $cache->read())
+ {
+ $cache->expire_in((strtotime($data['expires']) - time()) * 0.85);
}
+ $instance_profile_credentials = $cache->response_manager(array($this, 'cache_instance_profile_credentials'), array($cache, $options));
+
+ $this->credentials->key = $instance_profile_credentials['key'];
+ $this->credentials->secret = $instance_profile_credentials['secret'];
+ $this->credentials->token = $instance_profile_credentials['token'];
}
// Set internal credentials after they are resolved
$this->key = $this->credentials->key;
$this->secret_key = $this->credentials->secret;
$this->auth_token = $this->credentials->token;
-
- // Automatically enable whichever caching mechanism is set to default.
- $this->set_cache_config($this->credentials->default_cache_config);
}
/**
@@ -607,6 +638,12 @@ public function set_max_retries($retries = 3)
*/
public function set_cache_config($location, $gzip = true)
{
+ // If location is empty, don't do anything.
+ if (empty($location))
+ {
+ return $this;
+ }
+
// If we have an array, we're probably passing in Memcached servers and ports.
if (is_array($location))
{
@@ -712,15 +749,88 @@ public function cache_sts_credentials($cache, $options)
$cache->expire_in($expiration_duration);
// Return the important data
+ $credentials = $response->body->GetSessionTokenResult->Credentials;
+
return array(
- 'key' => (string) $response->body->GetSessionTokenResult->Credentials->AccessKeyId,
- 'secret' => (string) $response->body->GetSessionTokenResult->Credentials->SecretAccessKey,
- 'token' => (string) $response->body->GetSessionTokenResult->Credentials->SessionToken,
- 'expires' => (string) $response->body->GetSessionTokenResult->Credentials->Expiration,
+ 'key' => (string) $credentials->AccessKeyId,
+ 'secret' => (string) $credentials->SecretAccessKey,
+ 'token' => (string) $credentials->SessionToken,
+ 'expires' => (string) $credentials->Expiration,
);
}
- return null;
+ // @codeCoverageIgnoreStart
+ throw new STS_Exception('Temporary credentials from the AWS Security '
+ . 'Token Service could not be retrieved using the provided long '
+ . 'term credentials. It\'s possible that the provided long term '
+ . 'credentials were invalid.');
+ // @codeCoverageIgnoreEnd
+ }
+
+ /**
+ * Fetches and caches EC2 instance profile credentials. This is meant to be used by the constructor, and is not to
+ * be manually invoked.
+ *
+ * @param CacheCore $cache (Required) The a reference to the cache object that is being used to handle the caching.
+ * @param array $options (Required) The options that were passed into the constructor.
+ * @return mixed The data to be cached, or NULL.
+ */
+ public function cache_instance_profile_credentials($cache, $options)
+ {
+ $instance_profile_url = 'http://169.254.169.254/latest/meta-data/iam/security-credentials/';
+ $connect_timeout = isset($options['instance_profile_timeout']) ? $options['instance_profile_timeout'] : 2;
+
+ try
+ {
+ // Make a call to the EC2 Metadata Service to find the available instance profile
+ $request = new RequestCore($instance_profile_url);
+ $request->set_curlopts(array(CURLOPT_CONNECTTIMEOUT => $connect_timeout));
+ $response = $request->send_request(true);
+
+ if ($response->isOK())
+ {
+ // Get the instance profile name
+ $profile = (string) $response->body;
+
+ // Make a call to the EC2 Metadata Service to get the instance profile credentials
+ $request = new RequestCore($instance_profile_url . $profile);
+ $request->set_curlopts(array(CURLOPT_CONNECTTIMEOUT => $connect_timeout));
+ $response = $request->send_request(true);
+
+ if ($response->isOK())
+ {
+ // Get the credentials
+ $credentials = json_decode($response->body, true);
+
+ if ($credentials['Code'] === 'Success')
+ {
+ // Determine the expiration time
+ $expiration_time = strtotime((string) $credentials['Expiration']);
+ $expiration_duration = round(($expiration_time - time()) * 0.85);
+ $cache->expire_in($expiration_duration);
+
+ // Return the credential information
+ return array(
+ 'key' => $credentials['AccessKeyId'],
+ 'secret' => $credentials['SecretAccessKey'],
+ 'token' => $credentials['Token'],
+ 'expires' => $credentials['Expiration'],
+ );
+ }
+ }
+ }
+ }
+ catch (cURL_Exception $e)
+ {
+ // The EC2 Metadata Service does not exist or had timed out.
+ // An exception will be thrown on the next line.
+ }
+
+ // @codeCoverageIgnoreStart
+ throw new CFCredentials_Exception('The instance profile credentials could not'
+ . ' be found. Instance profile credentials are only accessible on'
+ . ' EC2 instances launched with an IamInstanceProfile specified.');
+ // @codeCoverageIgnoreEnd
}
@@ -1405,10 +1515,19 @@ public static function autoloader($class)
}
elseif (!isset($_ENV['HOME']) && !isset($_SERVER['HOME']))
{
- $_ENV['HOME'] = `cd ~ && pwd`;
+ $os = strtolower(PHP_OS);
+ if (in_array($os, array('windows', 'winnt', 'win32')))
+ {
+ $_ENV['HOME'] = false;
+ }
+ else
+ {
+ $_ENV['HOME'] = `cd ~ && pwd`;
@meonkeys
meonkeys added a line comment Jun 12, 2012

This can lead to a very obscure error in your webserver logs: sh: 1: cd: can't cd to ~.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
+ }
+
if (!$_ENV['HOME'])
{
- switch (strtolower(PHP_OS))
+ switch ($os)
{
case 'darwin':
$_ENV['HOME'] = '/Users/' . get_current_user();
View
5 services/as.class.php
@@ -36,7 +36,7 @@
* "http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and
* Endpoints</a> in the Amazon Web Services General Reference.
*
- * @version 2012.05.09
+ * @version 2012.05.31
* @license See the included NOTICE.md file for complete information.
* @copyright See the included NOTICE.md file for complete information.
* @link http://aws.amazon.com/as/ Auto Scaling
@@ -280,6 +280,7 @@ public function create_auto_scaling_group($auto_scaling_group_name, $launch_conf
* </ul></li>
* </ul></li>
* <li><code>SpotPrice</code> - <code>string</code> - Optional - </li>
+ * <li><code>IamInstanceProfile</code> - <code>string</code> - Optional - [Constraints: The value must be between 1 and 1600 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]</li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
@@ -926,7 +927,7 @@ public function put_notification_configuration($auto_scaling_group_name, $topic_
* @param string $adjustment_type (Required) Specifies whether the <code>ScalingAdjustment</code> is an absolute number or a percentage of the current capacity. Valid values are <code>ChangeInCapacity</code>, <code>ExactCapacity</code>, and <code>PercentChangeInCapacity</code>. [Constraints: The value must be between 1 and 255 characters, and must match the following regular expression pattern: <code>[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>Cooldown</code> - <code>integer</code> - Optional - The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.</li>
- * <li><code>MinAdjustmentMagnitude</code> - <code>integer</code> - Optional - </li>
+ * <li><code>MinAdjustmentStep</code> - <code>integer</code> - Optional - </li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
View
40 services/cloudsearch.class.php
@@ -19,7 +19,7 @@
* CloudSearch configuration requests are submitted to
* <code>cloudsearch.us-east-1.amazonaws.com</code> using the AWS Query protocol.
*
- * @version 2012.04.18
+ * @version 2012.05.31
* @license See the included NOTICE.md file for complete information.
* @copyright See the included NOTICE.md file for complete information.
* @link http://aws.amazon.com/cloudsearch/ Amazon CloudSearch
@@ -121,22 +121,22 @@ public function create_domain($domain_name, $opt = null)
* <li><code>IndexFieldType</code> - <code>string</code> - Required - The type of field. Based on this type, exactly one of the <code>UIntOptions</code>, <code>LiteralOptions</code> or <code>TextOptions</code> must be present. [Allowed values: <code>uint</code>, <code>literal</code>, <code>text</code>]</li>
* <li><code>UIntOptions</code> - <code>array</code> - Optional - Options for an unsigned integer field. Present if <code>IndexFieldType</code> specifies the field is of type unsigned integer. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
- * <li><code>DefaultValue</code> - <code>integer</code> - Optional - The default value for an unsigned integer field.</li>
+ * <li><code>DefaultValue</code> - <code>integer</code> - Optional - The default value for an unsigned integer field. Optional.</li>
* </ul></li>
* </ul></li>
* <li><code>LiteralOptions</code> - <code>array</code> - Optional - Options for literal field. Present if <code>IndexFieldType</code> specifies the field is of type literal. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
- * <li><code>DefaultValue</code> - <code>string</code> - Optional - The default value for a literal field.</li>
- * <li><code>SearchEnabled</code> - <code>boolean</code> - Optional - Specifies whether search is enabled for this field.</li>
- * <li><code>FacetEnabled</code> - <code>boolean</code> - Optional - Specifies whether facets are enabled for this field.</li>
- * <li><code>ResultEnabled</code> - <code>boolean</code> - Optional - Specifies whether values of this field can be returned in search results and used for ranking.</li>
+ * <li><code>DefaultValue</code> - <code>string</code> - Optional - The default value for a literal field. Optional.</li>
+ * <li><code>SearchEnabled</code> - <code>boolean</code> - Optional - Specifies whether search is enabled for this field. Default: False.</li>
+ * <li><code>FacetEnabled</code> - <code>boolean</code> - Optional - Specifies whether facets are enabled for this field. Default: False.</li>
+ * <li><code>ResultEnabled</code> - <code>boolean</code> - Optional - Specifies whether values of this field can be returned in search results and used for ranking. Default: False.</li>
* </ul></li>
* </ul></li>
* <li><code>TextOptions</code> - <code>array</code> - Optional - Options for text field. Present if <code>IndexFieldType</code> specifies the field is of type text. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
- * <li><code>DefaultValue</code> - <code>string</code> - Optional - The default value for a text field.</li>
- * <li><code>FacetEnabled</code> - <code>boolean</code> - Optional - Specifies whether facets are enabled for this field.</li>
- * <li><code>ResultEnabled</code> - <code>boolean</code> - Optional - Specifies whether values of this field can be returned in search results and used for ranking.</li>
+ * <li><code>DefaultValue</code> - <code>string</code> - Optional - The default value for a text field. Optional.</li>
+ * <li><code>FacetEnabled</code> - <code>boolean</code> - Optional - Specifies whether facets are enabled for this field. Default: False.</li>
+ * <li><code>ResultEnabled</code> - <code>boolean</code> - Optional - Specifies whether values of this field can be returned in search results and used for ranking. Default: False.</li>
* </ul></li>
* </ul></li>
* <li><code>SourceAttributes</code> - <code>array</code> - Optional - An optional list of source attributes that provide data for this index field. If not specified, the data is pulled from a source attribute with the same name as this <code>IndexField</code>. When one or more source attributes are specified, an optional data transformation can be applied to the source data when populating the index field. You can configure a maximum of 20 sources for an <code>IndexField</code>. <ul>
@@ -145,21 +145,21 @@ public function create_domain($domain_name, $opt = null)
* <li><code>SourceDataCopy</code> - <code>array</code> - Optional - Copies data from a source document attribute to an <code>IndexField</code>. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>SourceName</code> - <code>string</code> - Required - The name of the document source field to add to this <code>IndexField</code>. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[a-z][a-z0-9_]*</code>]</li>
- * <li><code>DefaultValue</code> - <code>string</code> - Optional - The value of a field or source document attribute.</li>
+ * <li><code>DefaultValue</code> - <code>string</code> - Optional - The default value to use if the source attribute is not specified in a document. Optional.</li>
* </ul></li>
* </ul></li>
* <li><code>SourceDataTrimTitle</code> - <code>array</code> - Optional - Trims common title words from a source document attribute when populating an <code>IndexField</code>. This can be used to create an <code>IndexField</code> you can use for sorting. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>SourceName</code> - <code>string</code> - Required - The name of the document source field to add to this <code>IndexField</code>. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[a-z][a-z0-9_]*</code>]</li>
- * <li><code>DefaultValue</code> - <code>string</code> - Optional - The value of a field or source document attribute.</li>
+ * <li><code>DefaultValue</code> - <code>string</code> - Optional - The default value to use if the source attribute is not specified in a document. Optional.</li>
* <li><code>Separator</code> - <code>string</code> - Optional - The separator that follows the text to trim.</li>
* <li><code>Language</code> - <code>string</code> - Optional - An <a href="http://tools.ietf.org/html/rfc4646">IETF RFC 4646</a> language code. Only the primary language is considered. English (en) is currently the only supported language. [Constraints: The value must match the following regular expression pattern: <code>[a-zA-Z]{2,8}(?:-[a-zA-Z]{2,8})*</code>]</li>
* </ul></li>
* </ul></li>
* <li><code>SourceDataMap</code> - <code>array</code> - Optional - Maps source document attribute values to new values when populating the <code>IndexField</code>. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>SourceName</code> - <code>string</code> - Required - The name of the document source field to add to this <code>IndexField</code>. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[a-z][a-z0-9_]*</code>]</li>
- * <li><code>DefaultValue</code> - <code>string</code> - Optional - The value of a field or source document attribute.</li>
+ * <li><code>DefaultValue</code> - <code>string</code> - Optional - The default value to use if the source attribute is not specified in a document. Optional.</li>
* <li><code>Cases</code> - <code>array</code> - Optional - A map that translates source field values to custom values. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>[custom-key]</code> - <code>string</code> - Optional - The value of a field or source document attribute.</li>
@@ -485,10 +485,10 @@ public function update_default_search_field($domain_name, $default_search_field,
/**
* Configures the policies that control access to the domain's document and search services. The
- * maximum size of an access policy document is 100KB.
+ * maximum size of an access policy document is 100 KB.
*
* @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: <code>[a-z][a-z0-9\-]+</code>]
- * @param string $access_policies (Required) An IAM access policy as described in <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?AccessPolicyLanguage.html" target="_blank">The Access Policy Language</a> in <em>Using AWS Identity and Access Management</em>. The maximum size of an access policy document is 100KB. Example: <code>{"Statement": [{"Effect":"Allow", "Action": "*", "Resource": "arn:aws:cs:us-east-1:1234567890:search/movies", "Condition": { "IpAddress": { aws:SourceIp": ["203.0.113.1/32"] } }}, {"Effect":"Allow", "Action": "*", "Resource": "arn:aws:cs:us-east-1:1234567890:documents/movies", "Condition": { "IpAddress": { aws:SourceIp": ["203.0.113.1/32"] } }} ]}</code>
+ * @param string $access_policies (Required) An IAM access policy as described in <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?AccessPolicyLanguage.html" target="_blank">The Access Policy Language</a> in <em>Using AWS Identity and Access Management</em>. The maximum size of an access policy document is 100 KB. Example: <code>{"Statement": [{"Effect":"Allow", "Action": "*", "Resource": "arn:aws:cs:us-east-1:1234567890:search/movies", "Condition": { "IpAddress": { aws:SourceIp": ["203.0.113.1/32"] } }}, {"Effect":"Allow", "Action": "*", "Resource": "arn:aws:cs:us-east-1:1234567890:documents/movies", "Condition": { "IpAddress": { aws:SourceIp": ["203.0.113.1/32"] } }} ]}</code>
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
@@ -506,10 +506,10 @@ public function update_service_access_policies($domain_name, $access_policies, $
/**
* Configures a stemming dictionary for the search domain. The stemming dictionary is used during
* indexing and when processing search requests. The maximum size of the stemming dictionary is
- * 500KB.
+ * 500 KB.
*
* @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: <code>[a-z][a-z0-9\-]+</code>]
- * @param string $stems (Required) Maps terms to their stems, serialized as a JSON document. The document has a single object with one property "stems" whose value is an object mapping terms to their stems. The maximum size of a stemming document is 500KB. Example: <code>{ "stems": {"people": "person", "walking": "walk"} }</code>
+ * @param string $stems (Required) Maps terms to their stems, serialized as a JSON document. The document has a single object with one property "stems" whose value is an object mapping terms to their stems. The maximum size of a stemming document is 500 KB. Example: <code>{ "stems": {"people": "person", "walking": "walk"} }</code>
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
@@ -526,10 +526,10 @@ public function update_stemming_options($domain_name, $stems, $opt = null)
/**
* Configures stopwords for the search domain. Stopwords are used during indexing and when
- * processing search requests. The maximum size of the stopwords dictionary is 10KB.
+ * processing search requests. The maximum size of the stopwords dictionary is 10 KB.
*
* @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: <code>[a-z][a-z0-9\-]+</code>]
- * @param string $stopwords (Required) Lists stopwords serialized as a JSON document. The document has a single object with one property "stopwords" whose value is an array of strings. The maximum size of a stopwords document is 10KB. Example: <code>{ "stopwords": ["a", "an", "the", "of"] }</code>
+ * @param string $stopwords (Required) Lists stopwords serialized as a JSON document. The document has a single object with one property "stopwords" whose value is an array of strings. The maximum size of a stopwords document is 10 KB. Example: <code>{ "stopwords": ["a", "an", "the", "of"] }</code>
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
@@ -547,10 +547,10 @@ public function update_stopword_options($domain_name, $stopwords, $opt = null)
/**
* Configures a synonym dictionary for the search domain. The synonym dictionary is used during
* indexing to configure mappings for terms that occur in text fields. The maximum size of the
- * synonym dictionary is 100KB.
+ * synonym dictionary is 100 KB.
*
* @param string $domain_name (Required) A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: <code>[a-z][a-z0-9\-]+</code>]
- * @param string $synonyms (Required) Maps terms to their synonyms, serialized as a JSON document. The document has a single object with one property "synonyms" whose value is an object mapping terms to their synonyms. Each synonym is a simple string or an array of strings. The maximum size of a stopwords document is 100KB. Example: <code>{ "synonyms": {"cat": ["feline", "kitten"], "puppy": "dog"} }</code>
+ * @param string $synonyms (Required) Maps terms to their synonyms, serialized as a JSON document. The document has a single object with one property "synonyms" whose value is an object mapping terms to their synonyms. Each synonym is a simple string or an array of strings. The maximum size of a stopwords document is 100 KB. Example: <code>{ "synonyms": {"cat": ["feline", "kitten"], "puppy": "dog"} }</code>
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
View
149 services/dynamodb.class.php
@@ -17,11 +17,11 @@
/**
* Amazon DynamoDB is a fast, highly scalable, highly available, cost-effective non-relational
* database service.
- *
+ *
* Amazon DynamoDB removes traditional scalability limitations on data storage while maintaining
* low latency and predictable performance.
*
- * @version 2012.04.18
+ * @version 2012.05.31
* @license See the included NOTICE.md file for complete information.
* @copyright See the included NOTICE.md file for complete information.
* @link http://aws.amazon.com/dynamodb/ Amazon DynamoDB
@@ -43,6 +43,26 @@ class AmazonDynamoDB extends CFRuntime
const REGION_VIRGINIA = self::REGION_US_E1;
/**
+ * Specify the queue URL for the United States West (Northern California) Region.
+ */
+ const REGION_US_W1 = 'dynamodb.us-west-1.amazonaws.com';
+
+ /**
+ * Specify the queue URL for the United States West (Northern California) Region.
+ */
+ const REGION_CALIFORNIA = self::REGION_US_W1;
+
+ /**
+ * Specify the queue URL for the United States West (Oregon) Region.
+ */
+ const REGION_US_W2 = 'dynamodb.us-west-2.amazonaws.com';
+
+ /**
+ * Specify the queue URL for the United States West (Oregon) Region.
+ */
+ const REGION_OREGON = self::REGION_US_W2;
+
+ /**
* Specify the queue URL for the Europe West (Ireland) Region.
*/
const REGION_EU_W1 = 'dynamodb.eu-west-1.amazonaws.com';
@@ -53,6 +73,16 @@ class AmazonDynamoDB extends CFRuntime
const REGION_IRELAND = self::REGION_EU_W1;
/**
+ * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
+ */
+ const REGION_APAC_SE1 = 'dynamodb.ap-southeast-1.amazonaws.com';
+
+ /**
+ * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region.
+ */
+ const REGION_SINGAPORE = self::REGION_APAC_SE1;
+
+ /**
* Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region.
*/
const REGION_APAC_NE1 = 'dynamodb.ap-northeast-1.amazonaws.com';
@@ -233,32 +263,34 @@ public function __construct(array $options = array())
parent::__construct($options);
- // Default caching mechanism is required
- if (!$this->credentials->default_cache_config)
+ // Only attempt to get STS credentials if there is no token (i.e. they
+ // are not already using STS or instance profile credentials)
+ if (!$this->auth_token)
{
- // @codeCoverageIgnoreStart
- throw new DynamoDB_Exception('The DynamoDB class requires the "default_cache_config" configuration to be set in the config.inc.php file.');
- // @codeCoverageIgnoreEnd
- }
+ // Default caching mechanism is required
+ if (!$this->credentials->default_cache_config)
+ {
+ // @codeCoverageIgnoreStart
+ throw new DynamoDB_Exception('The DynamoDB class requires the '
+ . '"default_cache_config" option to be set in the '
+ . 'config.inc.php file or AmazonDynamoDB constructor.');
+ // @codeCoverageIgnoreEnd
+ }
- // Configure cache
- $this->set_cache_config($this->credentials->default_cache_config);
- $cache_id = $this->key . '_sts_credentials_' . sha1(serialize($options));
+ // Instantiate and invoke the cache
+ $cache_id = $this->key . '_sts_credentials_' . sha1(serialize($options));
+ $cache = new $this->cache_class($cache_id, $this->cache_location, 0, $this->cache_compress);
+ if ($data = $cache->read())
+ {
+ $cache->expire_in((strtotime($data['expires']) - time()) * 0.85);
+ }
+ $sts_credentials = $cache->response_manager(array($this, 'cache_sts_credentials'), array($cache, $options));
- // Instantiate and invoke the cache
- $cache = new $this->cache_class($cache_id, $this->cache_location, 0, $this->cache_compress);
- if ($data = $cache->read())
- {
- $cache->expire_in(
- (strtotime($data['expires']) - time()) * 0.85
- );
+ // Store the credentials inside the class
+ $this->key = $sts_credentials['key'];
+ $this->secret_key = $sts_credentials['secret'];
+ $this->auth_token = $sts_credentials['token'];
}
- $sts_credentials = $cache->response_manager(array($this, 'cache_sts_credentials'), array($cache, $options));
-
- // Store the credentials inside the class
- $this->key = $sts_credentials['key'];
- $this->secret_key = $sts_credentials['secret'];
- $this->auth_token = $sts_credentials['token'];
}
@@ -268,7 +300,7 @@ public function __construct(array $options = array())
/**
* This allows you to explicitly sets the region for the service to use.
*
- * @param string $region (Required) The region to explicitly set. Available options are <REGION_US_E1>, <REGION_EU_W1>, <REGION_APAC_NE1>.
+ * @param string $region (Required) The region to explicitly set. Available options are <REGION_US_E1>, <REGION_US_W1>, <REGION_US_W2>, <REGION_EU_W1>, <REGION_APAC_SE1>, <REGION_APAC_NE1>.
* @return $this A reference to the current instance.
*/
public function set_region($region)
@@ -444,13 +476,13 @@ protected function get_attribute_value_info($value, $depth = 0)
/**
* Retrieves the attributes for multiple items from multiple tables using their primary keys.
- *
+ *
* The maximum number of item attributes that can be retrieved for a single operation is 100.
* Also, the number of items retrieved is constrained by a 1 MB the size limit. If the response
* size limit is exceeded or a partial result is returned due to an internal processing failure,
* Amazon DynamoDB returns an <code>UnprocessedKeys</code> value so you can retry the operation
* starting with the next item to get.
- *
+ *
* Amazon DynamoDB automatically adjusts the number of items returned per page to enforce this
* limit. For example, even if you ask to retrieve 100 items, but each individual item is 50k in
* size, the system returns 20 items and an appropriate <code>UnprocessedKeys</code> value so you
@@ -486,15 +518,14 @@ protected function get_attribute_value_info($value, $depth = 0)
public function batch_get_item($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('BatchGetItem', $opt);
}
/**
* Allows to execute a batch of Put and/or Delete Requests for many tables in a single call. A
* total of 25 requests are allowed.
- *
+ *
* There are no transaction guarantees provided by this API. It does not allow conditional puts
* nor does it support return values.
*
@@ -544,17 +575,16 @@ public function batch_get_item($opt = null)
public function batch_write_item($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('BatchWriteItem', $opt);
}
/**
* Adds a new table to your account.
- *
+ *
* The table name must be unique among those associated with the AWS Account issuing the request,
* and the AWS Region that receives the request (e.g. <code>us-east-1</code>).
- *
+ *
* The <code>CreateTable</code> operation triggers an asynchronous workflow to begin creating the
* table. Amazon DynamoDB immediately returns the state of the table (<code>CREATING</code>) until
* the table is in the <code>ACTIVE</code> state. Once the table is in the <code>ACTIVE</code>
@@ -583,14 +613,13 @@ public function batch_write_item($opt = null)
public function create_table($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('CreateTable', $opt);
}
/**
* Deletes a single item in a table by primary key.
- *
+ *
* You can perform a conditional delete operation that deletes the item if it exists, or if it has
* an expected attribute value.
*
@@ -629,14 +658,13 @@ public function create_table($opt = null)
public function delete_item($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('DeleteItem', $opt);
}
/**
* Deletes a table and all of its items.
- *
+ *
* If the table is in the <code>ACTIVE</code> state, you can delete it. If a table is in
* <code>CREATING</code> or <code>UPDATING</code> states then Amazon DynamoDB returns a
* <code>ResourceInUseException</code>. If the specified table does not exist, Amazon DynamoDB
@@ -651,15 +679,14 @@ public function delete_item($opt = null)
public function delete_table($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('DeleteTable', $opt);
}
/**
* Retrieves information about the table, including the current status of the table, the primary
* key schema and when the table was created.
- *
+ *
* If the table does not exist, Amazon DynamoDB returns a <code>ResourceNotFoundException</code>.
*
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
@@ -671,14 +698,13 @@ public function delete_table($opt = null)
public function describe_table($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('DescribeTable', $opt);
}
/**
* Retrieves a set of Attributes for an item that matches the primary key.
- *
+ *
* The <code>GetItem</code> operation provides an eventually-consistent read by default. If
* eventually-consistent reads are not acceptable for your application, use
* <code>ConsistentRead</code>. Although this operation might take longer than a standard read, it
@@ -709,14 +735,13 @@ public function describe_table($opt = null)
public function get_item($opt = null)
{
if (!$opt) $opt = array();
-
+
// List (non-map)
if (isset($opt['AttributesToGet']))
{
$opt['AttributesToGet'] = (is_array($opt['AttributesToGet']) ? $opt['AttributesToGet'] : array($opt['AttributesToGet']));
}
- $opt = json_encode($opt);
return $this->authenticate('GetItem', $opt);
}
@@ -734,14 +759,13 @@ public function get_item($opt = null)
public function list_tables($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('ListTables', $opt);
}
/**
* Creates a new item, or replaces an old item with a new item (including all the attributes).
- *
+ *
* If an item already exists in the specified table with the same primary key, the new item
* completely replaces the existing item. You can perform a conditional put (insert a new item if
* one with the specified primary key doesn't exist), or replace an existing item if it has
@@ -776,15 +800,14 @@ public function list_tables($opt = null)
public function put_item($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('PutItem', $opt);
}
/**
* Gets the values of one or more items and its attributes by primary key (composite primary key,
* only).
- *
+ *
* Narrow the scope of the query using comparison operators on the <code>RangeKeyValue</code> of
* the composite key. Use the <code>ScanIndexForward</code> parameter to get results in forward or
* reverse order by range key.
@@ -834,20 +857,19 @@ public function put_item($opt = null)
public function query($opt = null)
{
if (!$opt) $opt = array();
-
+
// List (non-map)
if (isset($opt['AttributesToGet']))
{
$opt['AttributesToGet'] = (is_array($opt['AttributesToGet']) ? $opt['AttributesToGet'] : array($opt['AttributesToGet']));
}
- $opt = json_encode($opt);
return $this->authenticate('Query', $opt);
}
/**
* Retrieves one or more items and its attributes by performing a full scan of a table.
- *
+ *
* Provide a <code>ScanFilter</code> to get more specific results.
*
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
@@ -889,20 +911,19 @@ public function query($opt = null)
public function scan($opt = null)
{
if (!$opt) $opt = array();
-
+
// List (non-map)
if (isset($opt['AttributesToGet']))
{
$opt['AttributesToGet'] = (is_array($opt['AttributesToGet']) ? $opt['AttributesToGet'] : array($opt['AttributesToGet']));
}
- $opt = json_encode($opt);
return $this->authenticate('Scan', $opt);
}
/**
* Edits an existing item's attributes.
- *
+ *
* You can perform a conditional update (insert a new attribute name-value pair if it doesn't
* exist, or replace an existing name-value pair if it has certain expected attribute values).
*
@@ -952,14 +973,13 @@ public function scan($opt = null)
public function update_item($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('UpdateItem', $opt);
}
/**
* Updates the provisioned throughput for the given table.
- *
+ *
* Setting the throughput for a table helps you manage performance and is part of the Provisioned
* Throughput feature of Amazon DynamoDB.
*
@@ -976,8 +996,7 @@ public function update_item($opt = null)
public function update_table($opt = null)
{
if (!$opt) $opt = array();
-
- $opt = json_encode($opt);
+
return $this->authenticate('UpdateTable', $opt);
}
}
View
128 services/ec2.class.php
@@ -29,7 +29,7 @@
*
* Visit <a href="http://aws.amazon.com/ec2/">http://aws.amazon.com/ec2/</a> for more information.
*
- * @version 2012.04.18
+ * @version 2012.06.08
* @license See the included NOTICE.md file for complete information.
* @copyright See the included NOTICE.md file for complete information.
* @link http://aws.amazon.com/ec2/ Amazon EC2
@@ -138,7 +138,7 @@ class AmazonEC2 extends CFRuntime
*/
public function __construct(array $options = array())
{
- $this->api_version = '2012-03-01';
+ $this->api_version = '2012-06-01';
$this->hostname = self::DEFAULT_URL;
$this->auth_class = 'AuthV2Query';
@@ -574,6 +574,23 @@ public function cancel_conversion_task($conversion_task_id, $opt = null)
}
/**
+ *
+ *
+ * @param string $export_task_id (Required)
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function cancel_export_task($export_task_id, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['ExportTaskId'] = $export_task_id;
+
+ return $this->authenticate('CancelExportTask', $opt);
+ }
+
+ /**
* Cancels one or more Spot Instance requests.
*
* Spot Instances are instances that Amazon EC2 starts on your behalf when the maximum price that
@@ -713,11 +730,47 @@ public function create_image($instance_id, $name, $opt = null)
if (!$opt) $opt = array();
$opt['InstanceId'] = $instance_id;
$opt['Name'] = $name;
-
+
return $this->authenticate('CreateImage', $opt);
}
/**
+ *
+ *
+ * @param string $instance_id (Required)
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>Description</code> - <code>string</code> - Optional - </li>
+ * <li><code>TargetEnvironment</code> - <code>string</code> - Optional - [Allowed values: <code>citrix</code>, <code>vmware</code>]</li>
+ * <li><code>ExportToS3</code> - <code>array</code> - Optional - <ul>
+ * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
+ * <li><code>DiskImageFormat</code> - <code>string</code> - Optional - [Allowed values: <code>vmdk</code>, <code>vhd</code>]</li>
+ * <li><code>ContainerFormat</code> - <code>string</code> - Optional - [Allowed values: <code>ova</code>]</li>
+ * <li><code>S3Bucket</code> - <code>string</code> - Optional - </li>
+ * <li><code>S3Prefix</code> - <code>string</code> - Optional - </li>
+ * </ul></li>
+ * </ul></li>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function create_instance_export_task($instance_id, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['InstanceId'] = $instance_id;
+
+ // Optional map (non-list)
+ if (isset($opt['ExportToS3']))
+ {
+ $opt = array_merge($opt, CFComplexType::map(array(
+ 'ExportToS3' => $opt['ExportToS3']
+ )));
+ unset($opt['ExportToS3']);
+ }
+
+ return $this->authenticate('CreateInstanceExportTask', $opt);
+ }
+
+ /**
* Creates a new Internet gateway in your AWS account. After creating the Internet gateway, you
* then attach it to a VPC using <code>AttachInternetGateway</code>. For more information about
* your VPC and Internet gateway, go to Amazon Virtual Private Cloud User Guide.
@@ -1897,6 +1950,35 @@ public function describe_dhcp_options($opt = null)
}
/**
+ *
+ *
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>ExportTaskId</code> - <code>array</code> - Optional - <ul>
+ * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
+ * <li><code>ExportTaskId</code> - <code>string</code> - Optional - </li>
+ * </ul></li>
+ * </ul></li>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function describe_export_tasks($opt = null)
+ {
+ if (!$opt) $opt = array();
+
+ // Optional list + map
+ if (isset($opt['ExportTaskId']))
+ {
+ $opt = array_merge($opt, CFComplexType::map(array(
+ 'ExportTaskId' => $opt['ExportTaskId']
+ )));
+ unset($opt['ExportTaskId']);
+ }
+
+ return $this->authenticate('DescribeExportTasks', $opt);
+ }
+
+ /**
* The DescribeImageAttribute operation returns information about an attribute of an AMI. Only one
* attribute can be specified per call.
*
@@ -2017,7 +2099,7 @@ public function describe_images($opt = null)
* call.
*
* @param string $instance_id (Required) The ID of the instance whose instance attribute is being described.
- * @param string $attribute (Required) The name of the attribute to describe. Available attribute names: <code>instanceType</code>, <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code>, <code>instanceInitiatedShutdownBehavior</code>, <code>rootDeviceName</code>, <code>blockDeviceMapping</code>
+ * @param string $attribute (Required) The name of the attribute to describe. Available attribute names: <code>instanceType</code>, <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code>, <code>instanceInitiatedShutdownBehavior</code>, <code>rootDeviceName</code>, <code>blockDeviceMapping</code> [Allowed values: <code>instanceType</code>, <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code>, <code>instanceInitiatedShutdownBehavior</code>, <code>rootDeviceName</code>, <code>blockDeviceMapping</code>, <code>productCodes</code>, <code>sourceDestCheck</code>, <code>groupSet</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
@@ -2092,6 +2174,7 @@ public function describe_instance_attribute($instance_id, $attribute, $opt = nul
* </ul></li>
* <li><code>NextToken</code> - <code>string</code> - Optional - A string specifying the next paginated set of results to return.</li>
* <li><code>MaxResults</code> - <code>integer</code> - Optional - The maximum number of paginated instance items per response.</li>
+ * <li><code>IncludeAllInstances</code> - <code>boolean</code> - Optional - </li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
@@ -2704,7 +2787,7 @@ public function describe_security_groups($opt = null)
* call.
*
* @param string $snapshot_id (Required) The ID of the EBS snapshot whose attribute is being described.
- * @param string $attribute (Required) The name of the EBS attribute to describe. Available attribute names: createVolumePermission
+ * @param string $attribute (Required) The name of the EBS attribute to describe. Available attribute names: createVolumePermission [Allowed values: <code>productCodes</code>, <code>createVolumePermission</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
@@ -3028,7 +3111,7 @@ public function describe_tags($opt = null)
*
* @param string $volume_id (Required)
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
- * <li><code>Attribute</code> - <code>string</code> - Optional - </li>
+ * <li><code>Attribute</code> - <code>string</code> - Optional - [Allowed values: <code>autoEnableIO</code>, <code>productCodes</code>]</li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
@@ -3517,7 +3600,7 @@ public function get_password_data($instance_id, $opt = null)
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>AvailabilityZone</code> - <code>string</code> - Optional - The availability zone in which an Amazon EC2 instance runs.</li>
* <li><code>GroupName</code> - <code>string</code> - Optional - The name of the <code>PlacementGroup</code> in which an Amazon EC2 instance runs. Placement groups are primarily used for launching High Performance Computing instances in the same group to ensure fast connection speeds.</li>
- * <li><code>Tenancy</code> - <code>string</code> - Optional - The allowed tenancy of instances launched into the VPC. A value of default means instances can be launched with any tenancy; a value of dedicated means instances must be launched with tenancy as dedicated.</li>
+ * <li><code>Tenancy</code> - <code>string</code> - Optional - The allowed tenancy of instances launched into the VPC. A value of default means instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC will be launched as dedicated tenancy regardless of the tenancy assigned to the instance at launch.</li>
* </ul></li>
* </ul></li>
* <li><code>BlockDeviceMapping</code> - <code>array</code> - Optional - The BlockDeviceMappingItemType data type. <ul>
@@ -3748,7 +3831,7 @@ public function modify_image_attribute($image_id, $opt = null)
*
* @param string $instance_id (Required) The ID of the instance whose attribute is being modified.
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
- * <li><code>Attribute</code> - <code>string</code> - Optional - The name of the attribute being modified. Available attribute names: <code>instanceType</code>, <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code>, <code>instanceInitiatedShutdownBehavior</code>, <code>rootDevice</code>, <code>blockDeviceMapping</code></li>
+ * <li><code>Attribute</code> - <code>string</code> - Optional - The name of the attribute being modified. Available attribute names: <code>instanceType</code>, <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code>, <code>instanceInitiatedShutdownBehavior</code>, <code>rootDevice</code>, <code>blockDeviceMapping</code> [Allowed values: <code>instanceType</code>, <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code>, <code>instanceInitiatedShutdownBehavior</code>, <code>rootDeviceName</code>, <code>blockDeviceMapping</code>, <code>productCodes</code>, <code>sourceDestCheck</code>, <code>groupSet</code>]</li>
* <li><code>Value</code> - <code>string</code> - Optional - The new value of the instance attribute being modified. Only valid when <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code> or <code>instanceInitiateShutdownBehavior</code> is specified as the attribute being modified.</li>
* <li><code>BlockDeviceMapping</code> - <code>array</code> - Optional - The new block device mappings for the instance whose attributes are being modified. Only valid when blockDeviceMapping is specified as the attribute being modified. <ul>
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
@@ -3850,7 +3933,7 @@ public function modify_network_interface_attribute($network_interface_id, $opt =
*
* @param string $snapshot_id (Required) The ID of the EBS snapshot whose attributes are being modified.
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
- * <li><code>Attribute</code> - <code>string</code> - Optional - The name of the attribute being modified. Available attribute names: <code>createVolumePermission</code></li>
+ * <li><code>Attribute</code> - <code>string</code> - Optional - The name of the attribute being modified. Available attribute names: <code>createVolumePermission</code> [Allowed values: <code>productCodes</code>, <code>createVolumePermission</code>]</li>
* <li><code>OperationType</code> - <code>string</code> - Optional - The operation to perform on the attribute. Available operation names: <code>add</code>, <code>remove</code></li>
* <li><code>UserId</code> - <code>string|array</code> - Optional - The AWS user IDs to add to or remove from the list of users that have permission to create EBS volumes from the specified snapshot. Currently supports "all". <p class="note">Only valid when the <code>createVolumePermission</code> attribute is being modified.</p> Pass a string for a single value, or an indexed array for multiple values.</li>
* <li><code>UserGroup</code> - <code>string|array</code> - Optional - The AWS group names to add to or remove from the list of groups that have permission to create EBS volumes from the specified snapshot. Currently supports "all". <p class="note">Only valid when the <code>createVolumePermission</code> attribute is being modified.</p> Pass a string for a single value, or an indexed array for multiple values.</li>
@@ -4329,6 +4412,12 @@ public function report_instance_status($opt = null)
* <li><code>DeleteOnTermination</code> - <code>boolean</code> - Optional - </li>
* </ul></li>
* </ul></li>
+ * <li><code>IamInstanceProfile</code> - <code>array</code> - Optional - <ul>
+ * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
+ * <li><code>Arn</code> - <code>string</code> - Optional - </li>
+ * <li><code>Name</code> - <code>string</code> - Optional - </li>
+ * </ul></li>
+ * </ul></li>
* </ul></li>
* </ul></li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
@@ -4391,7 +4480,7 @@ public function reset_image_attribute($image_id, $attribute, $opt = null)
* Resets an attribute of an instance to its default value.
*
* @param string $instance_id (Required) The ID of the Amazon EC2 instance whose attribute is being reset.
- * @param string $attribute (Required) The name of the attribute being reset. Available attribute names: <code>kernel</code>, <code>ramdisk</code>
+ * @param string $attribute (Required) The name of the attribute being reset. Available attribute names: <code>kernel</code>, <code>ramdisk</code> [Allowed values: <code>instanceType</code>, <code>kernel</code>, <code>ramdisk</code>, <code>userData</code>, <code>disableApiTermination</code>, <code>instanceInitiatedShutdownBehavior</code>, <code>rootDeviceName</code>, <code>blockDeviceMapping</code>, <code>productCodes</code>, <code>sourceDestCheck</code>, <code>groupSet</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
@@ -4428,7 +4517,7 @@ public function reset_network_interface_attribute($network_interface_id, $opt =
* Resets permission settings for the specified snapshot.
*
* @param string $snapshot_id (Required) The ID of the snapshot whose attribute is being reset.
- * @param string $attribute (Required) The name of the attribute being reset. Available attribute names: <code>createVolumePermission</code>
+ * @param string $attribute (Required) The name of the attribute being reset. Available attribute names: <code>createVolumePermission</code> [Allowed values: <code>productCodes</code>, <code>createVolumePermission</code>]
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
@@ -4604,7 +4693,7 @@ public function revoke_security_group_ingress($opt = null)
* <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
* <li><code>AvailabilityZone</code> - <code>string</code> - Optional - The availability zone in which an Amazon EC2 instance runs.</li>
* <li><code>GroupName</code> - <code>string</code> - Optional - The name of the <code>PlacementGroup</code> in which an Amazon EC2 instance runs. Placement groups are primarily used for launching High Performance Computing instances in the same group to ensure fast connection speeds.</li>
- * <li><code>Tenancy</code> - <code>string</code> - Optional - The allowed tenancy of instances launched into the VPC. A value of default means instances can be launched with any tenancy; a value of dedicated means instances must be launched with tenancy as dedicated.</li>
+ * <li><code>Tenancy</code> - <code>string</code> - Optional - The allowed tenancy of instances launched into the VPC. A value of default means instances can be launched with any tenancy; a value of dedicated means all instances launched into the VPC will be launched as dedicated tenancy regardless of the tenancy assigned to the instance at launch.</li>
* </ul></li>
* </ul></li>
* <li><code>KernelId</code> - <code>string</code> - Optional - The ID of the kernel with which to launch the instance.</li>
@@ -4645,6 +4734,12 @@ public function revoke_security_group_ingress($opt = null)
* <li><code>DeleteOnTermination</code> - <code>boolean</code> - Optional - </li>
* </ul></li>
* </ul></li>
+ * <li><code>IamInstanceProfile</code> - <code>array</code> - Optional - <ul>
+ * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul>
+ * <li><code>Arn</code> - <code>string</code> - Optional - </li>
+ * <li><code>Name</code> - <code>string</code> - Optional - </li>
+ * </ul></li>
+ * </ul></li>
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
@@ -4709,6 +4804,15 @@ public function run_instances($image_id, $min_count, $max_count, $opt = null)
)));
unset($opt['NetworkInterface']);
}
+
+ // Optional map (non-list)
+ if (isset($opt['IamInstanceProfile']))
+ {
+ $opt = array_merge($opt, CFComplexType::map(array(
+ 'IamInstanceProfile' => $opt['IamInstanceProfile']
+ )));
+ unset($opt['IamInstanceProfile']);
+ }
return $this->authenticate('RunInstances', $opt);
}
View
69 services/elasticache.class.php
@@ -27,7 +27,7 @@
* the key performance statistics associated with their cache and can receive alarms if a part of
* their cache runs hot.
*
- * @version 2012.04.18
+ * @version 2012.05.31
* @license See the included NOTICE.md file for complete information.
* @copyright See the included NOTICE.md file for complete information.
* @link http://aws.amazon.com/elasticache/ AWS ElastiCache
@@ -131,7 +131,7 @@ class AmazonElastiCache extends CFRuntime
*/
public function __construct(array $options = array())
{
- $this->api_version = '2011-07-15';
+ $this->api_version = '2012-03-09';
$this->hostname = self::DEFAULT_URL;
$this->auth_class = 'AuthV2Query';
@@ -478,6 +478,52 @@ public function describe_events($opt = null)
}
/**
+ * Returns information about reserved Cache Nodes for this account, or about a specified reserved
+ * Cache Node.
+ *
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>ReservedCacheNodeId</code> - <code>string</code> - Optional - The reserved Cache Node identifier filter value. Specify this parameter to show only the reservation that matches the specified reservation ID.</li>
+ * <li><code>ReservedCacheNodesOfferingId</code> - <code>string</code> - Optional - The offering identifier filter value. Specify this parameter to show only purchased reservations matching the specified offering identifier.</li>
+ * <li><code>CacheNodeType</code> - <code>string</code> - Optional - The Cache Node type filter value. Specify this parameter to show only those reservations matching the specified Cache Nodes type.</li>
+ * <li><code>Duration</code> - <code>string</code> - Optional - The duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: <code>1 | 3 | 31536000 | 94608000</code></li>
+ * <li><code>ProductDescription</code> - <code>string</code> - Optional - The product description filter value. Specify this parameter to show only those reservations matching the specified product description.</li>
+ * <li><code>OfferingType</code> - <code>string</code> - Optional - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: <code>"Light Utilization" | "Medium Utilization" | "Heavy Utilization"</code></li>
+ * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more than the <code>MaxRecords</code> value is available, a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100</li>
+ * <li><code>Marker</code> - <code>string</code> - Optional - The marker provided in the previous request. If this parameter is specified, the response includes records beyond the marker only, up to <code>MaxRecords</code>.</li>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function describe_reserved_cache_nodes($opt = null)
+ {
+ if (!$opt) $opt = array();
+
+ return $this->authenticate('DescribeReservedCacheNodes', $opt);
+ }
+
+ /**
+ * Lists available reserved Cache Node offerings.
+ *
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>ReservedCacheNodesOfferingId</code> - <code>string</code> - Optional - The offering identifier filter value. Specify this parameter to show only the available offering that matches the specified reservation identifier. Example: <code>438012d3-4052-4cc7-b2e3-8d3372e0e706</code></li>
+ * <li><code>CacheNodeType</code> - <code>string</code> - Optional - The Cache Node type filter value. Specify this parameter to show only the available offerings matching the specified Cache Node type.</li>
+ * <li><code>Duration</code> - <code>string</code> - Optional - Duration filter value, specified in years or seconds. Specify this parameter to show only reservations for this duration. Valid Values: <code>1 | 3 | 31536000 | 94608000</code></li>
+ * <li><code>ProductDescription</code> - <code>string</code> - Optional - Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.</li>
+ * <li><code>OfferingType</code> - <code>string</code> - Optional - The offering type filter value. Specify this parameter to show only the available offerings matching the specified offering type. Valid Values: <code>"Light Utilization" | "Medium Utilization" | "Heavy Utilization"</code></li>
+ * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more than the <code>MaxRecords</code> value is available, a marker is included in the response so that the following results can be retrieved. Default: 100 Constraints: minimum 20, maximum 100</li>
+ * <li><code>Marker</code> - <code>string</code> - Optional - The marker provided in the previous request. If this parameter is specified, the response includes records beyond the marker only, up to <code>MaxRecords</code>.</li>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function describe_reserved_cache_nodes_offerings($opt = null)
+ {
+ if (!$opt) $opt = array();
+
+ return $this->authenticate('DescribeReservedCacheNodesOfferings', $opt);
+ }
+
+ /**
* Modifies the Cache Cluster settings. You can change one or more Cache Cluster configuration
* parameters by specifying the parameters and the new values in the request.
*
@@ -554,6 +600,25 @@ public function modify_cache_parameter_group($cache_parameter_group_name, $param
}
/**
+ * Purchases a reserved Cache Node offering.
+ *
+ * @param string $reserved_cache_nodes_offering_id (Required) The ID of the Reserved Cache Node offering to purchase. Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>ReservedCacheNodeId</code> - <code>string</code> - Optional - Customer-specified identifier to track this reservation. Example: myreservationID</li>
+ * <li><code>CacheNodeCount</code> - <code>integer</code> - Optional - The number of instances to reserve. Default: <code>1</code></li>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function purchase_reserved_cache_nodes_offering($reserved_cache_nodes_offering_id, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['ReservedCacheNodesOfferingId'] = $reserved_cache_nodes_offering_id;
+
+ return $this->authenticate('PurchaseReservedCacheNodesOffering', $opt);
+ }
+
+ /**
* Reboots some (or all) of the cache cluster nodes within a previously provisioned ElastiCache
* cluster. This API results in the application of modified CacheParameterGroup parameters to the
* cache cluster. This action is taken as soon as possible, and results in a momentary outage to
View
354 services/iam.class.php
@@ -34,7 +34,7 @@
* "http://aws.amazon.com/documentation/" target=
* "_blank">http://aws.amazon.com/documentation/</a>.
*
- * @version 2012.05.01
+ * @version 2012.05.31
* @license See the included NOTICE.md file for complete information.
* @copyright See the included NOTICE.md file for complete information.
* @link http://aws.amazon.com/iam/ AWS Identity and Access Management
@@ -92,6 +92,12 @@ public function __construct(array $options = array())
/*%******************************************************************************************%*/
+ // CONVENIENCE CONSTANTS
+
+ const STANDARD_EC2_ASSUME_ROLE_POLICY = '{"Statement":[{"Principal":{"Service":["ec2.amazonaws.com"]},"Effect":"Allow","Action":["sts:AssumeRole"]}]}';
+
+
+ /*%******************************************************************************************%*/
// SETTERS
/**
@@ -113,6 +119,25 @@ public function set_region($region)
// SERVICE METHODS
/**
+ * Adds the specified role to the specified instance profile.
+ *
+ * @param string $instance_profile_name (Required) Name of the instance profile to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param string $role_name (Required) Name of the role to add. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function add_role_to_instance_profile($instance_profile_name, $role_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['InstanceProfileName'] = $instance_profile_name;
+ $opt['RoleName'] = $role_name;
+
+ return $this->authenticate('AddRoleToInstanceProfile', $opt);
+ }
+
+ /**
* Adds the specified user to the specified group.
*
* @param string $group_name (Required) Name of the group to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
@@ -231,6 +256,29 @@ public function create_group($group_name, $opt = null)
}
/**
+ * Creates a new instance profile.
+ *
+ * For information about the number of instance profiles you can create, see <a href=
+ * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html"
+ * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access
+ * Management</em>.
+ *
+ * @param string $instance_profile_name (Required) Name of the instance profile to create. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>Path</code> - <code>string</code> - Optional - The path to the instance profile. For more information about paths, see <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html" target="_blank">Identifiers for IAM Entities</a> in <em>Using AWS Identity and Access Management</em>. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: <code>(\u002F)|(\u002F[\u0021-\u007F]+\u002F)</code>]</li>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function create_instance_profile($instance_profile_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['InstanceProfileName'] = $instance_profile_name;
+
+ return $this->authenticate('CreateInstanceProfile', $opt);
+ }
+
+ /**
* Creates a password for the specified user, giving the user the ability to access AWS services
* through the AWS Management Console. For more information about managing passwords, see <a href=
* "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_ManagingLogins.html"
@@ -253,6 +301,31 @@ public function create_login_profile($user_name, $password, $opt = null)
}
/**
+ * Creates a new role for your AWS account.
+ *
+ * For information about limitations on the number of roles you can create, see <a href=
+ * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html"
+ * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access
+ * Management</em>.
+ *
+ * @param string $role_name (Required) Name of the role to create. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param string $assume_role_policy_document (Required) The policy govering by who and under what conditions the role can be assumed. [Constraints: The value must be between 1 and 131072 characters, and must match the following regular expression pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>Path</code> - <code>string</code> - Optional - The path to the role. For more information about paths, see <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html" target="_blank">Identifiers for IAM Entities</a> in <em>Using AWS Identity and Access Management</em>. This parameter is optional. If it is not included, it defaults to a slash (/). [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: <code>(\u002F)|(\u002F[\u0021-\u007F]+\u002F)</code>]</li>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function create_role($role_name, $assume_role_policy_document, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['RoleName'] = $role_name;
+ $opt['AssumeRolePolicyDocument'] = $assume_role_policy_document;
+
+ return $this->authenticate('CreateRole', $opt);
+ }
+
+ /**
* Creates a new user for your AWS account.
*
* For information about limitations on the number of users you can create, see <a href=
@@ -427,6 +500,23 @@ public function delete_group_policy($group_name, $policy_name, $opt = null)
}
/**
+ * Deletes the specified instance profile. The instance profile must have an associated role.
+ *
+ * @param string $instance_profile_name (Required) Name of the instance profile to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function delete_instance_profile($instance_profile_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['InstanceProfileName'] = $instance_profile_name;
+
+ return $this->authenticate('DeleteInstanceProfile', $opt);
+ }
+
+ /**
* Deletes the password for the specified user, which terminates the user's ability to access AWS
* services through the AWS Management Console.
*
@@ -452,6 +542,42 @@ public function delete_login_profile($user_name, $opt = null)
}
/**
+ * Deletes the specified role. The role must not have any attached policies.
+ *
+ * @param string $role_name (Required) Name of the role to delete. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function delete_role($role_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['RoleName'] = $role_name;
+
+ return $this->authenticate('DeleteRole', $opt);
+ }
+
+ /**
+ * Deletes the specified policy associated with the specified role.
+ *
+ * @param string $role_name (Required) Name of the role the policy is associated with. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param string $policy_name (Required) Name of the policy document to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function delete_role_policy($role_name, $policy_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['RoleName'] = $role_name;
+ $opt['PolicyName'] = $policy_name;
+
+ return $this->authenticate('DeleteRolePolicy', $opt);
+ }
+
+ /**
* Deletes the specified server certificate.
*
* <p class="important">
@@ -668,6 +794,24 @@ public function get_group_policy($group_name, $policy_name, $opt = null)
}
/**
+ * Retrieves information about the specified instance profile, including the instance profile's
+ * path, GUID, ARN, and role.
+ *
+ * @param string $instance_profile_name (Required) Name of the instance profile to get information about. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function get_instance_profile($instance_profile_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['InstanceProfileName'] = $instance_profile_name;
+
+ return $this->authenticate('GetInstanceProfile', $opt);
+ }
+
+ /**
* Retrieves the user name and password create date for the specified user.
*
* @param string $user_name (Required) Name of the user whose login profile you want to retrieve. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
@@ -685,6 +829,45 @@ public function get_login_profile($user_name, $opt = null)
}
/**
+ * Retrieves information about the specified role, including the role's path, GUID, ARN, and the
+ * assume role policy.
+ *
+ * @param string $role_name (Required) Name of the role to get information about. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function get_role($role_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['RoleName'] = $role_name;
+
+ return $this->authenticate('GetRole', $opt);
+ }
+
+ /**
+ * Retrieves the specified policy document for the specified role. The returned policy is
+ * URL-encoded according to RFC 3986. For more information about RFC 3986, go to <a href=
+ * "http://www.faqs.org/rfcs/rfc3986.html">http://www.faqs.org/rfcs/rfc3986.html</a>.
+ *
+ * @param string $role_name (Required) Name of the role who the policy is associated with. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param string $policy_name (Required) Name of the policy document to get. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
+ * <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
+ * @return CFResponse A <CFResponse> object containing a parsed HTTP response.
+ */
+ public function get_role_policy($role_name, $policy_name, $opt = null)
+ {
+ if (!$opt) $opt = array();
+ $opt['RoleName'] = $role_name;
+ $opt['PolicyName'] = $policy_name;
+
+ return $this->authenticate('GetRolePolicy', $opt);
+ }
+
+ /**
* Retrieves information about the specified server certificate.
*
* @param string $server_certificate_name (Required) The name of the server certificate you want to retrieve information about. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]
@@ -864,6 +1047,51 @@ public function list_groups_for_user($user_name, $opt = null)
}
/**
+ * Lists the instance profiles that have the specified path prefix. If there are none, the action
+ * returns an empty list.
+ *
+ * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code>
+ * parameters.
+ *
+ * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
+ * <li><code>PathPrefix</code> - <code>string</code> - Optional - The path prefix for filtering the results. For example: <code>/application_abc/component_xyz/</code>, which would get all instance profiles whose path starts with <code>/application_abc/component_xyz/</code>. This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: <code>\u002F[\u0021-\u007F]*</code>]</li>
+ * <li><code>Marker</code> - <code>string</code> - Optional - Use this parameter only when paginating results, and only in a subsequent request after you've received a response where the results are truncated. Set it to the value of the <code>Marker</code> element in the response you just received. [Constraints: The value must be between 1 and 320 characters, and must match the following regular expression pattern: <code>[\u0020-\u00FF]*</code>]</li>
+ * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this parameter only when paginating results to indicate the maximum number of user names you want in the re