Index: trunk/extensions/OpenStackManager/aws-sdk/services/cloudformation.class.php |
— | — | @@ -48,7 +48,7 @@ |
49 | 49 | * Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can |
50 | 50 | * find the product's technical documentation at <a href="http://aws.amazon.com/documentation/">http://aws.amazon.com/documentation/</a>. |
51 | 51 | * |
52 | | - * @version Wed Aug 03 10:08:29 PDT 2011 |
| 52 | + * @version Fri Sep 30 16:15:37 PDT 2011 |
53 | 53 | * @license See the included NOTICE.md file for complete information. |
54 | 54 | * @copyright See the included NOTICE.md file for complete information. |
55 | 55 | * @link http://aws.amazon.com/cloudformation/Amazon CloudFormation |
— | — | @@ -61,36 +61,41 @@ |
62 | 62 | // CLASS CONSTANTS |
63 | 63 | |
64 | 64 | /** |
65 | | - * Specify the default queue URL. |
| 65 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
66 | 66 | */ |
67 | | - const DEFAULT_URL = 'cloudformation.us-east-1.amazonaws.com'; |
| 67 | + const REGION_US_E1 = 'cloudformation.us-east-1.amazonaws.com'; |
68 | 68 | |
69 | 69 | /** |
70 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 70 | + * Specify the queue URL for the United States West (Northern California) Region. |
71 | 71 | */ |
72 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 72 | + const REGION_US_W1 = 'cloudformation.us-west-1.amazonaws.com'; |
73 | 73 | |
74 | 74 | /** |
75 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 75 | + * Specify the queue URL for the United States West (Oregon) Region. |
76 | 76 | */ |
77 | | - const REGION_US_W1 = 'cloudformation.us-west-1.amazonaws.com'; |
| 77 | + const REGION_US_W2 = 'cloudformation.us-west-2.amazonaws.com'; |
78 | 78 | |
79 | 79 | /** |
80 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 80 | + * Specify the queue URL for the Europe West (Ireland) Region. |
81 | 81 | */ |
82 | 82 | const REGION_EU_W1 = 'cloudformation.eu-west-1.amazonaws.com'; |
83 | 83 | |
84 | 84 | /** |
85 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 85 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
86 | 86 | */ |
87 | 87 | const REGION_APAC_SE1 = 'cloudformation.ap-southeast-1.amazonaws.com'; |
88 | 88 | |
89 | 89 | /** |
90 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 90 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
91 | 91 | */ |
92 | 92 | const REGION_APAC_NE1 = 'cloudformation.ap-northeast-1.amazonaws.com'; |
93 | 93 | |
| 94 | + /** |
| 95 | + * Default service endpoint. |
| 96 | + */ |
| 97 | + const DEFAULT_URL = self::REGION_US_E1; |
94 | 98 | |
| 99 | + |
95 | 100 | /*%******************************************************************************************%*/ |
96 | 101 | // SETTERS |
97 | 102 | |
— | — | @@ -183,7 +188,7 @@ |
184 | 189 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
185 | 190 | * <li><code>TemplateBody</code> - <code>string</code> - Optional - Structure containing the template body. (For more information, go to the AWS CloudFormation User Guide.) Condition: You must pass <code>TemplateBody</code> or <code>TemplateURL</code>. If both are passed, only <code>TemplateBody</code> is used. </li> |
186 | 191 | * <li><code>TemplateURL</code> - <code>string</code> - Optional - Location of file containing the template body. The URL must point to a template located in an S3 bucket in the same region as the stack. For more information, go to the AWS CloudFormation User Guide. Conditional: You must pass <code>TemplateURL</code> or <code>TemplateBody</code>. If both are passed, only <code>TemplateBody</code> is used. </li> |
187 | | - * <li><code>Parameters</code> - <code>array</code> - Optional - A list of <code>Parameter</code> structures. <ul> |
| 192 | + * <li><code>Parameters</code> - <code>array</code> - Optional - A list of <code>Parameter</code> structures that specify input parameters for the stack. <ul> |
188 | 193 | * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
189 | 194 | * <li><code>ParameterKey</code> - <code>string</code> - Optional - The key associated with the parameter. </li> |
190 | 195 | * <li><code>ParameterValue</code> - <code>string</code> - Optional - The value associated with the parameter. </li> |
— | — | @@ -192,6 +197,7 @@ |
193 | 198 | * <li><code>DisableRollback</code> - <code>boolean</code> - Optional - Boolean to enable or disable rollback on stack creation failures.<br></br> Default: <code>false</code> </li> |
194 | 199 | * <li><code>TimeoutInMinutes</code> - <code>integer</code> - Optional - The amount of time that can pass before the stack status becomes CREATE_FAILED; if <code>DisableRollback</code> is not set or is set to <code>false</code>, the stack will be rolled back. </li> |
195 | 200 | * <li><code>NotificationARNs</code> - <code>string|array</code> - Optional - The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI). Pass a string for a single value, or an indexed array for multiple values. </li> |
| 201 | + * <li><code>Capabilities</code> - <code>array</code>- Optional - The list of capabilities that you want to allow in the stack. If your template contains IAM resources, you must specify the CAPABILITY_IAM value for this parameter; otherwise, this action returns an InsufficientCapabilities error. IAM resources are the following: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::User, and AWS::IAM::UserToGroupAddition.</li> |
196 | 202 | * <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> |
197 | 203 | * <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> |
198 | 204 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
— | — | @@ -219,6 +225,15 @@ |
220 | 226 | unset($opt['NotificationARNs']); |
221 | 227 | } |
222 | 228 | |
| 229 | + // Optional parameter |
| 230 | + if (isset($opt['Capabilities'])) |
| 231 | + { |
| 232 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 233 | + 'Capabilities' => $opt['Capabilities'] |
| 234 | + ), 'member')); |
| 235 | + unset($opt['Capabilities']); |
| 236 | + } |
| 237 | + |
223 | 238 | return $this->authenticate('CreateStack', $opt, $this->hostname); |
224 | 239 | } |
225 | 240 | |
— | — | @@ -394,6 +409,51 @@ |
395 | 410 | |
396 | 411 | return $this->authenticate('DescribeStackResources', $opt, $this->hostname); |
397 | 412 | } |
| 413 | + |
| 414 | + /** |
| 415 | + * Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of |
| 416 | + * the stack via the DescribeStacks action. |
| 417 | + * |
| 418 | + * To get a copy of the template for an existing stack, you can use the GetTemplate action. |
| 419 | + * |
| 420 | + * For more information about creating an update template, updating a stack, and monitoring the progress of the update, see <a |
| 421 | + * href="http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html">Updating a Stack</a>. |
| 422 | + * |
| 423 | + * @param string $stack_name (Required) The name or stack ID of the stack to update. Must contain only alphanumeric characters (case sensitive) and start with an alpha character. Maximum length of the name is 255 characters. |
| 424 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 425 | + * <li><code>TemplateBody</code> - <code>string</code> - Optional - Structure containing the template body. (For more information, go to the AWS CloudFormation User Guide.) Condition: You must pass <code>TemplateBody</code> or <code>TemplateURL</code>. If both are passed, only <code>TemplateBody</code> is used. </li> |
| 426 | + * <li><code>TemplateURL</code> - <code>string</code> - Optional - Location of file containing the template body. The URL must point to a template located in an S3 bucket in the same region as the stack. For more information, go to the AWS CloudFormation User Guide. Conditional: You must pass <code>TemplateURL</code> or <code>TemplateBody</code>. If both are passed, only <code>TemplateBody</code> is used. </li> |
| 427 | + * <li><code>Parameters</code> - <code>array</code> - Optional - A list of <code>Parameter</code> structures that specify input parameters for the stack.</li> |
| 428 | + * <li><code>Capabilities</code> - <code>array</code>- Optional - The list of capabilities that you want to allow in the stack. If your stack contains IAM resources, you must specify the CAPABILITY_IAM value for this parameter; otherwise, this action returns an InsufficientCapabilities error. IAM resources are the following: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::User, and AWS::IAM::UserToGroupAddition.</li> |
| 429 | + * <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> |
| 430 | + * <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> |
| 431 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 432 | + */ |
| 433 | + public function update_stack($stack_name, $opt = null) |
| 434 | + { |
| 435 | + if (!$opt) $opt = array(); |
| 436 | + $opt['StackName'] = $stack_name; |
| 437 | + |
| 438 | + // Optional parameter |
| 439 | + if (isset($opt['Parameters'])) |
| 440 | + { |
| 441 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 442 | + 'Parameters' => $opt['Parameters'] |
| 443 | + ), 'member')); |
| 444 | + unset($opt['Parameters']); |
| 445 | + } |
| 446 | + |
| 447 | + // Optional parameter |
| 448 | + if (isset($opt['Capabilities'])) |
| 449 | + { |
| 450 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 451 | + 'Capabilities' => $opt['Capabilities'] |
| 452 | + ), 'member')); |
| 453 | + unset($opt['Capabilities']); |
| 454 | + } |
| 455 | + |
| 456 | + return $this->authenticate('UpdateStack', $opt, $this->hostname); |
| 457 | + } |
398 | 458 | } |
399 | 459 | |
400 | 460 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/s3.class.php |
— | — | @@ -49,7 +49,7 @@ |
50 | 50 | * |
51 | 51 | * Visit <http://aws.amazon.com/s3/> for more information. |
52 | 52 | * |
53 | | - * @version 2011.05.18 |
| 53 | + * @version 2011.12.02 |
54 | 54 | * @license See the included NOTICE.md file for more information. |
55 | 55 | * @copyright See the included NOTICE.md file for more information. |
56 | 56 | * @link http://aws.amazon.com/s3/ Amazon Simple Storage Service |
— | — | @@ -76,6 +76,11 @@ |
77 | 77 | const REGION_US_W1 = 'us-west-1'; |
78 | 78 | |
79 | 79 | /** |
| 80 | + * Specify the queue URL for the US-West (Oregon) Region. |
| 81 | + */ |
| 82 | + const REGION_US_W2 = 'us-west-2'; |
| 83 | + |
| 84 | + /** |
80 | 85 | * Specify the queue URL for the EU (Ireland) Region. |
81 | 86 | */ |
82 | 87 | const REGION_EU_W1 = 'EU'; |
— | — | @@ -240,7 +245,12 @@ |
241 | 246 | */ |
242 | 247 | public $temporary_prefix = false; |
243 | 248 | |
| 249 | + /** |
| 250 | + * The state of whether the response should be parsed or not. |
| 251 | + */ |
| 252 | + public $parse_the_response = true; |
244 | 253 | |
| 254 | + |
245 | 255 | /*%******************************************************************************************%*/ |
246 | 256 | // CONSTRUCTOR |
247 | 257 | |
— | — | @@ -260,13 +270,14 @@ |
261 | 271 | $this->api_version = '2006-03-01'; |
262 | 272 | $this->hostname = self::DEFAULT_URL; |
263 | 273 | |
264 | | - $this->base_acp_xml = '<?xml version="1.0" encoding="UTF-8"?><AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/latest/"></AccessControlPolicy>'; |
| 274 | + $this->base_acp_xml = '<?xml version="1.0" encoding="UTF-8"?><AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/latest/"></AccessControlPolicy>'; |
265 | 275 | $this->base_location_constraint = '<?xml version="1.0" encoding="UTF-8"?><CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/' . $this->api_version . '/"><LocationConstraint></LocationConstraint></CreateBucketConfiguration>'; |
266 | | - $this->base_logging_xml = '<?xml version="1.0" encoding="utf-8"?><BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/' . $this->api_version . '"></BucketLoggingStatus>'; |
267 | | - $this->base_notification_xml = '<?xml version="1.0" encoding="utf-8"?><NotificationConfiguration></NotificationConfiguration>'; |
268 | | - $this->base_versioning_xml = '<?xml version="1.0" encoding="utf-8"?><VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/' . $this->api_version . '/"></VersioningConfiguration>'; |
269 | | - $this->complete_mpu_xml = '<?xml version="1.0" encoding="utf-8"?><CompleteMultipartUpload></CompleteMultipartUpload>'; |
270 | | - $this->website_config_xml = '<?xml version="1.0" encoding="utf-8"?><WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/' . $this->api_version . '/"><IndexDocument><Suffix>index.html</Suffix></IndexDocument><ErrorDocument><Key>error.html</Key></ErrorDocument></WebsiteConfiguration>'; |
| 276 | + $this->base_logging_xml = '<?xml version="1.0" encoding="utf-8"?><BucketLoggingStatus xmlns="http://doc.s3.amazonaws.com/' . $this->api_version . '"></BucketLoggingStatus>'; |
| 277 | + $this->base_notification_xml = '<?xml version="1.0" encoding="utf-8"?><NotificationConfiguration></NotificationConfiguration>'; |
| 278 | + $this->base_versioning_xml = '<?xml version="1.0" encoding="utf-8"?><VersioningConfiguration xmlns="http://s3.amazonaws.com/doc/' . $this->api_version . '/"></VersioningConfiguration>'; |
| 279 | + $this->complete_mpu_xml = '<?xml version="1.0" encoding="utf-8"?><CompleteMultipartUpload></CompleteMultipartUpload>'; |
| 280 | + $this->website_config_xml = '<?xml version="1.0" encoding="utf-8"?><WebsiteConfiguration xmlns="http://s3.amazonaws.com/doc/' . $this->api_version . '/"><IndexDocument><Suffix>index.html</Suffix></IndexDocument><ErrorDocument><Key>error.html</Key></ErrorDocument></WebsiteConfiguration>'; |
| 281 | + $this->multi_object_delete_xml = '<?xml version="1.0" encoding="utf-8"?><Delete></Delete>'; |
271 | 282 | |
272 | 283 | if (!$key && !defined('AWS_KEY')) |
273 | 284 | { |
— | — | @@ -287,7 +298,7 @@ |
288 | 299 | return parent::session_based_auth($key, $secret_key, $token); |
289 | 300 | } |
290 | 301 | |
291 | | - return parent::__construct($key, $secret_key); |
| 302 | + return parent::__construct($key, $secret_key, $token); |
292 | 303 | } |
293 | 304 | |
294 | 305 | |
— | — | @@ -373,8 +384,11 @@ |
374 | 385 | // Invoke the cache callback function to determine whether to pull data from the cache or make a fresh request. |
375 | 386 | $data = $this->cache_object->response_manager(array($this, 'cache_callback'), $method_arguments); |
376 | 387 | |
377 | | - // Parse the XML body |
378 | | - $data = $this->parse_callback($data); |
| 388 | + if ($this->parse_the_response) |
| 389 | + { |
| 390 | + // Parse the XML body |
| 391 | + $data = $this->parse_callback($data); |
| 392 | + } |
379 | 393 | |
380 | 394 | // End! |
381 | 395 | return $data; |
— | — | @@ -1169,6 +1183,8 @@ |
1170 | 1184 | * <li><code>fileUpload</code> - <code>string|resource</code> - Required; Conditional - The URL/path for the file to upload, or an open resource. Either this parameter or <code>body</code> is required.</li> |
1171 | 1185 | * <li><code>acl</code> - <code>string</code> - Optional - The ACL settings for the specified object. [Allowed values: <code>AmazonS3::ACL_PRIVATE</code>, <code>AmazonS3::ACL_PUBLIC</code>, <code>AmazonS3::ACL_OPEN</code>, <code>AmazonS3::ACL_AUTH_READ</code>, <code>AmazonS3::ACL_OWNER_READ</code>, <code>AmazonS3::ACL_OWNER_FULL_CONTROL</code>]. The default value is <code>ACL_PRIVATE</code>.</li> |
1172 | 1186 | * <li><code>contentType</code> - <code>string</code> - Optional - The type of content that is being sent in the body. If a file is being uploaded via <code>fileUpload</code> as a file system path, it will attempt to determine the correct mime-type based on the file extension. The default value is <code>application/octet-stream</code>.</li> |
| 1187 | + * <li><code>contentType</code> - <code>string</code> - Optional - The type of content that is being sent in the body. If a file is being uploaded via <code>fileUpload</code> as a file system path, it will attempt to determine the correct mime-type based on the file extension. The default value is <code>application/octet-stream</code>.</li> |
| 1188 | + * <li><code>encryption</code> - <code>string</code> - Optional - The algorithm to use for encrypting the object. [Allowed values: <code>AES256</code>]</li> |
1173 | 1189 | * <li><code>headers</code> - <code>array</code> - Optional - The standard HTTP headers to send along in the request.</li> |
1174 | 1190 | * <li><code>length</code> - <code>integer</code> - Optional - The size of the object in bytes. For more information, see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13">RFC 2616, section 14.13</a>. The value can also be passed to the <code>header</code> option as <code>Content-Length</code>.</li> |
1175 | 1191 | * <li><code>meta</code> - <code>array</code> - Optional - An associative array of key-value pairs. Represented by <code>x-amz-meta-:</code>. Any header starting with this prefix is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.</li> |
— | — | @@ -1215,6 +1231,13 @@ |
1216 | 1232 | unset($opt['storage']); |
1217 | 1233 | } |
1218 | 1234 | |
| 1235 | + // Handle encryption settings. Can also be passed as an HTTP header. |
| 1236 | + if (isset($opt['encryption'])) |
| 1237 | + { |
| 1238 | + $opt['headers']['x-amz-server-side-encryption'] = $opt['encryption']; |
| 1239 | + unset($opt['encryption']); |
| 1240 | + } |
| 1241 | + |
1219 | 1242 | // Handle meta tags. Can also be passed as an HTTP header. |
1220 | 1243 | if (isset($opt['meta'])) |
1221 | 1244 | { |
— | — | @@ -1251,6 +1274,7 @@ |
1252 | 1275 | public function get_object($bucket, $filename, $opt = null) |
1253 | 1276 | { |
1254 | 1277 | if (!$opt) $opt = array(); |
| 1278 | + $this->parse_the_response = false; |
1255 | 1279 | |
1256 | 1280 | // Add this to our request |
1257 | 1281 | $opt['verb'] = 'GET'; |
— | — | @@ -1350,6 +1374,83 @@ |
1351 | 1375 | } |
1352 | 1376 | |
1353 | 1377 | /** |
| 1378 | + * Deletes two or more specified Amazon S3 objects from the specified bucket. |
| 1379 | + * |
| 1380 | + * @param string $bucket (Required) The name of the bucket to use. |
| 1381 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 1382 | + * <li><code>objects</code> - <code>array</code> - Required - The object references to delete from the bucket. <ul> |
| 1383 | + * <li><code>key</code> - <code>string</code> - Required - The name of the object (e.g., the "key") to delete. This should include the entire file path including all "subdirectories".</li> |
| 1384 | + * <li><code>version_id</code> - <code>string</code> - Optional - If the object is versioned, include the version ID to delete.</li> |
| 1385 | + * </ul></li> |
| 1386 | + * <li><code>quiet</code> - <code>boolean</code> - Optional - Whether or not Amazon S3 should use "Quiet" mode for this operation. A value of <code>true</code> will enable Quiet mode. A value of <code>false</code> will use Verbose mode. The default value is <code>false</code>.</li> |
| 1387 | + * <li><code>MFASerial</code> - <code>string</code> - Optional - The serial number on the back of the Gemalto device. <code>MFASerial</code> and <code>MFAToken</code> must both be set for MFA to work.</li> |
| 1388 | + * <li><code>MFAToken</code> - <code>string</code> - Optional - The current token displayed on the Gemalto device. <code>MFASerial</code> and <code>MFAToken</code> must both be set for MFA to work.</li> |
| 1389 | + * <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> |
| 1390 | + * <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> |
| 1391 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 1392 | + * @link http://aws.amazon.com/mfa/ Multi-Factor Authentication |
| 1393 | + */ |
| 1394 | + public function delete_objects($bucket, $opt = null) |
| 1395 | + { |
| 1396 | + // Add this to our request |
| 1397 | + if (!$opt) $opt = array(); |
| 1398 | + $opt['verb'] = 'POST'; |
| 1399 | + $opt['sub_resource'] = 'delete'; |
| 1400 | + $opt['body'] = ''; |
| 1401 | + |
| 1402 | + // Bail out |
| 1403 | + if (!isset($opt['objects']) || !is_array($opt['objects'])) |
| 1404 | + { |
| 1405 | + throw new S3_Exception('The ' . __FUNCTION__ . ' method requires the "objects" option to be set as an array.'); |
| 1406 | + } |
| 1407 | + |
| 1408 | + $xml = new SimpleXMLElement($this->multi_object_delete_xml); |
| 1409 | + |
| 1410 | + // Add the objects |
| 1411 | + foreach ($opt['objects'] as $object) |
| 1412 | + { |
| 1413 | + $xobject = $xml->addChild('Object'); |
| 1414 | + $xobject->addChild('Key', $object['key']); |
| 1415 | + |
| 1416 | + if (isset($object['version_id'])) |
| 1417 | + { |
| 1418 | + $xobject->addChild('VersionId', $object['version_id']); |
| 1419 | + } |
| 1420 | + } |
| 1421 | + |
| 1422 | + // Quiet mode? |
| 1423 | + if (isset($opt['quiet'])) |
| 1424 | + { |
| 1425 | + $quiet = 'false'; |
| 1426 | + if (is_bool($opt['quiet'])) // Boolean |
| 1427 | + { |
| 1428 | + $quiet = $opt['quiet'] ? 'true' : 'false'; |
| 1429 | + } |
| 1430 | + elseif (is_string($opt['quiet'])) // String |
| 1431 | + { |
| 1432 | + $quiet = ($opt['quiet'] === 'true') ? 'true' : 'false'; |
| 1433 | + } |
| 1434 | + |
| 1435 | + $xml->addChild('Quiet', $quiet); |
| 1436 | + } |
| 1437 | + |
| 1438 | + // Enable MFA delete? |
| 1439 | + // @codeCoverageIgnoreStart |
| 1440 | + if (isset($opt['MFASerial']) && isset($opt['MFAToken'])) |
| 1441 | + { |
| 1442 | + $opt['headers'] = array( |
| 1443 | + 'x-amz-mfa' => ($opt['MFASerial'] . ' ' . $opt['MFAToken']) |
| 1444 | + ); |
| 1445 | + } |
| 1446 | + // @codeCoverageIgnoreEnd |
| 1447 | + |
| 1448 | + $opt['body'] = $xml->asXML(); |
| 1449 | + |
| 1450 | + // Authenticate to S3 |
| 1451 | + return $this->authenticate($bucket, $opt); |
| 1452 | + } |
| 1453 | + |
| 1454 | + /** |
1354 | 1455 | * Gets a list of all Amazon S3 objects in the specified bucket. |
1355 | 1456 | * |
1356 | 1457 | * @param string $bucket (Required) The name of the bucket to use. |
— | — | @@ -1394,6 +1495,7 @@ |
1395 | 1496 | * <li><code>filename</code> - <code>string</code> - Required - Specifies the file name to copy the object to.</li></ul> |
1396 | 1497 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
1397 | 1498 | * <li><code>acl</code> - <code>string</code> - Optional - The ACL settings for the specified object. [Allowed values: <code>AmazonS3::ACL_PRIVATE</code>, <code>AmazonS3::ACL_PUBLIC</code>, <code>AmazonS3::ACL_OPEN</code>, <code>AmazonS3::ACL_AUTH_READ</code>, <code>AmazonS3::ACL_OWNER_READ</code>, <code>AmazonS3::ACL_OWNER_FULL_CONTROL</code>]. Alternatively, an array of associative arrays. Each associative array contains an <code>id</code> and a <code>permission</code> key. The default value is <code>ACL_PRIVATE</code>.</li> |
| 1499 | + * <li><code>encryption</code> - <code>string</code> - Optional - The algorithm to use for encrypting the object. [Allowed values: <code>AES256</code>]</li> |
1398 | 1500 | * <li><code>storage</code> - <code>string</code> - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: <code>AmazonS3::STORAGE_STANDARD</code>, <code>AmazonS3::STORAGE_REDUCED</code>]. The default value is <code>STORAGE_STANDARD</code>.</li> |
1399 | 1501 | * <li><code>versionId</code> - <code>string</code> - Optional - The version of the object to copy. Version IDs are returned in the <code>x-amz-version-id</code> header of any previous object-related request.</li> |
1400 | 1502 | * <li><code>ifMatch</code> - <code>string</code> - Optional - The ETag header from a previous request. Copies the object if its entity tag (ETag) matches the specified tag; otherwise, the request returns a <code>412</code> HTTP status code error (precondition failed). Used in conjunction with <code>ifUnmodifiedSince</code>.</li> |
— | — | @@ -1440,11 +1542,7 @@ |
1441 | 1543 | } |
1442 | 1544 | |
1443 | 1545 | // Handle metadata directive |
1444 | | - $opt['headers']['x-amz-metadata-directive'] = 'COPY'; |
1445 | | - if ($source['bucket'] === $dest['bucket'] && $source['filename'] === $dest['filename']) |
1446 | | - { |
1447 | | - $opt['headers']['x-amz-metadata-directive'] = 'REPLACE'; |
1448 | | - } |
| 1546 | + $opt['headers']['x-amz-metadata-directive'] = 'REPLACE'; |
1449 | 1547 | if (isset($opt['metadataDirective'])) |
1450 | 1548 | { |
1451 | 1549 | $opt['headers']['x-amz-metadata-directive'] = $opt['metadataDirective']; |
— | — | @@ -1472,6 +1570,13 @@ |
1473 | 1571 | unset($opt['storage']); |
1474 | 1572 | } |
1475 | 1573 | |
| 1574 | + // Handle encryption settings. Can also be passed as an HTTP header. |
| 1575 | + if (isset($opt['encryption'])) |
| 1576 | + { |
| 1577 | + $opt['headers']['x-amz-server-side-encryption'] = $opt['encryption']; |
| 1578 | + unset($opt['encryption']); |
| 1579 | + } |
| 1580 | + |
1476 | 1581 | // Handle conditional-copy parameters |
1477 | 1582 | if (isset($opt['ifMatch'])) |
1478 | 1583 | { |
— | — | @@ -1919,7 +2024,7 @@ |
1920 | 2025 | * |
1921 | 2026 | * @param string $bucket (Required) The name of the bucket to use. |
1922 | 2027 | * @param boolean $friendly_format (Optional) A value of <code>true</code> will format the return value to 2 decimal points using the largest possible unit (i.e., 3.42 GB). A value of <code>false</code> will format the return value as the raw number of bytes. |
1923 | | - * @return integer|string The number of bytes as an integer, or the friendly format as a string. |
| 2028 | + * @return integer|string The number of bytes as an integer, or the friendly format as a string. If the bucket does not exist, the filesize will be 0. |
1924 | 2029 | */ |
1925 | 2030 | public function get_bucket_filesize($bucket, $friendly_format = false) |
1926 | 2031 | { |
— | — | @@ -1963,7 +2068,7 @@ |
1964 | 2069 | * @param string $bucket (Required) The name of the bucket to use. |
1965 | 2070 | * @param string $filename (Required) The file name for the object. |
1966 | 2071 | * @param boolean $friendly_format (Optional) A value of <code>true</code> will format the return value to 2 decimal points using the largest possible unit (i.e., 3.42 GB). A value of <code>false</code> will format the return value as the raw number of bytes. |
1967 | | - * @return integer|string The number of bytes as an integer, or the friendly format as a string. |
| 2072 | + * @return integer|string The number of bytes as an integer, or the friendly format as a string. If the object does not exist, the filesize will be 0. |
1968 | 2073 | */ |
1969 | 2074 | public function get_object_filesize($bucket, $filename, $friendly_format = false) |
1970 | 2075 | { |
— | — | @@ -1972,9 +2077,14 @@ |
1973 | 2078 | throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); |
1974 | 2079 | } |
1975 | 2080 | |
| 2081 | + $filesize = 0; |
1976 | 2082 | $object = $this->get_object_headers($bucket, $filename); |
1977 | | - $filesize = (integer) $object->header['content-length']; |
1978 | 2083 | |
| 2084 | + if (isset($object->header['content-length'])) |
| 2085 | + { |
| 2086 | + $filesize = (integer) $object->header['content-length']; |
| 2087 | + } |
| 2088 | + |
1979 | 2089 | if ($friendly_format) |
1980 | 2090 | { |
1981 | 2091 | $filesize = $this->util->size_readable($filesize); |
— | — | @@ -2184,27 +2294,24 @@ |
2185 | 2295 | */ |
2186 | 2296 | public function delete_all_objects($bucket, $pcre = self::PCRE_ALL) |
2187 | 2297 | { |
2188 | | - if ($this->use_batch_flow) |
2189 | | - { |
2190 | | - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); |
2191 | | - } |
2192 | | - |
2193 | 2298 | // Collect all matches |
2194 | 2299 | $list = $this->get_object_list($bucket, array('pcre' => $pcre)); |
2195 | 2300 | |
2196 | 2301 | // As long as we have at least one match... |
2197 | 2302 | if (count($list) > 0) |
2198 | 2303 | { |
2199 | | - // Create new batch request object |
2200 | | - $q = new $this->batch_class(); |
| 2304 | + $objects = array(); |
2201 | 2305 | |
2202 | | - // Go through all of the items and delete them. |
2203 | | - foreach ($list as $item) |
| 2306 | + foreach ($list as $object) |
2204 | 2307 | { |
2205 | | - $this->batch($q)->delete_object($bucket, $item); |
| 2308 | + $objects[] = array('key' => $object); |
2206 | 2309 | } |
2207 | 2310 | |
2208 | | - return $this->batch($q)->send()->areOK(); |
| 2311 | + $response = $this->delete_objects($bucket, array( |
| 2312 | + 'objects' => $objects |
| 2313 | + )); |
| 2314 | + |
| 2315 | + return ($response->isOK() && !isset($response->body->Error)); |
2209 | 2316 | } |
2210 | 2317 | |
2211 | 2318 | // If there are no matches, return true |
— | — | @@ -2221,56 +2328,50 @@ |
2222 | 2329 | */ |
2223 | 2330 | public function delete_all_object_versions($bucket, $pcre = null) |
2224 | 2331 | { |
2225 | | - if ($this->use_batch_flow) |
2226 | | - { |
2227 | | - // @codeCoverageIgnoreStart |
2228 | | - throw new S3_Exception(__FUNCTION__ . '() cannot be batch requested'); |
2229 | | - // @codeCoverageIgnoreEnd |
2230 | | - } |
2231 | | - |
2232 | 2332 | // Instantiate |
2233 | | - $q = new CFBatchRequest(200); |
2234 | | - $response = $this->list_bucket_object_versions($bucket); |
| 2333 | + $versions = $this->list_bucket_object_versions($bucket); |
2235 | 2334 | |
2236 | 2335 | // Gather all nodes together into a single array |
2237 | | - if ($response->body->DeleteMarker() && $response->body->Version()) |
| 2336 | + if ($versions->body->DeleteMarker() && $versions->body->Version()) |
2238 | 2337 | { |
2239 | | - $markers = array_merge($response->body->DeleteMarker()->getArrayCopy(), $response->body->Version()->getArrayCopy()); |
| 2338 | + $markers = array_merge($versions->body->DeleteMarker()->getArrayCopy(), $versions->body->Version()->getArrayCopy()); |
2240 | 2339 | } |
2241 | | - elseif ($response->body->DeleteMarker()) |
| 2340 | + elseif ($versions->body->DeleteMarker()) |
2242 | 2341 | { |
2243 | | - $markers = $response->body->DeleteMarker()->getArrayCopy(); |
| 2342 | + $markers = $versions->body->DeleteMarker()->getArrayCopy(); |
2244 | 2343 | } |
2245 | | - elseif ($response->body->Version()) |
| 2344 | + elseif ($versions->body->Version()) |
2246 | 2345 | { |
2247 | | - $markers = $response->body->Version()->getArrayCopy(); |
| 2346 | + $markers = $versions->body->Version()->getArrayCopy(); |
2248 | 2347 | } |
2249 | 2348 | else |
2250 | 2349 | { |
2251 | 2350 | $markers = array(); |
2252 | 2351 | } |
2253 | 2352 | |
2254 | | - while ((string) $response->body->IsTruncated === 'true') |
| 2353 | + while ((string) $versions->body->IsTruncated === 'true') |
2255 | 2354 | { |
2256 | | - $response = $this->list_bucket_object_versions($bucket, array( |
2257 | | - 'key-marker' => (string) $response->body->NextKeyMarker |
| 2355 | + $versions = $this->list_bucket_object_versions($bucket, array( |
| 2356 | + 'key-marker' => (string) $versions->body->NextKeyMarker |
2258 | 2357 | )); |
2259 | 2358 | |
2260 | 2359 | // Gather all nodes together into a single array |
2261 | | - if ($response->body->DeleteMarker() && $response->body->Version()) |
| 2360 | + if ($versions->body->DeleteMarker() && $versions->body->Version()) |
2262 | 2361 | { |
2263 | | - $markers = array_merge($markers, $response->body->DeleteMarker()->getArrayCopy(), $response->body->Version()->getArrayCopy()); |
| 2362 | + $markers = array_merge($markers, $versions->body->DeleteMarker()->getArrayCopy(), $versions->body->Version()->getArrayCopy()); |
2264 | 2363 | } |
2265 | | - elseif ($response->body->DeleteMarker()) |
| 2364 | + elseif ($versions->body->DeleteMarker()) |
2266 | 2365 | { |
2267 | | - $markers = array_merge($markers, $response->body->DeleteMarker()->getArrayCopy()); |
| 2366 | + $markers = array_merge($markers, $versions->body->DeleteMarker()->getArrayCopy()); |
2268 | 2367 | } |
2269 | | - elseif ($response->body->Version()) |
| 2368 | + elseif ($versions->body->Version()) |
2270 | 2369 | { |
2271 | | - $markers = array_merge($markers, $response->body->Version()->getArrayCopy()); |
| 2370 | + $markers = array_merge($markers, $versions->body->Version()->getArrayCopy()); |
2272 | 2371 | } |
2273 | 2372 | } |
2274 | 2373 | |
| 2374 | + $objects = array(); |
| 2375 | + |
2275 | 2376 | // Loop through markers |
2276 | 2377 | foreach ($markers as $marker) |
2277 | 2378 | { |
— | — | @@ -2278,20 +2379,26 @@ |
2279 | 2380 | { |
2280 | 2381 | if (preg_match($pcre, (string) $marker->Key)) |
2281 | 2382 | { |
2282 | | - $this->batch($q)->delete_object($bucket, (string) $marker->Key, array( |
2283 | | - 'versionId' => (string) $marker->VersionId |
2284 | | - )); |
| 2383 | + $objects[] = array( |
| 2384 | + 'key' => (string) $marker->Key, |
| 2385 | + 'version_id' => (string) $marker->VersionId |
| 2386 | + ); |
2285 | 2387 | } |
2286 | 2388 | } |
2287 | 2389 | else |
2288 | 2390 | { |
2289 | | - $this->batch($q)->delete_object($bucket, (string) $marker->Key, array( |
2290 | | - 'versionId' => (string) $marker->VersionId |
2291 | | - )); |
| 2391 | + $objects[] = array( |
| 2392 | + 'key' => (string) $marker->Key, |
| 2393 | + 'version_id' => (string) $marker->VersionId |
| 2394 | + ); |
2292 | 2395 | } |
2293 | 2396 | } |
2294 | 2397 | |
2295 | | - return $this->batch($q)->send(); |
| 2398 | + $response = $this->delete_objects($bucket, array( |
| 2399 | + 'objects' => $objects |
| 2400 | + )); |
| 2401 | + |
| 2402 | + return ($response->isOK() && !isset($response->body->Error)); |
2296 | 2403 | } |
2297 | 2404 | |
2298 | 2405 | /** |
— | — | @@ -2335,7 +2442,7 @@ |
2336 | 2443 | ); |
2337 | 2444 | |
2338 | 2445 | // Add the content type |
2339 | | - $data['ContentType'] = (string) $response[1]->header['content-type']; |
| 2446 | + $data['ContentType'] = isset($response[1]->header['content-type']) ? (string) $response[1]->header['content-type'] : ''; |
2340 | 2447 | |
2341 | 2448 | // Add the other metadata (including storage type) |
2342 | 2449 | $contents = json_decode(json_encode($response[2]->body->query('descendant-or-self::Contents')->first()), true); |
— | — | @@ -2801,6 +2908,7 @@ |
2802 | 2909 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
2803 | 2910 | * <li><code>acl</code> - <code>string</code> - Optional - The ACL settings for the specified object. [Allowed values: <code>AmazonS3::ACL_PRIVATE</code>, <code>AmazonS3::ACL_PUBLIC</code>, <code>AmazonS3::ACL_OPEN</code>, <code>AmazonS3::ACL_AUTH_READ</code>, <code>AmazonS3::ACL_OWNER_READ</code>, <code>AmazonS3::ACL_OWNER_FULL_CONTROL</code>]. The default value is <code>ACL_PRIVATE</code>.</li> |
2804 | 2911 | * <li><code>contentType</code> - <code>string</code> - Optional - The type of content that is being sent. The default value is <code>application/octet-stream</code>.</li> |
| 2912 | + * <li><code>encryption</code> - <code>string</code> - Optional - The algorithm to use for encrypting the object. [Allowed values: <code>AES256</code>]</li> |
2805 | 2913 | * <li><code>headers</code> - <code>array</code> - Optional - The standard HTTP headers to send along in the request.</li> |
2806 | 2914 | * <li><code>meta</code> - <code>array</code> - Optional - An associative array of key-value pairs. Any header starting with <code>x-amz-meta-:</code> is considered user metadata. It will be stored with the object and returned when you retrieve the object. The total size of the HTTP request, not including the body, must be less than 4 KB.</li> |
2807 | 2915 | * <li><code>storage</code> - <code>string</code> - Optional - Whether to use Standard or Reduced Redundancy storage. [Allowed values: <code>AmazonS3::STORAGE_STANDARD</code>, <code>AmazonS3::STORAGE_REDUCED</code>]. The default value is <code>STORAGE_STANDARD</code>.</li> |
— | — | @@ -2846,6 +2954,13 @@ |
2847 | 2955 | unset($opt['storage']); |
2848 | 2956 | } |
2849 | 2957 | |
| 2958 | + // Handle encryption settings. Can also be passed as an HTTP header. |
| 2959 | + if (isset($opt['encryption'])) |
| 2960 | + { |
| 2961 | + $opt['headers']['x-amz-server-side-encryption'] = $opt['encryption']; |
| 2962 | + unset($opt['encryption']); |
| 2963 | + } |
| 2964 | + |
2850 | 2965 | // Handle meta tags. Can also be passed as an HTTP header. |
2851 | 2966 | if (isset($opt['meta'])) |
2852 | 2967 | { |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/rds.class.php |
— | — | @@ -27,7 +27,7 @@ |
28 | 28 | * instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front |
29 | 29 | * investments, and you pay only for the resources you use. |
30 | 30 | * |
31 | | - * @version Wed Aug 03 10:13:10 PDT 2011 |
| 31 | + * @version Thu Sep 01 21:22:55 PDT 2011 |
32 | 32 | * @license See the included NOTICE.md file for complete information. |
33 | 33 | * @copyright See the included NOTICE.md file for complete information. |
34 | 34 | * @link http://aws.amazon.com/rds/Amazon Relational Database Service |
— | — | @@ -40,36 +40,41 @@ |
41 | 41 | // CLASS CONSTANTS |
42 | 42 | |
43 | 43 | /** |
44 | | - * Specify the default queue URL. |
| 44 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
45 | 45 | */ |
46 | | - const DEFAULT_URL = 'rds.us-east-1.amazonaws.com'; |
| 46 | + const REGION_US_E1 = 'rds.us-east-1.amazonaws.com'; |
47 | 47 | |
48 | 48 | /** |
49 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 49 | + * Specify the queue URL for the United States West (Northern California) Region. |
50 | 50 | */ |
51 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 51 | + const REGION_US_W1 = 'rds.us-west-1.amazonaws.com'; |
52 | 52 | |
53 | 53 | /** |
54 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 54 | + * Specify the queue URL for the United States West (Oregon) Region. |
55 | 55 | */ |
56 | | - const REGION_US_W1 = 'rds.us-west-1.amazonaws.com'; |
| 56 | + const REGION_US_W2 = 'rds.us-west-2.amazonaws.com'; |
57 | 57 | |
58 | 58 | /** |
59 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 59 | + * Specify the queue URL for the Europe West (Ireland) Region. |
60 | 60 | */ |
61 | 61 | const REGION_EU_W1 = 'rds.eu-west-1.amazonaws.com'; |
62 | 62 | |
63 | 63 | /** |
64 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 64 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
65 | 65 | */ |
66 | 66 | const REGION_APAC_SE1 = 'rds.ap-southeast-1.amazonaws.com'; |
67 | 67 | |
68 | 68 | /** |
69 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 69 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
70 | 70 | */ |
71 | 71 | const REGION_APAC_NE1 = 'rds.ap-northeast-1.amazonaws.com'; |
72 | 72 | |
| 73 | + /** |
| 74 | + * Default service endpoint. |
| 75 | + */ |
| 76 | + const DEFAULT_URL = self::REGION_US_E1; |
73 | 77 | |
| 78 | + |
74 | 79 | /*%******************************************************************************************%*/ |
75 | 80 | // SETTERS |
76 | 81 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/ses.class.php |
— | — | @@ -23,7 +23,7 @@ |
24 | 24 | * For specific details on how to construct a service request, please consult the <a |
25 | 25 | * href="http://docs.amazonwebservices.com/ses/latest/DeveloperGuide">Amazon SES Developer Guide</a>. |
26 | 26 | * |
27 | | - * @version Wed Aug 03 10:11:14 PDT 2011 |
| 27 | + * @version Thu Sep 01 21:20:58 PDT 2011 |
28 | 28 | * @license See the included NOTICE.md file for complete information. |
29 | 29 | * @copyright See the included NOTICE.md file for complete information. |
30 | 30 | * @link http://aws.amazon.com/ses/Amazon Simple Email Service |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/cloudwatch.class.php |
— | — | @@ -47,7 +47,7 @@ |
48 | 48 | * |
49 | 49 | * </ul> |
50 | 50 | * |
51 | | - * @version Wed Aug 03 10:09:00 PDT 2011 |
| 51 | + * @version Thu Sep 01 21:18:18 PDT 2011 |
52 | 52 | * @license See the included NOTICE.md file for complete information. |
53 | 53 | * @copyright See the included NOTICE.md file for complete information. |
54 | 54 | * @link http://aws.amazon.com/cloudwatch/Amazon CloudWatch |
— | — | @@ -60,36 +60,46 @@ |
61 | 61 | // CLASS CONSTANTS |
62 | 62 | |
63 | 63 | /** |
64 | | - * Specify the default queue URL. |
| 64 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
65 | 65 | */ |
66 | | - const DEFAULT_URL = 'monitoring.amazonaws.com'; |
| 66 | + const REGION_US_E1 = 'monitoring.us-east-1.amazonaws.com'; |
67 | 67 | |
68 | 68 | /** |
69 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 69 | + * Specify the queue URL for the United States West (Northern California) Region. |
70 | 70 | */ |
71 | | - const REGION_US_E1 = 'us-east-1'; |
| 71 | + const REGION_US_W1 = 'monitoring.us-west-1.amazonaws.com'; |
72 | 72 | |
73 | 73 | /** |
74 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 74 | + * Specify the queue URL for the United States West (Oregon) Region. |
75 | 75 | */ |
76 | | - const REGION_US_W1 = 'us-west-1'; |
| 76 | + const REGION_US_W2 = 'monitoring.us-west-2.amazonaws.com'; |
77 | 77 | |
78 | 78 | /** |
79 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 79 | + * Specify the queue URL for the Europe West (Ireland) Region. |
80 | 80 | */ |
81 | | - const REGION_EU_W1 = 'eu-west-1'; |
| 81 | + const REGION_EU_W1 = 'monitoring.eu-west-1.amazonaws.com'; |
82 | 82 | |
83 | 83 | /** |
84 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 84 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
85 | 85 | */ |
86 | | - const REGION_APAC_SE1 = 'ap-southeast-1'; |
| 86 | + const REGION_APAC_SE1 = 'monitoring.ap-southeast-1.amazonaws.com'; |
87 | 87 | |
88 | 88 | /** |
89 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 89 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
90 | 90 | */ |
91 | | - const REGION_APAC_NE1 = 'ap-northeast-1'; |
| 91 | + const REGION_APAC_NE1 = 'monitoring.ap-northeast-1.amazonaws.com'; |
92 | 92 | |
| 93 | + /** |
| 94 | + * Specify the queue URL for the United States GovCloud Region. |
| 95 | + */ |
| 96 | + const REGION_US_GOV1 = 'monitoring.us-gov-west-1.amazonaws.com'; |
93 | 97 | |
| 98 | + /** |
| 99 | + * Default service endpoint. |
| 100 | + */ |
| 101 | + const DEFAULT_URL = self::REGION_US_E1; |
| 102 | + |
| 103 | + |
94 | 104 | /*%******************************************************************************************%*/ |
95 | 105 | // SETTERS |
96 | 106 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/elb.class.php |
— | — | @@ -21,7 +21,7 @@ |
22 | 22 | * application. It makes it easy for you to distribute application loads between two or more EC2 instances. Elastic Load Balancing enables |
23 | 23 | * availability through redundancy and supports traffic growth of your application. |
24 | 24 | * |
25 | | - * @version Wed Aug 03 10:10:44 PDT 2011 |
| 25 | + * @version Thu Sep 01 21:20:23 PDT 2011 |
26 | 26 | * @license See the included NOTICE.md file for complete information. |
27 | 27 | * @copyright See the included NOTICE.md file for complete information. |
28 | 28 | * @link http://aws.amazon.com/elasticloadbalancing/Amazon Elastic Load Balancing |
— | — | @@ -34,36 +34,41 @@ |
35 | 35 | // CLASS CONSTANTS |
36 | 36 | |
37 | 37 | /** |
38 | | - * Specify the default queue URL. |
| 38 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
39 | 39 | */ |
40 | | - const DEFAULT_URL = 'elasticloadbalancing.us-east-1.amazonaws.com'; |
| 40 | + const REGION_US_E1 = 'elasticloadbalancing.us-east-1.amazonaws.com'; |
41 | 41 | |
42 | 42 | /** |
43 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 43 | + * Specify the queue URL for the United States West (Northern California) Region. |
44 | 44 | */ |
45 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 45 | + const REGION_US_W1 = 'elasticloadbalancing.us-west-1.amazonaws.com'; |
46 | 46 | |
47 | 47 | /** |
48 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 48 | + * Specify the queue URL for the United States West (Oregon) Region. |
49 | 49 | */ |
50 | | - const REGION_US_W1 = 'elasticloadbalancing.us-west-1.amazonaws.com'; |
| 50 | + const REGION_US_W2 = 'elasticloadbalancing.us-west-2.amazonaws.com'; |
51 | 51 | |
52 | 52 | /** |
53 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 53 | + * Specify the queue URL for the Europe West (Ireland) Region. |
54 | 54 | */ |
55 | 55 | const REGION_EU_W1 = 'elasticloadbalancing.eu-west-1.amazonaws.com'; |
56 | 56 | |
57 | 57 | /** |
58 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 58 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
59 | 59 | */ |
60 | 60 | const REGION_APAC_SE1 = 'elasticloadbalancing.ap-southeast-1.amazonaws.com'; |
61 | 61 | |
62 | 62 | /** |
63 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 63 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
64 | 64 | */ |
65 | 65 | const REGION_APAC_NE1 = 'elasticloadbalancing.ap-northeast-1.amazonaws.com'; |
66 | 66 | |
| 67 | + /** |
| 68 | + * Default service endpoint. |
| 69 | + */ |
| 70 | + const DEFAULT_URL = self::REGION_US_E1; |
67 | 71 | |
| 72 | + |
68 | 73 | /*%******************************************************************************************%*/ |
69 | 74 | // SETTERS |
70 | 75 | |
— | — | @@ -92,7 +97,7 @@ |
93 | 98 | */ |
94 | 99 | public function __construct($key = null, $secret_key = null) |
95 | 100 | { |
96 | | - $this->api_version = '2011-04-05'; |
| 101 | + $this->api_version = '2011-08-15'; |
97 | 102 | $this->hostname = self::DEFAULT_URL; |
98 | 103 | |
99 | 104 | if (!$key && !defined('AWS_KEY')) |
— | — | @@ -118,60 +123,147 @@ |
119 | 124 | |
120 | 125 | /** |
121 | 126 | * |
122 | | - * Creates a new LoadBalancer. |
| 127 | + * Enables the client to define an application healthcheck for the instances. |
123 | 128 | * |
124 | | - * Once the call has completed successfully, a new LoadBalancer is created; however, it will not be usable until at least one instance has |
125 | | - * been registered. When the LoadBalancer creation is completed, the client can check whether or not it is usable by using the |
126 | | - * DescribeInstanceHealth API. The LoadBalancer is usable as soon as any registered instance is <i>InService</i>. |
| 129 | + * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer. This name must be unique within the client AWS account. |
| 130 | + * @param array $health_check (Required) A structure containing the configuration information for the new healthcheck. <ul> |
| 131 | + * <li><code>Target</code> - <code>string</code> - Required - Specifies the instance being checked. The protocol is either TCP, HTTP, HTTPS, or SSL. The range of valid ports is one (1) through 65535. TCP is the default, specified as a TCP: port pair, for example "TCP:5000". In this case a healthcheck simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy. SSL is also specified as SSL: port pair, for example, SSL:5000. For HTTP or HTTPS protocol, the situation is different. You have to include a ping path in the string. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy. The total length of the HTTP ping target needs to be 1024 16-bit Unicode characters or less. </li> |
| 132 | + * <li><code>Interval</code> - <code>integer</code> - Required - Specifies the approximate interval, in seconds, between health checks of an individual instance. </li> |
| 133 | + * <li><code>Timeout</code> - <code>integer</code> - Required - Specifies the amount of time, in seconds, during which no response means a failed health probe. This value must be less than the <i>Interval</i> value. </li> |
| 134 | + * <li><code>UnhealthyThreshold</code> - <code>integer</code> - Required - Specifies the number of consecutive health probe failures required before moving the instance to the <i>Unhealthy</i> state. </li> |
| 135 | + * <li><code>HealthyThreshold</code> - <code>integer</code> - Required - Specifies the number of consecutive health probe successes required before moving the instance to the <i>Healthy</i> state. </li> |
| 136 | + * </ul> |
| 137 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 138 | + * <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> |
| 139 | + * <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> |
| 140 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 141 | + */ |
| 142 | + public function configure_health_check($load_balancer_name, $health_check, $opt = null) |
| 143 | + { |
| 144 | + if (!$opt) $opt = array(); |
| 145 | + $opt['LoadBalancerName'] = $load_balancer_name; |
| 146 | + |
| 147 | + // Required parameter |
| 148 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 149 | + 'HealthCheck' => (is_array($health_check) ? $health_check : array($health_check)) |
| 150 | + ), 'member')); |
| 151 | + |
| 152 | + return $this->authenticate('ConfigureHealthCheck', $opt, $this->hostname); |
| 153 | + } |
| 154 | + |
| 155 | + /** |
127 | 156 | * |
128 | | - * Currently, the client's quota of LoadBalancers is limited to five per Region. |
| 157 | + * Replaces the current set of policies associated with a port on which the back-end server is listening with a new set of policies. After the |
| 158 | + * policies have been created using CreateLoadBalancerPolicy, they can be applied here as a list. At this time, only the back-end server |
| 159 | + * authentication policy type can be applied to the back-end ports; this policy type is composed of multiple public key policies. |
129 | 160 | * |
130 | | - * Load balancer DNS names vary depending on the Region they're created in. For load balancers created in the United States, the DNS name ends |
131 | | - * with: |
| 161 | + * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer. This name must be unique within the client AWS account. |
| 162 | + * @param integer $instance_port (Required) The port number associated with the back-end server. |
| 163 | + * @param string|array $policy_names (Required) List of policy names to be set. If the list is empty, then all current polices are removed from the back-end server. Pass a string for a single value, or an indexed array for multiple values. |
| 164 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 165 | + * <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> |
| 166 | + * <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> |
| 167 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 168 | + */ |
| 169 | + public function set_load_balancer_policies_for_backend_server($load_balancer_name, $instance_port, $policy_names, $opt = null) |
| 170 | + { |
| 171 | + if (!$opt) $opt = array(); |
| 172 | + $opt['LoadBalancerName'] = $load_balancer_name; |
| 173 | + $opt['InstancePort'] = $instance_port; |
| 174 | + |
| 175 | + // Required parameter |
| 176 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 177 | + 'PolicyNames' => (is_array($policy_names) ? $policy_names : array($policy_names)) |
| 178 | + ), 'member')); |
| 179 | + |
| 180 | + return $this->authenticate('SetLoadBalancerPoliciesForBackendServer', $opt, $this->hostname); |
| 181 | + } |
| 182 | + |
| 183 | + /** |
132 | 184 | * |
133 | | - * <ul> <li> <i>us-east-1.elb.amazonaws.com</i> (for the US Standard Region) </li> |
| 185 | + * Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate |
| 186 | + * that was used on the same LoadBalancer and port. |
134 | 187 | * |
135 | | - * <li> <i>us-west-1.elb.amazonaws.com</i> (for the Northern California Region) </li> |
| 188 | + * @param string $load_balancer_name (Required) The name of the the LoadBalancer. |
| 189 | + * @param integer $load_balancer_port (Required) The port that uses the specified SSL certificate. |
| 190 | + * @param string $ssl_certificate_id (Required) The ID of the SSL certificate chain to use. For more information on SSL certificates, see Managing Server Certificates in the AWS Identity and Access Management documentation. |
| 191 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 192 | + * <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> |
| 193 | + * <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> |
| 194 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 195 | + */ |
| 196 | + public function set_load_balancer_listener_ssl_certificate($load_balancer_name, $load_balancer_port, $ssl_certificate_id, $opt = null) |
| 197 | + { |
| 198 | + if (!$opt) $opt = array(); |
| 199 | + $opt['LoadBalancerName'] = $load_balancer_name; |
| 200 | + $opt['LoadBalancerPort'] = $load_balancer_port; |
| 201 | + $opt['SSLCertificateId'] = $ssl_certificate_id; |
| 202 | + |
| 203 | + return $this->authenticate('SetLoadBalancerListenerSSLCertificate', $opt, $this->hostname); |
| 204 | + } |
| 205 | + |
| 206 | + /** |
136 | 207 | * |
137 | | - * </ul> |
| 208 | + * Adds new instances to the LoadBalancer. |
138 | 209 | * |
139 | | - * For load balancers created in the EU (Ireland) Region, the DNS name ends with: |
| 210 | + * Once the instance is registered, it starts receiving traffic and requests from the LoadBalancer. Any instance that is not in any of the |
| 211 | + * Availability Zones registered for the LoadBalancer will be moved to the <i>OutOfService</i> state. It will move to the <i>InService</i> |
| 212 | + * state when the Availability Zone is added to the LoadBalancer. |
140 | 213 | * |
141 | | - * <ul> <li> <i>eu-west-1.elb.amazonaws.com</i> </li> |
| 214 | + * In order for this call to be successful, the client must have created the LoadBalancer. The client must provide the same account |
| 215 | + * credentials as those that were used to create the LoadBalancer. |
142 | 216 | * |
143 | | - * </ul> |
| 217 | + * Completion of this API does not guarantee that operation has completed. Rather, it means that the request has been registered and the |
| 218 | + * changes will happen shortly. |
144 | 219 | * |
145 | | - * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within your set of LoadBalancers. |
146 | | - * @param array $listeners (Required) A list of the following tuples: LoadBalancerPort, InstancePort, and Protocol. <ul> |
| 220 | + * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
| 221 | + * @param array $instances (Required) A list of instances IDs that should be registered with the LoadBalancer. <ul> |
147 | 222 | * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
148 | | - * <li><code>Protocol</code> - <code>string</code> - Required - Specifies the LoadBalancer transport protocol to use for routing - TCP or HTTP. This property cannot be modified for the life of the LoadBalancer. </li> |
149 | | - * <li><code>LoadBalancerPort</code> - <code>integer</code> - Required - Specifies the external LoadBalancer port number. This property cannot be modified for the life of the LoadBalancer. </li> |
150 | | - * <li><code>InstancePort</code> - <code>integer</code> - Required - Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the LoadBalancer. </li> |
151 | | - * <li><code>SSLCertificateId</code> - <code>string</code> - Optional - The ID of the SSL certificate chain to use. For more information on SSL certificates, see Managing Keys and Certificates in the AWS Identity and Access Management documentation. </li> |
| 223 | + * <li><code>InstanceId</code> - <code>string</code> - Optional - Provides an EC2 instance ID. </li> |
152 | 224 | * </ul></li> |
153 | 225 | * </ul> |
154 | | - * @param string|array $availability_zones (Required) A list of Availability Zones. At least one Availability Zone must be specified. Specified Availability Zones must be in the same EC2 Region as the LoadBalancer. Traffic will be equally distributed across all zones. This list can be modified after the creation of the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values. |
155 | 226 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
156 | 227 | * <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> |
157 | 228 | * <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> |
158 | 229 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
159 | 230 | */ |
160 | | - public function create_load_balancer($load_balancer_name, $listeners, $availability_zones, $opt = null) |
| 231 | + public function register_instances_with_load_balancer($load_balancer_name, $instances, $opt = null) |
161 | 232 | { |
162 | 233 | if (!$opt) $opt = array(); |
163 | 234 | $opt['LoadBalancerName'] = $load_balancer_name; |
164 | 235 | |
165 | 236 | // Required parameter |
166 | 237 | $opt = array_merge($opt, CFComplexType::map(array( |
167 | | - 'Listeners' => (is_array($listeners) ? $listeners : array($listeners)) |
| 238 | + 'Instances' => (is_array($instances) ? $instances : array($instances)) |
168 | 239 | ), 'member')); |
169 | 240 | |
| 241 | + return $this->authenticate('RegisterInstancesWithLoadBalancer', $opt, $this->hostname); |
| 242 | + } |
| 243 | + |
| 244 | + /** |
| 245 | + * |
| 246 | + * Associates, updates, or disables a policy with a listener on the LoadBalancer. You can associate multiple policies with a listener. |
| 247 | + * |
| 248 | + * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
| 249 | + * @param integer $load_balancer_port (Required) The external port of the LoadBalancer with which this policy applies to. |
| 250 | + * @param string|array $policy_names (Required) List of policies to be associated with the listener. Currently this list can have at most one policy. If the list is empty, the current policy is removed from the listener. Pass a string for a single value, or an indexed array for multiple values. |
| 251 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 252 | + * <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> |
| 253 | + * <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> |
| 254 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 255 | + */ |
| 256 | + public function set_load_balancer_policies_of_listener($load_balancer_name, $load_balancer_port, $policy_names, $opt = null) |
| 257 | + { |
| 258 | + if (!$opt) $opt = array(); |
| 259 | + $opt['LoadBalancerName'] = $load_balancer_name; |
| 260 | + $opt['LoadBalancerPort'] = $load_balancer_port; |
| 261 | + |
170 | 262 | // Required parameter |
171 | 263 | $opt = array_merge($opt, CFComplexType::map(array( |
172 | | - 'AvailabilityZones' => (is_array($availability_zones) ? $availability_zones : array($availability_zones)) |
| 264 | + 'PolicyNames' => (is_array($policy_names) ? $policy_names : array($policy_names)) |
173 | 265 | ), 'member')); |
174 | 266 | |
175 | | - return $this->authenticate('CreateLoadBalancer', $opt, $this->hostname); |
| 267 | + return $this->authenticate('SetLoadBalancerPoliciesOfListener', $opt, $this->hostname); |
176 | 268 | } |
177 | 269 | |
178 | 270 | /** |
— | — | @@ -200,117 +292,167 @@ |
201 | 293 | |
202 | 294 | /** |
203 | 295 | * |
204 | | - * Returns the current state of the instances of the specified LoadBalancer. If no instances are specified, the state of all the instances for |
205 | | - * the LoadBalancer is returned. |
| 296 | + * Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified |
| 297 | + * expiration period. This policy can be associated only with HTTP/HTTPS listeners. |
206 | 298 | * |
207 | | - * The client must have created the specified input LoadBalancer in order to retrieve this information; the client must provide the same |
208 | | - * account credentials as those that were used to create the LoadBalancer. |
| 299 | + * When a LoadBalancer implements this policy, the LoadBalancer uses a special cookie to track the backend server instance for each request. |
| 300 | + * When the LoadBalancer receives a request, it first checks to see if this cookie is present in the request. If so, the LoadBalancer sends the |
| 301 | + * request to the application server specified in the cookie. If not, the LoadBalancer sends the request to a server that is chosen based on |
| 302 | + * the existing load balancing algorithm. |
209 | 303 | * |
| 304 | + * A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is |
| 305 | + * based on the cookie expiration time, which is specified in the policy configuration. |
| 306 | + * |
210 | 307 | * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
| 308 | + * @param string $policy_name (Required) The name of the policy being created. The name must be unique within the set of policies for this LoadBalancer. |
211 | 309 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
212 | | - * <li><code>Instances</code> - <code>array</code> - Optional - A list of instance IDs whose states are being queried. <ul> |
213 | | - * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
214 | | - * <li><code>InstanceId</code> - <code>string</code> - Optional - Provides an EC2 instance ID. </li> |
215 | | - * </ul></li> |
216 | | - * </ul></li> |
| 310 | + * <li><code>CookieExpirationPeriod</code> - <code>long</code> - Optional - The time period in seconds after which the cookie should be considered stale. Not specifying this parameter indicates that the sticky session will last for the duration of the browser session. </li> |
217 | 311 | * <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> |
218 | 312 | * <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> |
219 | 313 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
220 | 314 | */ |
221 | | - public function describe_instance_health($load_balancer_name, $opt = null) |
| 315 | + public function create_lb_cookie_stickiness_policy($load_balancer_name, $policy_name, $opt = null) |
222 | 316 | { |
223 | 317 | if (!$opt) $opt = array(); |
224 | 318 | $opt['LoadBalancerName'] = $load_balancer_name; |
| 319 | + $opt['PolicyName'] = $policy_name; |
225 | 320 | |
| 321 | + return $this->authenticate('CreateLBCookieStickinessPolicy', $opt, $this->hostname); |
| 322 | + } |
| 323 | + |
| 324 | + /** |
| 325 | + * |
| 326 | + * Returns detailed descriptions of the policies. If you specify a LoadBalancer name, the operation returns either the descriptions of the |
| 327 | + * specified policies, or descriptions of all the policies created for the LoadBalancer. If you don't specify a LoadBalancer name, the |
| 328 | + * operation returns descriptions of the specified sample policies, or descriptions of all the sample policies. The names of the sample |
| 329 | + * policies have the <code>ELBSample-</code> prefix. |
| 330 | + * |
| 331 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 332 | + * <li><code>LoadBalancerName</code> - <code>string</code> - Optional - The mnemonic name associated with the LoadBalancer. If no name is specified, the operation returns the attributes of either all the sample policies pre-defined by Elastic Load Balancing or the specified sample polices. </li> |
| 333 | + * <li><code>PolicyNames</code> - <code>string|array</code> - Optional - The names of LoadBalancer policies you've created or Elastic Load Balancing sample policy names. Pass a string for a single value, or an indexed array for multiple values. </li> |
| 334 | + * <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> |
| 335 | + * <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> |
| 336 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 337 | + */ |
| 338 | + public function describe_load_balancer_policies($opt = null) |
| 339 | + { |
| 340 | + if (!$opt) $opt = array(); |
| 341 | + |
226 | 342 | // Optional parameter |
227 | | - if (isset($opt['Instances'])) |
| 343 | + if (isset($opt['PolicyNames'])) |
228 | 344 | { |
229 | 345 | $opt = array_merge($opt, CFComplexType::map(array( |
230 | | - 'Instances' => $opt['Instances'] |
| 346 | + 'PolicyNames' => (is_array($opt['PolicyNames']) ? $opt['PolicyNames'] : array($opt['PolicyNames'])) |
231 | 347 | ), 'member')); |
232 | | - unset($opt['Instances']); |
| 348 | + unset($opt['PolicyNames']); |
233 | 349 | } |
234 | 350 | |
235 | | - return $this->authenticate('DescribeInstanceHealth', $opt, $this->hostname); |
| 351 | + return $this->authenticate('DescribeLoadBalancerPolicies', $opt, $this->hostname); |
236 | 352 | } |
237 | 353 | |
238 | 354 | /** |
239 | 355 | * |
240 | | - * Deletes the specified LoadBalancer. |
| 356 | + * Returns meta-information on the specified LoadBalancer policies defined by the Elastic Load Balancing service. The policy types that are |
| 357 | + * returned from this action can be used in a CreateLoadBalancerPolicy action to instantiate specific policy configurations that will be |
| 358 | + * applied to an Elastic LoadBalancer. |
241 | 359 | * |
242 | | - * If attempting to recreate the LoadBalancer, the client must reconfigure all the settings. The DNS name associated with a deleted |
243 | | - * LoadBalancer will no longer be usable. Once deleted, the name and associated DNS record of the LoadBalancer no longer exist and traffic sent |
244 | | - * to any of its IP addresses will no longer be delivered to client instances. The client will not receive the same DNS name even if a new |
245 | | - * LoadBalancer with same LoadBalancerName is created. |
246 | | - * |
247 | | - * To successfully call this API, the client must provide the same account credentials as were used to create the LoadBalancer. |
248 | | - * |
249 | | - * By design, if the LoadBalancer does not exist or has already been deleted, DeleteLoadBalancer still succeeds. |
250 | | - * |
251 | | - * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
252 | 360 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 361 | + * <li><code>PolicyTypeNames</code> - <code>string|array</code> - Optional - Specifies the name of the policy types. If no names are specified, returns the description of all the policy types defined by Elastic Load Balancing service. Pass a string for a single value, or an indexed array for multiple values. </li> |
253 | 362 | * <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> |
254 | 363 | * <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> |
255 | 364 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
256 | 365 | */ |
257 | | - public function delete_load_balancer($load_balancer_name, $opt = null) |
| 366 | + public function describe_load_balancer_policy_types($opt = null) |
258 | 367 | { |
259 | 368 | if (!$opt) $opt = array(); |
260 | | - $opt['LoadBalancerName'] = $load_balancer_name; |
261 | 369 | |
262 | | - return $this->authenticate('DeleteLoadBalancer', $opt, $this->hostname); |
| 370 | + // Optional parameter |
| 371 | + if (isset($opt['PolicyTypeNames'])) |
| 372 | + { |
| 373 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 374 | + 'PolicyTypeNames' => (is_array($opt['PolicyTypeNames']) ? $opt['PolicyTypeNames'] : array($opt['PolicyTypeNames'])) |
| 375 | + ), 'member')); |
| 376 | + unset($opt['PolicyTypeNames']); |
| 377 | + } |
| 378 | + |
| 379 | + return $this->authenticate('DescribeLoadBalancerPolicyTypes', $opt, $this->hostname); |
263 | 380 | } |
264 | 381 | |
265 | 382 | /** |
266 | 383 | * |
267 | | - * Generates a stickiness policy with sticky session lifetimes controlled by the lifetime of the browser (user-agent) or a specified |
268 | | - * expiration period. This policy can be associated only with HTTP/HTTPS listeners. |
| 384 | + * Removes the specified EC2 Availability Zones from the set of configured Availability Zones for the LoadBalancer. |
269 | 385 | * |
270 | | - * When a load balancer implements this policy, the load balancer uses a special cookie to track the backend server instance for each request. |
271 | | - * When the load balancer receives a request, it first checks to see if this cookie is present in the request. If so, the load balancer sends |
272 | | - * the request to the application server specified in the cookie. If not, the load balancer sends the request to a server that is chosen based |
273 | | - * on the existing load balancing algorithm. |
| 386 | + * There must be at least one Availability Zone registered with a LoadBalancer at all times. A client cannot remove all the Availability Zones |
| 387 | + * from a LoadBalancer. Once an Availability Zone is removed, all the instances registered with the LoadBalancer that are in the removed |
| 388 | + * Availability Zone go into the OutOfService state. Upon Availability Zone removal, the LoadBalancer attempts to equally balance the traffic |
| 389 | + * among its remaining usable Availability Zones. Trying to remove an Availability Zone that was not associated with the LoadBalancer does |
| 390 | + * nothing. |
274 | 391 | * |
275 | | - * A cookie is inserted into the response for binding subsequent requests from the same user to that server. The validity of the cookie is |
276 | | - * based on the cookie expiration time, which is specified in the policy configuration. |
| 392 | + * In order for this call to be successful, the client must have created the LoadBalancer. The client must provide the same account |
| 393 | + * credentials as those that were used to create the LoadBalancer. |
277 | 394 | * |
278 | 395 | * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
279 | | - * @param string $policy_name (Required) The name of the policy being created. The name must be unique within the set of policies for this Load Balancer. |
| 396 | + * @param string|array $availability_zones (Required) A list of Availability Zones to be removed from the LoadBalancer. There must be at least one Availability Zone registered with a LoadBalancer at all times. The client cannot remove all the Availability Zones from a LoadBalancer. Specified Availability Zones must be in the same Region. Pass a string for a single value, or an indexed array for multiple values. |
280 | 397 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
281 | | - * <li><code>CookieExpirationPeriod</code> - <code>long</code> - Optional - The time period in seconds after which the cookie should be considered stale. Not specifying this parameter indicates that the sticky session will last for the duration of the browser session. </li> |
282 | 398 | * <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> |
283 | 399 | * <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> |
284 | 400 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
285 | 401 | */ |
286 | | - public function create_lb_cookie_stickiness_policy($load_balancer_name, $policy_name, $opt = null) |
| 402 | + public function disable_availability_zones_for_load_balancer($load_balancer_name, $availability_zones, $opt = null) |
287 | 403 | { |
288 | 404 | if (!$opt) $opt = array(); |
289 | 405 | $opt['LoadBalancerName'] = $load_balancer_name; |
290 | | - $opt['PolicyName'] = $policy_name; |
291 | 406 | |
292 | | - return $this->authenticate('CreateLBCookieStickinessPolicy', $opt, $this->hostname); |
| 407 | + // Required parameter |
| 408 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 409 | + 'AvailabilityZones' => (is_array($availability_zones) ? $availability_zones : array($availability_zones)) |
| 410 | + ), 'member')); |
| 411 | + |
| 412 | + return $this->authenticate('DisableAvailabilityZonesForLoadBalancer', $opt, $this->hostname); |
293 | 413 | } |
294 | 414 | |
295 | 415 | /** |
296 | 416 | * |
297 | | - * Creates one or more listeners on a LoadBalancer for the specified port. If a listener with the given port does not already exist, it will |
298 | | - * be created; otherwise, the properties of the new listener must match the properties of the existing listener. |
| 417 | + * Creates a new LoadBalancer. |
299 | 418 | * |
300 | | - * @param string $load_balancer_name (Required) The name of the new LoadBalancer. The name must be unique within your AWS account. |
301 | | - * @param array $listeners (Required) A list of LoadBalancerPort, <code>InstancePort</code>, <code>Protocol</code>, and <code>SSLCertificateId</code> items. <ul> |
| 419 | + * After the call has completed successfully, a new LoadBalancer is created; however, it will not be usable until at least one instance has |
| 420 | + * been registered. When the LoadBalancer creation is completed, the client can check whether or not it is usable by using the |
| 421 | + * DescribeInstanceHealth API. The LoadBalancer is usable as soon as any registered instance is <i>InService</i>. |
| 422 | + * |
| 423 | + * Currently, the client's quota of LoadBalancers is limited to ten per Region. |
| 424 | + * |
| 425 | + * LoadBalancer DNS names vary depending on the Region they're created in. For LoadBalancers created in the United States, the DNS name ends |
| 426 | + * with: |
| 427 | + * |
| 428 | + * <ul> <li> <i>us-east-1.elb.amazonaws.com</i> (for the US Standard Region) </li> |
| 429 | + * |
| 430 | + * <li> <i>us-west-1.elb.amazonaws.com</i> (for the Northern California Region) </li> |
| 431 | + * |
| 432 | + * </ul> |
| 433 | + * |
| 434 | + * For LoadBalancers created in the EU (Ireland) Region, the DNS name ends with: |
| 435 | + * |
| 436 | + * <ul> <li> <i>eu-west-1.elb.amazonaws.com</i> </li> |
| 437 | + * |
| 438 | + * </ul> |
| 439 | + * |
| 440 | + * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within your set of LoadBalancers. |
| 441 | + * @param array $listeners (Required) A list of the following tuples: LoadBalancerPort, InstancePort, and Protocol. <ul> |
302 | 442 | * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
303 | 443 | * <li><code>Protocol</code> - <code>string</code> - Required - Specifies the LoadBalancer transport protocol to use for routing - TCP or HTTP. This property cannot be modified for the life of the LoadBalancer. </li> |
304 | 444 | * <li><code>LoadBalancerPort</code> - <code>integer</code> - Required - Specifies the external LoadBalancer port number. This property cannot be modified for the life of the LoadBalancer. </li> |
| 445 | + * <li><code>InstanceProtocol</code> - <code>string</code> - Optional - Specifies the protocol to use for routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL. This property cannot be modified for the life of the LoadBalancer. If the front-end protocol is HTTP or HTTPS, <code>InstanceProtocol</code> has to be at the same protocol layer, i.e., HTTP or HTTPS. Likewise, if the front-end protocol is TCP or SSL, InstanceProtocol has to be TCP or SSL. If there is another listener with the same <code>InstancePort</code> whose <code>InstanceProtocol</code> is secure, i.e., HTTPS or SSL, the listener's <code>InstanceProtocol</code> has to be secure, i.e., HTTPS or SSL. If there is another listener with the same <code>InstancePort</code> whose <code>InstanceProtocol</code> is HTTP or TCP, the listener's <code>InstanceProtocol</code> must be either HTTP or TCP. </li> |
305 | 446 | * <li><code>InstancePort</code> - <code>integer</code> - Required - Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the LoadBalancer. </li> |
306 | 447 | * <li><code>SSLCertificateId</code> - <code>string</code> - Optional - The ID of the SSL certificate chain to use. For more information on SSL certificates, see Managing Keys and Certificates in the AWS Identity and Access Management documentation. </li> |
307 | 448 | * </ul></li> |
308 | 449 | * </ul> |
| 450 | + * @param string|array $availability_zones (Required) A list of Availability Zones. At least one Availability Zone must be specified. Specified Availability Zones must be in the same EC2 Region as the LoadBalancer. Traffic will be equally distributed across all zones. This list can be modified after the creation of the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values. |
309 | 451 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
310 | 452 | * <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> |
311 | 453 | * <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> |
312 | 454 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
313 | 455 | */ |
314 | | - public function create_load_balancer_listeners($load_balancer_name, $listeners, $opt = null) |
| 456 | + public function create_load_balancer($load_balancer_name, $listeners, $availability_zones, $opt = null) |
315 | 457 | { |
316 | 458 | if (!$opt) $opt = array(); |
317 | 459 | $opt['LoadBalancerName'] = $load_balancer_name; |
— | — | @@ -320,70 +462,79 @@ |
321 | 463 | 'Listeners' => (is_array($listeners) ? $listeners : array($listeners)) |
322 | 464 | ), 'member')); |
323 | 465 | |
324 | | - return $this->authenticate('CreateLoadBalancerListeners', $opt, $this->hostname); |
| 466 | + // Required parameter |
| 467 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 468 | + 'AvailabilityZones' => (is_array($availability_zones) ? $availability_zones : array($availability_zones)) |
| 469 | + ), 'member')); |
| 470 | + |
| 471 | + return $this->authenticate('CreateLoadBalancer', $opt, $this->hostname); |
325 | 472 | } |
326 | 473 | |
327 | 474 | /** |
328 | 475 | * |
329 | | - * Returns detailed configuration information for the specified LoadBalancers. If no LoadBalancers are specified, the operation returns |
330 | | - * configuration information for all LoadBalancers created by the caller. |
| 476 | + * Adds one or more EC2 Availability Zones to the LoadBalancer. |
331 | 477 | * |
332 | | - * The client must have created the specified input LoadBalancers in order to retrieve this information; the client must provide the same |
333 | | - * account credentials as those that were used to create the LoadBalancer. |
| 478 | + * The LoadBalancer evenly distributes requests across all its registered Availability Zones that contain instances. As a result, the client |
| 479 | + * must ensure that its LoadBalancer is appropriately scaled for each registered Availability Zone. |
334 | 480 | * |
| 481 | + * The new EC2 Availability Zones to be added must be in the same EC2 Region as the Availability Zones for which the LoadBalancer was created. |
| 482 | + * |
| 483 | + * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
| 484 | + * @param string|array $availability_zones (Required) A list of new Availability Zones for the LoadBalancer. Each Availability Zone must be in the same Region as the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values. |
335 | 485 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
336 | | - * <li><code>LoadBalancerNames</code> - <code>string|array</code> - Optional - A list of names associated with the LoadBalancers at creation time. Pass a string for a single value, or an indexed array for multiple values. </li> |
337 | 486 | * <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> |
338 | 487 | * <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> |
339 | 488 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
340 | 489 | */ |
341 | | - public function describe_load_balancers($opt = null) |
| 490 | + public function enable_availability_zones_for_load_balancer($load_balancer_name, $availability_zones, $opt = null) |
342 | 491 | { |
343 | 492 | if (!$opt) $opt = array(); |
| 493 | + $opt['LoadBalancerName'] = $load_balancer_name; |
344 | 494 | |
345 | | - // Optional parameter |
346 | | - if (isset($opt['LoadBalancerNames'])) |
347 | | - { |
348 | | - $opt = array_merge($opt, CFComplexType::map(array( |
349 | | - 'LoadBalancerNames' => (is_array($opt['LoadBalancerNames']) ? $opt['LoadBalancerNames'] : array($opt['LoadBalancerNames'])) |
350 | | - ), 'member')); |
351 | | - unset($opt['LoadBalancerNames']); |
352 | | - } |
| 495 | + // Required parameter |
| 496 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 497 | + 'AvailabilityZones' => (is_array($availability_zones) ? $availability_zones : array($availability_zones)) |
| 498 | + ), 'member')); |
353 | 499 | |
354 | | - return $this->authenticate('DescribeLoadBalancers', $opt, $this->hostname); |
| 500 | + return $this->authenticate('EnableAvailabilityZonesForLoadBalancer', $opt, $this->hostname); |
355 | 501 | } |
356 | 502 | |
357 | 503 | /** |
358 | 504 | * |
359 | | - * Removes the specified EC2 Availability Zones from the set of configured Availability Zones for the LoadBalancer. |
| 505 | + * Creates a new policy that contains the necessary attributes depending on the policy type. Policies are settings that are saved for your |
| 506 | + * Elastic LoadBalancer and that can be applied to the front-end listener, or the back-end application server, depending on your policy type. |
360 | 507 | * |
361 | | - * There must be at least one Availability Zone registered with a LoadBalancer at all times. A client cannot remove all the Availability Zones |
362 | | - * from a LoadBalancer. Once an Availability Zone is removed, all the instances registered with the LoadBalancer that are in the removed |
363 | | - * Availability Zone go into the OutOfService state. Upon Availability Zone removal, the LoadBalancer attempts to equally balance the traffic |
364 | | - * among its remaining usable Availability Zones. Trying to remove an Availability Zone that was not associated with the LoadBalancer does |
365 | | - * nothing. |
366 | | - * |
367 | | - * In order for this call to be successful, the client must have created the LoadBalancer. The client must provide the same account |
368 | | - * credentials as those that were used to create the LoadBalancer. |
369 | | - * |
370 | | - * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
371 | | - * @param string|array $availability_zones (Required) A list of Availability Zones to be removed from the LoadBalancer. There must be at least one Availability Zone registered with a LoadBalancer at all times. The client cannot remove all the Availability Zones from a LoadBalancer. Specified Availability Zones must be in the same Region. Pass a string for a single value, or an indexed array for multiple values. |
| 508 | + * @param string $load_balancer_name (Required) The name associated with the LoadBalancer for which the policy is being created. This name must be unique within the client AWS account. |
| 509 | + * @param string $policy_name (Required) The name of the LoadBalancer policy being created. The name must be unique within the set of policies for this LoadBalancer. |
| 510 | + * @param string $policy_type_name (Required) The name of the base policy type being used to create this policy. To get the list of policy types, use the DescribeLoadBalancerPolicyTypes action. |
372 | 511 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 512 | + * <li><code>PolicyAttributes</code> - <code>array</code> - Optional - A list of attributes associated with the policy being created. <ul> |
| 513 | + * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
| 514 | + * <li><code>AttributeName</code> - <code>string</code> - Optional - The name of the attribute associated with the policy. </li> |
| 515 | + * <li><code>AttributeValue</code> - <code>string</code> - Optional - The value of the attribute associated with the policy. </li> |
| 516 | + * </ul></li> |
| 517 | + * </ul></li> |
373 | 518 | * <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> |
374 | 519 | * <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> |
375 | 520 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
376 | 521 | */ |
377 | | - public function disable_availability_zones_for_load_balancer($load_balancer_name, $availability_zones, $opt = null) |
| 522 | + public function create_load_balancer_policy($load_balancer_name, $policy_name, $policy_type_name, $opt = null) |
378 | 523 | { |
379 | 524 | if (!$opt) $opt = array(); |
380 | 525 | $opt['LoadBalancerName'] = $load_balancer_name; |
| 526 | + $opt['PolicyName'] = $policy_name; |
| 527 | + $opt['PolicyTypeName'] = $policy_type_name; |
381 | 528 | |
382 | | - // Required parameter |
383 | | - $opt = array_merge($opt, CFComplexType::map(array( |
384 | | - 'AvailabilityZones' => (is_array($availability_zones) ? $availability_zones : array($availability_zones)) |
385 | | - ), 'member')); |
| 529 | + // Optional parameter |
| 530 | + if (isset($opt['PolicyAttributes'])) |
| 531 | + { |
| 532 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 533 | + 'PolicyAttributes' => $opt['PolicyAttributes'] |
| 534 | + ), 'member')); |
| 535 | + unset($opt['PolicyAttributes']); |
| 536 | + } |
386 | 537 | |
387 | | - return $this->authenticate('DisableAvailabilityZonesForLoadBalancer', $opt, $this->hostname); |
| 538 | + return $this->authenticate('CreateLoadBalancerPolicy', $opt, $this->hostname); |
388 | 539 | } |
389 | 540 | |
390 | 541 | /** |
— | — | @@ -422,7 +573,7 @@ |
423 | 574 | * associated only with HTTP/HTTPS listeners. |
424 | 575 | * |
425 | 576 | * This policy is similar to the policy created by CreateLBCookieStickinessPolicy, except that the lifetime of the special Elastic Load |
426 | | - * Balancing cookie follows the lifetime of the application-generated cookie specified in the policy configuration. The load balancer only |
| 577 | + * Balancing cookie follows the lifetime of the application-generated cookie specified in the policy configuration. The LoadBalancer only |
427 | 578 | * inserts a new stickiness cookie when the application response includes a new application cookie. |
428 | 579 | * |
429 | 580 | * If the application cookie is explicitly removed or expires, the session stops being sticky until a new application cookie is issued. |
— | — | @@ -431,7 +582,7 @@ |
432 | 583 | * named <code>AWSELB</code>. This is the default behavior for many common web browsers. |
433 | 584 | * |
434 | 585 | * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
435 | | - * @param string $policy_name (Required) The name of the policy being created. The name must be unique within the set of policies for this Load Balancer. |
| 586 | + * @param string $policy_name (Required) The name of the policy being created. The name must be unique within the set of policies for this LoadBalancer. |
436 | 587 | * @param string $cookie_name (Required) Name of the application cookie used for stickiness. |
437 | 588 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
438 | 589 | * <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> |
— | — | @@ -450,67 +601,33 @@ |
451 | 602 | |
452 | 603 | /** |
453 | 604 | * |
454 | | - * Adds new instances to the LoadBalancer. |
| 605 | + * Deletes the specified LoadBalancer. |
455 | 606 | * |
456 | | - * Once the instance is registered, it starts receiving traffic and requests from the LoadBalancer. Any instance that is not in any of the |
457 | | - * Availability Zones registered for the LoadBalancer will be moved to the <i>OutOfService</i> state. It will move to the <i>InService</i> |
458 | | - * state when the Availability Zone is added to the LoadBalancer. |
| 607 | + * If attempting to recreate the LoadBalancer, the client must reconfigure all the settings. The DNS name associated with a deleted |
| 608 | + * LoadBalancer will no longer be usable. Once deleted, the name and associated DNS record of the LoadBalancer no longer exist and traffic sent |
| 609 | + * to any of its IP addresses will no longer be delivered to client instances. The client will not receive the same DNS name even if a new |
| 610 | + * LoadBalancer with same LoadBalancerName is created. |
459 | 611 | * |
460 | | - * In order for this call to be successful, the client must have created the LoadBalancer. The client must provide the same account |
461 | | - * credentials as those that were used to create the LoadBalancer. |
| 612 | + * To successfully call this API, the client must provide the same account credentials as were used to create the LoadBalancer. |
462 | 613 | * |
463 | | - * Completion of this API does not guarantee that operation has completed. Rather, it means that the request has been registered and the |
464 | | - * changes will happen shortly. |
| 614 | + * By design, if the LoadBalancer does not exist or has already been deleted, DeleteLoadBalancer still succeeds. |
465 | 615 | * |
466 | 616 | * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
467 | | - * @param array $instances (Required) A list of instances IDs that should be registered with the LoadBalancer. <ul> |
468 | | - * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
469 | | - * <li><code>InstanceId</code> - <code>string</code> - Optional - Provides an EC2 instance ID. </li> |
470 | | - * </ul></li> |
471 | | - * </ul> |
472 | 617 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
473 | 618 | * <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> |
474 | 619 | * <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> |
475 | 620 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
476 | 621 | */ |
477 | | - public function register_instances_with_load_balancer($load_balancer_name, $instances, $opt = null) |
| 622 | + public function delete_load_balancer($load_balancer_name, $opt = null) |
478 | 623 | { |
479 | 624 | if (!$opt) $opt = array(); |
480 | 625 | $opt['LoadBalancerName'] = $load_balancer_name; |
481 | 626 | |
482 | | - // Required parameter |
483 | | - $opt = array_merge($opt, CFComplexType::map(array( |
484 | | - 'Instances' => (is_array($instances) ? $instances : array($instances)) |
485 | | - ), 'member')); |
486 | | - |
487 | | - return $this->authenticate('RegisterInstancesWithLoadBalancer', $opt, $this->hostname); |
| 627 | + return $this->authenticate('DeleteLoadBalancer', $opt, $this->hostname); |
488 | 628 | } |
489 | 629 | |
490 | 630 | /** |
491 | 631 | * |
492 | | - * Sets the certificate that terminates the specified listener's SSL connections. The specified certificate replaces any prior certificate |
493 | | - * that was used on the same LoadBalancer and port. |
494 | | - * |
495 | | - * @param string $load_balancer_name (Required) The name of the the LoadBalancer. |
496 | | - * @param integer $load_balancer_port (Required) The port that uses the specified SSL certificate. |
497 | | - * @param string $ssl_certificate_id (Required) The ID of the SSL certificate chain to use. For more information on SSL certificates, see Managing Server Certificates in the AWS Identity and Access Management documentation. |
498 | | - * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
499 | | - * <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> |
500 | | - * <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> |
501 | | - * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
502 | | - */ |
503 | | - public function set_load_balancer_listener_ssl_certificate($load_balancer_name, $load_balancer_port, $ssl_certificate_id, $opt = null) |
504 | | - { |
505 | | - if (!$opt) $opt = array(); |
506 | | - $opt['LoadBalancerName'] = $load_balancer_name; |
507 | | - $opt['LoadBalancerPort'] = $load_balancer_port; |
508 | | - $opt['SSLCertificateId'] = $ssl_certificate_id; |
509 | | - |
510 | | - return $this->authenticate('SetLoadBalancerListenerSSLCertificate', $opt, $this->hostname); |
511 | | - } |
512 | | - |
513 | | - /** |
514 | | - * |
515 | 632 | * Deletes a policy from the LoadBalancer. The specified policy must not be enabled for any listeners. |
516 | 633 | * |
517 | 634 | * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer. The name must be unique within your AWS account. |
— | — | @@ -531,88 +648,101 @@ |
532 | 649 | |
533 | 650 | /** |
534 | 651 | * |
535 | | - * Associates, updates, or disables a policy with a listener on the load balancer. Currently only zero (0) or one (1) policy can be associated |
536 | | - * with a listener. |
| 652 | + * Returns the current state of the instances of the specified LoadBalancer. If no instances are specified, the state of all the instances for |
| 653 | + * the LoadBalancer is returned. |
537 | 654 | * |
| 655 | + * The client must have created the specified input LoadBalancer in order to retrieve this information; the client must provide the same |
| 656 | + * account credentials as those that were used to create the LoadBalancer. |
| 657 | + * |
538 | 658 | * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
539 | | - * @param integer $load_balancer_port (Required) The external port of the LoadBalancer with which this policy has to be associated. |
540 | | - * @param string|array $policy_names (Required) List of policies to be associated with the listener. Currently this list can have at most one policy. If the list is empty, the current policy is removed from the listener. Pass a string for a single value, or an indexed array for multiple values. |
541 | 659 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 660 | + * <li><code>Instances</code> - <code>array</code> - Optional - A list of instance IDs whose states are being queried. <ul> |
| 661 | + * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
| 662 | + * <li><code>InstanceId</code> - <code>string</code> - Optional - Provides an EC2 instance ID. </li> |
| 663 | + * </ul></li> |
| 664 | + * </ul></li> |
542 | 665 | * <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> |
543 | 666 | * <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> |
544 | 667 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
545 | 668 | */ |
546 | | - public function set_load_balancer_policies_of_listener($load_balancer_name, $load_balancer_port, $policy_names, $opt = null) |
| 669 | + public function describe_instance_health($load_balancer_name, $opt = null) |
547 | 670 | { |
548 | 671 | if (!$opt) $opt = array(); |
549 | 672 | $opt['LoadBalancerName'] = $load_balancer_name; |
550 | | - $opt['LoadBalancerPort'] = $load_balancer_port; |
551 | 673 | |
552 | | - // Required parameter |
553 | | - $opt = array_merge($opt, CFComplexType::map(array( |
554 | | - 'PolicyNames' => (is_array($policy_names) ? $policy_names : array($policy_names)) |
555 | | - ), 'member')); |
| 674 | + // Optional parameter |
| 675 | + if (isset($opt['Instances'])) |
| 676 | + { |
| 677 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 678 | + 'Instances' => $opt['Instances'] |
| 679 | + ), 'member')); |
| 680 | + unset($opt['Instances']); |
| 681 | + } |
556 | 682 | |
557 | | - return $this->authenticate('SetLoadBalancerPoliciesOfListener', $opt, $this->hostname); |
| 683 | + return $this->authenticate('DescribeInstanceHealth', $opt, $this->hostname); |
558 | 684 | } |
559 | 685 | |
560 | 686 | /** |
561 | 687 | * |
562 | | - * Adds one or more EC2 Availability Zones to the LoadBalancer. |
| 688 | + * Returns detailed configuration information for the specified LoadBalancers. If no LoadBalancers are specified, the operation returns |
| 689 | + * configuration information for all LoadBalancers created by the caller. |
563 | 690 | * |
564 | | - * The LoadBalancer evenly distributes requests across all its registered Availability Zones that contain instances. As a result, the client |
565 | | - * must ensure that its LoadBalancer is appropriately scaled for each registered Availability Zone. |
| 691 | + * The client must have created the specified input LoadBalancers in order to retrieve this information; the client must provide the same |
| 692 | + * account credentials as those that were used to create the LoadBalancer. |
566 | 693 | * |
567 | | - * The new EC2 Availability Zones to be added must be in the same EC2 Region as the Availability Zones for which the LoadBalancer was created. |
568 | | - * |
569 | | - * @param string $load_balancer_name (Required) The name associated with the LoadBalancer. The name must be unique within the client AWS account. |
570 | | - * @param string|array $availability_zones (Required) A list of new Availability Zones for the LoadBalancer. Each Availability Zone must be in the same Region as the LoadBalancer. Pass a string for a single value, or an indexed array for multiple values. |
571 | 694 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 695 | + * <li><code>LoadBalancerNames</code> - <code>string|array</code> - Optional - A list of names associated with the LoadBalancers at creation time. Pass a string for a single value, or an indexed array for multiple values. </li> |
572 | 696 | * <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> |
573 | 697 | * <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> |
574 | 698 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
575 | 699 | */ |
576 | | - public function enable_availability_zones_for_load_balancer($load_balancer_name, $availability_zones, $opt = null) |
| 700 | + public function describe_load_balancers($opt = null) |
577 | 701 | { |
578 | 702 | if (!$opt) $opt = array(); |
579 | | - $opt['LoadBalancerName'] = $load_balancer_name; |
580 | 703 | |
581 | | - // Required parameter |
582 | | - $opt = array_merge($opt, CFComplexType::map(array( |
583 | | - 'AvailabilityZones' => (is_array($availability_zones) ? $availability_zones : array($availability_zones)) |
584 | | - ), 'member')); |
| 704 | + // Optional parameter |
| 705 | + if (isset($opt['LoadBalancerNames'])) |
| 706 | + { |
| 707 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 708 | + 'LoadBalancerNames' => (is_array($opt['LoadBalancerNames']) ? $opt['LoadBalancerNames'] : array($opt['LoadBalancerNames'])) |
| 709 | + ), 'member')); |
| 710 | + unset($opt['LoadBalancerNames']); |
| 711 | + } |
585 | 712 | |
586 | | - return $this->authenticate('EnableAvailabilityZonesForLoadBalancer', $opt, $this->hostname); |
| 713 | + return $this->authenticate('DescribeLoadBalancers', $opt, $this->hostname); |
587 | 714 | } |
588 | 715 | |
589 | 716 | /** |
590 | 717 | * |
591 | | - * Enables the client to define an application healthcheck for the instances. |
| 718 | + * Creates one or more listeners on a LoadBalancer for the specified port. If a listener with the given port does not already exist, it will |
| 719 | + * be created; otherwise, the properties of the new listener must match the properties of the existing listener. |
592 | 720 | * |
593 | | - * @param string $load_balancer_name (Required) The mnemonic name associated with the LoadBalancer. This name must be unique within the client AWS account. |
594 | | - * @param array $health_check (Required) A structure containing the configuration information for the new healthcheck. <ul> |
595 | | - * <li><code>Target</code> - <code>string</code> - Required - Specifies the instance being checked. The protocol is either TCP or HTTP. The range of valid ports is one (1) through 65535. TCP is the default, specified as a TCP: port pair, for example "TCP:5000". In this case a healthcheck simply attempts to open a TCP connection to the instance on the specified port. Failure to connect within the configured timeout is considered unhealthy. For HTTP, the situation is different. HTTP is specified as a HTTP:port;/;PathToPing; grouping, for example "HTTP:80/weather/us/wa/seattle". In this case, a HTTP GET request is issued to the instance on the given port and path. Any answer other than "200 OK" within the timeout period is considered unhealthy. The total length of the HTTP ping target needs to be 1024 16-bit Unicode characters or less. </li> |
596 | | - * <li><code>Interval</code> - <code>integer</code> - Required - Specifies the approximate interval, in seconds, between health checks of an individual instance. </li> |
597 | | - * <li><code>Timeout</code> - <code>integer</code> - Required - Specifies the amount of time, in seconds, during which no response means a failed health probe. This value must be less than the <i>Interval</i> value. </li> |
598 | | - * <li><code>UnhealthyThreshold</code> - <code>integer</code> - Required - Specifies the number of consecutive health probe failures required before moving the instance to the <i>Unhealthy</i> state. </li> |
599 | | - * <li><code>HealthyThreshold</code> - <code>integer</code> - Required - Specifies the number of consecutive health probe successes required before moving the instance to the <i>Healthy</i> state. </li> |
| 721 | + * @param string $load_balancer_name (Required) The name of the new LoadBalancer. The name must be unique within your AWS account. |
| 722 | + * @param array $listeners (Required) A list of <code>LoadBalancerPort</code>, <code>InstancePort</code>, <code>Protocol</code>, and <code>SSLCertificateId</code> items. <ul> |
| 723 | + * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
| 724 | + * <li><code>Protocol</code> - <code>string</code> - Required - Specifies the LoadBalancer transport protocol to use for routing - TCP or HTTP. This property cannot be modified for the life of the LoadBalancer. </li> |
| 725 | + * <li><code>LoadBalancerPort</code> - <code>integer</code> - Required - Specifies the external LoadBalancer port number. This property cannot be modified for the life of the LoadBalancer. </li> |
| 726 | + * <li><code>InstanceProtocol</code> - <code>string</code> - Optional - Specifies the protocol to use for routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL. This property cannot be modified for the life of the LoadBalancer. If the front-end protocol is HTTP or HTTPS, <code>InstanceProtocol</code> has to be at the same protocol layer, i.e., HTTP or HTTPS. Likewise, if the front-end protocol is TCP or SSL, InstanceProtocol has to be TCP or SSL. If there is another listener with the same <code>InstancePort</code> whose <code>InstanceProtocol</code> is secure, i.e., HTTPS or SSL, the listener's <code>InstanceProtocol</code> has to be secure, i.e., HTTPS or SSL. If there is another listener with the same <code>InstancePort</code> whose <code>InstanceProtocol</code> is HTTP or TCP, the listener's <code>InstanceProtocol</code> must be either HTTP or TCP. </li> |
| 727 | + * <li><code>InstancePort</code> - <code>integer</code> - Required - Specifies the TCP port on which the instance server is listening. This property cannot be modified for the life of the LoadBalancer. </li> |
| 728 | + * <li><code>SSLCertificateId</code> - <code>string</code> - Optional - The ID of the SSL certificate chain to use. For more information on SSL certificates, see Managing Keys and Certificates in the AWS Identity and Access Management documentation. </li> |
| 729 | + * </ul></li> |
600 | 730 | * </ul> |
601 | 731 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
602 | 732 | * <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> |
603 | 733 | * <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> |
604 | 734 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
605 | 735 | */ |
606 | | - public function configure_health_check($load_balancer_name, $health_check, $opt = null) |
| 736 | + public function create_load_balancer_listeners($load_balancer_name, $listeners, $opt = null) |
607 | 737 | { |
608 | 738 | if (!$opt) $opt = array(); |
609 | 739 | $opt['LoadBalancerName'] = $load_balancer_name; |
610 | 740 | |
611 | 741 | // Required parameter |
612 | 742 | $opt = array_merge($opt, CFComplexType::map(array( |
613 | | - 'HealthCheck' => (is_array($health_check) ? $health_check : array($health_check)) |
| 743 | + 'Listeners' => (is_array($listeners) ? $listeners : array($listeners)) |
614 | 744 | ), 'member')); |
615 | 745 | |
616 | | - return $this->authenticate('ConfigureHealthCheck', $opt, $this->hostname); |
| 746 | + return $this->authenticate('CreateLoadBalancerListeners', $opt, $this->hostname); |
617 | 747 | } |
618 | 748 | } |
619 | 749 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/as.class.php |
— | — | @@ -38,7 +38,7 @@ |
39 | 39 | * href="http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and Endpoints</a> in the Amazon Web Services |
40 | 40 | * General Reference. |
41 | 41 | * |
42 | | - * @version Wed Aug 03 10:07:42 PDT 2011 |
| 42 | + * @version Thu Sep 01 21:17:05 PDT 2011 |
43 | 43 | * @license See the included NOTICE.md file for complete information. |
44 | 44 | * @copyright See the included NOTICE.md file for complete information. |
45 | 45 | * @link http://aws.amazon.com/autoscaling/Amazon Auto-Scaling |
— | — | @@ -51,36 +51,41 @@ |
52 | 52 | // CLASS CONSTANTS |
53 | 53 | |
54 | 54 | /** |
55 | | - * Specify the default queue URL. |
| 55 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
56 | 56 | */ |
57 | | - const DEFAULT_URL = 'autoscaling.us-east-1.amazonaws.com'; |
| 57 | + const REGION_US_E1 = 'autoscaling.us-east-1.amazonaws.com'; |
58 | 58 | |
59 | 59 | /** |
60 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 60 | + * Specify the queue URL for the United States West (Northern California) Region. |
61 | 61 | */ |
62 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 62 | + const REGION_US_W1 = 'autoscaling.us-west-1.amazonaws.com'; |
63 | 63 | |
64 | 64 | /** |
65 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 65 | + * Specify the queue URL for the United States West (Oregon) Region. |
66 | 66 | */ |
67 | | - const REGION_US_W1 = 'autoscaling.us-west-1.amazonaws.com'; |
| 67 | + const REGION_US_W2 = 'autoscaling.us-west-2.amazonaws.com'; |
68 | 68 | |
69 | 69 | /** |
70 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 70 | + * Specify the queue URL for the Europe West (Ireland) Region. |
71 | 71 | */ |
72 | 72 | const REGION_EU_W1 = 'autoscaling.eu-west-1.amazonaws.com'; |
73 | 73 | |
74 | 74 | /** |
75 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 75 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
76 | 76 | */ |
77 | 77 | const REGION_APAC_SE1 = 'autoscaling.ap-southeast-1.amazonaws.com'; |
78 | 78 | |
79 | 79 | /** |
80 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 80 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
81 | 81 | */ |
82 | 82 | const REGION_APAC_NE1 = 'autoscaling.ap-northeast-1.amazonaws.com'; |
83 | 83 | |
| 84 | + /** |
| 85 | + * Default service endpoint. |
| 86 | + */ |
| 87 | + const DEFAULT_URL = self::REGION_US_E1; |
84 | 88 | |
| 89 | + |
85 | 90 | /*%******************************************************************************************%*/ |
86 | 91 | // SETTERS |
87 | 92 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/sns.class.php |
— | — | @@ -17,7 +17,7 @@ |
18 | 18 | /** |
19 | 19 | |
20 | 20 | * |
21 | | - * @version Wed Aug 03 10:14:08 PDT 2011 |
| 21 | + * @version Thu Sep 01 21:23:56 PDT 2011 |
22 | 22 | * @license See the included NOTICE.md file for complete information. |
23 | 23 | * @copyright See the included NOTICE.md file for complete information. |
24 | 24 | * @link http://aws.amazon.com/sns/Amazon Simple Notification Service |
— | — | @@ -30,36 +30,41 @@ |
31 | 31 | // CLASS CONSTANTS |
32 | 32 | |
33 | 33 | /** |
34 | | - * Specify the default queue URL. |
| 34 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
35 | 35 | */ |
36 | | - const DEFAULT_URL = 'sns.us-east-1.amazonaws.com'; |
| 36 | + const REGION_US_E1 = 'sns.us-east-1.amazonaws.com'; |
37 | 37 | |
38 | 38 | /** |
39 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 39 | + * Specify the queue URL for the United States West (Northern California) Region. |
40 | 40 | */ |
41 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 41 | + const REGION_US_W1 = 'sns.us-west-1.amazonaws.com'; |
42 | 42 | |
43 | 43 | /** |
44 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 44 | + * Specify the queue URL for the United States West (Oregon) Region. |
45 | 45 | */ |
46 | | - const REGION_US_W1 = 'sns.us-west-1.amazonaws.com'; |
| 46 | + const REGION_US_W2 = 'sns.us-west-2.amazonaws.com'; |
47 | 47 | |
48 | 48 | /** |
49 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 49 | + * Specify the queue URL for the Europe West (Ireland) Region. |
50 | 50 | */ |
51 | 51 | const REGION_EU_W1 = 'sns.eu-west-1.amazonaws.com'; |
52 | 52 | |
53 | 53 | /** |
54 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 54 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
55 | 55 | */ |
56 | 56 | const REGION_APAC_SE1 = 'sns.ap-southeast-1.amazonaws.com'; |
57 | 57 | |
58 | 58 | /** |
59 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 59 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
60 | 60 | */ |
61 | 61 | const REGION_APAC_NE1 = 'sns.ap-northeast-1.amazonaws.com'; |
62 | 62 | |
| 63 | + /** |
| 64 | + * Default service endpoint. |
| 65 | + */ |
| 66 | + const DEFAULT_URL = self::REGION_US_E1; |
63 | 67 | |
| 68 | + |
64 | 69 | /*%******************************************************************************************%*/ |
65 | 70 | // SETTERS |
66 | 71 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/elasticache.class.php |
— | — | @@ -0,0 +1,585 @@ |
| 2 | +<?php |
| 3 | +/* |
| 4 | + * Copyright 2010-2011 Amazon.com, Inc. or its affiliates. All Rights Reserved. |
| 5 | + * |
| 6 | + * Licensed under the Apache License, Version 2.0 (the "License"). |
| 7 | + * You may not use this file except in compliance with the License. |
| 8 | + * A copy of the License is located at |
| 9 | + * |
| 10 | + * http://aws.amazon.com/apache2.0 |
| 11 | + * |
| 12 | + * or in the "license" file accompanying this file. This file is distributed |
| 13 | + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either |
| 14 | + * express or implied. See the License for the specific language governing |
| 15 | + * permissions and limitations under the License. |
| 16 | + */ |
| 17 | + |
| 18 | +/** |
| 19 | + * |
| 20 | + * |
| 21 | + * Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud. |
| 22 | + * |
| 23 | + * With Amazon ElastiCache, customers gain all of the benefits of a high-performance, in-memory cache with far less of the administrative |
| 24 | + * burden of launching and managing a distributed cache. The service makes set-up, scaling, and cluster failure handling much simpler than in a |
| 25 | + * self-managed cache deployment. |
| 26 | + * |
| 27 | + * In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated |
| 28 | + * with their cache and can receive alarms if a part of their cache runs hot. |
| 29 | + * |
| 30 | + * @version Thu Sep 01 21:18:49 PDT 2011 |
| 31 | + * @license See the included NOTICE.md file for complete information. |
| 32 | + * @copyright See the included NOTICE.md file for complete information. |
| 33 | + * @link http://aws.amazon.com/elasticache/AWS ElastiCache |
| 34 | + * @link http://aws.amazon.com/documentation/elasticache/AWS ElastiCache documentation |
| 35 | + */ |
| 36 | +class AmazonElastiCache extends CFRuntime |
| 37 | +{ |
| 38 | + |
| 39 | + /*%******************************************************************************************%*/ |
| 40 | + // CLASS CONSTANTS |
| 41 | + |
| 42 | + /** |
| 43 | + * Specify the default queue URL. |
| 44 | + */ |
| 45 | + const DEFAULT_URL = 'elasticache.us-east-1.amazonaws.com'; |
| 46 | + |
| 47 | + /** |
| 48 | + * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 49 | + */ |
| 50 | + const REGION_US_E1 = 'us-east-1'; |
| 51 | + |
| 52 | + |
| 53 | + /*%******************************************************************************************%*/ |
| 54 | + // SETTERS |
| 55 | + |
| 56 | + /** |
| 57 | + * This allows you to explicitly sets the region for the service to use. |
| 58 | + * |
| 59 | + * @param string $region (Required) The region to explicitly set. Available options are <REGION_US_E1>. |
| 60 | + * @return $this A reference to the current instance. |
| 61 | + */ |
| 62 | + public function set_region($region) |
| 63 | + { |
| 64 | + $this->set_hostname('http://elasticache.'. $region .'.amazonaws.com'); |
| 65 | + return $this; |
| 66 | + } |
| 67 | + |
| 68 | + |
| 69 | + /*%******************************************************************************************%*/ |
| 70 | + // CONSTRUCTOR |
| 71 | + |
| 72 | + /** |
| 73 | + * Constructs a new instance of <AmazonElastiCache>. |
| 74 | + * |
| 75 | + * @param string $key (Optional) Your Amazon API Key. If blank, it will look for the <code>AWS_KEY</code> constant. |
| 76 | + * @param string $secret_key (Optional) Your Amazon API Secret Key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant. |
| 77 | + * @return boolean false if no valid values are set, otherwise true. |
| 78 | + */ |
| 79 | + public function __construct($key = null, $secret_key = null) |
| 80 | + { |
| 81 | + $this->api_version = '2011-07-15'; |
| 82 | + $this->hostname = self::DEFAULT_URL; |
| 83 | + |
| 84 | + if (!$key && !defined('AWS_KEY')) |
| 85 | + { |
| 86 | + // @codeCoverageIgnoreStart |
| 87 | + throw new ElastiCache_Exception('No account key was passed into the constructor, nor was it set in the AWS_KEY constant.'); |
| 88 | + // @codeCoverageIgnoreEnd |
| 89 | + } |
| 90 | + |
| 91 | + if (!$secret_key && !defined('AWS_SECRET_KEY')) |
| 92 | + { |
| 93 | + // @codeCoverageIgnoreStart |
| 94 | + throw new ElastiCache_Exception('No account secret was passed into the constructor, nor was it set in the AWS_SECRET_KEY constant.'); |
| 95 | + // @codeCoverageIgnoreEnd |
| 96 | + } |
| 97 | + |
| 98 | + return parent::__construct($key, $secret_key); |
| 99 | + } |
| 100 | + |
| 101 | + |
| 102 | + /*%******************************************************************************************%*/ |
| 103 | + // SERVICE METHODS |
| 104 | + |
| 105 | + /** |
| 106 | + * |
| 107 | + * This API returns the default engine and system parameter information for the specified cache engine. |
| 108 | + * |
| 109 | + * @param string $cache_parameter_group_family (Required) The name of the Cache Parameter Group Family. Currently, <i>memcached1.4</i> is the only cache parameter group family supported by the service. |
| 110 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 111 | + * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more records exist than the specified <i>MaxRecords</i> value, a marker is included in the response so that the remaining results may be retrieved. </li> |
| 112 | + * <li><code>Marker</code> - <code>string</code> - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <i>MaxRecords</i>. </li> |
| 113 | + * <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> |
| 114 | + * <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> |
| 115 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 116 | + */ |
| 117 | + public function describe_engine_default_parameters($cache_parameter_group_family, $opt = null) |
| 118 | + { |
| 119 | + if (!$opt) $opt = array(); |
| 120 | + $opt['CacheParameterGroupFamily'] = $cache_parameter_group_family; |
| 121 | + |
| 122 | + return $this->authenticate('DescribeEngineDefaultParameters', $opt, $this->hostname); |
| 123 | + } |
| 124 | + |
| 125 | + /** |
| 126 | + * |
| 127 | + * This API modifies the parameters of a CacheParameterGroup. To modify more than one parameter submit a list of the following: ParameterName |
| 128 | + * and ParameterValue. A maximum of 20 parameters can be modified in a single request. |
| 129 | + * |
| 130 | + * @param string $cache_parameter_group_name (Required) The name of the cache parameter group to modify. |
| 131 | + * @param array $parameter_name_values (Required) An array of parameter names and values for the parameter update. At least one parameter name and value must be supplied; subsequent arguments are optional. A maximum of 20 parameters may be modified in a single request. <ul> |
| 132 | + * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
| 133 | + * <li><code>ParameterName</code> - <code>string</code> - Optional - Specifies the name of the parameter. </li> |
| 134 | + * <li><code>ParameterValue</code> - <code>string</code> - Optional - Specifies the value of the parameter. </li> |
| 135 | + * </ul></li> |
| 136 | + * </ul> |
| 137 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 138 | + * <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> |
| 139 | + * <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> |
| 140 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 141 | + */ |
| 142 | + public function modify_cache_parameter_group($cache_parameter_group_name, $parameter_name_values, $opt = null) |
| 143 | + { |
| 144 | + if (!$opt) $opt = array(); |
| 145 | + $opt['CacheParameterGroupName'] = $cache_parameter_group_name; |
| 146 | + |
| 147 | + // Required parameter |
| 148 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 149 | + 'ParameterNameValues' => (is_array($parameter_name_values) ? $parameter_name_values : array($parameter_name_values)) |
| 150 | + ), 'member')); |
| 151 | + |
| 152 | + return $this->authenticate('ModifyCacheParameterGroup', $opt, $this->hostname); |
| 153 | + } |
| 154 | + |
| 155 | + /** |
| 156 | + * |
| 157 | + * Creates a new Cache Cluster. |
| 158 | + * |
| 159 | + * @param string $cache_cluster_id (Required) The Cache Cluster identifier. This parameter is stored as a lowercase string. Constraints: <ul> <li>Must contain from 1 to 20 alphanumeric characters or hyphens.</li><li>First character must be a letter.</li><li>Cannot end with a hyphen or contain two consecutive hyphens.</li> </ul> Example: <code>mycachecluster</code> |
| 160 | + * @param integer $num_cache_nodes (Required) The number of Cache Nodes the Cache Cluster should have. |
| 161 | + * @param string $cache_node_type (Required) The compute and memory capacity of nodes in a Cache Cluster. Valid values: <code>cache.m1.large | cache.m1.xlarge | cache.m2.xlarge | cache.m2.2xlarge | cache.m2.4xlarge | cache.c1.xlarge </code> |
| 162 | + * @param string $engine (Required) The name of the cache engine to be used for this Cache Cluster. Currently, <i>memcached</i> is the only cache engine supported by the service. |
| 163 | + * @param string|array $cache_security_group_names (Required) A list of Cache Security Group Names to associate with this Cache Cluster. Pass a string for a single value, or an indexed array for multiple values. |
| 164 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 165 | + * <li><code>EngineVersion</code> - <code>string</code> - Optional - The version of the cache engine to be used for this cluster. </li> |
| 166 | + * <li><code>CacheParameterGroupName</code> - <code>string</code> - Optional - The name of the cache parameter group to associate with this Cache cluster. If this argument is omitted, the default CacheParameterGroup for the specified engine will be used. </li> |
| 167 | + * <li><code>PreferredAvailabilityZone</code> - <code>string</code> - Optional - The EC2 Availability Zone that the Cache Cluster will be created in. In normal use, all CacheNodes belonging to a CacheCluster are placed in the preferred availability zone. In rare circumstances, some of the CacheNodes might temporarily be in a different availability zone. Default: System chosen (random) availability zone. </li> |
| 168 | + * <li><code>PreferredMaintenanceWindow</code> - <code>string</code> - Optional - The weekly time range (in UTC) during which system maintenance can occur. Example: <code>sun:05:00-sun:09:00</code> </li> |
| 169 | + * <li><code>Port</code> - <code>integer</code> - Optional - The port number on which each of the Cache Nodes will accept connections. </li> |
| 170 | + * <li><code>NotificationTopicArn</code> - <code>string</code> - Optional - The Amazon Resource Name (ARN) of the SNS topic to which notifications will be sent. The SNS topic owner must be same as the Cache Cluster owner. </li> |
| 171 | + * <li><code>AutoMinorVersionUpgrade</code> - <code>boolean</code> - Optional - Indicates that minor engine upgrades will be applied automatically to the Cache Cluster during the maintenance window. Default: <code>true</code> </li> |
| 172 | + * <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> |
| 173 | + * <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> |
| 174 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 175 | + */ |
| 176 | + public function create_cache_cluster($cache_cluster_id, $num_cache_nodes, $cache_node_type, $engine, $cache_security_group_names, $opt = null) |
| 177 | + { |
| 178 | + if (!$opt) $opt = array(); |
| 179 | + $opt['CacheClusterId'] = $cache_cluster_id; |
| 180 | + $opt['NumCacheNodes'] = $num_cache_nodes; |
| 181 | + $opt['CacheNodeType'] = $cache_node_type; |
| 182 | + $opt['Engine'] = $engine; |
| 183 | + |
| 184 | + // Required parameter |
| 185 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 186 | + 'CacheSecurityGroupNames' => (is_array($cache_security_group_names) ? $cache_security_group_names : array($cache_security_group_names)) |
| 187 | + ), 'member')); |
| 188 | + |
| 189 | + return $this->authenticate('CreateCacheCluster', $opt, $this->hostname); |
| 190 | + } |
| 191 | + |
| 192 | + /** |
| 193 | + * |
| 194 | + * Authorizes ingress to a CacheSecurityGroup using EC2 Security Groups as authorization (therefore the application using the cache must be |
| 195 | + * running on EC2 clusters). This API requires the following parameters: EC2SecurityGroupName and EC2SecurityGroupOwnerId. |
| 196 | + * |
| 197 | + * You cannot authorize ingress from an EC2 security group in one Region to an Amazon Cache Cluster in another. |
| 198 | + * |
| 199 | + * @param string $cache_security_group_name (Required) The name of the Cache Security Group to authorize. |
| 200 | + * @param string $ec2_security_group_name (Required) Name of the EC2 Security Group to include in the authorization. |
| 201 | + * @param string $ec2_security_group_owner_id (Required) AWS Account Number of the owner of the security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. |
| 202 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 203 | + * <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> |
| 204 | + * <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> |
| 205 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 206 | + */ |
| 207 | + public function authorize_cache_security_group_ingress($cache_security_group_name, $ec2_security_group_name, $ec2_security_group_owner_id, $opt = null) |
| 208 | + { |
| 209 | + if (!$opt) $opt = array(); |
| 210 | + $opt['CacheSecurityGroupName'] = $cache_security_group_name; |
| 211 | + $opt['EC2SecurityGroupName'] = $ec2_security_group_name; |
| 212 | + $opt['EC2SecurityGroupOwnerId'] = $ec2_security_group_owner_id; |
| 213 | + |
| 214 | + return $this->authenticate('AuthorizeCacheSecurityGroupIngress', $opt, $this->hostname); |
| 215 | + } |
| 216 | + |
| 217 | + /** |
| 218 | + * |
| 219 | + * Creates a new Cache Security Group. Cache Security groups control access to one or more Cache Clusters. |
| 220 | + * |
| 221 | + * @param string $cache_security_group_name (Required) The name for the Cache Security Group. This value is stored as a lowercase string. Constraints: Must contain no more than 255 alphanumeric characters. Must not be "Default". Example: <code>mysecuritygroup</code> |
| 222 | + * @param string $description (Required) The description for the Cache Security Group. |
| 223 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 224 | + * <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> |
| 225 | + * <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> |
| 226 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 227 | + */ |
| 228 | + public function create_cache_security_group($cache_security_group_name, $description, $opt = null) |
| 229 | + { |
| 230 | + if (!$opt) $opt = array(); |
| 231 | + $opt['CacheSecurityGroupName'] = $cache_security_group_name; |
| 232 | + $opt['Description'] = $description; |
| 233 | + |
| 234 | + return $this->authenticate('CreateCacheSecurityGroup', $opt, $this->hostname); |
| 235 | + } |
| 236 | + |
| 237 | + /** |
| 238 | + * |
| 239 | + * Deletes a previously provisioned Cache Cluster. A successful response from the web service indicates the request was received correctly. |
| 240 | + * This action cannot be canceled or reverted. DeleteCacheCluster deletes all associated Cache Nodes, node endpoints and the Cache Cluster |
| 241 | + * itself. |
| 242 | + * |
| 243 | + * @param string $cache_cluster_id (Required) The Cache Cluster identifier for the Cache Cluster to be deleted. This parameter isn't case sensitive. |
| 244 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 245 | + * <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> |
| 246 | + * <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> |
| 247 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 248 | + */ |
| 249 | + public function delete_cache_cluster($cache_cluster_id, $opt = null) |
| 250 | + { |
| 251 | + if (!$opt) $opt = array(); |
| 252 | + $opt['CacheClusterId'] = $cache_cluster_id; |
| 253 | + |
| 254 | + return $this->authenticate('DeleteCacheCluster', $opt, $this->hostname); |
| 255 | + } |
| 256 | + |
| 257 | + /** |
| 258 | + * |
| 259 | + * Returns a list of CacheSecurityGroup descriptions. If a CacheSecurityGroupName is specified, the list will contain only the description of |
| 260 | + * the specified CacheSecurityGroup. |
| 261 | + * |
| 262 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 263 | + * <li><code>CacheSecurityGroupName</code> - <code>string</code> - Optional - The name of the Cache Security Group to return details for. </li> |
| 264 | + * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more records exist than the specified <i>MaxRecords</i> value, a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100 </li> |
| 265 | + * <li><code>Marker</code> - <code>string</code> - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <i>MaxRecords</i>. </li> |
| 266 | + * <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> |
| 267 | + * <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> |
| 268 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 269 | + */ |
| 270 | + public function describe_cache_security_groups($opt = null) |
| 271 | + { |
| 272 | + if (!$opt) $opt = array(); |
| 273 | + |
| 274 | + return $this->authenticate('DescribeCacheSecurityGroups', $opt, $this->hostname); |
| 275 | + } |
| 276 | + |
| 277 | + /** |
| 278 | + * |
| 279 | + * This API returns a list of CacheParameterGroup descriptions. If a CacheParameterGroupName is specified, the list will contain only the |
| 280 | + * descriptions of the specified CacheParameterGroup. |
| 281 | + * |
| 282 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 283 | + * <li><code>CacheParameterGroupName</code> - <code>string</code> - Optional - The name of a specific cache parameter group to return details for. </li> |
| 284 | + * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more records exist than the specified <i>MaxRecords</i> value, a marker is included in the response so that the remaining results may be retrieved. </li> |
| 285 | + * <li><code>Marker</code> - <code>string</code> - Optional - An optional marker provided in the previous DescribeCacheParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <i>MaxRecords</i>. </li> |
| 286 | + * <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> |
| 287 | + * <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> |
| 288 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 289 | + */ |
| 290 | + public function describe_cache_parameter_groups($opt = null) |
| 291 | + { |
| 292 | + if (!$opt) $opt = array(); |
| 293 | + |
| 294 | + return $this->authenticate('DescribeCacheParameterGroups', $opt, $this->hostname); |
| 295 | + } |
| 296 | + |
| 297 | + /** |
| 298 | + * |
| 299 | + * Returns the detailed parameter list for a particular CacheParameterGroup. |
| 300 | + * |
| 301 | + * @param string $cache_parameter_group_name (Required) The name of a specific cache parameter group to return details for. |
| 302 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 303 | + * <li><code>Source</code> - <code>string</code> - Optional - The parameter types to return. Valid values: <code>user</code> | <code>system</code> | <code>engine-default</code> </li> |
| 304 | + * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more records exist than the specified <i>MaxRecords</i> value, a marker is included in the response so that the remaining results may be retrieved. </li> |
| 305 | + * <li><code>Marker</code> - <code>string</code> - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <i>MaxRecords</i>. </li> |
| 306 | + * <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> |
| 307 | + * <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> |
| 308 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 309 | + */ |
| 310 | + public function describe_cache_parameters($cache_parameter_group_name, $opt = null) |
| 311 | + { |
| 312 | + if (!$opt) $opt = array(); |
| 313 | + $opt['CacheParameterGroupName'] = $cache_parameter_group_name; |
| 314 | + |
| 315 | + return $this->authenticate('DescribeCacheParameters', $opt, $this->hostname); |
| 316 | + } |
| 317 | + |
| 318 | + /** |
| 319 | + * |
| 320 | + * This API returns events related to Cache Clusters, Cache Security Groups, and Cache Parameter Groups for the past 14 days. Events specific |
| 321 | + * to a particular Cache Cluster, cache security group, or cache parameter group can be obtained by providing the name as a parameter. By |
| 322 | + * default, the past hour of events are returned. |
| 323 | + * |
| 324 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 325 | + * <li><code>SourceIdentifier</code> - <code>string</code> - Optional - The identifier of the event source for which events will be returned. If not specified, then all sources are included in the response. </li> |
| 326 | + * <li><code>SourceType</code> - <code>string</code> - Optional - The event source to retrieve events for. If no value is specified, all events are returned. [Allowed values: <code>cache-cluster</code>, <code>cache-parameter-group</code>, <code>cache-security-group</code>]</li> |
| 327 | + * <li><code>StartTime</code> - <code>string</code> - Optional - The beginning of the time interval to retrieve events for, specified in ISO 8601 format. May be passed as a number of seconds since UNIX Epoch, or any string compatible with <php:strtotime()>.</li> |
| 328 | + * <li><code>EndTime</code> - <code>string</code> - Optional - The end of the time interval for which to retrieve events, specified in ISO 8601 format. May be passed as a number of seconds since UNIX Epoch, or any string compatible with <php:strtotime()>.</li> |
| 329 | + * <li><code>Duration</code> - <code>integer</code> - Optional - The number of minutes to retrieve events for. </li> |
| 330 | + * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more records exist than the specified <i>MaxRecords</i> value, a marker is included in the response so that the remaining results may be retrieved. </li> |
| 331 | + * <li><code>Marker</code> - <code>string</code> - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <i>MaxRecords</i>. </li> |
| 332 | + * <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> |
| 333 | + * <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> |
| 334 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 335 | + */ |
| 336 | + public function describe_events($opt = null) |
| 337 | + { |
| 338 | + if (!$opt) $opt = array(); |
| 339 | + |
| 340 | + // Optional parameter |
| 341 | + if (isset($opt['StartTime'])) |
| 342 | + { |
| 343 | + $opt['StartTime'] = $this->util->convert_date_to_iso8601($opt['StartTime']); |
| 344 | + } |
| 345 | + |
| 346 | + // Optional parameter |
| 347 | + if (isset($opt['EndTime'])) |
| 348 | + { |
| 349 | + $opt['EndTime'] = $this->util->convert_date_to_iso8601($opt['EndTime']); |
| 350 | + } |
| 351 | + |
| 352 | + return $this->authenticate('DescribeEvents', $opt, $this->hostname); |
| 353 | + } |
| 354 | + |
| 355 | + /** |
| 356 | + * |
| 357 | + * Modifies Cache Cluster settings. You can change one or more Cache Cluster configuration parameters by specifying the parameters and the new |
| 358 | + * values in the request. |
| 359 | + * |
| 360 | + * @param string $cache_cluster_id (Required) The Cache Cluster identifier. This value is stored as a lowercase string. |
| 361 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 362 | + * <li><code>NumCacheNodes</code> - <code>integer</code> - Optional - The number of Cache Nodes the Cache Cluster should have. If NumCacheNodes is greater than the existing number of Cache Nodes, Cache Nodes will be added. If NumCacheNodes is less than the existing number of Cache Nodes, Cache Nodes will be removed. When removing Cache Nodes, the Ids of the specific Cache Nodes to be removed must be supplied using the CacheNodeIdsToRemove parameter. </li> |
| 363 | + * <li><code>CacheNodeIdsToRemove</code> - <code>string|array</code> - Optional - The list of Cache Node IDs to be removed. This parameter is only valid when NumCacheNodes is less than the existing number of Cache Nodes. The number of Cache Node Ids supplied in this parameter must match the difference between the existing number of Cache Nodes in the cluster and the new NumCacheNodes requested. Pass a string for a single value, or an indexed array for multiple values. </li> |
| 364 | + * <li><code>CacheSecurityGroupNames</code> - <code>string|array</code> - Optional - A list of Cache Security Group Names to authorize on this Cache Cluster. This change is asynchronously applied as soon as possible. Constraints: Must contain no more than 255 alphanumeric characters. Must not be "Default". Pass a string for a single value, or an indexed array for multiple values. </li> |
| 365 | + * <li><code>PreferredMaintenanceWindow</code> - <code>string</code> - Optional - The weekly time range (in UTC) during which system maintenance can occur, which may result in an outage. This change is made immediately. If moving this window to the current time, there must be at least 120 minutes between the current time and end of the window to ensure pending changes are applied. </li> |
| 366 | + * <li><code>NotificationTopicArn</code> - <code>string</code> - Optional - The Amazon resource name(ARN) of the SNS topic to which notifications will be sent. The SNS topic owner must be same as the Cache Cluster owner. </li> |
| 367 | + * <li><code>CacheParameterGroupName</code> - <code>string</code> - Optional - The name of the Cache Parameter Group to apply to this Cache Cluster. This change is asynchronously applied as soon as possible for parameters when the <i>ApplyImmediately</i> parameter is specified as <i>true</i> for this request. </li> |
| 368 | + * <li><code>NotificationTopicStatus</code> - <code>string</code> - Optional - The status of the SNS notification topic. The value can be <i>active</i> or <i>inactive</i>. Notifications are sent only if the status is <i>active</i>. </li> |
| 369 | + * <li><code>ApplyImmediately</code> - <code>boolean</code> - Optional - Specifies whether or not the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the <i>PreferredMaintenanceWindow</i> setting for the Cache Cluster. If this parameter is passed as <i>false</i>, changes to the Cache Cluster are applied on the next maintenance reboot, or the next failure reboot, whichever occurs first. The default value for this parameter is <i>false</i>. </li> |
| 370 | + * <li><code>EngineVersion</code> - <code>string</code> - Optional - The version of the cache engine to upgrade this cluster to. </li> |
| 371 | + * <li><code>AutoMinorVersionUpgrade</code> - <code>boolean</code> - Optional - Indicates that minor engine upgrades will be applied automatically to the Cache Cluster during the maintenance window. Default: <code>true</code> </li> |
| 372 | + * <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> |
| 373 | + * <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> |
| 374 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 375 | + */ |
| 376 | + public function modify_cache_cluster($cache_cluster_id, $opt = null) |
| 377 | + { |
| 378 | + if (!$opt) $opt = array(); |
| 379 | + $opt['CacheClusterId'] = $cache_cluster_id; |
| 380 | + |
| 381 | + // Optional parameter |
| 382 | + if (isset($opt['CacheNodeIdsToRemove'])) |
| 383 | + { |
| 384 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 385 | + 'CacheNodeIdsToRemove' => (is_array($opt['CacheNodeIdsToRemove']) ? $opt['CacheNodeIdsToRemove'] : array($opt['CacheNodeIdsToRemove'])) |
| 386 | + ), 'member')); |
| 387 | + unset($opt['CacheNodeIdsToRemove']); |
| 388 | + } |
| 389 | + |
| 390 | + // Optional parameter |
| 391 | + if (isset($opt['CacheSecurityGroupNames'])) |
| 392 | + { |
| 393 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 394 | + 'CacheSecurityGroupNames' => (is_array($opt['CacheSecurityGroupNames']) ? $opt['CacheSecurityGroupNames'] : array($opt['CacheSecurityGroupNames'])) |
| 395 | + ), 'member')); |
| 396 | + unset($opt['CacheSecurityGroupNames']); |
| 397 | + } |
| 398 | + |
| 399 | + return $this->authenticate('ModifyCacheCluster', $opt, $this->hostname); |
| 400 | + } |
| 401 | + |
| 402 | + /** |
| 403 | + * |
| 404 | + * This API modifies the parameters of a CacheParameterGroup to the engine/system default value. To reset specific parameters submit a list of |
| 405 | + * the parameter names. To reset the entire CacheParameterGroup specify the CacheParameterGroup name and ResetAllParameters parameters. |
| 406 | + * |
| 407 | + * @param string $cache_parameter_group_name (Required) The name of the Cache Parameter Group. |
| 408 | + * @param array $parameter_name_values (Required) An array of parameter names which should be reset. If not resetting the entire CacheParameterGroup, at least one parameter name must be supplied. <ul> |
| 409 | + * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
| 410 | + * <li><code>ParameterName</code> - <code>string</code> - Optional - Specifies the name of the parameter. </li> |
| 411 | + * <li><code>ParameterValue</code> - <code>string</code> - Optional - Specifies the value of the parameter. </li> |
| 412 | + * </ul></li> |
| 413 | + * </ul> |
| 414 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 415 | + * <li><code>ResetAllParameters</code> - <code>boolean</code> - Optional - Specifies whether (<i>true</i>) or not (<i>false</i>) to reset all parameters in the Cache Parameter Group to default values. </li> |
| 416 | + * <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> |
| 417 | + * <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> |
| 418 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 419 | + */ |
| 420 | + public function reset_cache_parameter_group($cache_parameter_group_name, $parameter_name_values, $opt = null) |
| 421 | + { |
| 422 | + if (!$opt) $opt = array(); |
| 423 | + $opt['CacheParameterGroupName'] = $cache_parameter_group_name; |
| 424 | + |
| 425 | + // Required parameter |
| 426 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 427 | + 'ParameterNameValues' => (is_array($parameter_name_values) ? $parameter_name_values : array($parameter_name_values)) |
| 428 | + ), 'member')); |
| 429 | + |
| 430 | + return $this->authenticate('ResetCacheParameterGroup', $opt, $this->hostname); |
| 431 | + } |
| 432 | + |
| 433 | + /** |
| 434 | + * |
| 435 | + * This API deletes a particular CacheParameterGroup. The CacheParameterGroup cannot be deleted if it is associated with any cache clusters. |
| 436 | + * |
| 437 | + * @param string $cache_parameter_group_name (Required) The name of the Cache Parameter Group to delete. The specified cache security group must not be associated with any Cache clusters. |
| 438 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 439 | + * <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> |
| 440 | + * <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> |
| 441 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 442 | + */ |
| 443 | + public function delete_cache_parameter_group($cache_parameter_group_name, $opt = null) |
| 444 | + { |
| 445 | + if (!$opt) $opt = array(); |
| 446 | + $opt['CacheParameterGroupName'] = $cache_parameter_group_name; |
| 447 | + |
| 448 | + return $this->authenticate('DeleteCacheParameterGroup', $opt, $this->hostname); |
| 449 | + } |
| 450 | + |
| 451 | + /** |
| 452 | + * |
| 453 | + * Returns information about all provisioned Cache Clusters if no Cache Cluster identifier is specified, or about a specific Cache Cluster if |
| 454 | + * a Cache Cluster identifier is supplied. |
| 455 | + * |
| 456 | + * Cluster information will be returned by default. An optional <i>ShowDetails</i> flag can be used to retrieve detailed information about the |
| 457 | + * Cache Nodes associated with the Cache Cluster. Details include the DNS address and port for the Cache Node endpoint. |
| 458 | + * |
| 459 | + * If the cluster is in CREATING state, only cluster level information will be displayed until all of the nodes are successfully provisioned. |
| 460 | + * |
| 461 | + * If the cluster is in DELETING state, only cluster level information will be displayed. |
| 462 | + * |
| 463 | + * While adding Cache Nodes, node endpoint information and creation time for the additional nodes will not be displayed until they are |
| 464 | + * completely provisioned. The cluster lifecycle tells the customer when new nodes are AVAILABLE. |
| 465 | + * |
| 466 | + * While removing existing Cache Nodes from an cluster, endpoint information for the removed nodes will not be displayed. |
| 467 | + * |
| 468 | + * DescribeCacheClusters supports pagination. |
| 469 | + * |
| 470 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 471 | + * <li><code>CacheClusterId</code> - <code>string</code> - Optional - The user-supplied cluster identifier. If this parameter is specified, only information about that specific Cache Cluster is returned. This parameter isn't case sensitive. </li> |
| 472 | + * <li><code>MaxRecords</code> - <code>integer</code> - Optional - The maximum number of records to include in the response. If more records exist than the specified <i>MaxRecords</i> value, a marker is included in the response so that the remaining results may be retrieved. Default: 100 Constraints: minimum 20, maximum 100 </li> |
| 473 | + * <li><code>Marker</code> - <code>string</code> - Optional - An optional marker provided in the previous DescribeCacheClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <i>MaxRecords</i>. </li> |
| 474 | + * <li><code>ShowCacheNodeInfo</code> - <code>boolean</code> - Optional - An optional flag that can be included in the DescribeCacheCluster request to retrieve Cache Nodes information. </li> |
| 475 | + * <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> |
| 476 | + * <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> |
| 477 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 478 | + */ |
| 479 | + public function describe_cache_clusters($opt = null) |
| 480 | + { |
| 481 | + if (!$opt) $opt = array(); |
| 482 | + |
| 483 | + return $this->authenticate('DescribeCacheClusters', $opt, $this->hostname); |
| 484 | + } |
| 485 | + |
| 486 | + /** |
| 487 | + * |
| 488 | + * Deletes a Cache Security Group. |
| 489 | + * |
| 490 | + * The specified Cache Security Group must not be associated with any Cache Clusters. |
| 491 | + * |
| 492 | + * @param string $cache_security_group_name (Required) The name of the Cache Security Group to delete. You cannot delete the default security group. |
| 493 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 494 | + * <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> |
| 495 | + * <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> |
| 496 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 497 | + */ |
| 498 | + public function delete_cache_security_group($cache_security_group_name, $opt = null) |
| 499 | + { |
| 500 | + if (!$opt) $opt = array(); |
| 501 | + $opt['CacheSecurityGroupName'] = $cache_security_group_name; |
| 502 | + |
| 503 | + return $this->authenticate('DeleteCacheSecurityGroup', $opt, $this->hostname); |
| 504 | + } |
| 505 | + |
| 506 | + /** |
| 507 | + * |
| 508 | + * Creates a new Cache Parameter Group. Cache Parameter groups control the parameters for a Cache Cluster. |
| 509 | + * |
| 510 | + * @param string $cache_parameter_group_name (Required) The name of the Cache Parameter Group. |
| 511 | + * @param string $cache_parameter_group_family (Required) The name of the Cache Parameter Group Family the Cache Parameter Group can be used with. Currently, <i>memcached1.4</i> is the only cache parameter group family supported by the service. |
| 512 | + * @param string $description (Required) The description for the Cache Parameter Group. |
| 513 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 514 | + * <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> |
| 515 | + * <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> |
| 516 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 517 | + */ |
| 518 | + public function create_cache_parameter_group($cache_parameter_group_name, $cache_parameter_group_family, $description, $opt = null) |
| 519 | + { |
| 520 | + if (!$opt) $opt = array(); |
| 521 | + $opt['CacheParameterGroupName'] = $cache_parameter_group_name; |
| 522 | + $opt['CacheParameterGroupFamily'] = $cache_parameter_group_family; |
| 523 | + $opt['Description'] = $description; |
| 524 | + |
| 525 | + return $this->authenticate('CreateCacheParameterGroup', $opt, $this->hostname); |
| 526 | + } |
| 527 | + |
| 528 | + /** |
| 529 | + * |
| 530 | + * The RebootCacheCluster API reboots some (or all) of the cache cluster nodes within a previously provisioned ElastiCache cluster. This API |
| 531 | + * results in the application of modified CacheParameterGroup parameters to the cache cluster. This action is taken as soon as possible, and |
| 532 | + * results in a momentary outage to the cache cluster during which the cache cluster status is set to rebooting. During that momentary outage |
| 533 | + * the contents of the cache (for each cache cluster node being rebooted) are lost. A CacheCluster event is created when the reboot is |
| 534 | + * completed. |
| 535 | + * |
| 536 | + * @param string $cache_cluster_id (Required) The Cache Cluster identifier. This parameter is stored as a lowercase string. |
| 537 | + * @param string|array $cache_node_ids_to_reboot (Required) A list of Cache Cluster Node ids to reboot. To reboot an entire cache cluster, specify all cache cluster node ids. Pass a string for a single value, or an indexed array for multiple values. |
| 538 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 539 | + * <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> |
| 540 | + * <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> |
| 541 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 542 | + */ |
| 543 | + public function reboot_cache_cluster($cache_cluster_id, $cache_node_ids_to_reboot, $opt = null) |
| 544 | + { |
| 545 | + if (!$opt) $opt = array(); |
| 546 | + $opt['CacheClusterId'] = $cache_cluster_id; |
| 547 | + |
| 548 | + // Required parameter |
| 549 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 550 | + 'CacheNodeIdsToReboot' => (is_array($cache_node_ids_to_reboot) ? $cache_node_ids_to_reboot : array($cache_node_ids_to_reboot)) |
| 551 | + ), 'member')); |
| 552 | + |
| 553 | + return $this->authenticate('RebootCacheCluster', $opt, $this->hostname); |
| 554 | + } |
| 555 | + |
| 556 | + /** |
| 557 | + * |
| 558 | + * Revokes ingress from a CacheSecurityGroup for previously authorized EC2 Security Groups. |
| 559 | + * |
| 560 | + * @param string $cache_security_group_name (Required) The name of the Cache Security Group to revoke ingress from. |
| 561 | + * @param string $ec2_security_group_name (Required) The name of the EC2 Security Group to revoke access from. |
| 562 | + * @param string $ec2_security_group_owner_id (Required) The AWS Account Number of the owner of the security group specified in the <i>EC2SecurityGroupName</i> parameter. The AWS Access Key ID is not an acceptable value. |
| 563 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 564 | + * <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> |
| 565 | + * <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> |
| 566 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 567 | + */ |
| 568 | + public function revoke_cache_security_group_ingress($cache_security_group_name, $ec2_security_group_name, $ec2_security_group_owner_id, $opt = null) |
| 569 | + { |
| 570 | + if (!$opt) $opt = array(); |
| 571 | + $opt['CacheSecurityGroupName'] = $cache_security_group_name; |
| 572 | + $opt['EC2SecurityGroupName'] = $ec2_security_group_name; |
| 573 | + $opt['EC2SecurityGroupOwnerId'] = $ec2_security_group_owner_id; |
| 574 | + |
| 575 | + return $this->authenticate('RevokeCacheSecurityGroupIngress', $opt, $this->hostname); |
| 576 | + } |
| 577 | +} |
| 578 | + |
| 579 | + |
| 580 | +/*%******************************************************************************************%*/ |
| 581 | +// EXCEPTIONS |
| 582 | + |
| 583 | +/** |
| 584 | + * Default ElastiCache Exception. |
| 585 | + */ |
| 586 | +class ElastiCache_Exception extends Exception {} |
\ No newline at end of file |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/sqs.class.php |
— | — | @@ -15,76 +15,66 @@ |
16 | 16 | */ |
17 | 17 | |
18 | 18 | /** |
| 19 | + * Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable, hosted queue for |
| 20 | + * storing messages as they travel between computers. By using Amazon SQS, developers can simply |
| 21 | + * move data between distributed components of their applications that perform different tasks, |
| 22 | + * without losing messages or requiring each component to be always available. Amazon SQS makes it |
| 23 | + * easy to build an automated workflow, working in close conjunction with the Amazon Elastic |
| 24 | + * Compute Cloud (Amazon EC2) and the other AWS infrastructure web services. |
19 | 25 | * |
| 26 | + * Amazon SQS works by exposing Amazon's web-scale messaging infrastructure as a web service. Any |
| 27 | + * computer on the Internet can add or read messages without any installed software or special |
| 28 | + * firewall configurations. Components of applications using Amazon SQS can run independently, and |
| 29 | + * do not need to be on the same network, developed with the same technologies, or running at the |
| 30 | + * same time. |
20 | 31 | * |
21 | | - * Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable, hosted queue for storing messages as they travel between |
22 | | - * computers. By using Amazon SQS, developers can simply move data between distributed components of their applications that perform different |
23 | | - * tasks, without losing messages or requiring each component to be always available. Amazon SQS makes it easy to build an automated workflow, |
24 | | - * working in close conjunction with the Amazon Elastic Compute Cloud (Amazon EC2) and the other AWS infrastructure web services. |
25 | | - * |
26 | | - * Amazon SQS works by exposing Amazon's web-scale messaging infrastructure as a web service. Any computer on the Internet can add or read |
27 | | - * messages without any installed software or special firewall configurations. Components of applications using Amazon SQS can run |
28 | | - * independently, and do not need to be on the same network, developed with the same technologies, or running at the same time. |
29 | | - * |
30 | 32 | * Visit <a href="http://aws.amazon.com/sqs/">http://aws.amazon.com/sqs/</a> for more information. |
31 | 33 | * |
32 | | - * @version Wed Aug 03 10:14:34 PDT 2011 |
| 34 | + * @version 2011.10.20 |
33 | 35 | * @license See the included NOTICE.md file for complete information. |
34 | 36 | * @copyright See the included NOTICE.md file for complete information. |
35 | | - * @link http://aws.amazon.com/sqs/Amazon Simple Queue Service |
36 | | - * @link http://aws.amazon.com/documentation/sqs/Amazon Simple Queue Service documentation |
| 37 | + * @link http://aws.amazon.com/sqs/ Amazon Simple Queue Service |
| 38 | + * @link http://aws.amazon.com/sqs/documentation/ Amazon Simple Queue Service documentation |
37 | 39 | */ |
38 | 40 | class AmazonSQS extends CFRuntime |
39 | 41 | { |
40 | | - |
41 | 42 | /*%******************************************************************************************%*/ |
42 | 43 | // CLASS CONSTANTS |
43 | 44 | |
44 | 45 | /** |
45 | | - * Specify the default queue URL. |
| 46 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
46 | 47 | */ |
47 | | - const DEFAULT_URL = 'sqs.us-east-1.amazonaws.com'; |
| 48 | + const REGION_US_E1 = 'sqs.us-east-1.amazonaws.com'; |
48 | 49 | |
49 | 50 | /** |
50 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 51 | + * Specify the queue URL for the United States West (Northern California) Region. |
51 | 52 | */ |
52 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 53 | + const REGION_US_W1 = 'sqs.us-west-1.amazonaws.com'; |
53 | 54 | |
54 | 55 | /** |
55 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 56 | + * Specify the queue URL for the United States West (Oregon) Region. |
56 | 57 | */ |
57 | | - const REGION_US_W1 = 'sqs.us-west-1.amazonaws.com'; |
| 58 | + const REGION_US_W2 = 'sqs.us-west-2.amazonaws.com'; |
58 | 59 | |
59 | 60 | /** |
60 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 61 | + * Specify the queue URL for the Europe West (Ireland) Region. |
61 | 62 | */ |
62 | 63 | const REGION_EU_W1 = 'sqs.eu-west-1.amazonaws.com'; |
63 | 64 | |
64 | 65 | /** |
65 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 66 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
66 | 67 | */ |
67 | 68 | const REGION_APAC_SE1 = 'sqs.ap-southeast-1.amazonaws.com'; |
68 | 69 | |
69 | 70 | /** |
70 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 71 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
71 | 72 | */ |
72 | 73 | const REGION_APAC_NE1 = 'sqs.ap-northeast-1.amazonaws.com'; |
73 | 74 | |
74 | | - |
75 | | - /*%******************************************************************************************%*/ |
76 | | - // SETTERS |
77 | | - |
78 | 75 | /** |
79 | | - * This allows you to explicitly sets the region for the service to use. |
80 | | - * |
81 | | - * @param string $region (Required) The region to use for subsequent Amazon S3 operations. [Allowed values: `AmazonSQS::REGION_US_E1 `, `AmazonSQS::REGION_US_W1`, `AmazonSQS::REGION_EU_W1`, `AmazonSQS::REGION_APAC_SE1`] |
82 | | - * @return $this A reference to the current instance. |
| 76 | + * Default service endpoint. |
83 | 77 | */ |
84 | | - public function set_region($region) |
85 | | - { |
86 | | - $this->set_hostname($region); |
87 | | - return $this; |
88 | | - } |
| 78 | + const DEFAULT_URL = self::REGION_US_E1; |
89 | 79 | |
90 | 80 | |
91 | 81 | /*%******************************************************************************************%*/ |
— | — | @@ -166,7 +156,7 @@ |
167 | 157 | */ |
168 | 158 | public function __construct($key = null, $secret_key = null, $token = null) |
169 | 159 | { |
170 | | - $this->api_version = '2009-02-01'; |
| 160 | + $this->api_version = '2011-10-01'; |
171 | 161 | $this->hostname = self::DEFAULT_URL; |
172 | 162 | |
173 | 163 | if (!$key && !defined('AWS_KEY')) |
— | — | @@ -193,73 +183,96 @@ |
194 | 184 | |
195 | 185 | |
196 | 186 | /*%******************************************************************************************%*/ |
197 | | - // SERVICE METHODS |
| 187 | + // SETTERS |
198 | 188 | |
199 | 189 | /** |
| 190 | + * This allows you to explicitly sets the region for the service to use. |
200 | 191 | * |
201 | | - * Returns a list of your queues. |
202 | | - * |
203 | | - * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
204 | | - * <li><code>QueueNamePrefix</code> - <code>string</code> - Optional - A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned. </li> |
205 | | - * <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> |
206 | | - * <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> |
207 | | - * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 192 | + * @param string $region (Required) The region to explicitly set. Available options are <REGION_US_E1>, <REGION_US_W1>, <REGION_EU_W1>, <REGION_APAC_SE1>, <REGION_APAC_NE1>. |
| 193 | + * @return $this A reference to the current instance. |
208 | 194 | */ |
209 | | - public function list_queues($opt = null) |
| 195 | + public function set_region($region) |
210 | 196 | { |
211 | | - if (!$opt) $opt = array(); |
212 | | - |
213 | | - return $this->authenticate('ListQueues', $opt, $this->hostname); |
| 197 | + $this->set_hostname($region); |
| 198 | + return $this; |
214 | 199 | } |
215 | 200 | |
| 201 | + |
| 202 | + /*%******************************************************************************************%*/ |
| 203 | + // SERVICE METHODS |
| 204 | + |
216 | 205 | /** |
| 206 | + * The AddPermission action adds a permission to a queue for a specific <a href= |
| 207 | + * "http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Glossary.html#d0e3892"> |
| 208 | + * principal</a>. This allows for sharing access to the queue. |
217 | 209 | * |
218 | | - * Sets an attribute of a queue. Currently, you can set only the <code>VisibilityTimeout</code> attribute for a queue. |
| 210 | + * When you create a queue, you have full control access rights for the queue. Only you (as owner |
| 211 | + * of the queue) can grant or deny permissions to the queue. For more information about these |
| 212 | + * permissions, see <a href= |
| 213 | + * "http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/?acp-overview.html"> |
| 214 | + * Shared Queues</a> in the Amazon SQS Developer Guide. |
219 | 215 | * |
| 216 | + * <code>AddPermission</code> writes an SQS-generated policy. If you want to write your own |
| 217 | + * policy, use SetQueueAttributes to upload your policy. For more information about writing your |
| 218 | + * own policy, see <a href= |
| 219 | + * "http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/?AccessPolicyLanguage.html"> |
| 220 | + * Appendix: The Access Policy Language</a> in the Amazon SQS Developer Guide. |
| 221 | + * |
220 | 222 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
221 | | - * @param array $attribute (Required) A list of attributes to set. <ul> |
222 | | - * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
223 | | - * <li><code>Name</code> - <code>string</code> - Optional - The name of the queue attribute to set a custom value for. [Allowed values: <code>Policy</code>, <code>VisibilityTimeout</code>, <code>MaximumMessageSize</code>, <code>MessageRetentionPeriod</code>, <code>ApproximateNumberOfMessages</code>, <code>ApproximateNumberOfMessagesNotVisible</code>, <code>CreatedTimestamp</code>, <code>LastModifiedTimestamp</code>]</li> |
224 | | - * <li><code>Value</code> - <code>string</code> - Optional - The custom value to assign for the matching attribute key. </li> |
225 | | - * </ul></li> |
226 | | - * </ul> |
| 223 | + * @param string $label (Required) The unique identification of the permission you're setting (e.g., <code>AliceSendMessage</code>). Constraints: Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed. |
| 224 | + * @param string|array $aws_account_id (Required) The AWS account number of the <a href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Glossary.html">principal</a> who will be given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. Pass a string for a single value, or an indexed array for multiple values. |
| 225 | + * @param string|array $action_name (Required) The action the client wants to allow for the specified principal. Pass a string for a single value, or an indexed array for multiple values. |
227 | 226 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
228 | 227 | * <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> |
229 | 228 | * <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> |
230 | 229 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
231 | 230 | */ |
232 | | - public function set_queue_attributes($queue_url, $attribute, $opt = null) |
| 231 | + public function add_permission($queue_url, $label, $aws_account_id, $action_name, $opt = null) |
233 | 232 | { |
234 | 233 | if (!$opt) $opt = array(); |
| 234 | + $opt['Label'] = $label; |
235 | 235 | |
236 | | - // Required parameter |
| 236 | + // Required list (non-map) |
237 | 237 | $opt = array_merge($opt, CFComplexType::map(array( |
238 | | - 'Attribute' => (is_array($attribute) ? $attribute : array($attribute)) |
| 238 | + 'AWSAccountId' => (is_array($aws_account_id) ? $aws_account_id : array($aws_account_id)) |
239 | 239 | ))); |
240 | 240 | |
241 | | - return $this->authenticate('SetQueueAttributes', $opt, $queue_url); |
| 241 | + // Required list (non-map) |
| 242 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 243 | + 'ActionName' => (is_array($action_name) ? $action_name : array($action_name)) |
| 244 | + ))); |
| 245 | + |
| 246 | + return $this->authenticate('AddPermission', $opt, $queue_url); |
242 | 247 | } |
243 | 248 | |
244 | 249 | /** |
| 250 | + * The <code>ChangeMessageVisibility</code> action changes the visibility timeout of a specified |
| 251 | + * message in a queue to a new value. The maximum allowed timeout value you can set the value to |
| 252 | + * is 12 hours. This means you can't extend the timeout of a message in an existing queue to more |
| 253 | + * than a total visibility timeout of 12 hours. (For more information visibility timeout, see |
| 254 | + * <a href= |
| 255 | + * "http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html"> |
| 256 | + * Visibility Timeout</a> in the Amazon SQS Developer Guide.) |
245 | 257 | * |
246 | | - * The <code>ChangeMessageVisibility</code> action changes the visibility timeout of a specified message in a queue to a new value. The maximum |
247 | | - * allowed timeout value you can set the value to is 12 hours. This means you can't extend the timeout of a message in an existing queue to |
248 | | - * more than a total visibility timeout of 12 hours. (For more information visibility timeout, see <a |
249 | | - * href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html">Visibility Timeout</a> in the Amazon |
250 | | - * SQS Developer Guide.) |
| 258 | + * For example, let's say you have a message and its default message visibility timeout is 30 |
| 259 | + * minutes. You could call <code>ChangeMessageVisiblity</code> with a value of two hours and the |
| 260 | + * effective timeout would be two hours and 30 minutes. When that time comes near you could again |
| 261 | + * extend the time out by calling ChangeMessageVisiblity, but this time the maximum allowed |
| 262 | + * timeout would be 9 hours and 30 minutes. |
251 | 263 | * |
252 | | - * For example, let's say you have a message and its default message visibility timeout is 30 minutes. You could call |
253 | | - * <code>ChangeMessageVisiblity</code> with a value of two hours and the effective timeout would be two hours and 30 minutes. When that time |
254 | | - * comes near you could again extend the time out by calling ChangeMessageVisiblity, but this time the maximum allowed timeout would be 9 hours |
255 | | - * and 30 minutes. |
| 264 | + * <p class="important"> |
| 265 | + * If you attempt to set the <code>VisibilityTimeout</code> to an amount more than the maximum |
| 266 | + * time left, Amazon SQS returns an error. It will not automatically recalculate and increase the |
| 267 | + * timeout to the maximum time remaining. |
| 268 | + * </p> |
| 269 | + * <p class="important"> |
| 270 | + * Unlike with a queue, when you change the visibility timeout for a specific message, that |
| 271 | + * timeout value is applied immediately but is not saved in memory for that message. If you don't |
| 272 | + * delete a message after it is received, the visibility timeout for the message the next time it |
| 273 | + * is received reverts to the original timeout value, not the value you set with the |
| 274 | + * ChangeMessageVisibility action. |
| 275 | + * </p> |
256 | 276 | * |
257 | | - * If you attempt to set the <code>VisibilityTimeout</code> to an amount more than the maximum time left, Amazon SQS returns an error. It will |
258 | | - * not automatically recalculate and increase the timeout to the maximum time remaining. |
259 | | - * |
260 | | - * Unlike with a queue, when you change the visibility timeout for a specific message, that timeout value is applied immediately but is not |
261 | | - * saved in memory for that message. If you don't delete a message after it is received, the visibility timeout for the message the next time |
262 | | - * it is received reverts to the original timeout value, not the value you set with the ChangeMessageVisibility action. |
263 | | - * |
264 | 277 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
265 | 278 | * @param string $receipt_handle (Required) The receipt handle associated with the message whose visibility timeout should be changed. |
266 | 279 | * @param integer $visibility_timeout (Required) The new value (in seconds) for the message's visibility timeout. |
— | — | @@ -278,18 +291,56 @@ |
279 | 292 | } |
280 | 293 | |
281 | 294 | /** |
| 295 | + * This is a batch version of <code>ChangeMessageVisibility</code>. It takes multiple receipt |
| 296 | + * handles and performs the operation on each of the them. The result of the operation on each |
| 297 | + * message is reported individually in the response. |
282 | 298 | * |
283 | | - * The <code>CreateQueue</code> action creates a new queue, or returns the URL of an existing one. When you request <code>CreateQueue</code>, |
284 | | - * you provide a name for the queue. To successfully create a new queue, you must provide a name that is unique within the scope of your own |
285 | | - * queues. If you provide the name of an existing queue, a new queue isn't created and an error isn't returned. Instead, the request succeeds |
286 | | - * and the queue URL for the existing queue is returned. |
| 299 | + * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
| 300 | + * @param array $change_message_visibility_batch_request_entry (Required) A list of receipt handles of the messages for which the visibility timeout must be changed. <ul> |
| 301 | + * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul> |
| 302 | + * <li><code>Id</code> - <code>string</code> - Required - An identifier for this particular receipt handle. This is used to communicate the result. Note that the <code>Id</code> s of a batch request need to be unique within the request.</li> |
| 303 | + * <li><code>ReceiptHandle</code> - <code>string</code> - Required - A receipt handle.</li> |
| 304 | + * <li><code>VisibilityTimeout</code> - <code>integer</code> - Optional - The new value (in seconds) for the message's visibility timeout.</li> |
| 305 | + * </ul></li> |
| 306 | + * </ul> |
| 307 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 308 | + * <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> |
| 309 | + * <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> |
| 310 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 311 | + */ |
| 312 | + public function change_message_visibility_batch($queue_url, $change_message_visibility_batch_request_entry, $opt = null) |
| 313 | + { |
| 314 | + if (!$opt) $opt = array(); |
| 315 | + |
| 316 | + // Required list + map |
| 317 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 318 | + 'ChangeMessageVisibilityBatchRequestEntry' => (is_array($change_message_visibility_batch_request_entry) ? $change_message_visibility_batch_request_entry : array($change_message_visibility_batch_request_entry)) |
| 319 | + ))); |
| 320 | + |
| 321 | + return $this->authenticate('ChangeMessageVisibilityBatch', $opt, $queue_url); |
| 322 | + } |
| 323 | + |
| 324 | + /** |
| 325 | + * The <code>CreateQueue</code> action creates a new queue, or returns the URL of an existing one. |
| 326 | + * When you request <code>CreateQueue</code>, you provide a name for the queue. To successfully |
| 327 | + * create a new queue, you must provide a name that is unique within the scope of your own queues. |
287 | 328 | * |
288 | | - * If you provide a value for <code>DefaultVisibilityTimeout</code> that is different from the value for the existing queue, you receive an |
289 | | - * error. |
| 329 | + * You may pass one or more attributes in the request. If you do not provide a value for any |
| 330 | + * attribute, the queue will have the default value for that attribute. Permitted attributes are |
| 331 | + * the same that can be set using <code>SetQueueAttributes</code>. |
290 | 332 | * |
| 333 | + * If you provide the name of an existing queue, a new queue isn't created. If the values of |
| 334 | + * attributes provided with the request match up with those on the existing queue, the queue URL |
| 335 | + * is returned. Otherwise, a <code>QueueNameExists</code> error is returned. |
| 336 | + * |
291 | 337 | * @param string $queue_name (Required) The name for the queue to be created. |
292 | 338 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
293 | | - * <li><code>DefaultVisibilityTimeout</code> - <code>integer</code> - Optional - The visibility timeout (in seconds) to use for the created queue. </li> |
| 339 | + * <li><code>Attribute</code> - <code>array</code> - Optional - A map of attributes with their corresponding values. <ul> |
| 340 | + * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul> |
| 341 | + * <li><code>Name</code> - <code>string</code> - Optional - The name of a queue attribute. [Allowed values: <code>Policy</code>, <code>VisibilityTimeout</code>, <code>MaximumMessageSize</code>, <code>MessageRetentionPeriod</code>, <code>ApproximateNumberOfMessages</code>, <code>ApproximateNumberOfMessagesNotVisible</code>, <code>CreatedTimestamp</code>, <code>LastModifiedTimestamp</code>, <code>QueueArn</code>, <code>ApproximateNumberOfMessagesDelayed</code>, <code>DelaySeconds</code>]</li> |
| 342 | + * <li><code>Value</code> - <code>string</code> - Optional - The value of a queue attribute.</li> |
| 343 | + * </ul></li> |
| 344 | + * </ul></li> |
294 | 345 | * <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> |
295 | 346 | * <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> |
296 | 347 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
— | — | @@ -299,46 +350,128 @@ |
300 | 351 | if (!$opt) $opt = array(); |
301 | 352 | $opt['QueueName'] = $queue_name; |
302 | 353 | |
| 354 | + // Optional map (non-list) |
| 355 | + if (isset($opt['Attribute'])) |
| 356 | + { |
| 357 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 358 | + 'Attribute' => $opt['Attribute'] |
| 359 | + ))); |
| 360 | + unset($opt['Attribute']); |
| 361 | + } |
| 362 | + |
303 | 363 | return $this->authenticate('CreateQueue', $opt, $this->hostname); |
304 | 364 | } |
305 | 365 | |
306 | 366 | /** |
| 367 | + * The <code>DeleteMessage</code> action unconditionally removes the specified message from the |
| 368 | + * specified queue. Even if the message is locked by another reader due to the visibility timeout |
| 369 | + * setting, it is still deleted from the queue. |
307 | 370 | * |
308 | | - * The <code>RemovePermission</code> action revokes any permissions in the queue policy that matches the specified <code>Label</code> |
309 | | - * parameter. Only the owner of the queue can remove permissions. |
| 371 | + * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
| 372 | + * @param string $receipt_handle (Required) The receipt handle associated with the message to delete. |
| 373 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 374 | + * <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> |
| 375 | + * <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> |
| 376 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 377 | + */ |
| 378 | + public function delete_message($queue_url, $receipt_handle, $opt = null) |
| 379 | + { |
| 380 | + if (!$opt) $opt = array(); |
| 381 | + $opt['ReceiptHandle'] = $receipt_handle; |
| 382 | + |
| 383 | + return $this->authenticate('DeleteMessage', $opt, $queue_url); |
| 384 | + } |
| 385 | + |
| 386 | + /** |
| 387 | + * This is a batch version of <code>DeleteMessage</code>. It takes multiple receipt handles and |
| 388 | + * deletes each one of the messages. The result of the delete operation on each message is |
| 389 | + * reported individually in the response. |
310 | 390 | * |
311 | 391 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
312 | | - * @param string $label (Required) The identfication of the permission to remove. This is the label added with the AddPermission operation. |
| 392 | + * @param array $delete_message_batch_request_entry (Required) A list of receipt handles for the messages to be deleted. <ul> |
| 393 | + * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul> |
| 394 | + * <li><code>Id</code> - <code>string</code> - Required - An identifier for this particular receipt handle. This is used to communicate the result. Note that the <code>Id</code> s of a batch request need to be unique within the request.</li> |
| 395 | + * <li><code>ReceiptHandle</code> - <code>string</code> - Required - A receipt handle.</li> |
| 396 | + * </ul></li> |
| 397 | + * </ul> |
313 | 398 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
314 | 399 | * <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> |
315 | 400 | * <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> |
316 | 401 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
317 | 402 | */ |
318 | | - public function remove_permission($queue_url, $label, $opt = null) |
| 403 | + public function delete_message_batch($queue_url, $delete_message_batch_request_entry, $opt = null) |
319 | 404 | { |
320 | 405 | if (!$opt) $opt = array(); |
321 | | - $opt['Label'] = $label; |
322 | 406 | |
323 | | - return $this->authenticate('RemovePermission', $opt, $queue_url); |
| 407 | + // Required list + map |
| 408 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 409 | + 'DeleteMessageBatchRequestEntry' => (is_array($delete_message_batch_request_entry) ? $delete_message_batch_request_entry : array($delete_message_batch_request_entry)) |
| 410 | + ))); |
| 411 | + |
| 412 | + return $this->authenticate('DeleteMessageBatch', $opt, $queue_url); |
324 | 413 | } |
325 | 414 | |
326 | 415 | /** |
| 416 | + * This action unconditionally deletes the queue specified by the queue URL. Use this operation |
| 417 | + * WITH CARE! The queue is deleted even if it is NOT empty. |
327 | 418 | * |
328 | | - * Gets one or all attributes of a queue. Queues currently have two attributes you can get: <code>ApproximateNumberOfMessages</code> and |
329 | | - * <code>VisibilityTimeout</code>. |
| 419 | + * Once a queue has been deleted, the queue name is unavailable for use with new queues for 60 |
| 420 | + * seconds. |
330 | 421 | * |
331 | 422 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
332 | 423 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
333 | | - * <li><code>AttributeName</code> - <code>string|array</code> - Optional - A list of attributes to retrieve information for. Pass a string for a single value, or an indexed array for multiple values. </li> |
334 | 424 | * <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> |
335 | 425 | * <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> |
336 | 426 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
337 | 427 | */ |
| 428 | + public function delete_queue($queue_url, $opt = null) |
| 429 | + { |
| 430 | + if (!$opt) $opt = array(); |
| 431 | + |
| 432 | + return $this->authenticate('DeleteQueue', $opt, $queue_url); |
| 433 | + } |
| 434 | + |
| 435 | + /** |
| 436 | + * Gets attributes for the specified queue. The following attributes are supported: |
| 437 | + * |
| 438 | + * <ul> |
| 439 | + * <li><code>All</code> - returns all values.</li> |
| 440 | + * <li><code>ApproximateNumberOfMessages</code> - returns the approximate number of visible |
| 441 | + * messages in a queue. For more information, see Resources Required to Process Messages in |
| 442 | + * the Amazon SQS Developer Guide.</li> |
| 443 | + * <li><code>ApproximateNumberOfMessagesNotVisible</code> - returns the approximate number of |
| 444 | + * messages that are not timed-out and not deleted. For more information, see Resources |
| 445 | + * Required to Process Messages in the Amazon SQS Developer Guide.</li> |
| 446 | + * <li><code>VisibilityTimeout</code> - returns the visibility timeout for the queue. For more |
| 447 | + * information about visibility timeout, see Visibility Timeout in the Amazon SQS Developer |
| 448 | + * Guide.</li> |
| 449 | + * <li><code>CreatedTimestamp</code> - returns the time when the queue was created (epoch time in |
| 450 | + * seconds).</li> |
| 451 | + * <li><code>LastModifiedTimestamp</code> - returns the time when the queue was last changed |
| 452 | + * (epoch time in seconds).</li> |
| 453 | + * <li><code>Policy</code> - returns the queue's policy.</li> |
| 454 | + * <li><code>MaximumMessageSize</code> - returns the limit of how many bytes a message can contain |
| 455 | + * before Amazon SQS rejects it.</li> |
| 456 | + * <li><code>MessageRetentionPeriod</code> - returns the number of seconds Amazon SQS retains a |
| 457 | + * message.</li> |
| 458 | + * <li><code>QueueArn</code> - returns the queue's Amazon resource name (ARN).</li> |
| 459 | + * <li><code>ApproximateNumberOfMessagesDelayed</code> - returns the approximate number of |
| 460 | + * messages that are pending to be added to the queue.</li> |
| 461 | + * <li><code>DelaySeconds</code> - returns the default delay on the queue in seconds.</li> |
| 462 | + * </ul> |
| 463 | + * |
| 464 | + * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
| 465 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 466 | + * <li><code>AttributeName</code> - <code>string|array</code> - Optional - A list of attributes to retrieve information for. Pass a string for a single value, or an indexed array for multiple values.</li> |
| 467 | + * <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> |
| 468 | + * <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> |
| 469 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 470 | + */ |
338 | 471 | public function get_queue_attributes($queue_url, $opt = null) |
339 | 472 | { |
340 | 473 | if (!$opt) $opt = array(); |
341 | 474 | |
342 | | - // Optional parameter |
| 475 | + // Optional list (non-map) |
343 | 476 | if (isset($opt['AttributeName'])) |
344 | 477 | { |
345 | 478 | $opt = array_merge($opt, CFComplexType::map(array( |
— | — | @@ -351,95 +484,99 @@ |
352 | 485 | } |
353 | 486 | |
354 | 487 | /** |
| 488 | + * The <code>GetQueueUrl</code> action returns the URL of an existing queue. |
355 | 489 | * |
356 | | - * The AddPermission action adds a permission to a queue for a specific <a |
357 | | - * href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Glossary.html#d0e3892">principal</a>. This allows for |
358 | | - * sharing access to the queue. |
359 | | - * |
360 | | - * When you create a queue, you have full control access rights for the queue. Only you (as owner of the queue) can grant or deny permissions |
361 | | - * to the queue. For more information about these permissions, see <a |
362 | | - * href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/?acp-overview.html">Shared Queues</a> in the Amazon |
363 | | - * SQS Developer Guide. |
364 | | - * |
365 | | - * <code>AddPermission</code> writes an SQS-generated policy. If you want to write your own policy, use SetQueueAttributes to upload your |
366 | | - * policy. For more information about writing your own policy, see <a |
367 | | - * href="http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/?AccessPolicyLanguage.html">Appendix: The Access |
368 | | - * Policy Language</a> in the Amazon SQS Developer Guide. |
369 | | - * |
370 | | - * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
371 | | - * @param string $label (Required) The unique identification of the permission you're setting (e.g., <code>AliceSendMessage</code>). Constraints: Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed. |
372 | | - * @param string|array $account_id (Required) The AWS account number of the principal who will be given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. Pass a string for a single value, or an indexed array for multiple values. |
373 | | - * @param string|array $action_name (Required) The action the client wants to allow for the specified principal. Pass a string for a single value, or an indexed array for multiple values. |
| 490 | + * @param string $queue_name (Required) The name of the queue whose URL must be fetched. |
374 | 491 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 492 | + * <li><code>QueueOwnerAWSAccountId</code> - <code>string</code> - Optional - The AWS account number of the queue's owner.</li> |
375 | 493 | * <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> |
376 | 494 | * <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> |
377 | 495 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
378 | 496 | */ |
379 | | - public function add_permission($queue_url, $label, $account_id, $action_name, $opt = null) |
| 497 | + public function get_queue_url($queue_name, $opt = null) |
380 | 498 | { |
381 | 499 | if (!$opt) $opt = array(); |
382 | | - $opt['Label'] = $label; |
| 500 | + $opt['QueueName'] = $queue_name; |
383 | 501 | |
384 | | - // Required parameter |
385 | | - $opt = array_merge($opt, CFComplexType::map(array( |
386 | | - 'AWSAccountId' => (is_array($account_id) ? $account_id : array($account_id)) |
387 | | - ))); |
| 502 | + return $this->authenticate('GetQueueUrl', $opt, $this->hostname); |
| 503 | + } |
388 | 504 | |
389 | | - // Required parameter |
390 | | - $opt = array_merge($opt, CFComplexType::map(array( |
391 | | - 'ActionName' => (is_array($action_name) ? $action_name : array($action_name)) |
392 | | - ))); |
| 505 | + /** |
| 506 | + * Returns a list of your queues. |
| 507 | + * |
| 508 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 509 | + * <li><code>QueueNamePrefix</code> - <code>string</code> - Optional - A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.</li> |
| 510 | + * <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> |
| 511 | + * <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> |
| 512 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 513 | + */ |
| 514 | + public function list_queues($opt = null) |
| 515 | + { |
| 516 | + if (!$opt) $opt = array(); |
393 | 517 | |
394 | | - return $this->authenticate('AddPermission', $opt, $queue_url); |
| 518 | + return $this->authenticate('ListQueues', $opt, $this->hostname); |
395 | 519 | } |
396 | 520 | |
397 | 521 | /** |
| 522 | + * Retrieves one or more messages from the specified queue, including the message body and message |
| 523 | + * ID of each message. Messages returned by this action stay in the queue until you delete them. |
| 524 | + * However, once a message is returned to a <code>ReceiveMessage</code> request, it is not |
| 525 | + * returned on subsequent <code>ReceiveMessage</code> requests for the duration of the |
| 526 | + * <code>VisibilityTimeout</code>. If you do not specify a <code>VisibilityTimeout</code> in the |
| 527 | + * request, the overall visibility timeout for the queue is used for the returned messages. |
398 | 528 | * |
399 | | - * This action unconditionally deletes the queue specified by the queue URL. Use this operation WITH CARE! The queue is deleted even if it is |
400 | | - * NOT empty. |
401 | | - * |
402 | | - * Once a queue has been deleted, the queue name is unavailable for use with new queues for 60 seconds. |
403 | | - * |
404 | 529 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
405 | 530 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 531 | + * <li><code>AttributeName</code> - <code>string|array</code> - Optional - A list of attributes to retrieve information for. Pass a string for a single value, or an indexed array for multiple values.</li> |
| 532 | + * <li><code>MaxNumberOfMessages</code> - <code>integer</code> - Optional - The maximum number of messages to return. Amazon SQS never returns more messages than this value but may return fewer. All of the messages are not necessarily returned.</li> |
| 533 | + * <li><code>VisibilityTimeout</code> - <code>integer</code> - Optional - The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a <code>ReceiveMessage</code> request.</li> |
406 | 534 | * <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> |
407 | 535 | * <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> |
408 | 536 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
409 | 537 | */ |
410 | | - public function delete_queue($queue_url, $opt = null) |
| 538 | + public function receive_message($queue_url, $opt = null) |
411 | 539 | { |
412 | 540 | if (!$opt) $opt = array(); |
413 | 541 | |
414 | | - return $this->authenticate('DeleteQueue', $opt, $queue_url); |
| 542 | + // Optional list (non-map) |
| 543 | + if (isset($opt['AttributeName'])) |
| 544 | + { |
| 545 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 546 | + 'AttributeName' => (is_array($opt['AttributeName']) ? $opt['AttributeName'] : array($opt['AttributeName'])) |
| 547 | + ))); |
| 548 | + unset($opt['AttributeName']); |
| 549 | + } |
| 550 | + |
| 551 | + return $this->authenticate('ReceiveMessage', $opt, $queue_url); |
415 | 552 | } |
416 | 553 | |
417 | 554 | /** |
| 555 | + * The <code>RemovePermission</code> action revokes any permissions in the queue policy that |
| 556 | + * matches the specified <code>Label</code> parameter. Only the owner of the queue can remove |
| 557 | + * permissions. |
418 | 558 | * |
419 | | - * The <code>DeleteMessage</code> action unconditionally removes the specified message from the specified queue. Even if the message is locked |
420 | | - * by another reader due to the visibility timeout setting, it is still deleted from the queue. |
421 | | - * |
422 | 559 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
423 | | - * @param string $receipt_handle (Required) The receipt handle associated with the message to delete. |
| 560 | + * @param string $label (Required) The identification of the permission to remove. This is the label added with the <code>AddPermission</code> operation. |
424 | 561 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
425 | 562 | * <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> |
426 | 563 | * <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> |
427 | 564 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
428 | 565 | */ |
429 | | - public function delete_message($queue_url, $receipt_handle, $opt = null) |
| 566 | + public function remove_permission($queue_url, $label, $opt = null) |
430 | 567 | { |
431 | 568 | if (!$opt) $opt = array(); |
432 | | - $opt['ReceiptHandle'] = $receipt_handle; |
| 569 | + $opt['Label'] = $label; |
433 | 570 | |
434 | | - return $this->authenticate('DeleteMessage', $opt, $queue_url); |
| 571 | + return $this->authenticate('RemovePermission', $opt, $queue_url); |
435 | 572 | } |
436 | 573 | |
437 | 574 | /** |
438 | | - * |
439 | 575 | * The <code>SendMessage</code> action delivers a message to the specified queue. |
440 | 576 | * |
441 | 577 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
442 | 578 | * @param string $message_body (Required) The message to send. |
443 | 579 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 580 | + * <li><code>DelaySeconds</code> - <code>integer</code> - Optional - The number of seconds the message has to be delayed.</li> |
444 | 581 | * <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> |
445 | 582 | * <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> |
446 | 583 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
— | — | @@ -453,35 +590,61 @@ |
454 | 591 | } |
455 | 592 | |
456 | 593 | /** |
| 594 | + * This is a batch version of <code>SendMessage</code>. It takes multiple messages and adds each |
| 595 | + * of them to the queue. The result of each add operation is reported individually in the |
| 596 | + * response. |
457 | 597 | * |
458 | | - * Retrieves one or more messages from the specified queue, including the message body and message ID of each message. Messages returned by |
459 | | - * this action stay in the queue until you delete them. However, once a message is returned to a <code>ReceiveMessage</code> request, it is not |
460 | | - * returned on subsequent <code>ReceiveMessage</code> requests for the duration of the <code>VisibilityTimeout</code>. If you do not specify a |
461 | | - * <code>VisibilityTimeout</code> in the request, the overall visibility timeout for the queue is used for the returned messages. |
| 598 | + * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
| 599 | + * @param array $send_message_batch_request_entry (Required) A list of <code>SendMessageBatchRequestEntry</code> s. <ul> |
| 600 | + * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul> |
| 601 | + * <li><code>Id</code> - <code>string</code> - Required - An identifier for the message in this batch. This is used to communicate the result. Note that the the <code>Id</code> s of a batch request need to be unique within the request.</li> |
| 602 | + * <li><code>MessageBody</code> - <code>string</code> - Required - Body of the message.</li> |
| 603 | + * <li><code>DelaySeconds</code> - <code>integer</code> - Optional - The number of seconds for which the message has to be delayed.</li> |
| 604 | + * </ul></li> |
| 605 | + * </ul> |
| 606 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 607 | + * <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> |
| 608 | + * <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> |
| 609 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 610 | + */ |
| 611 | + public function send_message_batch($queue_url, $send_message_batch_request_entry, $opt = null) |
| 612 | + { |
| 613 | + if (!$opt) $opt = array(); |
| 614 | + |
| 615 | + // Required list + map |
| 616 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 617 | + 'SendMessageBatchRequestEntry' => (is_array($send_message_batch_request_entry) ? $send_message_batch_request_entry : array($send_message_batch_request_entry)) |
| 618 | + ))); |
| 619 | + |
| 620 | + return $this->authenticate('SendMessageBatch', $opt, $queue_url); |
| 621 | + } |
| 622 | + |
| 623 | + /** |
| 624 | + * Sets an attribute of a queue. The set of attributes that can be set are - DelaySeconds, |
| 625 | + * MessageRetentionPeriod, MaximumMessageSize, VisibilityTimeout and Policy. |
462 | 626 | * |
463 | 627 | * @param string $queue_url (Required) The URL of the SQS queue to take action on. |
| 628 | + * @param array $attribute (Required) A map of attributes to set. <ul> |
| 629 | + * <li><code>x</code> - <code>array</code> - Optional - This represents a simple array index. <ul> |
| 630 | + * <li><code>Name</code> - <code>string</code> - Optional - The name of a queue attribute. [Allowed values: <code>Policy</code>, <code>VisibilityTimeout</code>, <code>MaximumMessageSize</code>, <code>MessageRetentionPeriod</code>, <code>ApproximateNumberOfMessages</code>, <code>ApproximateNumberOfMessagesNotVisible</code>, <code>CreatedTimestamp</code>, <code>LastModifiedTimestamp</code>, <code>QueueArn</code>, <code>ApproximateNumberOfMessagesDelayed</code>, <code>DelaySeconds</code>]</li> |
| 631 | + * <li><code>Value</code> - <code>string</code> - Optional - The value of a queue attribute.</li> |
| 632 | + * </ul></li> |
| 633 | + * </ul> |
464 | 634 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
465 | | - * <li><code>AttributeName</code> - <code>string|array</code> - Optional - A list of attributes to retrieve information for. Pass a string for a single value, or an indexed array for multiple values. </li> |
466 | | - * <li><code>MaxNumberOfMessages</code> - <code>integer</code> - Optional - The maximum number of messages to return. Amazon SQS never returns more messages than this value but may return fewer. All of the messages are not necessarily returned. </li> |
467 | | - * <li><code>VisibilityTimeout</code> - <code>integer</code> - Optional - The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a <code>ReceiveMessage</code> request. </li> |
468 | 635 | * <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> |
469 | 636 | * <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> |
470 | 637 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
471 | 638 | */ |
472 | | - public function receive_message($queue_url, $opt = null) |
| 639 | + public function set_queue_attributes($queue_url, $attribute, $opt = null) |
473 | 640 | { |
474 | 641 | if (!$opt) $opt = array(); |
475 | 642 | |
476 | | - // Optional parameter |
477 | | - if (isset($opt['AttributeName'])) |
478 | | - { |
479 | | - $opt = array_merge($opt, CFComplexType::map(array( |
480 | | - 'AttributeName' => (is_array($opt['AttributeName']) ? $opt['AttributeName'] : array($opt['AttributeName'])) |
481 | | - ))); |
482 | | - unset($opt['AttributeName']); |
483 | | - } |
| 643 | + // Required list + map |
| 644 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 645 | + 'Attribute' => (is_array($attribute) ? $attribute : array($attribute)) |
| 646 | + ))); |
484 | 647 | |
485 | | - return $this->authenticate('ReceiveMessage', $opt, $queue_url); |
| 648 | + return $this->authenticate('SetQueueAttributes', $opt, $queue_url); |
486 | 649 | } |
487 | 650 | } |
488 | 651 | |
— | — | @@ -489,7 +652,4 @@ |
490 | 653 | /*%******************************************************************************************%*/ |
491 | 654 | // EXCEPTIONS |
492 | 655 | |
493 | | -/** |
494 | | - * Default SQS Exception. |
495 | | - */ |
496 | | -class SQS_Exception extends Exception {} |
\ No newline at end of file |
| 656 | +class SQS_Exception extends Exception {} |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/iam.class.php |
— | — | @@ -15,42 +15,53 @@ |
16 | 16 | */ |
17 | 17 | |
18 | 18 | /** |
| 19 | + * This is the Amazon Web Services (AWS) Identity and Access Management (IAM) API Reference. This |
| 20 | + * guide provides descriptions of the IAM API as well as links to related content in the guide, |
| 21 | + * <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/" target="_blank">Using |
| 22 | + * IAM</a>. |
19 | 23 | * |
| 24 | + * IAM is a web service that enables AWS customers to manage users and user permissions under |
| 25 | + * their AWS account. For more information about this product go to <a href= |
| 26 | + * "http://aws.amazon.com/iam/" target="_blank">AWS Identity and Access Management (IAM)</a>. For |
| 27 | + * specific information about setting up signatures and authorization through the API, go to |
| 28 | + * <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html" target= |
| 29 | + * "_blank">Making Query Requests</a> in <em>Using AWS Identity and Access Management</em>. |
20 | 30 | * |
21 | | - * This is the AWS Identity and Access Management (IAM) API Reference. This guide provides descriptions of the IAM API as well as links to |
22 | | - * related content in the guide, <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/">Using IAM</a>. |
| 31 | + * If you're new to AWS and need additional technical information about a specific AWS product, |
| 32 | + * you can find the product'stechnical documentation at <a href= |
| 33 | + * "http://aws.amazon.com/documentation/" target= |
| 34 | + * "_blank">http://aws.amazon.com/documentation/</a>. |
23 | 35 | * |
24 | | - * AWS Identity and Access Management (IAM) is a web service that enables Amazon Web Services (AWS) customers to manage Users and User |
25 | | - * permissions under their AWS Account. |
| 36 | + * We will refer to Amazon AWS Identity and Access Management using the abbreviated form IAM. All |
| 37 | + * copyrights and legal protections still apply. |
26 | 38 | * |
27 | | - * For more information about this product go to <a href="http://aws.amazon.com/iam/">AWS Identity and Access Management (IAM)</a>. For |
28 | | - * specific information about setting up signatures and authorization through the API, go to <a |
29 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html">Making Query Requests</a> in the Using IAM guide. |
30 | | - * |
31 | | - * If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical |
32 | | - * documentation at <a href="http://aws.amazon.com/documentation/">http://aws.amazon.com/documentation/</a>. |
33 | | - * |
34 | | - * We will refer to Amazon AWS Identity and Access Management using the abbreviated form IAM. All copyrights and legal protections still apply. |
35 | | - * |
36 | | - * @version Wed Aug 03 10:12:08 PDT 2011 |
| 39 | + * @version 2011.11.03 |
37 | 40 | * @license See the included NOTICE.md file for complete information. |
38 | 41 | * @copyright See the included NOTICE.md file for complete information. |
39 | | - * @link http://aws.amazon.com/iam/Amazon Identity and Access Management Service |
40 | | - * @link http://aws.amazon.com/documentation/iam/Amazon Identity and Access Management Service documentation |
| 42 | + * @link http://aws.amazon.com/iam/ AWS Identity and Access Management |
| 43 | + * @link http://aws.amazon.com/iam/documentation/ AWS Identity and Access Management documentation |
41 | 44 | */ |
42 | 45 | class AmazonIAM extends CFRuntime |
43 | 46 | { |
44 | | - |
45 | 47 | /*%******************************************************************************************%*/ |
46 | 48 | // CLASS CONSTANTS |
47 | 49 | |
48 | 50 | /** |
49 | | - * Specify the default queue URL. |
| 51 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
50 | 52 | */ |
51 | | - const DEFAULT_URL = 'iam.amazonaws.com'; |
| 53 | + const REGION_US_E1 = 'iam.amazonaws.com'; |
52 | 54 | |
| 55 | + /** |
| 56 | + * Specify the queue URL for the United States GovCloud Region. |
| 57 | + */ |
| 58 | + const REGION_US_GOV1 = 'iam.us-gov.amazonaws.com'; |
53 | 59 | |
| 60 | + /** |
| 61 | + * Default service endpoint. |
| 62 | + */ |
| 63 | + const DEFAULT_URL = self::REGION_US_E1; |
54 | 64 | |
| 65 | + |
55 | 66 | /*%******************************************************************************************%*/ |
56 | 67 | // CONSTRUCTOR |
57 | 68 | |
— | — | @@ -85,307 +96,315 @@ |
86 | 97 | |
87 | 98 | |
88 | 99 | /*%******************************************************************************************%*/ |
| 100 | + // SETTERS |
| 101 | + |
| 102 | + /** |
| 103 | + * This allows you to explicitly sets the region for the service to use. |
| 104 | + * |
| 105 | + * @param string $region (Required) The region to explicitly set. Available options are <REGION_US_E1>. |
| 106 | + * @return $this A reference to the current instance. |
| 107 | + */ |
| 108 | + public function set_region($region) |
| 109 | + { |
| 110 | + $this->set_hostname($region); |
| 111 | + return $this; |
| 112 | + } |
| 113 | + |
| 114 | + |
| 115 | + /*%******************************************************************************************%*/ |
89 | 116 | // SERVICE METHODS |
90 | 117 | |
91 | 118 | /** |
| 119 | + * Adds the specified user to the specified group. |
92 | 120 | * |
93 | | - * Lists the groups that have the specified path prefix. |
94 | | - * |
95 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
96 | | - * |
| 121 | + * @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>] |
| 122 | + * @param string $user_name (Required) Name of the user to add. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
97 | 123 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
98 | | - * <li><code>PathPrefix</code> - <code>string</code> - Optional - The path prefix for filtering the results. For example: <code>/division_abc/subdivision_xyz/</code>, which would get all groups whose path starts with <code>/division_abc/subdivision_xyz/</code>. This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. </li> |
99 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
100 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
101 | 124 | * <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> |
102 | 125 | * <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> |
103 | 126 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
104 | 127 | */ |
105 | | - public function list_groups($opt = null) |
| 128 | + public function add_user_to_group($group_name, $user_name, $opt = null) |
106 | 129 | { |
107 | 130 | if (!$opt) $opt = array(); |
| 131 | + $opt['GroupName'] = $group_name; |
| 132 | + $opt['UserName'] = $user_name; |
108 | 133 | |
109 | | - return $this->authenticate('ListGroups', $opt, $this->hostname); |
| 134 | + return $this->authenticate('AddUserToGroup', $opt, $this->hostname); |
110 | 135 | } |
111 | 136 | |
112 | 137 | /** |
| 138 | + * Creates a new AWS Secret Access Key and corresponding AWS Access Key ID for the specified user. |
| 139 | + * The default status for new keys is <code>Active</code>. |
113 | 140 | * |
114 | | - * Deletes the access key associated with the specified User. |
| 141 | + * If you do not specify a user name, IAM determines the user name implicitly based on the AWS |
| 142 | + * Access Key ID signing the request. Because this action works for access keys under the AWS |
| 143 | + * account, you can use this API to manage root credentials even if the AWS account has no |
| 144 | + * associated users. |
115 | 145 | * |
116 | | - * If you do not specify a User name, IAM determines the User name implicitly based on the AWS Access Key ID signing the request. Because this |
117 | | - * action works for access keys under the AWS Account, you can use this API to manage root credentials even if the AWS Account has no |
118 | | - * associated Users. |
| 146 | + * For information about limits on the number of keys you can create, see <a href= |
| 147 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 148 | + * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access |
| 149 | + * Management</em>. |
119 | 150 | * |
120 | | - * @param string $access_key_id (Required) The Access Key ID for the Access Key ID and Secret Access Key you want to delete. |
| 151 | + * <p class="important"> |
| 152 | + * To ensure the security of your AWS account, the Secret Access Key is accessible only during key |
| 153 | + * and user creation. You must save the key (for example, in a text file) if you want to be able |
| 154 | + * to access it again. If a secret key is lost, you can delete the access keys for the associated |
| 155 | + * user and then create new keys. |
| 156 | + * </p> |
| 157 | + * |
121 | 158 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
122 | | - * <li><code>UserName</code> - <code>string</code> - Optional - Name of the User whose key you want to delete. </li> |
| 159 | + * <li><code>UserName</code> - <code>string</code> - Optional - The user name that the new key will belong to. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
123 | 160 | * <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> |
124 | 161 | * <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> |
125 | 162 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
126 | 163 | */ |
127 | | - public function delete_access_key($access_key_id, $opt = null) |
| 164 | + public function create_access_key($opt = null) |
128 | 165 | { |
129 | 166 | if (!$opt) $opt = array(); |
130 | | - $opt['AccessKeyId'] = $access_key_id; |
131 | 167 | |
132 | | - return $this->authenticate('DeleteAccessKey', $opt, $this->hostname); |
| 168 | + return $this->authenticate('CreateAccessKey', $opt, $this->hostname); |
133 | 169 | } |
134 | 170 | |
135 | 171 | /** |
| 172 | + * This action creates an alias for your AWS account. For information about using an AWS account |
| 173 | + * alias, see <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccountAlias.html" |
| 174 | + * target="_blank">Using an Alias for Your AWS Account ID</a> in <em>Using AWS Identity and Access |
| 175 | + * Management</em>. |
136 | 176 | * |
137 | | - * Deletes the specified AWS Account alias. For information about using an AWS Account alias, see <a |
138 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccountAlias.html">Using an Alias for Your AWS Account ID</a> in <i>Using AWS |
139 | | - * Identity and Access Management</i>. |
140 | | - * |
141 | | - * @param string $account_alias (Required) Name of the account alias to delete. |
| 177 | + * @param string $account_alias (Required) Name of the account alias to create. [Constraints: The value must be between 3 and 63 characters, and must match the following regular expression pattern: <code>^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$</code>] |
142 | 178 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
143 | 179 | * <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> |
144 | 180 | * <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> |
145 | 181 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
146 | 182 | */ |
147 | | - public function delete_account_alias($account_alias, $opt = null) |
| 183 | + public function create_account_alias($account_alias, $opt = null) |
148 | 184 | { |
149 | 185 | if (!$opt) $opt = array(); |
150 | 186 | $opt['AccountAlias'] = $account_alias; |
151 | 187 | |
152 | | - return $this->authenticate('DeleteAccountAlias', $opt, $this->hostname); |
| 188 | + return $this->authenticate('CreateAccountAlias', $opt, $this->hostname); |
153 | 189 | } |
154 | 190 | |
155 | 191 | /** |
| 192 | + * Creates a new group. |
156 | 193 | * |
157 | | - * Returns information about the signing certificates associated with the specified User. If there are none, the action returns an empty list. |
| 194 | + * For information about the number of groups you can create, see <a href= |
| 195 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 196 | + * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access |
| 197 | + * Management</em>. |
158 | 198 | * |
159 | | - * Although each User is limited to a small number of signing certificates, you can still paginate the results using the <code>MaxItems</code> |
160 | | - * and <code>Marker</code> parameters. |
161 | | - * |
162 | | - * If the <code>UserName</code> field is not specified, the UserName is determined implicitly based on the AWS Access Key ID used to sign the |
163 | | - * request. Because this action works for access keys under the AWS Account, this API can be used to manage root credentials even if the AWS |
164 | | - * Account has no associated Users. |
165 | | - * |
| 199 | + * @param string $group_name (Required) Name of the group to create. Do not include the path in this value. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
166 | 200 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
167 | | - * <li><code>UserName</code> - <code>string</code> - Optional - The name of the User. </li> |
168 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
169 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of certificate IDs you want in the response. If there are additional certificate IDs beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
| 201 | + * <li><code>Path</code> - <code>string</code> - Optional - The path to the group. 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> |
170 | 202 | * <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> |
171 | 203 | * <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> |
172 | 204 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
173 | 205 | */ |
174 | | - public function list_signing_certificates($opt = null) |
| 206 | + public function create_group($group_name, $opt = null) |
175 | 207 | { |
176 | 208 | if (!$opt) $opt = array(); |
| 209 | + $opt['GroupName'] = $group_name; |
177 | 210 | |
178 | | - return $this->authenticate('ListSigningCertificates', $opt, $this->hostname); |
| 211 | + return $this->authenticate('CreateGroup', $opt, $this->hostname); |
179 | 212 | } |
180 | 213 | |
181 | 214 | /** |
| 215 | + * Creates a login profile for the specified user, giving the user the ability to access AWS |
| 216 | + * services such as the AWS Management Console. For more information about login profiles, see |
| 217 | + * <a href= |
| 218 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_ManagingLogins.html" |
| 219 | + * target="_blank">Creating or Deleting a User Login Profile</a> in <em>Using AWS Identity and |
| 220 | + * Access Management</em>. |
182 | 221 | * |
183 | | - * Uploads an X.509 signing certificate and associates it with the specified User. Some AWS services use X.509 signing certificates to validate |
184 | | - * requests that are signed with a corresponding private key. When you upload the certificate, its default status is <code>Active</code>. |
185 | | - * |
186 | | - * If the <code>UserName</code> field is not specified, the User name is determined implicitly based on the AWS Access Key ID used to sign the |
187 | | - * request. Because this action works for access keys under the AWS Account, this API can be used to manage root credentials even if the AWS |
188 | | - * Account has no associated Users. |
189 | | - * |
190 | | - * Because the body of a X.509 certificate can be large, you should use POST rather than GET when calling |
191 | | - * <code>UploadSigningCertificate</code>. For more information, see <a |
192 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?IAM_UsingQueryAPI.html">Making Query Requests</a> in <i>Using AWS |
193 | | - * Identity and Access Management</i>. |
194 | | - * |
195 | | - * @param string $certificate_body (Required) The contents of the signing certificate. |
| 222 | + * @param string $user_name (Required) Name of the user to create a login profile for. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 223 | + * @param string $password (Required) The new password for the user name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</code>] |
196 | 224 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
197 | | - * <li><code>UserName</code> - <code>string</code> - Optional - Name of the User the signing certificate is for. </li> |
198 | 225 | * <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> |
199 | 226 | * <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> |
200 | 227 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
201 | 228 | */ |
202 | | - public function upload_signing_certificate($certificate_body, $opt = null) |
| 229 | + public function create_login_profile($user_name, $password, $opt = null) |
203 | 230 | { |
204 | 231 | if (!$opt) $opt = array(); |
205 | | - $opt['CertificateBody'] = $certificate_body; |
| 232 | + $opt['UserName'] = $user_name; |
| 233 | + $opt['Password'] = $password; |
206 | 234 | |
207 | | - return $this->authenticate('UploadSigningCertificate', $opt, $this->hostname); |
| 235 | + return $this->authenticate('CreateLoginProfile', $opt, $this->hostname); |
208 | 236 | } |
209 | 237 | |
210 | 238 | /** |
| 239 | + * Creates a new user for your AWS account. |
211 | 240 | * |
212 | | - * Deletes the specified policy associated with the specified User. |
| 241 | + * For information about limitations on the number of users you can create, see <a href= |
| 242 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 243 | + * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access |
| 244 | + * Management</em>. |
213 | 245 | * |
214 | | - * @param string $user_name (Required) Name of the User the policy is associated with. |
215 | | - * @param string $policy_name (Required) Name of the policy document to delete. |
| 246 | + * @param string $user_name (Required) Name of the user to create. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
216 | 247 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 248 | + * <li><code>Path</code> - <code>string</code> - Optional - The path for the user name. 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> |
217 | 249 | * <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> |
218 | 250 | * <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> |
219 | 251 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
220 | 252 | */ |
221 | | - public function delete_user_policy($user_name, $policy_name, $opt = null) |
| 253 | + public function create_user($user_name, $opt = null) |
222 | 254 | { |
223 | 255 | if (!$opt) $opt = array(); |
224 | 256 | $opt['UserName'] = $user_name; |
225 | | - $opt['PolicyName'] = $policy_name; |
226 | 257 | |
227 | | - return $this->authenticate('DeleteUserPolicy', $opt, $this->hostname); |
| 258 | + return $this->authenticate('CreateUser', $opt, $this->hostname); |
228 | 259 | } |
229 | 260 | |
230 | 261 | /** |
| 262 | + * Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use |
| 263 | + * <a href="http://docs.amazonwebservices.com/IAM/latest/APIReference/API_EnableMFADevice.html" |
| 264 | + * target="_blank">EnableMFADevice</a> to attach the MFA device to an IAM user. For more |
| 265 | + * information about creating and working with virtual MFA devices, go to <a href= |
| 266 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_VirtualMFA.html" |
| 267 | + * target="_blank">Using a Virtual MFA Device</a> in <em>Using AWS Identity and Access |
| 268 | + * Management</em>. |
231 | 269 | * |
232 | | - * Adds (or updates) a policy document associated with the specified User. For information about policies, refer to <a |
233 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?PoliciesOverview.html">Overview of Policies</a> in <i>Using AWS |
234 | | - * Identity and Access Management</i>. |
| 270 | + * For information about limits on the number of MFA devices you can create, see <a href= |
| 271 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 272 | + * target="_blank">Limitations on Entities</a> in <em>Using AWS Identity and Access |
| 273 | + * Management</em>. |
235 | 274 | * |
236 | | - * For information about limits on the number of policies you can associate with a User, see <a |
237 | | - * href="http://docs.amazonwebservices.com/IAM/2010-05-08/UserGuide/index.html?LimitationsOnEntities.html">Limitations on IAM Entities</a> in |
238 | | - * <i>Using AWS Identity and Access Management</i>. |
| 275 | + * <p class="important"> |
| 276 | + * The seed information contained in the QR code and the Base32 string should be treated like any |
| 277 | + * other secret access information, such as your AWS access keys or your passwords. After you |
| 278 | + * provision your virtual device, you should ensure that the information is destroyed following |
| 279 | + * secure procedures. |
| 280 | + * </p> |
239 | 281 | * |
240 | | - * Because policy documents can be large, you should use POST rather than GET when calling <code>PutUserPolicy</code>. For more information, |
241 | | - * see <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?IAM_UsingQueryAPI.html">Making Query Requests</a> in <i>Using |
242 | | - * AWS Identity and Access Management</i>. |
243 | | - * |
244 | | - * @param string $user_name (Required) Name of the User to associate the policy with. |
245 | | - * @param string $policy_name (Required) Name of the policy document. |
246 | | - * @param string $policy_document (Required) The policy document. |
| 282 | + * @param string $virtual_mfa_device_name (Required) The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. [Constraints: The value must be more than 1 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
247 | 283 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 284 | + * <li><code>Path</code> - <code>string</code> - Optional - The path for the virtual MFA device. 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> |
248 | 285 | * <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> |
249 | 286 | * <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> |
250 | 287 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
251 | 288 | */ |
252 | | - public function put_user_policy($user_name, $policy_name, $policy_document, $opt = null) |
| 289 | + public function create_virtual_mfa_device($virtual_mfa_device_name, $opt = null) |
253 | 290 | { |
254 | 291 | if (!$opt) $opt = array(); |
255 | | - $opt['UserName'] = $user_name; |
256 | | - $opt['PolicyName'] = $policy_name; |
257 | | - $opt['PolicyDocument'] = $policy_document; |
| 292 | + $opt['VirtualMFADeviceName'] = $virtual_mfa_device_name; |
258 | 293 | |
259 | | - return $this->authenticate('PutUserPolicy', $opt, $this->hostname); |
| 294 | + return $this->authenticate('CreateVirtualMFADevice', $opt, $this->hostname); |
260 | 295 | } |
261 | 296 | |
262 | 297 | /** |
| 298 | + * Deactivates the specified MFA device and removes it from association with the user name for |
| 299 | + * which it was originally enabled. |
263 | 300 | * |
264 | | - * Lists the server certificates that have the specified path prefix. If none exist, the action returns an empty list. |
265 | | - * |
266 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
267 | | - * |
| 301 | + * @param string $user_name (Required) Name of the user whose MFA device you want to deactivate. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 302 | + * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: <code>[\w+=/:,.@-]*</code>] |
268 | 303 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
269 | | - * <li><code>PathPrefix</code> - <code>string</code> - Optional - The path prefix for filtering the results. For example: <code>/company/servercerts</code> would get all server certificates for which the path starts with <code>/company/servercerts</code>. This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. </li> |
270 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
271 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of server certificates you want in the response. If there are additional server certificates beyond the maximum you specify, the <code>IsTruncated</code> response element will be set to <code>true</code>. </li> |
272 | 304 | * <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> |
273 | 305 | * <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> |
274 | 306 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
275 | 307 | */ |
276 | | - public function list_server_certificates($opt = null) |
| 308 | + public function deactivate_mfa_device($user_name, $serial_number, $opt = null) |
277 | 309 | { |
278 | 310 | if (!$opt) $opt = array(); |
| 311 | + $opt['UserName'] = $user_name; |
| 312 | + $opt['SerialNumber'] = $serial_number; |
279 | 313 | |
280 | | - return $this->authenticate('ListServerCertificates', $opt, $this->hostname); |
| 314 | + return $this->authenticate('DeactivateMFADevice', $opt, $this->hostname); |
281 | 315 | } |
282 | 316 | |
283 | 317 | /** |
| 318 | + * Deletes the access key associated with the specified user. |
284 | 319 | * |
285 | | - * Retrieves the specified policy document for the specified User. The returned policy is URL-encoded according to RFC 3986. For more |
286 | | - * information about RFC 3986, go to <a href="http://www.faqs.org/rfcs/rfc3986.html">http://www.faqs.org/rfcs/rfc3986.html</a>. |
| 320 | + * If you do not specify a user name, IAM determines the user name implicitly based on the AWS |
| 321 | + * Access Key ID signing the request. Because this action works for access keys under the AWS |
| 322 | + * account, you can use this API to manage root credentials even if the AWS account has no |
| 323 | + * associated users. |
287 | 324 | * |
288 | | - * @param string $user_name (Required) Name of the User who the policy is associated with. |
289 | | - * @param string $policy_name (Required) Name of the policy document to get. |
| 325 | + * @param string $access_key_id (Required) The Access Key ID for the Access Key ID and Secret Access Key you want to delete. [Constraints: The value must be between 16 and 32 characters, and must match the following regular expression pattern: <code>[\w]*</code>] |
290 | 326 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 327 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user whose key you want to delete. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
291 | 328 | * <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> |
292 | 329 | * <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> |
293 | 330 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
294 | 331 | */ |
295 | | - public function get_user_policy($user_name, $policy_name, $opt = null) |
| 332 | + public function delete_access_key($access_key_id, $opt = null) |
296 | 333 | { |
297 | 334 | if (!$opt) $opt = array(); |
298 | | - $opt['UserName'] = $user_name; |
299 | | - $opt['PolicyName'] = $policy_name; |
| 335 | + $opt['AccessKeyId'] = $access_key_id; |
300 | 336 | |
301 | | - return $this->authenticate('GetUserPolicy', $opt, $this->hostname); |
| 337 | + return $this->authenticate('DeleteAccessKey', $opt, $this->hostname); |
302 | 338 | } |
303 | 339 | |
304 | 340 | /** |
| 341 | + * Deletes the specified AWS account alias. For information about using an AWS account alias, see |
| 342 | + * <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccountAlias.html" target= |
| 343 | + * "_blank">Using an Alias for Your AWS Account ID</a> in <em>Using AWS Identity and Access |
| 344 | + * Management</em>. |
305 | 345 | * |
306 | | - * Updates the login profile for the specified User. Use this API to change the User's password. |
307 | | - * |
308 | | - * @param string $user_name (Required) Name of the User whose login profile you want to update. |
| 346 | + * @param string $account_alias (Required) Name of the account alias to delete. [Constraints: The value must be between 3 and 63 characters, and must match the following regular expression pattern: <code>^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$</code>] |
309 | 347 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
310 | | - * <li><code>Password</code> - <code>string</code> - Optional - The new password for the User name. </li> |
311 | 348 | * <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> |
312 | 349 | * <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> |
313 | 350 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
314 | 351 | */ |
315 | | - public function update_login_profile($user_name, $opt = null) |
| 352 | + public function delete_account_alias($account_alias, $opt = null) |
316 | 353 | { |
317 | 354 | if (!$opt) $opt = array(); |
318 | | - $opt['UserName'] = $user_name; |
| 355 | + $opt['AccountAlias'] = $account_alias; |
319 | 356 | |
320 | | - return $this->authenticate('UpdateLoginProfile', $opt, $this->hostname); |
| 357 | + return $this->authenticate('DeleteAccountAlias', $opt, $this->hostname); |
321 | 358 | } |
322 | 359 | |
323 | 360 | /** |
| 361 | + * Deletes the specified group. The group must not contain any users or have any attached |
| 362 | + * policies. |
324 | 363 | * |
325 | | - * Updates the name and/or the path of the specified server certificate. |
326 | | - * |
327 | | - * You should understand the implications of changing a server certificate's path or name. For more information, see <a |
328 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/ManagingServerCerts.html">Managing Server Certificates</a> in <i>Using AWS |
329 | | - * Identity and Access Management</i>. |
330 | | - * |
331 | | - * To change a server certificate name the requester must have appropriate permissions on both the source object and the target object. For |
332 | | - * example, to change the name from ProductionCert to ProdCert, the entity making the request must have permission on ProductionCert and |
333 | | - * ProdCert, or must have permission on all (*). For more information about permissions, see <a |
334 | | - * href="http://docs.amazonwebservices.com/IAM/2010-05-08/UserGuide/PermissionsAndPolicies.html">Permissions and Policies</a>. |
335 | | - * |
336 | | - * @param string $server_certificate_name (Required) The name of the server certificate that you want to update. |
| 364 | + * @param string $group_name (Required) Name of the group to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
337 | 365 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
338 | | - * <li><code>NewPath</code> - <code>string</code> - Optional - The new path for the server certificate. Include this only if you are updating the server certificate's path. </li> |
339 | | - * <li><code>NewServerCertificateName</code> - <code>string</code> - Optional - The new name for the server certificate. Include this only if you are updating the server certificate's name. </li> |
340 | 366 | * <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> |
341 | 367 | * <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> |
342 | 368 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
343 | 369 | */ |
344 | | - public function update_server_certificate($server_certificate_name, $opt = null) |
| 370 | + public function delete_group($group_name, $opt = null) |
345 | 371 | { |
346 | 372 | if (!$opt) $opt = array(); |
347 | | - $opt['ServerCertificateName'] = $server_certificate_name; |
| 373 | + $opt['GroupName'] = $group_name; |
348 | 374 | |
349 | | - return $this->authenticate('UpdateServerCertificate', $opt, $this->hostname); |
| 375 | + return $this->authenticate('DeleteGroup', $opt, $this->hostname); |
350 | 376 | } |
351 | 377 | |
352 | 378 | /** |
| 379 | + * Deletes the specified policy that is associated with the specified group. |
353 | 380 | * |
354 | | - * Updates the name and/or the path of the specified User. |
355 | | - * |
356 | | - * You should understand the implications of changing a User's path or name. For more information, see <a |
357 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Renaming.html">Renaming Users and Groups</a> in <i>Using AWS |
358 | | - * Identity and Access Management</i>. |
359 | | - * |
360 | | - * To change a User name the requester must have appropriate permissions on both the source object and the target object. For example, to |
361 | | - * change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more |
362 | | - * information about permissions, see <a |
363 | | - * href="http://docs.amazonwebservices.com/IAM/2010-05-08/UserGuide/PermissionsAndPolicies.html">Permissions and Policies</a>. |
364 | | - * |
365 | | - * @param string $user_name (Required) Name of the User to update. If you're changing the name of the User, this is the original User name. |
| 381 | + * @param string $group_name (Required) Name of the group the policy is associated with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 382 | + * @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>] |
366 | 383 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
367 | | - * <li><code>NewPath</code> - <code>string</code> - Optional - New path for the User. Include this parameter only if you're changing the User's path. </li> |
368 | | - * <li><code>NewUserName</code> - <code>string</code> - Optional - New name for the User. Include this parameter only if you're changing the User's name. </li> |
369 | 384 | * <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> |
370 | 385 | * <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> |
371 | 386 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
372 | 387 | */ |
373 | | - public function update_user($user_name, $opt = null) |
| 388 | + public function delete_group_policy($group_name, $policy_name, $opt = null) |
374 | 389 | { |
375 | 390 | if (!$opt) $opt = array(); |
376 | | - $opt['UserName'] = $user_name; |
| 391 | + $opt['GroupName'] = $group_name; |
| 392 | + $opt['PolicyName'] = $policy_name; |
377 | 393 | |
378 | | - return $this->authenticate('UpdateUser', $opt, $this->hostname); |
| 394 | + return $this->authenticate('DeleteGroupPolicy', $opt, $this->hostname); |
379 | 395 | } |
380 | 396 | |
381 | 397 | /** |
| 398 | + * Deletes the login profile for the specified user, which terminates the user's ability to access |
| 399 | + * AWS services through the IAM login page. |
382 | 400 | * |
383 | | - * Deletes the login profile for the specified User, which terminates the User's ability to access AWS services through the IAM login page. |
| 401 | + * <p class="important"> |
| 402 | + * Deleting a user's login profile does not prevent a user from accessing IAM through the command |
| 403 | + * line interface or the API. To prevent all user access you must also either make the access key |
| 404 | + * inactive or delete it. For more information about making keys inactive or deleting them, see |
| 405 | + * <code>UpdateAccessKey</code> and <code>DeleteAccessKey</code>. |
| 406 | + * </p> |
384 | 407 | * |
385 | | - * Deleting a User's login profile does not prevent a User from accessing IAM through the command line interface or the API. To prevent all |
386 | | - * User access you must also either make the access key inactive or delete it. For more information about making keys inactive or deleting |
387 | | - * them, see UpdateAccessKey and DeleteAccessKey. |
388 | | - * |
389 | | - * @param string $user_name (Required) Name of the User whose login profile you want to delete. |
| 408 | + * @param string $user_name (Required) Name of the user whose login profile you want to delete. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
390 | 409 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
391 | 410 | * <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> |
392 | 411 | * <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> |
— | — | @@ -400,597 +419,639 @@ |
401 | 420 | } |
402 | 421 | |
403 | 422 | /** |
| 423 | + * Deletes the specified server certificate. |
404 | 424 | * |
405 | | - * Changes the status of the specified signing certificate from active to disabled, or vice versa. This action can be used to disable a User's |
406 | | - * signing certificate as part of a certificate rotation workflow. |
| 425 | + * <p class="important"> |
| 426 | + * If you are using a server certificate with Elastic Load Balancing, deleting the certificate |
| 427 | + * could have implications for your application. If Elastic Load Balancing doesn't detect the |
| 428 | + * deletion of bound certificates, it may continue to use the certificates. This could cause |
| 429 | + * Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to |
| 430 | + * the certificate from Elastic Load Balancing before using this command to delete the |
| 431 | + * certificate. For more information, go to <a href= |
| 432 | + * "http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/APIReference/API_DeleteLoadBalancerListeners.html" |
| 433 | + * target="blank">DeleteLoadBalancerListeners</a> in the <em>Elastic Load Balancing API |
| 434 | + * Reference</em>. |
| 435 | + * </p> |
407 | 436 | * |
408 | | - * If the <code>UserName</code> field is not specified, the UserName is determined implicitly based on the AWS Access Key ID used to sign the |
409 | | - * request. Because this action works for access keys under the AWS Account, this API can be used to manage root credentials even if the AWS |
410 | | - * Account has no associated Users. |
411 | | - * |
412 | | - * For information about rotating certificates, see <a |
413 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?ManagingCredentials.html">Managing Keys and Certificates</a> in |
414 | | - * <i>Using AWS Identity and Access Management</i>. |
415 | | - * |
416 | | - * @param string $certificate_id (Required) The ID of the signing certificate you want to update. |
417 | | - * @param string $status (Required) The status you want to assign to the certificate. <code>Active</code> means the certificate can be used for API calls to AWS, while <code>Inactive</code> means the certificate cannot be used. [Allowed values: <code>Active</code>, <code>Inactive</code>] |
| 437 | + * @param string $server_certificate_name (Required) The name of the server certificate you want to delete. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
418 | 438 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
419 | | - * <li><code>UserName</code> - <code>string</code> - Optional - Name of the User the signing certificate belongs to. </li> |
420 | 439 | * <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> |
421 | 440 | * <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> |
422 | 441 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
423 | 442 | */ |
424 | | - public function update_signing_certificate($certificate_id, $status, $opt = null) |
| 443 | + public function delete_server_certificate($server_certificate_name, $opt = null) |
425 | 444 | { |
426 | 445 | if (!$opt) $opt = array(); |
427 | | - $opt['CertificateId'] = $certificate_id; |
428 | | - $opt['Status'] = $status; |
| 446 | + $opt['ServerCertificateName'] = $server_certificate_name; |
429 | 447 | |
430 | | - return $this->authenticate('UpdateSigningCertificate', $opt, $this->hostname); |
| 448 | + return $this->authenticate('DeleteServerCertificate', $opt, $this->hostname); |
431 | 449 | } |
432 | 450 | |
433 | 451 | /** |
| 452 | + * Deletes the specified signing certificate associated with the specified user. |
434 | 453 | * |
435 | | - * Deletes the specified policy that is associated with the specified group. |
| 454 | + * If you do not specify a user name, IAM determines the user name implicitly based on the AWS |
| 455 | + * Access Key ID signing the request. Because this action works for access keys under the AWS |
| 456 | + * account, you can use this API to manage root credentials even if the AWS account has no |
| 457 | + * associated users. |
436 | 458 | * |
437 | | - * @param string $group_name (Required) Name of the group the policy is associated with. |
438 | | - * @param string $policy_name (Required) Name of the policy document to delete. |
| 459 | + * @param string $certificate_id (Required) ID of the signing certificate to delete. [Constraints: The value must be between 24 and 128 characters, and must match the following regular expression pattern: <code>[\w]*</code>] |
439 | 460 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 461 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user the signing certificate belongs to. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
440 | 462 | * <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> |
441 | 463 | * <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> |
442 | 464 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
443 | 465 | */ |
444 | | - public function delete_group_policy($group_name, $policy_name, $opt = null) |
| 466 | + public function delete_signing_certificate($certificate_id, $opt = null) |
445 | 467 | { |
446 | 468 | if (!$opt) $opt = array(); |
447 | | - $opt['GroupName'] = $group_name; |
448 | | - $opt['PolicyName'] = $policy_name; |
| 469 | + $opt['CertificateId'] = $certificate_id; |
449 | 470 | |
450 | | - return $this->authenticate('DeleteGroupPolicy', $opt, $this->hostname); |
| 471 | + return $this->authenticate('DeleteSigningCertificate', $opt, $this->hostname); |
451 | 472 | } |
452 | 473 | |
453 | 474 | /** |
| 475 | + * Deletes the specified user. The user must not belong to any groups, have any keys or signing |
| 476 | + * certificates, or have any attached policies. |
454 | 477 | * |
455 | | - * Lists the Users that have the specified path prefix. If there are none, the action returns an empty list. |
456 | | - * |
457 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
458 | | - * |
| 478 | + * @param string $user_name (Required) Name of the user to delete. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
459 | 479 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
460 | | - * <li><code>PathPrefix</code> - <code>string</code> - Optional - The path prefix for filtering the results. For example: <code>/division_abc/subdivision_xyz/</code>, which would get all User names whose path starts with <code>/division_abc/subdivision_xyz/</code>. This parameter is optional. If it is not included, it defaults to a slash (/), listing all User names. </li> |
461 | | - * <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. </li> |
462 | | - * <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 response. If there are additional User names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
463 | 480 | * <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> |
464 | 481 | * <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> |
465 | 482 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
466 | 483 | */ |
467 | | - public function list_users($opt = null) |
| 484 | + public function delete_user($user_name, $opt = null) |
468 | 485 | { |
469 | 486 | if (!$opt) $opt = array(); |
| 487 | + $opt['UserName'] = $user_name; |
470 | 488 | |
471 | | - return $this->authenticate('ListUsers', $opt, $this->hostname); |
| 489 | + return $this->authenticate('DeleteUser', $opt, $this->hostname); |
472 | 490 | } |
473 | 491 | |
474 | 492 | /** |
| 493 | + * Deletes the specified policy associated with the specified user. |
475 | 494 | * |
476 | | - * Updates the name and/or the path of the specified group. |
477 | | - * |
478 | | - * You should understand the implications of changing a group's path or name. For more information, see <a |
479 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Renaming.html">Renaming Users and Groups</a> in <i>Using AWS |
480 | | - * Identity and Access Management</i>. |
481 | | - * |
482 | | - * To change a group name the requester must have appropriate permissions on both the source object and the target object. For example, to |
483 | | - * change Managers to MGRs, the entity making the request must have permission on Managers and MGRs, or must have permission on all (*). For |
484 | | - * more information about permissions, see <a |
485 | | - * href="http://docs.amazonwebservices.com/IAM/2010-05-08/UserGuide/PermissionsAndPolicies.html">Permissions and Policies</a>. |
486 | | - * |
487 | | - * @param string $group_name (Required) Name of the group to update. If you're changing the name of the group, this is the original name. |
| 495 | + * @param string $user_name (Required) Name of the user 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>] |
| 496 | + * @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>] |
488 | 497 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
489 | | - * <li><code>NewPath</code> - <code>string</code> - Optional - New path for the group. Only include this if changing the group's path. </li> |
490 | | - * <li><code>NewGroupName</code> - <code>string</code> - Optional - New name for the group. Only include this if changing the group's name. </li> |
491 | 498 | * <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> |
492 | 499 | * <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> |
493 | 500 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
494 | 501 | */ |
495 | | - public function update_group($group_name, $opt = null) |
| 502 | + public function delete_user_policy($user_name, $policy_name, $opt = null) |
496 | 503 | { |
497 | 504 | if (!$opt) $opt = array(); |
498 | | - $opt['GroupName'] = $group_name; |
| 505 | + $opt['UserName'] = $user_name; |
| 506 | + $opt['PolicyName'] = $policy_name; |
499 | 507 | |
500 | | - return $this->authenticate('UpdateGroup', $opt, $this->hostname); |
| 508 | + return $this->authenticate('DeleteUserPolicy', $opt, $this->hostname); |
501 | 509 | } |
502 | 510 | |
503 | 511 | /** |
| 512 | + * Deletes a virtual MFA device. |
504 | 513 | * |
505 | | - * Retrieves information about the specified server certificate. |
| 514 | + * <p class="note"> |
| 515 | + * You must deactivate a user's virtual MFA device before you can delete it. For information about |
| 516 | + * deactivating MFA devices, see <a href= |
| 517 | + * "http://docs.amazonwebservices.com/IAM/latest/APIReference/API_DeactivateMFADevice.html">DeactivateMFADevice</a>. |
| 518 | + * </p> |
506 | 519 | * |
507 | | - * @param string $server_certificate_name (Required) The name of the server certificate you want to retrieve information about. |
| 520 | + * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: <code>[\w+=/:,.@-]*</code>] |
508 | 521 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
509 | 522 | * <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> |
510 | 523 | * <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> |
511 | 524 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
512 | 525 | */ |
513 | | - public function get_server_certificate($server_certificate_name, $opt = null) |
| 526 | + public function delete_virtual_mfa_device($serial_number, $opt = null) |
514 | 527 | { |
515 | 528 | if (!$opt) $opt = array(); |
516 | | - $opt['ServerCertificateName'] = $server_certificate_name; |
| 529 | + $opt['SerialNumber'] = $serial_number; |
517 | 530 | |
518 | | - return $this->authenticate('GetServerCertificate', $opt, $this->hostname); |
| 531 | + return $this->authenticate('DeleteVirtualMFADevice', $opt, $this->hostname); |
519 | 532 | } |
520 | 533 | |
521 | 534 | /** |
| 535 | + * Enables the specified MFA device and associates it with the specified user name. When enabled, |
| 536 | + * the MFA device is required for every subsequent login by the user name associated with the |
| 537 | + * device. |
522 | 538 | * |
523 | | - * Adds (or updates) a policy document associated with the specified group. For information about policies, refer to <a |
524 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?PoliciesOverview.html">Overview of Policies</a> in <i>Using AWS |
525 | | - * Identity and Access Management</i>. |
526 | | - * |
527 | | - * For information about limits on the number of policies you can associate with a group, see <a |
528 | | - * href="http://docs.amazonwebservices.com/IAM/2010-05-08/UserGuide/index.html?LimitationsOnEntities.html">Limitations on IAM Entities</a> in |
529 | | - * <i>Using AWS Identity and Access Management</i>. |
530 | | - * |
531 | | - * Because policy documents can be large, you should use POST rather than GET when calling <code>PutGroupPolicy</code>. For more information, |
532 | | - * see <a href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?IAM_UsingQueryAPI.html">Making Query Requests</a> in <i>Using |
533 | | - * AWS Identity and Access Management</i>. |
534 | | - * |
535 | | - * @param string $group_name (Required) Name of the group to associate the policy with. |
536 | | - * @param string $policy_name (Required) Name of the policy document. |
537 | | - * @param string $policy_document (Required) The policy document. |
| 539 | + * @param string $user_name (Required) Name of the user for whom you want to enable the MFA device. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 540 | + * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: <code>[\w+=/:,.@-]*</code>] |
| 541 | + * @param string $authentication_code1 (Required) An authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: <code>[\d]*</code>] |
| 542 | + * @param string $authentication_code2 (Required) A subsequent authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: <code>[\d]*</code>] |
538 | 543 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
539 | 544 | * <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> |
540 | 545 | * <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> |
541 | 546 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
542 | 547 | */ |
543 | | - public function put_group_policy($group_name, $policy_name, $policy_document, $opt = null) |
| 548 | + public function enable_mfa_device($user_name, $serial_number, $authentication_code1, $authentication_code2, $opt = null) |
544 | 549 | { |
545 | 550 | if (!$opt) $opt = array(); |
546 | | - $opt['GroupName'] = $group_name; |
547 | | - $opt['PolicyName'] = $policy_name; |
548 | | - $opt['PolicyDocument'] = $policy_document; |
| 551 | + $opt['UserName'] = $user_name; |
| 552 | + $opt['SerialNumber'] = $serial_number; |
| 553 | + $opt['AuthenticationCode1'] = $authentication_code1; |
| 554 | + $opt['AuthenticationCode2'] = $authentication_code2; |
549 | 555 | |
550 | | - return $this->authenticate('PutGroupPolicy', $opt, $this->hostname); |
| 556 | + return $this->authenticate('EnableMFADevice', $opt, $this->hostname); |
551 | 557 | } |
552 | 558 | |
553 | 559 | /** |
| 560 | + * Retrieves account level information about account entity usage and IAM quotas. |
554 | 561 | * |
555 | | - * Creates a new User for your AWS Account. |
| 562 | + * For information about limitations on IAM entities, see <a href= |
| 563 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 564 | + * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access |
| 565 | + * Management</em>. |
556 | 566 | * |
557 | | - * For information about limitations on the number of Users you can create, see <a |
558 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html">Limitations on IAM Entities</a> in |
559 | | - * <i>Using AWS Identity and Access Management</i>. |
560 | | - * |
561 | | - * @param string $user_name (Required) Name of the User to create. |
562 | 567 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
563 | | - * <li><code>Path</code> - <code>string</code> - Optional - The path for the User name. For more information about paths, see Identifiers for IAM Entities in <i>Using AWS Identity and Access Management</i>. This parameter is optional. If it is not included, it defaults to a slash (/). </li> |
564 | 568 | * <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> |
565 | 569 | * <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> |
566 | 570 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
567 | 571 | */ |
568 | | - public function create_user($user_name, $opt = null) |
| 572 | + public function get_account_summary($opt = null) |
569 | 573 | { |
570 | 574 | if (!$opt) $opt = array(); |
571 | | - $opt['UserName'] = $user_name; |
572 | 575 | |
573 | | - return $this->authenticate('CreateUser', $opt, $this->hostname); |
| 576 | + return $this->authenticate('GetAccountSummary', $opt, $this->hostname); |
574 | 577 | } |
575 | 578 | |
576 | 579 | /** |
| 580 | + * Returns a list of users that are in the specified group. You can paginate the results using the |
| 581 | + * <code>MaxItems</code> and <code>Marker</code> parameters. |
577 | 582 | * |
578 | | - * Deletes the specified signing certificate associated with the specified User. |
579 | | - * |
580 | | - * If you do not specify a User name, IAM determines the User name implicitly based on the AWS Access Key ID signing the request. Because this |
581 | | - * action works for access keys under the AWS Account, you can use this API to manage root credentials even if the AWS Account has no |
582 | | - * associated Users. |
583 | | - * |
584 | | - * @param string $certificate_id (Required) ID of the signing certificate to delete. |
| 583 | + * @param string $group_name (Required) Name of the group. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
585 | 584 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
586 | | - * <li><code>UserName</code> - <code>string</code> - Optional - Name of the User the signing certificate belongs to. </li> |
| 585 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 586 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of user names you want in the response. If there are additional user names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
587 | 587 | * <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> |
588 | 588 | * <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> |
589 | 589 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
590 | 590 | */ |
591 | | - public function delete_signing_certificate($certificate_id, $opt = null) |
| 591 | + public function get_group($group_name, $opt = null) |
592 | 592 | { |
593 | 593 | if (!$opt) $opt = array(); |
594 | | - $opt['CertificateId'] = $certificate_id; |
| 594 | + $opt['GroupName'] = $group_name; |
595 | 595 | |
596 | | - return $this->authenticate('DeleteSigningCertificate', $opt, $this->hostname); |
| 596 | + return $this->authenticate('GetGroup', $opt, $this->hostname); |
597 | 597 | } |
598 | 598 | |
599 | 599 | /** |
| 600 | + * Retrieves the specified policy document for the specified group. The returned policy is |
| 601 | + * URL-encoded according to RFC 3986. For more information about RFC 3986, go to <a href= |
| 602 | + * "http://www.faqs.org/rfcs/rfc3986.html">http://www.faqs.org/rfcs/rfc3986.html</a>. |
600 | 603 | * |
601 | | - * Enables the specified MFA device and associates it with the specified User name. When enabled, the MFA device is required for every |
602 | | - * subsequent login by the User name associated with the device. |
603 | | - * |
604 | | - * @param string $user_name (Required) Name of the User for whom you want to enable the MFA device. |
605 | | - * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. |
606 | | - * @param string $authentication_code1 (Required) An authentication code emitted by the device. |
607 | | - * @param string $authentication_code2 (Required) A subsequent authentication code emitted by the device. |
| 604 | + * @param string $group_name (Required) Name of the group the policy is associated with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 605 | + * @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>] |
608 | 606 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
609 | 607 | * <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> |
610 | 608 | * <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> |
611 | 609 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
612 | 610 | */ |
613 | | - public function enable_mfa_device($user_name, $serial_number, $authentication_code1, $authentication_code2, $opt = null) |
| 611 | + public function get_group_policy($group_name, $policy_name, $opt = null) |
614 | 612 | { |
615 | 613 | if (!$opt) $opt = array(); |
616 | | - $opt['UserName'] = $user_name; |
617 | | - $opt['SerialNumber'] = $serial_number; |
618 | | - $opt['AuthenticationCode1'] = $authentication_code1; |
619 | | - $opt['AuthenticationCode2'] = $authentication_code2; |
| 614 | + $opt['GroupName'] = $group_name; |
| 615 | + $opt['PolicyName'] = $policy_name; |
620 | 616 | |
621 | | - return $this->authenticate('EnableMFADevice', $opt, $this->hostname); |
| 617 | + return $this->authenticate('GetGroupPolicy', $opt, $this->hostname); |
622 | 618 | } |
623 | 619 | |
624 | 620 | /** |
| 621 | + * Retrieves the login profile for the specified user. |
625 | 622 | * |
626 | | - * Lists the names of the policies associated with the specified User. If there are none, the action returns an empty list. |
627 | | - * |
628 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
629 | | - * |
630 | | - * @param string $user_name (Required) The name of the User to list policies for. |
| 623 | + * @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>] |
631 | 624 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
632 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
633 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
634 | 625 | * <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> |
635 | 626 | * <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> |
636 | 627 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
637 | 628 | */ |
638 | | - public function list_user_policies($user_name, $opt = null) |
| 629 | + public function get_login_profile($user_name, $opt = null) |
639 | 630 | { |
640 | 631 | if (!$opt) $opt = array(); |
641 | 632 | $opt['UserName'] = $user_name; |
642 | 633 | |
643 | | - return $this->authenticate('ListUserPolicies', $opt, $this->hostname); |
| 634 | + return $this->authenticate('GetLoginProfile', $opt, $this->hostname); |
644 | 635 | } |
645 | 636 | |
646 | 637 | /** |
| 638 | + * Retrieves information about the specified server certificate. |
647 | 639 | * |
648 | | - * Returns information about the Access Key IDs associated with the specified User. If there are none, the action returns an empty list. |
649 | | - * |
650 | | - * Although each User is limited to a small number of keys, you can still paginate the results using the <code>MaxItems</code> and |
651 | | - * <code>Marker</code> parameters. |
652 | | - * |
653 | | - * If the <code>UserName</code> field is not specified, the UserName is determined implicitly based on the AWS Access Key ID used to sign the |
654 | | - * request. Because this action works for access keys under the AWS Account, this API can be used to manage root credentials even if the AWS |
655 | | - * Account has no associated Users. |
656 | | - * |
657 | | - * To ensure the security of your AWS Account, the secret access key is accessible only during key and User creation. |
658 | | - * |
| 640 | + * @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>] |
659 | 641 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
660 | | - * <li><code>UserName</code> - <code>string</code> - Optional - Name of the User. </li> |
661 | | - * <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. </li> |
662 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this parameter only when paginating results to indicate the maximum number of keys you want in the response. If there are additional keys beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
663 | 642 | * <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> |
664 | 643 | * <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> |
665 | 644 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
666 | 645 | */ |
667 | | - public function list_access_keys($opt = null) |
| 646 | + public function get_server_certificate($server_certificate_name, $opt = null) |
668 | 647 | { |
669 | 648 | if (!$opt) $opt = array(); |
| 649 | + $opt['ServerCertificateName'] = $server_certificate_name; |
670 | 650 | |
671 | | - return $this->authenticate('ListAccessKeys', $opt, $this->hostname); |
| 651 | + return $this->authenticate('GetServerCertificate', $opt, $this->hostname); |
672 | 652 | } |
673 | 653 | |
674 | 654 | /** |
| 655 | + * Retrieves information about the specified user, including the user's path, GUID, and ARN. |
675 | 656 | * |
676 | | - * Retrieves the login profile for the specified User. |
| 657 | + * If you do not specify a user name, IAM determines the user name implicitly based on the AWS |
| 658 | + * Access Key ID signing the request. |
677 | 659 | * |
678 | | - * @param string $user_name (Required) Name of the User whose login profile you want to retrieve. |
679 | 660 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 661 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user to get information about. This parameter is optional. If it is not included, it defaults to the user making the request. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
680 | 662 | * <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> |
681 | 663 | * <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> |
682 | 664 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
683 | 665 | */ |
684 | | - public function get_login_profile($user_name, $opt = null) |
| 666 | + public function get_user($opt = null) |
685 | 667 | { |
686 | 668 | if (!$opt) $opt = array(); |
687 | | - $opt['UserName'] = $user_name; |
688 | 669 | |
689 | | - return $this->authenticate('GetLoginProfile', $opt, $this->hostname); |
| 670 | + return $this->authenticate('GetUser', $opt, $this->hostname); |
690 | 671 | } |
691 | 672 | |
692 | 673 | /** |
| 674 | + * Retrieves the specified policy document for the specified user. The returned policy is |
| 675 | + * URL-encoded according to RFC 3986. For more information about RFC 3986, go to <a href= |
| 676 | + * "http://www.faqs.org/rfcs/rfc3986.html">http://www.faqs.org/rfcs/rfc3986.html</a>. |
693 | 677 | * |
694 | | - * Lists the groups the specified User belongs to. |
695 | | - * |
696 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
697 | | - * |
698 | | - * @param string $user_name (Required) The name of the User to list groups for. |
| 678 | + * @param string $user_name (Required) Name of the user 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>] |
| 679 | + * @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>] |
699 | 680 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
700 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
701 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
702 | 681 | * <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> |
703 | 682 | * <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> |
704 | 683 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
705 | 684 | */ |
706 | | - public function list_groups_for_user($user_name, $opt = null) |
| 685 | + public function get_user_policy($user_name, $policy_name, $opt = null) |
707 | 686 | { |
708 | 687 | if (!$opt) $opt = array(); |
709 | 688 | $opt['UserName'] = $user_name; |
| 689 | + $opt['PolicyName'] = $policy_name; |
710 | 690 | |
711 | | - return $this->authenticate('ListGroupsForUser', $opt, $this->hostname); |
| 691 | + return $this->authenticate('GetUserPolicy', $opt, $this->hostname); |
712 | 692 | } |
713 | 693 | |
714 | 694 | /** |
| 695 | + * Returns information about the Access Key IDs associated with the specified user. If there are |
| 696 | + * none, the action returns an empty list. |
715 | 697 | * |
716 | | - * Creates a new group. |
| 698 | + * Although each user is limited to a small number of keys, you can still paginate the results |
| 699 | + * using the <code>MaxItems</code> and <code>Marker</code> parameters. |
717 | 700 | * |
718 | | - * For information about the number of groups you can create, see <a |
719 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html">Limitations on IAM Entities</a> in |
720 | | - * <i>Using AWS Identity and Access Management</i>. |
| 701 | + * If the <code>UserName</code> field is not specified, the UserName is determined implicitly |
| 702 | + * based on the AWS Access Key ID used to sign the request. Because this action works for access |
| 703 | + * keys under the AWS account, this API can be used to manage root credentials even if the AWS |
| 704 | + * account has no associated users. |
721 | 705 | * |
722 | | - * @param string $group_name (Required) Name of the group to create. Do not include the path in this value. |
| 706 | + * <p class="note"> |
| 707 | + * To ensure the security of your AWS account, the secret access key is accessible only during key |
| 708 | + * and user creation. |
| 709 | + * </p> |
| 710 | + * |
723 | 711 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
724 | | - * <li><code>Path</code> - <code>string</code> - Optional - The path to the group. For more information about paths, see Identifiers for IAM Entities in <i>Using AWS Identity and Access Management</i>. This parameter is optional. If it is not included, it defaults to a slash (/). </li> |
| 712 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
| 713 | + * <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> |
| 714 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this parameter only when paginating results to indicate the maximum number of keys you want in the response. If there are additional keys beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
725 | 715 | * <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> |
726 | 716 | * <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> |
727 | 717 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
728 | 718 | */ |
729 | | - public function create_group($group_name, $opt = null) |
| 719 | + public function list_access_keys($opt = null) |
730 | 720 | { |
731 | 721 | if (!$opt) $opt = array(); |
732 | | - $opt['GroupName'] = $group_name; |
733 | 722 | |
734 | | - return $this->authenticate('CreateGroup', $opt, $this->hostname); |
| 723 | + return $this->authenticate('ListAccessKeys', $opt, $this->hostname); |
735 | 724 | } |
736 | 725 | |
737 | 726 | /** |
| 727 | + * Lists the account aliases associated with the account. For information about using an AWS |
| 728 | + * account alias, see <a href= |
| 729 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccountAlias.html" target= |
| 730 | + * "_blank">Using an Alias for Your AWS Account ID</a> in <em>Using AWS Identity and Access |
| 731 | + * Management</em>. |
738 | 732 | * |
739 | | - * Uploads a server certificate entity for the AWS Account. The server certificate entity includes a public key certificate, a private key, and |
740 | | - * an optional certificate chain, which should all be PEM-encoded. |
| 733 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 734 | + * parameters. |
741 | 735 | * |
742 | | - * For information about the number of server certificates you can upload, see <a |
743 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html">Limitations on IAM Entities</a> in |
744 | | - * <i>Using AWS Identity and Access Management</i>. |
745 | | - * |
746 | | - * Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET |
747 | | - * when calling <code>UploadServerCertificate</code>. For more information, see <a |
748 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html">Making Query Requests</a> in <i>Using AWS Identity and |
749 | | - * Access Management</i>. |
750 | | - * |
751 | | - * @param string $server_certificate_name (Required) The name for the server certificate. Do not include the path in this value. |
752 | | - * @param string $certificate_body (Required) The contents of the public key certificate in PEM-encoded format. |
753 | | - * @param string $private_key (Required) The contents of the private key in PEM-encoded format. |
754 | 736 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
755 | | - * <li><code>Path</code> - <code>string</code> - Optional - The path for the server certificate. For more information about paths, see Identifiers for IAM Entities in <i>Using AWS Identity and Access Management</i>. This parameter is optional. If it is not included, it defaults to a slash (/). </li> |
756 | | - * <li><code>CertificateChain</code> - <code>string</code> - Optional - The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain. </li> |
| 737 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 738 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of account aliases you want in the response. If there are additional account aliases beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
757 | 739 | * <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> |
758 | 740 | * <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> |
759 | 741 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
760 | 742 | */ |
761 | | - public function upload_server_certificate($server_certificate_name, $certificate_body, $private_key, $opt = null) |
| 743 | + public function list_account_aliases($opt = null) |
762 | 744 | { |
763 | 745 | if (!$opt) $opt = array(); |
764 | | - $opt['ServerCertificateName'] = $server_certificate_name; |
765 | | - $opt['CertificateBody'] = $certificate_body; |
766 | | - $opt['PrivateKey'] = $private_key; |
767 | 746 | |
768 | | - return $this->authenticate('UploadServerCertificate', $opt, $this->hostname); |
| 747 | + return $this->authenticate('ListAccountAliases', $opt, $this->hostname); |
769 | 748 | } |
770 | 749 | |
771 | 750 | /** |
| 751 | + * Lists the names of the policies associated with the specified group. If there are none, the |
| 752 | + * action returns an empty list. |
772 | 753 | * |
773 | | - * This action creates an alias for your AWS Account. For information about using an AWS Account alias, see <a |
774 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccountAlias.html">Using an Alias for Your AWS Account ID</a> in <i>Using AWS |
775 | | - * Identity and Access Management</i>. |
| 754 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 755 | + * parameters. |
776 | 756 | * |
777 | | - * @param string $account_alias (Required) Name of the account alias to create |
| 757 | + * @param string $group_name (Required) The name of the group to list policies for. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
778 | 758 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 759 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 760 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
779 | 761 | * <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> |
780 | 762 | * <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> |
781 | 763 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
782 | 764 | */ |
783 | | - public function create_account_alias($account_alias, $opt = null) |
| 765 | + public function list_group_policies($group_name, $opt = null) |
784 | 766 | { |
785 | 767 | if (!$opt) $opt = array(); |
786 | | - $opt['AccountAlias'] = $account_alias; |
| 768 | + $opt['GroupName'] = $group_name; |
787 | 769 | |
788 | | - return $this->authenticate('CreateAccountAlias', $opt, $this->hostname); |
| 770 | + return $this->authenticate('ListGroupPolicies', $opt, $this->hostname); |
789 | 771 | } |
790 | 772 | |
791 | 773 | /** |
| 774 | + * Lists the groups that have the specified path prefix. |
792 | 775 | * |
793 | | - * Retrieves the specified policy document for the specified group. The returned policy is URL-encoded according to RFC 3986. For more |
794 | | - * information about RFC 3986, go to <a href="http://www.faqs.org/rfcs/rfc3986.html">http://www.faqs.org/rfcs/rfc3986.html</a>. |
| 776 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 777 | + * parameters. |
795 | 778 | * |
796 | | - * @param string $group_name (Required) Name of the group the policy is associated with. |
797 | | - * @param string $policy_name (Required) Name of the policy document to get. |
798 | 779 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 780 | + * <li><code>PathPrefix</code> - <code>string</code> - Optional - The path prefix for filtering the results. For example: <code>/division_abc/subdivision_xyz/</code>, which would get all groups whose path starts with <code>/division_abc/subdivision_xyz/</code>. This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: <code>\u002F[\u0021-\u007F]*</code>]</li> |
| 781 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 782 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
799 | 783 | * <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> |
800 | 784 | * <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> |
801 | 785 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
802 | 786 | */ |
803 | | - public function get_group_policy($group_name, $policy_name, $opt = null) |
| 787 | + public function list_groups($opt = null) |
804 | 788 | { |
805 | 789 | if (!$opt) $opt = array(); |
806 | | - $opt['GroupName'] = $group_name; |
807 | | - $opt['PolicyName'] = $policy_name; |
808 | 790 | |
809 | | - return $this->authenticate('GetGroupPolicy', $opt, $this->hostname); |
| 791 | + return $this->authenticate('ListGroups', $opt, $this->hostname); |
810 | 792 | } |
811 | 793 | |
812 | 794 | /** |
| 795 | + * Lists the groups the specified user belongs to. |
813 | 796 | * |
814 | | - * Deletes the specified User. The User must not belong to any groups, have any keys or signing certificates, or have any attached policies. |
| 797 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 798 | + * parameters. |
815 | 799 | * |
816 | | - * @param string $user_name (Required) Name of the User to delete. |
| 800 | + * @param string $user_name (Required) The name of the user to list groups for. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
817 | 801 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 802 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 803 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of groups you want in the response. If there are additional groups beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
818 | 804 | * <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> |
819 | 805 | * <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> |
820 | 806 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
821 | 807 | */ |
822 | | - public function delete_user($user_name, $opt = null) |
| 808 | + public function list_groups_for_user($user_name, $opt = null) |
823 | 809 | { |
824 | 810 | if (!$opt) $opt = array(); |
825 | 811 | $opt['UserName'] = $user_name; |
826 | 812 | |
827 | | - return $this->authenticate('DeleteUser', $opt, $this->hostname); |
| 813 | + return $this->authenticate('ListGroupsForUser', $opt, $this->hostname); |
828 | 814 | } |
829 | 815 | |
830 | 816 | /** |
| 817 | + * Lists the MFA devices. If the request includes the user name, then this action lists all the |
| 818 | + * MFA devices associated with the specified user name. If you do not specify a user name, IAM |
| 819 | + * determines the user name implicitly based on the AWS Access Key ID signing the request. |
831 | 820 | * |
832 | | - * Deactivates the specified MFA device and removes it from association with the User name for which it was originally enabled. |
| 821 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 822 | + * parameters. |
833 | 823 | * |
834 | | - * @param string $user_name (Required) Name of the User whose MFA device you want to deactivate. |
835 | | - * @param string $serial_number (Required) The serial number that uniquely identifies the MFA device. |
836 | 824 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 825 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user whose MFA devices you want to list. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
| 826 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 827 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of MFA devices you want in the response. If there are additional MFA devices beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
837 | 828 | * <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> |
838 | 829 | * <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> |
839 | 830 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
840 | 831 | */ |
841 | | - public function deactivate_mfa_device($user_name, $serial_number, $opt = null) |
| 832 | + public function list_mfa_devices($opt = null) |
842 | 833 | { |
843 | 834 | if (!$opt) $opt = array(); |
844 | | - $opt['UserName'] = $user_name; |
845 | | - $opt['SerialNumber'] = $serial_number; |
846 | 835 | |
847 | | - return $this->authenticate('DeactivateMFADevice', $opt, $this->hostname); |
| 836 | + return $this->authenticate('ListMFADevices', $opt, $this->hostname); |
848 | 837 | } |
849 | 838 | |
850 | 839 | /** |
| 840 | + * Lists the server certificates that have the specified path prefix. If none exist, the action |
| 841 | + * returns an empty list. |
851 | 842 | * |
852 | | - * Removes the specified User from the specified group. |
| 843 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 844 | + * parameters. |
853 | 845 | * |
854 | | - * @param string $group_name (Required) Name of the group to update. |
855 | | - * @param string $user_name (Required) Name of the User to remove. |
856 | 846 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 847 | + * <li><code>PathPrefix</code> - <code>string</code> - Optional - The path prefix for filtering the results. For example: <code>/company/servercerts</code> would get all server certificates for which the path starts with <code>/company/servercerts</code>. This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: <code>\u002F[\u0021-\u007F]*</code>]</li> |
| 848 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 849 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of server certificates you want in the response. If there are additional server certificates beyond the maximum you specify, the <code>IsTruncated</code> response element will be set to <code>true</code>.</li> |
857 | 850 | * <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> |
858 | 851 | * <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> |
859 | 852 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
860 | 853 | */ |
861 | | - public function remove_user_from_group($group_name, $user_name, $opt = null) |
| 854 | + public function list_server_certificates($opt = null) |
862 | 855 | { |
863 | 856 | if (!$opt) $opt = array(); |
864 | | - $opt['GroupName'] = $group_name; |
865 | | - $opt['UserName'] = $user_name; |
866 | 857 | |
867 | | - return $this->authenticate('RemoveUserFromGroup', $opt, $this->hostname); |
| 858 | + return $this->authenticate('ListServerCertificates', $opt, $this->hostname); |
868 | 859 | } |
869 | 860 | |
870 | 861 | /** |
| 862 | + * Returns information about the signing certificates associated with the specified user. If there |
| 863 | + * are none, the action returns an empty list. |
871 | 864 | * |
872 | | - * Deletes the specified server certificate. |
| 865 | + * Although each user is limited to a small number of signing certificates, you can still paginate |
| 866 | + * the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
873 | 867 | * |
874 | | - * If your Elastic Load Balancing instances are using a server certificate, deleting the certificate could have implications for your |
875 | | - * application. If your Elastic Load Balancing instances do not detect the deletion of bound certificates, they may continue to use the |
876 | | - * certificates. This could cause them to stop accepting traffic. We recommend that you remove the reference to the certificate from your |
877 | | - * Elastic Load Balancing instances before using this command to delete the certificate. |
| 868 | + * If the <code>UserName</code> field is not specified, the user name is determined implicitly |
| 869 | + * based on the AWS Access Key ID used to sign the request. Because this action works for access |
| 870 | + * keys under the AWS account, this API can be used to manage root credentials even if the AWS |
| 871 | + * account has no associated users. |
878 | 872 | * |
879 | | - * @param string $server_certificate_name (Required) The name of the server certificate you want to delete. |
880 | 873 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 874 | + * <li><code>UserName</code> - <code>string</code> - Optional - The name of the user. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
| 875 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 876 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of certificate IDs you want in the response. If there are additional certificate IDs beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
881 | 877 | * <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> |
882 | 878 | * <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> |
883 | 879 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
884 | 880 | */ |
885 | | - public function delete_server_certificate($server_certificate_name, $opt = null) |
| 881 | + public function list_signing_certificates($opt = null) |
886 | 882 | { |
887 | 883 | if (!$opt) $opt = array(); |
888 | | - $opt['ServerCertificateName'] = $server_certificate_name; |
889 | 884 | |
890 | | - return $this->authenticate('DeleteServerCertificate', $opt, $this->hostname); |
| 885 | + return $this->authenticate('ListSigningCertificates', $opt, $this->hostname); |
891 | 886 | } |
892 | 887 | |
893 | 888 | /** |
| 889 | + * Lists the names of the policies associated with the specified user. If there are none, the |
| 890 | + * action returns an empty list. |
894 | 891 | * |
895 | | - * Lists the names of the policies associated with the specified group. If there are none, the action returns an empty list. |
| 892 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 893 | + * parameters. |
896 | 894 | * |
897 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
898 | | - * |
899 | | - * @param string $group_name (Required) The name of the group to list policies for. |
| 895 | + * @param string $user_name (Required) The name of the user to list policies for. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
900 | 896 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
901 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
902 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
| 897 | + * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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> |
| 898 | + * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of policy names you want in the response. If there are additional policy names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
903 | 899 | * <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> |
904 | 900 | * <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> |
905 | 901 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
906 | 902 | */ |
907 | | - public function list_group_policies($group_name, $opt = null) |
| 903 | + public function list_user_policies($user_name, $opt = null) |
908 | 904 | { |
909 | 905 | if (!$opt) $opt = array(); |
910 | | - $opt['GroupName'] = $group_name; |
| 906 | + $opt['UserName'] = $user_name; |
911 | 907 | |
912 | | - return $this->authenticate('ListGroupPolicies', $opt, $this->hostname); |
| 908 | + return $this->authenticate('ListUserPolicies', $opt, $this->hostname); |
913 | 909 | } |
914 | 910 | |
915 | 911 | /** |
| 912 | + * Lists the users that have the specified path prefix. If there are none, the action returns an |
| 913 | + * empty list. |
916 | 914 | * |
917 | | - * Creates a login profile for the specified User, giving the User the ability to access AWS services such as the AWS Management Console. For |
918 | | - * more information about login profiles, see <a |
919 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_ManagingLoginsAndMFA.html">Managing Login Profiles and MFA |
920 | | - * Devices</a> in <i>Using AWS Identity and Access Management</i>. |
| 915 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 916 | + * parameters. |
921 | 917 | * |
922 | | - * @param string $user_name (Required) Name of the User to create a login profile for. |
923 | | - * @param string $password (Required) The new password for the User name. |
924 | 918 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 919 | + * <li><code>PathPrefix</code> - <code>string</code> - Optional - The path prefix for filtering the results. For example: <code>/division_abc/subdivision_xyz/</code>, which would get all user names whose path starts with <code>/division_abc/subdivision_xyz/</code>. This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. [Constraints: The value must be between 1 and 512 characters, and must match the following regular expression pattern: <code>\u002F[\u0021-\u007F]*</code>]</li> |
| 920 | + * <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> |
| 921 | + * <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 response. If there are additional user names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
925 | 922 | * <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> |
926 | 923 | * <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> |
927 | 924 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
928 | 925 | */ |
929 | | - public function create_login_profile($user_name, $password, $opt = null) |
| 926 | + public function list_users($opt = null) |
930 | 927 | { |
931 | 928 | if (!$opt) $opt = array(); |
932 | | - $opt['UserName'] = $user_name; |
933 | | - $opt['Password'] = $password; |
934 | 929 | |
935 | | - return $this->authenticate('CreateLoginProfile', $opt, $this->hostname); |
| 930 | + return $this->authenticate('ListUsers', $opt, $this->hostname); |
936 | 931 | } |
937 | 932 | |
938 | 933 | /** |
| 934 | + * Lists the virtual MFA devices under the AWS account by assignment status. If you do not specify |
| 935 | + * an assignment status, the action returns a list of all virtual MFA devices. Assignment status |
| 936 | + * can be <code>Assigned</code>, <code>Unassigned</code>, or <code>Any</code>. |
939 | 937 | * |
940 | | - * Creates a new AWS Secret Access Key and corresponding AWS Access Key ID for the specified User. The default status for new keys is |
941 | | - * <code>Active</code>. |
| 938 | + * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> |
| 939 | + * parameters. |
942 | 940 | * |
943 | | - * If you do not specify a User name, IAM determines the User name implicitly based on the AWS Access Key ID signing the request. Because this |
944 | | - * action works for access keys under the AWS Account, you can use this API to manage root credentials even if the AWS Account has no |
945 | | - * associated Users. |
| 941 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 942 | + * <li><code>AssignmentStatus</code> - <code>string</code> - Optional - The status (unassigned or assigned) of the devices to list. If you do not specify an <code>AssignmentStatus</code>, the action defaults to <code>Any</code> which lists both assigned and unassigned virtual MFA devices. [Allowed values: <code>Assigned</code>, <code>Unassigned</code>, <code>Any</code>]</li> |
| 943 | + * <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> |
| 944 | + * <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 response. If there are additional user names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>.</li> |
| 945 | + * <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> |
| 946 | + * <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> |
| 947 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 948 | + */ |
| 949 | + public function list_virtual_mfa_devices($opt = null) |
| 950 | + { |
| 951 | + if (!$opt) $opt = array(); |
| 952 | + |
| 953 | + return $this->authenticate('ListVirtualMFADevices', $opt, $this->hostname); |
| 954 | + } |
| 955 | + |
| 956 | + /** |
| 957 | + * Adds (or updates) a policy document associated with the specified group. For information about |
| 958 | + * policies, refer to <a href= |
| 959 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?PoliciesOverview.html" |
| 960 | + * target="_blank">Overview of Policies</a> in <em>Using AWS Identity and Access Management</em>. |
946 | 961 | * |
947 | | - * For information about limits on the number of keys you can create, see <a |
948 | | - * href="http://docs.amazonwebservices.com/IAM/2010-05-08/UserGuide/index.html?LimitationsOnEntities.html">Limitations on IAM Entities</a> in |
949 | | - * <i>Using AWS Identity and Access Management</i>. |
| 962 | + * For information about limits on the number of policies you can associate with a group, see |
| 963 | + * <a href= |
| 964 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 965 | + * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access |
| 966 | + * Management</em>. |
950 | 967 | * |
951 | | - * To ensure the security of your AWS Account, the Secret Access Key is accessible only during key and User creation. You must save the key |
952 | | - * (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the |
953 | | - * associated User and then create new keys. |
| 968 | + * <p class="note"> |
| 969 | + * Because policy documents can be large, you should use POST rather than GET when calling |
| 970 | + * <code>PutGroupPolicy</code>. For more information, see <a href= |
| 971 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?IAM_UsingQueryAPI.html" |
| 972 | + * target="_blank">Making Query Requests</a> in <em>Using AWS Identity and Access Management</em>. |
| 973 | + * </p> |
954 | 974 | * |
| 975 | + * @param string $group_name (Required) Name of the group to associate the policy with. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 976 | + * @param string $policy_name (Required) Name of the policy document. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 977 | + * @param string $policy_document (Required) The policy document. [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>] |
955 | 978 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
956 | | - * <li><code>UserName</code> - <code>string</code> - Optional - The User name that the new key will belong to. </li> |
957 | 979 | * <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> |
958 | 980 | * <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> |
959 | 981 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
960 | 982 | */ |
961 | | - public function create_access_key($opt = null) |
| 983 | + public function put_group_policy($group_name, $policy_name, $policy_document, $opt = null) |
962 | 984 | { |
963 | 985 | if (!$opt) $opt = array(); |
| 986 | + $opt['GroupName'] = $group_name; |
| 987 | + $opt['PolicyName'] = $policy_name; |
| 988 | + $opt['PolicyDocument'] = $policy_document; |
964 | 989 | |
965 | | - return $this->authenticate('CreateAccessKey', $opt, $this->hostname); |
| 990 | + return $this->authenticate('PutGroupPolicy', $opt, $this->hostname); |
966 | 991 | } |
967 | 992 | |
968 | 993 | /** |
| 994 | + * Adds (or updates) a policy document associated with the specified user. For information about |
| 995 | + * policies, refer to <a href= |
| 996 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?PoliciesOverview.html" |
| 997 | + * target="_blank">Overview of Policies</a> in <em>Using AWS Identity and Access Management</em>. |
969 | 998 | * |
970 | | - * Retrieves information about the specified User, including the User's path, GUID, and ARN. |
| 999 | + * For information about limits on the number of policies you can associate with a user, see |
| 1000 | + * <a href= |
| 1001 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 1002 | + * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access |
| 1003 | + * Management</em>. |
971 | 1004 | * |
972 | | - * If you do not specify a User name, IAM determines the User name implicitly based on the AWS Access Key ID signing the request. |
| 1005 | + * <p class="note"> |
| 1006 | + * Because policy documents can be large, you should use POST rather than GET when calling |
| 1007 | + * <code>PutUserPolicy</code>. For more information, see <a href= |
| 1008 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?IAM_UsingQueryAPI.html" |
| 1009 | + * target="_blank">Making Query Requests</a> in <em>Using AWS Identity and Access Management</em>. |
| 1010 | + * </p> |
973 | 1011 | * |
| 1012 | + * @param string $user_name (Required) Name of the user to associate the policy with. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 1013 | + * @param string $policy_name (Required) Name of the policy document. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 1014 | + * @param string $policy_document (Required) The policy document. [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>] |
974 | 1015 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
975 | | - * <li><code>UserName</code> - <code>string</code> - Optional - Name of the User to get information about. This parameter is optional. If it is not included, it defaults to the User making the request. </li> |
976 | 1016 | * <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> |
977 | 1017 | * <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> |
978 | 1018 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
979 | 1019 | */ |
980 | | - public function get_user($opt = null) |
| 1020 | + public function put_user_policy($user_name, $policy_name, $policy_document, $opt = null) |
981 | 1021 | { |
982 | 1022 | if (!$opt) $opt = array(); |
| 1023 | + $opt['UserName'] = $user_name; |
| 1024 | + $opt['PolicyName'] = $policy_name; |
| 1025 | + $opt['PolicyDocument'] = $policy_document; |
983 | 1026 | |
984 | | - return $this->authenticate('GetUser', $opt, $this->hostname); |
| 1027 | + return $this->authenticate('PutUserPolicy', $opt, $this->hostname); |
985 | 1028 | } |
986 | 1029 | |
987 | 1030 | /** |
| 1031 | + * Removes the specified user from the specified group. |
988 | 1032 | * |
| 1033 | + * @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>] |
| 1034 | + * @param string $user_name (Required) Name of the user to remove. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 1035 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 1036 | + * <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> |
| 1037 | + * <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> |
| 1038 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 1039 | + */ |
| 1040 | + public function remove_user_from_group($group_name, $user_name, $opt = null) |
| 1041 | + { |
| 1042 | + if (!$opt) $opt = array(); |
| 1043 | + $opt['GroupName'] = $group_name; |
| 1044 | + $opt['UserName'] = $user_name; |
| 1045 | + |
| 1046 | + return $this->authenticate('RemoveUserFromGroup', $opt, $this->hostname); |
| 1047 | + } |
| 1048 | + |
| 1049 | + /** |
989 | 1050 | * Synchronizes the specified MFA device with AWS servers. |
990 | 1051 | * |
991 | | - * @param string $user_name (Required) Name of the User whose MFA device you want to resynchronize. |
992 | | - * @param string $serial_number (Required) Serial number that uniquely identifies the MFA device. |
993 | | - * @param string $authentication_code1 (Required) An authentication code emitted by the device. |
994 | | - * @param string $authentication_code2 (Required) A subsequent authentication code emitted by the device. |
| 1052 | + * @param string $user_name (Required) Name of the user whose MFA device you want to resynchronize. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 1053 | + * @param string $serial_number (Required) Serial number that uniquely identifies the MFA device. [Constraints: The value must be between 9 and 256 characters, and must match the following regular expression pattern: <code>[\w+=/:,.@-]*</code>] |
| 1054 | + * @param string $authentication_code1 (Required) An authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: <code>[\d]*</code>] |
| 1055 | + * @param string $authentication_code2 (Required) A subsequent authentication code emitted by the device. [Constraints: The value must be between 6 and 6 characters, and must match the following regular expression pattern: <code>[\d]*</code>] |
995 | 1056 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
996 | 1057 | * <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> |
997 | 1058 | * <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> |
— | — | @@ -1008,156 +1069,257 @@ |
1009 | 1070 | } |
1010 | 1071 | |
1011 | 1072 | /** |
| 1073 | + * Changes the status of the specified access key from Active to Inactive, or vice versa. This |
| 1074 | + * action can be used to disable a user's key as part of a key rotation work flow. |
1012 | 1075 | * |
1013 | | - * Lists the MFA devices associated with the specified User name. |
| 1076 | + * If the <code>UserName</code> field is not specified, the UserName is determined implicitly |
| 1077 | + * based on the AWS Access Key ID used to sign the request. Because this action works for access |
| 1078 | + * keys under the AWS account, this API can be used to manage root credentials even if the AWS |
| 1079 | + * account has no associated users. |
1014 | 1080 | * |
1015 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
| 1081 | + * For information about rotating keys, see <a href= |
| 1082 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?ManagingCredentials.html" |
| 1083 | + * target="_blank">Managing Keys and Certificates</a> in <em>Using AWS Identity and Access |
| 1084 | + * Management</em>. |
1016 | 1085 | * |
1017 | | - * @param string $user_name (Required) Name of the User whose MFA devices you want to list. |
| 1086 | + * @param string $access_key_id (Required) The Access Key ID of the Secret Access Key you want to update. [Constraints: The value must be between 16 and 32 characters, and must match the following regular expression pattern: <code>[\w]*</code>] |
| 1087 | + * @param string $status (Required) The status you want to assign to the Secret Access Key. <code>Active</code> means the key can be used for API calls to AWS, while <code>Inactive</code> means the key cannot be used. [Allowed values: <code>Active</code>, <code>Inactive</code>] |
1018 | 1088 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
1019 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
1020 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of keys you want in the response. If there are additional keys beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
| 1089 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user whose key you want to update. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
1021 | 1090 | * <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> |
1022 | 1091 | * <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> |
1023 | 1092 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
1024 | 1093 | */ |
1025 | | - public function list_mfa_devices($user_name, $opt = null) |
| 1094 | + public function update_access_key($access_key_id, $status, $opt = null) |
1026 | 1095 | { |
1027 | 1096 | if (!$opt) $opt = array(); |
1028 | | - $opt['UserName'] = $user_name; |
| 1097 | + $opt['AccessKeyId'] = $access_key_id; |
| 1098 | + $opt['Status'] = $status; |
1029 | 1099 | |
1030 | | - return $this->authenticate('ListMFADevices', $opt, $this->hostname); |
| 1100 | + return $this->authenticate('UpdateAccessKey', $opt, $this->hostname); |
1031 | 1101 | } |
1032 | 1102 | |
1033 | 1103 | /** |
| 1104 | + * Updates the name and/or the path of the specified group. |
1034 | 1105 | * |
1035 | | - * Changes the status of the specified access key from Active to Inactive, or vice versa. This action can be used to disable a User's key as |
1036 | | - * part of a key rotation workflow. |
| 1106 | + * <p class="important"> |
| 1107 | + * You should understand the implications of changing a group's path or name. For more |
| 1108 | + * information, see <a href= |
| 1109 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Renaming.html" target= |
| 1110 | + * "_blank">Renaming Users and Groups</a> in <em>Using AWS Identity and Access Management</em>. |
| 1111 | + * </p> |
| 1112 | + * <p class="note"> |
| 1113 | + * To change a group name the requester must have appropriate permissions on both the source |
| 1114 | + * object and the target object. For example, to change Managers to MGRs, the entity making the |
| 1115 | + * request must have permission on Managers and MGRs, or must have permission on all (*). For more |
| 1116 | + * information about permissions, see <a href= |
| 1117 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/PermissionsAndPolicies.html" target= |
| 1118 | + * "blank">Permissions and Policies</a>. |
| 1119 | + * </p> |
1037 | 1120 | * |
1038 | | - * If the <code>UserName</code> field is not specified, the UserName is determined implicitly based on the AWS Access Key ID used to sign the |
1039 | | - * request. Because this action works for access keys under the AWS Account, this API can be used to manage root credentials even if the AWS |
1040 | | - * Account has no associated Users. |
| 1121 | + * @param string $group_name (Required) Name of the group to update. If you're changing the name of the group, this is the original name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 1122 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 1123 | + * <li><code>NewPath</code> - <code>string</code> - Optional - New path for the group. Only include this if changing the group's path. [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> |
| 1124 | + * <li><code>NewGroupName</code> - <code>string</code> - Optional - New name for the group. Only include this if changing the group's name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
| 1125 | + * <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> |
| 1126 | + * <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> |
| 1127 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 1128 | + */ |
| 1129 | + public function update_group($group_name, $opt = null) |
| 1130 | + { |
| 1131 | + if (!$opt) $opt = array(); |
| 1132 | + $opt['GroupName'] = $group_name; |
| 1133 | + |
| 1134 | + return $this->authenticate('UpdateGroup', $opt, $this->hostname); |
| 1135 | + } |
| 1136 | + |
| 1137 | + /** |
| 1138 | + * Updates the login profile for the specified user. Use this API to change the user's password. |
1041 | 1139 | * |
1042 | | - * For information about rotating keys, see <a |
1043 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?ManagingCredentials.html">Managing Keys and Certificates</a> in |
1044 | | - * <i>Using AWS Identity and Access Management</i>. |
1045 | | - * |
1046 | | - * @param string $access_key_id (Required) The Access Key ID of the Secret Access Key you want to update. |
1047 | | - * @param string $status (Required) The status you want to assign to the Secret Access Key. <code>Active</code> means the key can be used for API calls to AWS, while <code>Inactive</code> means the key cannot be used. [Allowed values: <code>Active</code>, <code>Inactive</code>] |
| 1140 | + * @param string $user_name (Required) Name of the user whose login profile you want to update. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
1048 | 1141 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
1049 | | - * <li><code>UserName</code> - <code>string</code> - Optional - Name of the User whose key you want to update. </li> |
| 1142 | + * <li><code>Password</code> - <code>string</code> - Optional - The new password for the user name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</code>]</li> |
1050 | 1143 | * <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> |
1051 | 1144 | * <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> |
1052 | 1145 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
1053 | 1146 | */ |
1054 | | - public function update_access_key($access_key_id, $status, $opt = null) |
| 1147 | + public function update_login_profile($user_name, $opt = null) |
1055 | 1148 | { |
1056 | 1149 | if (!$opt) $opt = array(); |
1057 | | - $opt['AccessKeyId'] = $access_key_id; |
1058 | | - $opt['Status'] = $status; |
| 1150 | + $opt['UserName'] = $user_name; |
1059 | 1151 | |
1060 | | - return $this->authenticate('UpdateAccessKey', $opt, $this->hostname); |
| 1152 | + return $this->authenticate('UpdateLoginProfile', $opt, $this->hostname); |
1061 | 1153 | } |
1062 | 1154 | |
1063 | 1155 | /** |
| 1156 | + * Updates the name and/or the path of the specified server certificate. |
1064 | 1157 | * |
1065 | | - * Retrieves account level information about account entity usage and IAM quotas. |
| 1158 | + * <p class="important"> |
| 1159 | + * You should understand the implications of changing a server certificate's path or name. For |
| 1160 | + * more information, see <a href= |
| 1161 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/ManagingServerCerts.html" target= |
| 1162 | + * "_blank">Managing Server Certificates</a> in <em>Using AWS Identity and Access Management</em>. |
| 1163 | + * </p> |
| 1164 | + * <p class="note"> |
| 1165 | + * To change a server certificate name the requester must have appropriate permissions on both the |
| 1166 | + * source object and the target object. For example, to change the name from ProductionCert to |
| 1167 | + * ProdCert, the entity making the request must have permission on ProductionCert and ProdCert, or |
| 1168 | + * must have permission on all (*). For more information about permissions, see <a href= |
| 1169 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/PermissionsAndPolicies.html" target= |
| 1170 | + * "blank">Permissions and Policies</a>. |
| 1171 | + * </p> |
1066 | 1172 | * |
1067 | | - * For information about limitations on IAM entities, see <a |
1068 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html">Limitations on IAM Entities</a> in |
1069 | | - * <i>Using AWS Identity and Access Management</i>. |
1070 | | - * |
| 1173 | + * @param string $server_certificate_name (Required) The name of the server certificate that you want to update. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
1071 | 1174 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 1175 | + * <li><code>NewPath</code> - <code>string</code> - Optional - The new path for the server certificate. Include this only if you are updating the server certificate's path. [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> |
| 1176 | + * <li><code>NewServerCertificateName</code> - <code>string</code> - Optional - The new name for the server certificate. Include this only if you are updating the server certificate's name. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
1072 | 1177 | * <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> |
1073 | 1178 | * <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> |
1074 | 1179 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
1075 | 1180 | */ |
1076 | | - public function get_account_summary($opt = null) |
| 1181 | + public function update_server_certificate($server_certificate_name, $opt = null) |
1077 | 1182 | { |
1078 | 1183 | if (!$opt) $opt = array(); |
| 1184 | + $opt['ServerCertificateName'] = $server_certificate_name; |
1079 | 1185 | |
1080 | | - return $this->authenticate('GetAccountSummary', $opt, $this->hostname); |
| 1186 | + return $this->authenticate('UpdateServerCertificate', $opt, $this->hostname); |
1081 | 1187 | } |
1082 | 1188 | |
1083 | 1189 | /** |
| 1190 | + * Changes the status of the specified signing certificate from active to disabled, or vice versa. |
| 1191 | + * This action can be used to disable a user's signing certificate as part of a certificate |
| 1192 | + * rotation work flow. |
1084 | 1193 | * |
1085 | | - * Adds the specified User to the specified group. |
| 1194 | + * If the <code>UserName</code> field is not specified, the UserName is determined implicitly |
| 1195 | + * based on the AWS Access Key ID used to sign the request. Because this action works for access |
| 1196 | + * keys under the AWS account, this API can be used to manage root credentials even if the AWS |
| 1197 | + * account has no associated users. |
1086 | 1198 | * |
1087 | | - * @param string $group_name (Required) Name of the group to update. |
1088 | | - * @param string $user_name (Required) Name of the User to add. |
| 1199 | + * For information about rotating certificates, see <a href= |
| 1200 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?ManagingCredentials.html" |
| 1201 | + * target="_blank">Managing Keys and Certificates</a> in <em>Using AWS Identity and Access |
| 1202 | + * Management</em>. |
| 1203 | + * |
| 1204 | + * @param string $certificate_id (Required) The ID of the signing certificate you want to update. [Constraints: The value must be between 24 and 128 characters, and must match the following regular expression pattern: <code>[\w]*</code>] |
| 1205 | + * @param string $status (Required) The status you want to assign to the certificate. <code>Active</code> means the certificate can be used for API calls to AWS, while <code>Inactive</code> means the certificate cannot be used. [Allowed values: <code>Active</code>, <code>Inactive</code>] |
1089 | 1206 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 1207 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user the signing certificate belongs to. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
1090 | 1208 | * <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> |
1091 | 1209 | * <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> |
1092 | 1210 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
1093 | 1211 | */ |
1094 | | - public function add_user_to_group($group_name, $user_name, $opt = null) |
| 1212 | + public function update_signing_certificate($certificate_id, $status, $opt = null) |
1095 | 1213 | { |
1096 | 1214 | if (!$opt) $opt = array(); |
1097 | | - $opt['GroupName'] = $group_name; |
1098 | | - $opt['UserName'] = $user_name; |
| 1215 | + $opt['CertificateId'] = $certificate_id; |
| 1216 | + $opt['Status'] = $status; |
1099 | 1217 | |
1100 | | - return $this->authenticate('AddUserToGroup', $opt, $this->hostname); |
| 1218 | + return $this->authenticate('UpdateSigningCertificate', $opt, $this->hostname); |
1101 | 1219 | } |
1102 | 1220 | |
1103 | 1221 | /** |
| 1222 | + * Updates the name and/or the path of the specified user. |
1104 | 1223 | * |
1105 | | - * Returns a list of Users that are in the specified group. You can paginate the results using the <code>MaxItems</code> and |
1106 | | - * <code>Marker</code> parameters. |
| 1224 | + * <p class="important"> |
| 1225 | + * You should understand the implications of changing a user's path or name. For more information, |
| 1226 | + * see <a href= |
| 1227 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Renaming.html" target= |
| 1228 | + * "_blank">Renaming Users and Groups</a> in <em>Using AWS Identity and Access Management</em>. |
| 1229 | + * </p> |
| 1230 | + * <p class="note"> |
| 1231 | + * To change a user name the requester must have appropriate permissions on both the source object |
| 1232 | + * and the target object. For example, to change Bob to Robert, the entity making the request must |
| 1233 | + * have permission on Bob and Robert, or must have permission on all (*). For more information |
| 1234 | + * about permissions, see <a href= |
| 1235 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/PermissionsAndPolicies.html" target= |
| 1236 | + * "blank">Permissions and Policies</a>. |
| 1237 | + * </p> |
1107 | 1238 | * |
1108 | | - * @param string $group_name (Required) Name of the group. |
| 1239 | + * @param string $user_name (Required) Name of the user to update. If you're changing the name of the user, this is the original user name. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
1109 | 1240 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
1110 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
1111 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of User names you want in the response. If there are additional User names beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
| 1241 | + * <li><code>NewPath</code> - <code>string</code> - Optional - New path for the user. Include this parameter only if you're changing the user's path. [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> |
| 1242 | + * <li><code>NewUserName</code> - <code>string</code> - Optional - New name for the user. Include this parameter only if you're changing the user's name. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
1112 | 1243 | * <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> |
1113 | 1244 | * <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> |
1114 | 1245 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
1115 | 1246 | */ |
1116 | | - public function get_group($group_name, $opt = null) |
| 1247 | + public function update_user($user_name, $opt = null) |
1117 | 1248 | { |
1118 | 1249 | if (!$opt) $opt = array(); |
1119 | | - $opt['GroupName'] = $group_name; |
| 1250 | + $opt['UserName'] = $user_name; |
1120 | 1251 | |
1121 | | - return $this->authenticate('GetGroup', $opt, $this->hostname); |
| 1252 | + return $this->authenticate('UpdateUser', $opt, $this->hostname); |
1122 | 1253 | } |
1123 | 1254 | |
1124 | 1255 | /** |
| 1256 | + * Uploads a server certificate entity for the AWS account. The server certificate entity includes |
| 1257 | + * a public key certificate, a private key, and an optional certificate chain, which should all be |
| 1258 | + * PEM-encoded. |
1125 | 1259 | * |
1126 | | - * Lists the account aliases associated with the account. For information about using an AWS Account alias, see <a |
1127 | | - * href="http://docs.amazonwebservices.com/IAM/latest/UserGuide/AccountAlias.html">Using an Alias for Your AWS Account ID</a> in <i>Using AWS |
1128 | | - * Identity and Access Management</i>. |
| 1260 | + * For information about the number of server certificates you can upload, see <a href= |
| 1261 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?LimitationsOnEntities.html" |
| 1262 | + * target="_blank">Limitations on IAM Entities</a> in <em>Using AWS Identity and Access |
| 1263 | + * Management</em>. |
1129 | 1264 | * |
1130 | | - * You can paginate the results using the <code>MaxItems</code> and <code>Marker</code> parameters. |
| 1265 | + * <p class="note"> |
| 1266 | + * Because the body of the public key certificate, private key, and the certificate chain can be |
| 1267 | + * large, you should use POST rather than GET when calling <code>UploadServerCertificate</code>. |
| 1268 | + * For more information, see <a href= |
| 1269 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/IAM_UsingQueryAPI.html" target= |
| 1270 | + * "_blank">Making Query Requests</a> in <em>Using AWS Identity and Access Management</em>. |
| 1271 | + * </p> |
1131 | 1272 | * |
| 1273 | + * @param string $server_certificate_name (Required) The name for the server certificate. Do not include the path in this value. [Constraints: The value must be between 1 and 128 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>] |
| 1274 | + * @param string $certificate_body (Required) The contents of the public key certificate in PEM-encoded format. [Constraints: The value must be between 1 and 16384 characters, and must match the following regular expression pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</code>] |
| 1275 | + * @param string $private_key (Required) The contents of the private key in PEM-encoded format. [Constraints: The value must be between 1 and 16384 characters, and must match the following regular expression pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]*</code>] |
1132 | 1276 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
1133 | | - * <li><code>Marker</code> - <code>string</code> - Optional - Use this 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. </li> |
1134 | | - * <li><code>MaxItems</code> - <code>integer</code> - Optional - Use this only when paginating results to indicate the maximum number of account aliases you want in the response. If there are additional account aliases beyond the maximum you specify, the <code>IsTruncated</code> response element is <code>true</code>. </li> |
| 1277 | + * <li><code>Path</code> - <code>string</code> - Optional - The path for the server certificate. 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> |
| 1278 | + * <li><code>CertificateChain</code> - <code>string</code> - Optional - The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain. [Constraints: The value must be between 1 and 2097152 characters, and must match the following regular expression pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]*</code>]</li> |
1135 | 1279 | * <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> |
1136 | 1280 | * <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> |
1137 | 1281 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
1138 | 1282 | */ |
1139 | | - public function list_account_aliases($opt = null) |
| 1283 | + public function upload_server_certificate($server_certificate_name, $certificate_body, $private_key, $opt = null) |
1140 | 1284 | { |
1141 | 1285 | if (!$opt) $opt = array(); |
| 1286 | + $opt['ServerCertificateName'] = $server_certificate_name; |
| 1287 | + $opt['CertificateBody'] = $certificate_body; |
| 1288 | + $opt['PrivateKey'] = $private_key; |
1142 | 1289 | |
1143 | | - return $this->authenticate('ListAccountAliases', $opt, $this->hostname); |
| 1290 | + return $this->authenticate('UploadServerCertificate', $opt, $this->hostname); |
1144 | 1291 | } |
1145 | 1292 | |
1146 | 1293 | /** |
| 1294 | + * Uploads an X.509 signing certificate and associates it with the specified user. Some AWS |
| 1295 | + * services use X.509 signing certificates to validate requests that are signed with a |
| 1296 | + * corresponding private key. When you upload the certificate, its default status is |
| 1297 | + * <code>Active</code>. |
1147 | 1298 | * |
1148 | | - * Deletes the specified group. The group must not contain any Users or have any attached policies. |
| 1299 | + * If the <code>UserName</code> field is not specified, the user name is determined implicitly |
| 1300 | + * based on the AWS Access Key ID used to sign the request. Because this action works for access |
| 1301 | + * keys under the AWS account, this API can be used to manage root credentials even if the AWS |
| 1302 | + * account has no associated users. |
1149 | 1303 | * |
1150 | | - * @param string $group_name (Required) Name of the group to delete. |
| 1304 | + * <p class="note"> |
| 1305 | + * Because the body of a X.509 certificate can be large, you should use POST rather than GET when |
| 1306 | + * calling <code>UploadSigningCertificate</code>. For more information, see <a href= |
| 1307 | + * "http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?IAM_UsingQueryAPI.html" |
| 1308 | + * target="_blank">Making Query Requests</a> in <em>Using AWS Identity and Access Management</em>. |
| 1309 | + * </p> |
| 1310 | + * |
| 1311 | + * @param string $certificate_body (Required) The contents of the signing certificate. [Constraints: The value must be between 1 and 16384 characters, and must match the following regular expression pattern: <code>[\u0009\u000A\u000D\u0020-\u00FF]+</code>] |
1151 | 1312 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 1313 | + * <li><code>UserName</code> - <code>string</code> - Optional - Name of the user the signing certificate is for. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: <code>[\w+=,.@-]*</code>]</li> |
1152 | 1314 | * <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> |
1153 | 1315 | * <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> |
1154 | 1316 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
1155 | 1317 | */ |
1156 | | - public function delete_group($group_name, $opt = null) |
| 1318 | + public function upload_signing_certificate($certificate_body, $opt = null) |
1157 | 1319 | { |
1158 | 1320 | if (!$opt) $opt = array(); |
1159 | | - $opt['GroupName'] = $group_name; |
| 1321 | + $opt['CertificateBody'] = $certificate_body; |
1160 | 1322 | |
1161 | | - return $this->authenticate('DeleteGroup', $opt, $this->hostname); |
| 1323 | + return $this->authenticate('UploadSigningCertificate', $opt, $this->hostname); |
1162 | 1324 | } |
1163 | 1325 | } |
1164 | 1326 | |
— | — | @@ -1165,7 +1327,4 @@ |
1166 | 1328 | /*%******************************************************************************************%*/ |
1167 | 1329 | // EXCEPTIONS |
1168 | 1330 | |
1169 | | -/** |
1170 | | - * Default IAM Exception. |
1171 | | - */ |
1172 | | -class IAM_Exception extends Exception {} |
\ No newline at end of file |
| 1331 | +class IAM_Exception extends Exception {} |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/sdb.class.php |
— | — | @@ -44,36 +44,41 @@ |
45 | 45 | // CLASS CONSTANTS |
46 | 46 | |
47 | 47 | /** |
48 | | - * Specify the default queue URL. |
| 48 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
49 | 49 | */ |
50 | | - const DEFAULT_URL = 'sdb.amazonaws.com'; |
| 50 | + const REGION_US_E1 = 'sdb.amazonaws.com'; |
51 | 51 | |
52 | 52 | /** |
53 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 53 | + * Specify the queue URL for the United States West (Northern California) Region. |
54 | 54 | */ |
55 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 55 | + const REGION_US_W1 = 'sdb.us-west-1.amazonaws.com'; |
56 | 56 | |
57 | 57 | /** |
58 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 58 | + * Specify the queue URL for the United States West (Oregon) Region. |
59 | 59 | */ |
60 | | - const REGION_US_W1 = 'sdb.us-west-1.amazonaws.com'; |
| 60 | + const REGION_US_W2 = 'sdb.us-west-2.amazonaws.com'; |
61 | 61 | |
62 | 62 | /** |
63 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 63 | + * Specify the queue URL for the Europe West (Ireland) Region. |
64 | 64 | */ |
65 | 65 | const REGION_EU_W1 = 'sdb.eu-west-1.amazonaws.com'; |
66 | 66 | |
67 | 67 | /** |
68 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 68 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
69 | 69 | */ |
70 | 70 | const REGION_APAC_SE1 = 'sdb.ap-southeast-1.amazonaws.com'; |
71 | 71 | |
72 | 72 | /** |
73 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 73 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
74 | 74 | */ |
75 | 75 | const REGION_APAC_NE1 = 'sdb.ap-northeast-1.amazonaws.com'; |
76 | 76 | |
| 77 | + /** |
| 78 | + * Default service endpoint. |
| 79 | + */ |
| 80 | + const DEFAULT_URL = self::REGION_US_E1; |
77 | 81 | |
| 82 | + |
78 | 83 | /*%******************************************************************************************%*/ |
79 | 84 | // SETTERS |
80 | 85 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/sts.class.php |
— | — | @@ -35,7 +35,7 @@ |
36 | 36 | * We will refer to Amazon AWS Security Token Service using the abbreviated form STS, and to Amazon Identity and Access Management using the |
37 | 37 | * abbreviated form IAM. All copyrights and legal protections still apply. |
38 | 38 | * |
39 | | - * @version Wed Aug 03 10:14:57 PDT 2011 |
| 39 | + * @version Thu Sep 01 21:24:44 PDT 2011 |
40 | 40 | * @license See the included NOTICE.md file for complete information. |
41 | 41 | * @copyright See the included NOTICE.md file for complete information. |
42 | 42 | * @link http://aws.amazon.com/sts/AWS Secure Token Service |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/ec2.class.php |
— | — | @@ -27,7 +27,7 @@ |
28 | 28 | * |
29 | 29 | * Visit <a href="http://aws.amazon.com/ec2/">http://aws.amazon.com/ec2/</a> for more information. |
30 | 30 | * |
31 | | - * @version Wed Aug 03 10:10:05 PDT 2011 |
| 31 | + * @version 2011.12.06 |
32 | 32 | * @license See the included NOTICE.md file for complete information. |
33 | 33 | * @copyright See the included NOTICE.md file for complete information. |
34 | 34 | * @link http://aws.amazon.com/ec2/Amazon Elastic Compute Cloud |
— | — | @@ -40,36 +40,46 @@ |
41 | 41 | // CLASS CONSTANTS |
42 | 42 | |
43 | 43 | /** |
44 | | - * Specify the default queue URL. |
| 44 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
45 | 45 | */ |
46 | | - const DEFAULT_URL = 'ec2.amazonaws.com'; |
| 46 | + const REGION_US_E1 = 'ec2.us-east-1.amazonaws.com'; |
47 | 47 | |
48 | 48 | /** |
49 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 49 | + * Specify the queue URL for the United States West (Northern California) Region. |
50 | 50 | */ |
51 | | - const REGION_US_E1 = 'us-east-1'; |
| 51 | + const REGION_US_W1 = 'ec2.us-west-1.amazonaws.com'; |
52 | 52 | |
53 | 53 | /** |
54 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 54 | + * Specify the queue URL for the United States West (Oregon) Region. |
55 | 55 | */ |
56 | | - const REGION_US_W1 = 'us-west-1'; |
| 56 | + const REGION_US_W2 = 'ec2.us-west-2.amazonaws.com'; |
57 | 57 | |
58 | 58 | /** |
59 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 59 | + * Specify the queue URL for the Europe West (Ireland) Region. |
60 | 60 | */ |
61 | | - const REGION_EU_W1 = 'eu-west-1'; |
| 61 | + const REGION_EU_W1 = 'ec2.eu-west-1.amazonaws.com'; |
62 | 62 | |
63 | 63 | /** |
64 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 64 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
65 | 65 | */ |
66 | | - const REGION_APAC_SE1 = 'ap-southeast-1'; |
| 66 | + const REGION_APAC_SE1 = 'ec2.ap-southeast-1.amazonaws.com'; |
67 | 67 | |
68 | 68 | /** |
69 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 69 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
70 | 70 | */ |
71 | | - const REGION_APAC_NE1 = 'ap-northeast-1'; |
| 71 | + const REGION_APAC_NE1 = 'ec2.ap-northeast-1.amazonaws.com'; |
72 | 72 | |
73 | 73 | /** |
| 74 | + * Specify the queue URL for the United States GovCloud Region. |
| 75 | + */ |
| 76 | + const REGION_US_GOV1 = 'ec2.us-gov-west-1.amazonaws.com'; |
| 77 | + |
| 78 | + /** |
| 79 | + * Default service endpoint. |
| 80 | + */ |
| 81 | + const DEFAULT_URL = self::REGION_US_E1; |
| 82 | + |
| 83 | + /** |
74 | 84 | * The "pending" state code of an EC2 instance. Useful for conditionals. |
75 | 85 | */ |
76 | 86 | const STATE_PENDING = 0; |
— | — | @@ -111,7 +121,7 @@ |
112 | 122 | */ |
113 | 123 | public function set_region($region) |
114 | 124 | { |
115 | | - $this->set_hostname('http://ec2.'. $region .'.amazonaws.com'); |
| 125 | + $this->set_hostname($region); |
116 | 126 | return $this; |
117 | 127 | } |
118 | 128 | |
— | — | @@ -131,7 +141,7 @@ |
132 | 142 | */ |
133 | 143 | public function __construct($key = null, $secret_key = null, $token = null) |
134 | 144 | { |
135 | | - $this->api_version = '2011-02-28'; |
| 145 | + $this->api_version = '2011-07-15'; |
136 | 146 | $this->hostname = self::DEFAULT_URL; |
137 | 147 | |
138 | 148 | if (!$key && !defined('AWS_KEY')) |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/elasticbeanstalk.class.php |
— | — | @@ -35,7 +35,7 @@ |
36 | 36 | * |
37 | 37 | * </ul> |
38 | 38 | * |
39 | | - * @version Wed Aug 03 10:09:34 PDT 2011 |
| 39 | + * @version Thu Sep 01 21:19:18 PDT 2011 |
40 | 40 | * @license See the included NOTICE.md file for complete information. |
41 | 41 | * @copyright See the included NOTICE.md file for complete information. |
42 | 42 | * @link http://aws.amazon.com/elasticbeanstalk/AWS Elastic Beanstalk |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/importexport.class.php |
— | — | @@ -22,7 +22,7 @@ |
23 | 23 | * Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and more cost effective than upgrading your |
24 | 24 | * connectivity. |
25 | 25 | * |
26 | | - * @version Wed Aug 03 10:12:39 PDT 2011 |
| 26 | + * @version Thu Sep 01 21:22:26 PDT 2011 |
27 | 27 | * @license See the included NOTICE.md file for complete information. |
28 | 28 | * @copyright See the included NOTICE.md file for complete information. |
29 | 29 | * @link http://aws.amazon.com/importexport/Amazon Import/Export Service |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/cloudfront.class.php |
— | — | @@ -36,7 +36,7 @@ |
37 | 37 | * seamlessly with the Amazon Simple Storage Service, which durably stores the original, definitive versions |
38 | 38 | * of your files. |
39 | 39 | * |
40 | | - * @version 2011.03.11 |
| 40 | + * @version 2011.11.16 |
41 | 41 | * @license See the included NOTICE.md file for more information. |
42 | 42 | * @copyright See the included NOTICE.md file for more information. |
43 | 43 | * @link http://aws.amazon.com/cloudfront/ Amazon CloudFront |
— | — | @@ -545,11 +545,11 @@ |
546 | 546 | // origin access identity |
547 | 547 | if (isset($opt['OriginAccessIdentity'])) |
548 | 548 | { |
549 | | - $update->addChild('OriginAccessIdentity', 'origin-access-identity/cloudfront/' . $opt['OriginAccessIdentity']); |
| 549 | + $origin->addChild('OriginAccessIdentity', 'origin-access-identity/cloudfront/' . $opt['OriginAccessIdentity']); |
550 | 550 | } |
551 | | - elseif (isset($xml->OriginAccessIdentity)) |
| 551 | + elseif (isset($xml->S3Origin->OriginAccessIdentity)) |
552 | 552 | { |
553 | | - $update->addChild('OriginAccessIdentity', $xml->OriginAccessIdentity); |
| 553 | + $origin->addChild('OriginAccessIdentity', $xml->OriginAccessIdentity); |
554 | 554 | } |
555 | 555 | } |
556 | 556 | elseif (isset($xml->CustomOrigin)) |
Index: trunk/extensions/OpenStackManager/aws-sdk/services/emr.class.php |
— | — | @@ -16,10 +16,14 @@ |
17 | 17 | |
18 | 18 | /** |
19 | 19 | * |
20 | | - * This is the Amazon Elastic MapReduce API Reference Guide. This guide is for programmers who need detailed information about the Amazon |
21 | | - * Elastic MapReduce APIs. |
| 20 | + * This is the <i>Amazon Elastic MapReduce API Reference</i>. This guide provides descriptions and samples of the Amazon Elastic MapReduce |
| 21 | + * APIs. |
22 | 22 | * |
23 | | - * @version Tue Apr 05 15:19:55 PDT 2011 |
| 23 | + * Amazon Elastic MapReduce is a web service that makes it easy to process large amounts of data efficiently. Elastic MapReduce uses Hadoop |
| 24 | + * processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific |
| 25 | + * simulation, and data warehousing. |
| 26 | + * |
| 27 | + * @version Thu Sep 01 21:21:27 PDT 2011 |
24 | 28 | * @license See the included NOTICE.md file for complete information. |
25 | 29 | * @copyright See the included NOTICE.md file for complete information. |
26 | 30 | * @link http://aws.amazon.com/elasticmapreduce/Amazon Elastic MapReduce |
— | — | @@ -32,36 +36,41 @@ |
33 | 37 | // CLASS CONSTANTS |
34 | 38 | |
35 | 39 | /** |
36 | | - * Specify the default queue URL. |
| 40 | + * Specify the queue URL for the United States East (Northern Virginia) Region. |
37 | 41 | */ |
38 | | - const DEFAULT_URL = 'us-east-1.elasticmapreduce.amazonaws.com'; |
| 42 | + const REGION_US_E1 = 'elasticmapreduce.us-east-1.amazonaws.com'; |
39 | 43 | |
40 | 44 | /** |
41 | | - * Specify the queue URL for the US-East (Northern Virginia) Region. |
| 45 | + * Specify the queue URL for the United States West (Northern California) Region. |
42 | 46 | */ |
43 | | - const REGION_US_E1 = self::DEFAULT_URL; |
| 47 | + const REGION_US_W1 = 'elasticmapreduce.us-west-1.amazonaws.com'; |
44 | 48 | |
45 | 49 | /** |
46 | | - * Specify the queue URL for the US-West (Northern California) Region. |
| 50 | + * Specify the queue URL for the United States West (Oregon) Region. |
47 | 51 | */ |
48 | | - const REGION_US_W1 = 'us-west-1.elasticmapreduce.amazonaws.com'; |
| 52 | + const REGION_US_W2 = 'elasticmapreduce.us-west-2.amazonaws.com'; |
49 | 53 | |
50 | 54 | /** |
51 | | - * Specify the queue URL for the EU (Ireland) Region. |
| 55 | + * Specify the queue URL for the Europe West (Ireland) Region. |
52 | 56 | */ |
53 | | - const REGION_EU_W1 = 'eu-west-1.elasticmapreduce.amazonaws.com'; |
| 57 | + const REGION_EU_W1 = 'elasticmapreduce.eu-west-1.amazonaws.com'; |
54 | 58 | |
55 | 59 | /** |
56 | | - * Specify the queue URL for the Asia Pacific (Singapore) Region. |
| 60 | + * Specify the queue URL for the Asia Pacific Southeast (Singapore) Region. |
57 | 61 | */ |
58 | | - const REGION_APAC_SE1 = 'ap-southeast-1.elasticmapreduce.amazonaws.com'; |
| 62 | + const REGION_APAC_SE1 = 'elasticmapreduce.ap-southeast-1.amazonaws.com'; |
59 | 63 | |
60 | 64 | /** |
61 | | - * Specify the queue URL for the Asia Pacific (Japan) Region. |
| 65 | + * Specify the queue URL for the Asia Pacific Northeast (Tokyo) Region. |
62 | 66 | */ |
63 | | - const REGION_APAC_NE1 = 'ap-northeast-1.elasticmapreduce.amazonaws.com'; |
| 67 | + const REGION_APAC_NE1 = 'elasticmapreduce.ap-northeast-1.amazonaws.com'; |
64 | 68 | |
| 69 | + /** |
| 70 | + * Default service endpoint. |
| 71 | + */ |
| 72 | + const DEFAULT_URL = self::REGION_US_E1; |
65 | 73 | |
| 74 | + |
66 | 75 | /*%******************************************************************************************%*/ |
67 | 76 | // SETTERS |
68 | 77 | |
— | — | @@ -95,12 +104,16 @@ |
96 | 105 | |
97 | 106 | if (!$key && !defined('AWS_KEY')) |
98 | 107 | { |
| 108 | + // @codeCoverageIgnoreStart |
99 | 109 | throw new EMR_Exception('No account key was passed into the constructor, nor was it set in the AWS_KEY constant.'); |
| 110 | + // @codeCoverageIgnoreEnd |
100 | 111 | } |
101 | 112 | |
102 | 113 | if (!$secret_key && !defined('AWS_SECRET_KEY')) |
103 | 114 | { |
| 115 | + // @codeCoverageIgnoreStart |
104 | 116 | throw new EMR_Exception('No account secret was passed into the constructor, nor was it set in the AWS_SECRET_KEY constant.'); |
| 117 | + // @codeCoverageIgnoreEnd |
105 | 118 | } |
106 | 119 | |
107 | 120 | return parent::__construct($key, $secret_key); |
— | — | @@ -111,29 +124,34 @@ |
112 | 125 | // SERVICE METHODS |
113 | 126 | |
114 | 127 | /** |
| 128 | + * |
115 | 129 | * AddInstanceGroups adds an instance group to a running cluster. |
116 | 130 | * |
| 131 | + * @param array $instance_groups (Required) Instance Groups to add. <ul> |
| 132 | + * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
| 133 | + * <li><code>Name</code> - <code>string</code> - Optional - Friendly name given to the instance group. </li> |
| 134 | + * <li><code>Market</code> - <code>string</code> - Optional - Market type of the Amazon EC2 instances used to create a cluster node. [Allowed values: <code>ON_DEMAND</code>, <code>SPOT</code>]</li> |
| 135 | + * <li><code>InstanceRole</code> - <code>string</code> - Required - The role of the instance group in the cluster. [Allowed values: <code>MASTER</code>, <code>CORE</code>, <code>TASK</code>]</li> |
| 136 | + * <li><code>BidPrice</code> - <code>string</code> - Optional - Bid price for each Amazon EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. </li> |
| 137 | + * <li><code>InstanceType</code> - <code>string</code> - Required - The Amazon EC2 instance type for all instances in the instance group. </li> |
| 138 | + * <li><code>InstanceCount</code> - <code>integer</code> - Required - Target number of instances for the instance group. </li> |
| 139 | + * </ul></li> |
| 140 | + * </ul> |
117 | 141 | * @param string $job_flow_id (Required) Job flow in which to add the instance groups. |
118 | | - * @param array $instance_groups (Required) Instance Groups to add. Takes an indexed array of associative arrays of parameters. Each associative array can have the following keys: <ul> |
119 | | - * <li><code>Name</code> - <code>string</code> - Optional - Friendly name given to the instance group.</li> |
120 | | - * <li><code>Market</code> - <code>string</code> - Required - Market type of the Amazon EC2 instances used to create a cluster node. [Allowed values: <code>ON_DEMAND</code>]</li> |
121 | | - * <li><code>InstanceRole</code> - <code>string</code> - Required - The role of the instance group in the cluster. [Allowed values: <code>MASTER</code>, <code>CORE</code>, <code>TASK</code>]</li> |
122 | | - * <li><code>InstanceType</code> - <code>string</code> - Required - The Amazon EC2 instance type for all instances in the instance group.</li> |
123 | | - * <li><code>InstanceCount</code> - <code>integer</code> - Required - Target number of instances for the instance group.</li></ul> |
124 | 142 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
125 | | - * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <php:curl_setopt()>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li> |
126 | | - * <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 is useful for manually-managed batch requests.</li></ul> |
| 143 | + * <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> |
| 144 | + * <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> |
127 | 145 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
128 | 146 | */ |
129 | | - public function add_instance_groups($job_flow_id, $instance_groups, $opt = null) |
| 147 | + public function add_instance_groups($instance_groups, $job_flow_id, $opt = null) |
130 | 148 | { |
131 | 149 | if (!$opt) $opt = array(); |
132 | | - $opt['JobFlowId'] = $job_flow_id; |
133 | 150 | |
134 | 151 | // Required parameter |
135 | 152 | $opt = array_merge($opt, CFComplexType::map(array( |
136 | 153 | 'InstanceGroups' => (is_array($instance_groups) ? $instance_groups : array($instance_groups)) |
137 | 154 | ), 'member')); |
| 155 | + $opt['JobFlowId'] = $job_flow_id; |
138 | 156 | |
139 | 157 | return $this->authenticate('AddInstanceGroups', $opt, $this->hostname); |
140 | 158 | } |
— | — | @@ -142,6 +160,12 @@ |
143 | 161 | * |
144 | 162 | * AddJobFlowSteps adds new steps to a running job flow. A maximum of 256 steps are allowed in each job flow. |
145 | 163 | * |
| 164 | + * If your job flow is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You |
| 165 | + * can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries |
| 166 | + * directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, go to <a |
| 167 | + * href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html">Add More than 256 Steps to a Job |
| 168 | + * Flow</a> in the <i>Amazon Elastic MapReduce Developer's Guide</i>. |
| 169 | + * |
146 | 170 | * A step specifies the location of a JAR file stored either on the master node of the job flow or in Amazon S3. Each step is performed by the |
147 | 171 | * main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the |
148 | 172 | * MainFunction parameter of the step. |
— | — | @@ -149,9 +173,9 @@ |
150 | 174 | * Elastic MapReduce executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero |
151 | 175 | * exit code and all Hadoop jobs started while the step was running must have completed and run successfully. |
152 | 176 | * |
153 | | - * You can only add steps to a job flow that is in one of the following states: STARTING, BOOTSTAPPING, RUNNING, or WAITING. |
| 177 | + * You can only add steps to a job flow that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING. |
154 | 178 | * |
155 | | - * @param string $job_flow_id (Required) A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows . |
| 179 | + * @param string $job_flow_id (Required) A string that uniquely identifies the job flow. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows. |
156 | 180 | * @param array $steps (Required) A list of StepConfig to be executed by the job flow. <ul> |
157 | 181 | * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
158 | 182 | * <li><code>Name</code> - <code>string</code> - Required - The name of the job flow step. </li> |
— | — | @@ -170,7 +194,7 @@ |
171 | 195 | * </ul></li> |
172 | 196 | * </ul> |
173 | 197 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
174 | | - * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <php:curl_setopt()>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li> |
| 198 | + * <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> |
175 | 199 | * <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> |
176 | 200 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
177 | 201 | */ |
— | — | @@ -195,7 +219,7 @@ |
196 | 220 | * |
197 | 221 | * @param string|array $job_flow_ids (Required) A list of job flows to be shutdown. Pass a string for a single value, or an indexed array for multiple values. |
198 | 222 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
199 | | - * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <php:curl_setopt()>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li> |
| 223 | + * <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> |
200 | 224 | * <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> |
201 | 225 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
202 | 226 | */ |
— | — | @@ -222,8 +246,8 @@ |
223 | 247 | * |
224 | 248 | * <ul> <li>Job flows created and completed in the last two weeks</li> |
225 | 249 | * |
226 | | - * <li> Job flows created within the last two months that are in one of the following states: <code>RUNNING</code> , <code>WAITING</code> , |
227 | | - * <code>SHUTTING_DOWN</code> , <code>STARTING</code> </li> |
| 250 | + * <li> Job flows created within the last two months that are in one of the following states: <code>RUNNING</code>, <code>WAITING</code>, |
| 251 | + * <code>SHUTTING_DOWN</code>, <code>STARTING</code> </li> |
228 | 252 | * |
229 | 253 | * </ul> |
230 | 254 | * |
— | — | @@ -234,7 +258,7 @@ |
235 | 259 | * <li><code>CreatedBefore</code> - <code>string</code> - Optional - Return only job flows created before this date and time. May be passed as a number of seconds since UNIX Epoch, or any string compatible with <php:strtotime()>.</li> |
236 | 260 | * <li><code>JobFlowIds</code> - <code>string|array</code> - Optional - Return only job flows whose job flow ID is contained in this list. Pass a string for a single value, or an indexed array for multiple values. </li> |
237 | 261 | * <li><code>JobFlowStates</code> - <code>string|array</code> - Optional - Return only job flows whose state is contained in this list. Pass a string for a single value, or an indexed array for multiple values. </li> |
238 | | - * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <php:curl_setopt()>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li> |
| 262 | + * <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> |
239 | 263 | * <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> |
240 | 264 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
241 | 265 | */ |
— | — | @@ -277,15 +301,61 @@ |
278 | 302 | |
279 | 303 | /** |
280 | 304 | * |
| 305 | + * SetTerminationProtection locks a job flow so the Amazon EC2 instances in the cluster cannot be terminated by user intervention, an API |
| 306 | + * call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling |
| 307 | + * SetTerminationProtection on a job flow is analogous to calling the Amazon EC2 DisableAPITermination API on all of the EC2 instances in a |
| 308 | + * cluster. |
| 309 | + * |
| 310 | + * SetTerminationProtection is used to prevent accidental termination of a job flow and to ensure that in the event of an error, the instances |
| 311 | + * will persist so you can recover any data stored in their ephemeral instance storage. |
| 312 | + * |
| 313 | + * To terminate a job flow that has been locked by setting SetTerminationProtection to <code>true</code>, you must first unlock the job flow |
| 314 | + * by a subsequent call to SetTerminationProtection in which you set the value to <code>false</code>. |
| 315 | + * |
| 316 | + * For more information, go to <a |
| 317 | + * href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/UsingEMR_TerminationProtection.html">Protecting a Job Flow |
| 318 | + * from Termination</a> in the <i>Amazon Elastic MapReduce Developer's Guide.</i> |
| 319 | + * |
| 320 | + * @param string|array $job_flow_ids (Required) A list of strings that uniquely identify the job flows to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows . Pass a string for a single value, or an indexed array for multiple values. |
| 321 | + * @param boolean $termination_protected (Required) A Boolean that indicates whether to protect the job flow and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error. |
| 322 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 323 | + * <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> |
| 324 | + * <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> |
| 325 | + * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
| 326 | + */ |
| 327 | + public function set_termination_protection($job_flow_ids, $termination_protected, $opt = null) |
| 328 | + { |
| 329 | + if (!$opt) $opt = array(); |
| 330 | + |
| 331 | + // Required parameter |
| 332 | + $opt = array_merge($opt, CFComplexType::map(array( |
| 333 | + 'JobFlowIds' => (is_array($job_flow_ids) ? $job_flow_ids : array($job_flow_ids)) |
| 334 | + ), 'member')); |
| 335 | + $opt['TerminationProtected'] = $termination_protected; |
| 336 | + |
| 337 | + return $this->authenticate('SetTerminationProtection', $opt, $this->hostname); |
| 338 | + } |
| 339 | + |
| 340 | + /** |
| 341 | + * |
281 | 342 | * RunJobFlow creates and starts running a new job flow. The job flow will run the steps specified. Once the job flow completes, the cluster |
282 | 343 | * is stopped and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. |
283 | | - * If the JobFlowInstancesDetail : KeepJobFlowAliveWhenNoSteps parameter is set to <code>TRUE</code>, the job flow will transition to the |
284 | | - * WAITING state rather than shutting down once the steps have completed. |
| 344 | + * If the JobFlowInstancesDetail <code>KeepJobFlowAliveWhenNoSteps</code> parameter is set to <code>TRUE</code>, the job flow will transition |
| 345 | + * to the WAITING state rather than shutting down once the steps have completed. |
285 | 346 | * |
| 347 | + * For additional protection, you can set the JobFlowInstancesDetail <code>TerminationProtected</code> parameter to <code>TRUE</code> to lock |
| 348 | + * the job flow and prevent it from being terminated by API call, user intervention, or in the event of a job flow error. |
| 349 | + * |
286 | 350 | * A maximum of 256 steps are allowed in each job flow. |
287 | 351 | * |
288 | | - * For long running job flows, we recommended that you periodically store your results. |
| 352 | + * If your job flow is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You |
| 353 | + * can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries |
| 354 | + * directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, go to <a |
| 355 | + * href="http://docs.amazonwebservices.com/ElasticMapReduce/latest/DeveloperGuide/AddMoreThan256Steps.html">Add More than 256 Steps to a Job |
| 356 | + * Flow</a> in the <i>Amazon Elastic MapReduce Developer's Guide</i>. |
289 | 357 | * |
| 358 | + * For long running job flows, we recommend that you periodically store your results. |
| 359 | + * |
290 | 360 | * @param string $name (Required) The name of the job flow. |
291 | 361 | * @param array $instances (Required) A specification of the number and type of Amazon EC2 instances on which to run the job flow. <ul> |
292 | 362 | * <li><code>MasterInstanceType</code> - <code>string</code> - Optional - The EC2 instance type of the master node. </li> |
— | — | @@ -294,8 +364,9 @@ |
295 | 365 | * <li><code>InstanceGroups</code> - <code>array</code> - Optional - Configuration for the job flow's instance groups. <ul> |
296 | 366 | * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
297 | 367 | * <li><code>Name</code> - <code>string</code> - Optional - Friendly name given to the instance group. </li> |
298 | | - * <li><code>Market</code> - <code>string</code> - Required - Market type of the Amazon EC2 instances used to create a cluster node. [Allowed values: <code>ON_DEMAND</code>]</li> |
| 368 | + * <li><code>Market</code> - <code>string</code> - Optional - Market type of the Amazon EC2 instances used to create a cluster node. [Allowed values: <code>ON_DEMAND</code>, <code>SPOT</code>]</li> |
299 | 369 | * <li><code>InstanceRole</code> - <code>string</code> - Required - The role of the instance group in the cluster. [Allowed values: <code>MASTER</code>, <code>CORE</code>, <code>TASK</code>]</li> |
| 370 | + * <li><code>BidPrice</code> - <code>string</code> - Optional - Bid price for each Amazon EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD. </li> |
300 | 371 | * <li><code>InstanceType</code> - <code>string</code> - Required - The Amazon EC2 instance type for all instances in the instance group. </li> |
301 | 372 | * <li><code>InstanceCount</code> - <code>integer</code> - Required - Target number of instances for the instance group. </li> |
302 | 373 | * </ul></li> |
— | — | @@ -305,6 +376,7 @@ |
306 | 377 | * <li><code>AvailabilityZone</code> - <code>string</code> - Required - The Amazon EC2 Availability Zone for the job flow. </li> |
307 | 378 | * </ul></li> |
308 | 379 | * <li><code>KeepJobFlowAliveWhenNoSteps</code> - <code>boolean</code> - Optional - Specifies whether the job flow should terminate after completing all steps. </li> |
| 380 | + * <li><code>TerminationProtected</code> - <code>boolean</code> - Optional - Specifies whether to lock the job flow to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job flow error. </li> |
309 | 381 | * <li><code>HadoopVersion</code> - <code>string</code> - Optional - Specifies the Hadoop version for the job flow. Valid inputs are "0.18" or "0.20". </li> |
310 | 382 | * </ul> |
311 | 383 | * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
— | — | @@ -331,12 +403,12 @@ |
332 | 404 | * <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul> |
333 | 405 | * <li><code>Name</code> - <code>string</code> - Required - The name of the bootstrap action. </li> |
334 | 406 | * <li><code>ScriptBootstrapAction</code> - <code>array</code> - Required - The script run by the bootstrap action. Takes an associative array of parameters that can have the following keys: <ul> |
335 | | - * <li><code>Path</code> - <code>string</code> - Optional - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system. </li> |
| 407 | + * <li><code>Path</code> - <code>string</code> - Required - Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system. </li> |
336 | 408 | * <li><code>Args</code> - <code>string|array</code> - Optional - A list of command line arguments to pass to the bootstrap action script. Pass a string for a single value, or an indexed array for multiple values. </li> |
337 | 409 | * </ul></li> |
338 | 410 | * </ul></li> |
339 | 411 | * </ul></li> |
340 | | - * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <php:curl_setopt()>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li> |
| 412 | + * <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> |
341 | 413 | * <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> |
342 | 414 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
343 | 415 | */ |
— | — | @@ -391,7 +463,7 @@ |
392 | 464 | * <li><code>InstanceCount</code> - <code>integer</code> - Required - Target size for the instance group. </li> |
393 | 465 | * </ul></li> |
394 | 466 | * </ul></li> |
395 | | - * <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <php:curl_setopt()>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li> |
| 467 | + * <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> |
396 | 468 | * <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> |
397 | 469 | * @return CFResponse A <CFResponse> object containing a parsed HTTP response. |
398 | 470 | */ |
Index: trunk/extensions/OpenStackManager/aws-sdk/lib/requestcore/cacert.pem |
— | — | @@ -1,7 +1,7 @@ |
2 | 2 | ## |
3 | 3 | ## ca-bundle.crt -- Bundle of CA Root Certificates |
4 | 4 | ## |
5 | | -## Certificate data from Mozilla as of: Wed Apr 13 08:13:21 2011 |
| 5 | +## Certificate data from Mozilla as of: Fri Sep 2 23:34:57 2011 |
6 | 6 | ## |
7 | 7 | ## This is a bundle of X.509 certificates of public Certificate Authorities |
8 | 8 | ## (CA). These were automatically extracted from Mozilla's root certificates |
— | — | @@ -49,7 +49,7 @@ |
50 | 50 | # the terms of any one of the MPL, the GPL or the LGPL. |
51 | 51 | # |
52 | 52 | # ***** END LICENSE BLOCK ***** |
53 | | -# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.74 $ $Date: 2011/04/13 00:10:24 $ |
| 53 | +# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.79 $ $Date: 2011/09/02 19:40:56 $ |
54 | 54 | |
55 | 55 | GTE CyberTrust Global Root |
56 | 56 | ========================== |
— | — | @@ -2247,36 +2247,6 @@ |
2248 | 2248 | +8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== |
2249 | 2249 | -----END CERTIFICATE----- |
2250 | 2250 | |
2251 | | -DigiNotar Root CA |
2252 | | -================= |
2253 | | -MIIFijCCA3KgAwIBAgIQDHbanJEMTiye/hXQWJM8TDANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQG |
2254 | | -EwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90YXIgUm9vdCBDQTEgMB4G |
2255 | | -CSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwHhcNMDcwNTE2MTcxOTM2WhcNMjUwMzMxMTgx |
2256 | | -OTIxWjBfMQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMRowGAYDVQQDExFEaWdpTm90 |
2257 | | -YXIgUm9vdCBDQTEgMB4GCSqGSIb3DQEJARYRaW5mb0BkaWdpbm90YXIubmwwggIiMA0GCSqGSIb3 |
2258 | | -DQEBAQUAA4ICDwAwggIKAoICAQCssFjBAL3YIQgLK5r+blYwBZ8bd5AQQVzDDYcRd46B8cp86Yxq |
2259 | | -7Th0Nbva3/m7wAk3tJZzgX0zGpg595NvlX89ubF1h7pRSOiLcD6VBMXYtsMW2YiwsYcdcNqGtA8U |
2260 | | -i3rPENF0NqISe3eGSnnme98CEWilToauNFibJBN4ViIlHgGLS1Fx+4LMWZZpiFpoU8W5DQI3y0u8 |
2261 | | -ZkqQfioLBQftFl9VkHXYRskbg+IIvvEjzJkd1ioPgyAVWCeCLvriIsJJsbkBgWqdbZ1Ad2h2TiEq |
2262 | | -bYRAhU52mXyC8/O3AlnUJgEbjt+tUwbRrhjd4rI6y9eIOI6sWym5GdOY+RgDz0iChmYLG2kPyes4 |
2263 | | -iHomGgVMktck1JbyrFIto0fVUvY//s6EBnCmqj6i8rZWNBhXouSBbefK8GrTx5FrAoNBfBXva5pk |
2264 | | -XuPQPOWx63tdhvvL5ndJzaNl3Pe5nLjkC1+Tz8wwGjIczhxjlaX56uF0i57pK6kwe6AYHw4YC+Vb |
2265 | | -qdPRbB4HZ4+RS6mKvNJmqpMBiLKR+jFc1abBUggJzQpjotMipuih2TkGl/VujQKQjBR7P4DNG5y6 |
2266 | | -xFhyI6+2Vp/GekIzKQc/gsnmHwUNzUwoNovTyD4cxojvXu6JZOkd69qJfjKmadHdzIif0dDJZiHc |
2267 | | -BmfFlHqabWJMfczgZICynkeOowIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE |
2268 | | -AwIBBjAdBgNVHQ4EFgQUiGi/4I41xDs4a2L3KDuEgcgM100wDQYJKoZIhvcNAQEFBQADggIBADsC |
2269 | | -jcs8MOhuoK3yc7NfniUTBAXT9uOLuwt5zlPe5JbF0a9zvNXD0EBVfEB/zRtfCdXyfJ9oHbtdzno5 |
2270 | | -wozWmHvFg1Wo1X1AyuAe94leY12hE8JdiraKfADzI8PthV9xdvBoY6pFITlIYXg23PFDk9Qlx/KA |
2271 | | -ZeFTAnVR/Ho67zerhChXDNjU1JlWbOOi/lmEtDHoM/hklJRRl6s5xUvt2t2AC298KQ3EjopyDedT |
2272 | | -FLJgQT2EkTFoPSdE2+Xe9PpjRchMPpj1P0G6Tss3DbpmmPHdy59c91Q2gmssvBNhl0L4eLvMyKKf |
2273 | | -yvBovWsdst+Nbwed2o5nx0ceyrm/KkKRt2NTZvFCo+H0Wk1Ya7XkpDOtXHAd3ODy63MUkZoDweoA |
2274 | | -ZbwH/M8SESIsrqC9OuCiKthZ6SnTGDWkrBFfGbW1G/8iSlzGeuQX7yCpp/Q/rYqnmgQlnQ7KN+ZQ |
2275 | | -/YxCKQSa7LnPS3K94gg2ryMvYuXKAdNw23yCIywWMQzGNgeQerEfZ1jEO1hZibCMjFCz2IbLaKPE |
2276 | | -CudpSyDOwR5WS5WpI2jYMNjD67BVUc3l/Su49bsRn1NU9jQZjHkJNsphFyUXC4KYcwx3dMPVDceo |
2277 | | -EkzHp1RxRy4sGn3J4ys7SN4nhKdjNrN9j6BkOSQNPXuHr2ZcdBtLc7LljPCGmbjlxd+Ewbfr |
2278 | | - |
2279 | 2251 | Network Solutions Certificate Authority |
2280 | 2252 | ======================================= |
2281 | 2253 | -----BEGIN CERTIFICATE----- |
— | — | @@ -2344,30 +2314,6 @@ |
2345 | 2315 | U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= |
2346 | 2316 | -----END CERTIFICATE----- |
2347 | 2317 | |
2348 | | -MD5 Collisions Forged Rogue CA 25c3 |
2349 | | -=================================== |
2350 | | -MIIEMjCCA5ugAwIBAgIBQjANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT |
2351 | | -RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp |
2352 | | -bmVzcyBDQS0xMB4XDTA0MDczMTAwMDAwMVoXDTA0MDkwMjAwMDAwMVowPDE6MDgGA1UEAxMxTUQ1 |
2353 | | -IENvbGxpc2lvbnMgSW5jLiAoaHR0cDovL3d3dy5waHJlZWRvbS5vcmcvbWQ1KTCBnzANBgkqhkiG |
2354 | | -9w0BAQEFAAOBjQAwgYkCgYEAuqZZySwo1iqw+O2fRqSkN+4OGWhZ0bMDmVHWFppeN2sV4A5L9YRk |
2355 | | -+KPbQW811ZsVH9vEOFJwgZdej6C193458DKsHq1E0rP6SMPOkZvs9Jx84Vr1yDdrmoPe58oglzFC |
2356 | | -cxWRaPSIr/koKMXpD3OwF0sTTJl10ETmfghsGvJPG0ECAwEAAaOCAiQwggIgMAsGA1UdDwQEAwIB |
2357 | | -xjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSnBGAfq3JDCMV/CJBVVhzWzuY46zAfBgNVHSME |
2358 | | -GDAWgBS+qKB0clBrRLfJI9j7qP+zV2tobDCCAb4GCWCGSAGG+EIBDQSCAa8WggGrMwAAACdeOeCJ |
2359 | | -YQ9Oo8VFCza7AdFTqsMIj2/4Tz6Hh0QR3GDg35JV+bhzG1STxZ/QRsRgtjVizbmvHKhpGslbPJY3 |
2360 | | -wO1n77v+wIucUC8pvYMino4I+qwTcKJYf2JiihH3ifbftmdZcxb7YxaKtJE4zi71tr5MpJRJ5GUR |
2361 | | -CkIVycEw4mnVRX2lJru5YexiZPA54ee8aNhQUZ4dYNPRo6cK+AMgoXABF5E2TwJwMYaD3fcP2Acd |
2362 | | -EbMTBKXc8K5QsSgOY2kqDIJvj0cz32yiBpLxT0W+2TA2oyuM1neuNWN/Tkyak0g22Z8CAwEAAaOB |
2363 | | -vTCBujAOBgNVHQ8BAf8EBAMCBPAwHQYDVR0OBBYEFM2mg/qlYDf3ljcXKd5BePGHiVXnMDsGA1Ud |
2364 | | -HwQ0MDIwMKAuoCyGKmh0dHA6Ly9jcmwuZ2VvdHJ1c3QuY29tL2NybHMvZ2xvYmFsY2ExLmNybDAf |
2365 | | -BgNVHSMEGDAWgBS+qKB0clBrRLfJI9j7qP+zV2tobDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB |
2366 | | -BQUHAwIwDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQCnIQKN0Q6igHcl/UNgFY/s75BH |
2367 | | -1IRCFSYRHM3CPBApqbbfq1d1kdrlK7OQRRwwY1Y/itlQ+u1YbMBlrGZX3hzGdjv1AA6ORc5/TJDs |
2368 | | -K8bNs7SPYtD+t8UmckTt9phbrsvRlfXaCL5oRrF1yOwdjx56lPGqU3iiRa5U6tGedMh2Zw== |
2369 | | - |
2370 | 2318 | IGC/A |
2371 | 2319 | ===== |
2372 | 2320 | -----BEGIN CERTIFICATE----- |
— | — | @@ -3490,328 +3436,6 @@ |
3491 | 3437 | 09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B |
3492 | 3438 | -----END CERTIFICATE----- |
3493 | 3439 | |
3494 | | -Bogus Mozilla Addons |
3495 | | -==================== |
3496 | | -MIIF+DCCBOCgAwIBAgIRAJI51TSPQNFpWnRUcOHyP0MwDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNV |
3497 | | -BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRo |
3498 | | -ZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR8w |
3499 | | -HQYDVQQDExZVVE4tVVNFUkZpcnN0LUhhcmR3YXJlMB4XDTExMDMxNTAwMDAwMFoXDTE0MDMxNDIz |
3500 | | -NTk1OVowgeIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQREwUzODQ3NzEQMA4GA1UECBMHRmxvcmlkYTEQ |
3501 | | -MA4GA1UEBxMHRW5nbGlzaDEXMBUGA1UECRMOU2VhIFZpbGxhZ2UgMTAxFDASBgNVBAoTC0dvb2ds |
3502 | | -ZSBMdGQuMRMwEQYDVQQLEwpUZWNoIERlcHQuMSgwJgYDVQQLEx9Ib3N0ZWQgYnkgR1RJIEdyb3Vw |
3503 | | -IENvcnBvcmF0aW9uMRQwEgYDVQQLEwtQbGF0aW51bVNTTDEbMBkGA1UEAxMSYWRkb25zLm1vemls |
3504 | | -bGEub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq8ZtNvMVc3iDc850hdWu7LLw |
3505 | | -4CQfE4O4IKy7mv6Iu6uhHQsfRQCqSbc1Nwxq70dMudG+41cSBI2Sx7bsAby22seBOCCtcoXmDvyB |
3506 | | -bAetaHY4xUTXzMZKxZc+ZPRR5vB+suxW9yWCTUmYyxaY3SPxiZHRF5dAmSbW4qIrXt+9ifIbGlMt |
3507 | | -zFBBetA9KgxVcBQB6VhJEHoLk4KL4R7tOoAQgs6WijTwzNfTubRQh1VUCbidQihVAOWMNVS/3SWR |
3508 | | -RrcN5V2DqOWL+4TkPK522sRDK1t0C/i+XWjxeFu1zn3xXZlA2sruOIFQvpihbLgkrfOvjA/XESgs |
3509 | | -hBhMfbXZjzC1GwIDAQABo4IB8DCCAewwHwYDVR0jBBgwFoAUoXJfJhsomEOVXQc31YWWnUvSw0Uw |
3510 | | -HQYDVR0OBBYEFN2A0lQ990xwyqOw3TR6MuToO1o7MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8E |
3511 | | -AjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBGBgNVHSAEPzA9MDsGDCsGAQQBsjEB |
3512 | | -AgEDBDArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29tL0NQUzB7BgNVHR8E |
3513 | | -dDByMDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJl |
3514 | | -LmNybDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUu |
3515 | | -Y3JsMHEGCCsGAQUFBwEBBGUwYzA7BggrBgEFBQcwAoYvaHR0cDovL2NydC5jb21vZG9jYS5jb20v |
3516 | | -VVROQWRkVHJ1c3RTZXJ2ZXJDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2Nh |
3517 | | -LmNvbTA1BgNVHREELjAsghJhZGRvbnMubW96aWxsYS5vcmeCFnd3dy5hZGRvbnMubW96aWxsYS5v |
3518 | | -cmcwDQYJKoZIhvcNAQEFBQADggEBADM7YxX8sewULJPddZTegVrZTpm++0qkOVVNoUB63hMqh6k3 |
3519 | | -z+jV+63Re21vjCCHglTmV0m8ICiEzdYB2ZOLF24jZuWEyIA/xqFwgOTsTR35/JFac2IpmvcgHGHg |
3520 | | -izmfyrx+jd282bHjn57fFVORIVIL2RojD2Y226yTlkqjpSLPKfeimaj2ttlArtl+tvZYLpusNspk |
3521 | | -j2VS3IacgqtuUEvaX/oFAIgwDt6NVr+BR409BuKyYpJnj57ImrLlBrhwJLh3fCMKOMN5CNixUZ2s |
3522 | | -lRHHQBeeoxyP8hGnaCfaSQWEGHxYLQFnXOWfoSm7SjlFL78Rqnmi7bTUtWVDt5NGitM= |
3523 | | - |
3524 | | -Bogus Global Trustee |
3525 | | -==================== |
3526 | | -MIIG3TCCBcWgAwIBAgIRANjzX063hystqwaS4xU4L7AwDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNV |
3527 | | -BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRo |
3528 | | -ZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR8w |
3529 | | -HQYDVQQDExZVVE4tVVNFUkZpcnN0LUhhcmR3YXJlMB4XDTExMDMxNTAwMDAwMFoXDTE0MDMxNDIz |
3530 | | -NTk1OVowgeMxCzAJBgNVBAYTAlVTMQ4wDAYDVQQREwUzODQ3NzEQMA4GA1UECBMHRmxvcmlkYTEO |
3531 | | -MAwGA1UEBxMFVGFtcGExFzAVBgNVBAkTDlNlYSBWaWxsYWdlIDEwMRcwFQYDVQQKEw5HbG9iYWwg |
3532 | | -VHJ1c3RlZTEXMBUGA1UECxMOR2xvYmFsIFRydXN0ZWUxKDAmBgNVBAsTH0hvc3RlZCBieSBHVEkg |
3533 | | -R3JvdXAgQ29ycG9yYXRpb24xFDASBgNVBAsTC1BsYXRpbnVtU1NMMRcwFQYDVQQDEw5nbG9iYWwg |
3534 | | -dHJ1c3RlZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANl08qpBHd/1whZDSVwpv7aJ |
3535 | | -dCm8nI0MRk9ZfrJBF2Y0DGWJ4Wwl44YKniJFIozdneajld7ciAJVXONbkXXrJmljuS7Gyi4n34i6 |
3536 | | -AiBu/rkLKden1tdIGhzO3R+pJw5iT6GWHt1UOjRjSnb1d31ZZ9gQ1LUPOkMimNv0CcQKcM7dkNQv |
3537 | | -73QTw83CiTliFZ3mdKjom/BjbpyJtg6tm/fMgujoLbgL2iLsSYUHiJmYP/R0qQn3gXyXC1mZGHKL |
3538 | | -25SCK6foqmuXv4h+dbCLRUUMx6gJ6htBWDA7X3hlFTTS5Dw0DR3YZDyKpVZJmSgtS/LPzdluSWSb |
3539 | | -qXmQd1WpCButGnSe4AOTCgm3rae0XO+DbLeatMZoQIAdQtFueZupGSGanPmGLQDRNP7gtvlVtvUm |
3540 | | -xZUWpXxznwopiaw6mPebdGe3kLddCSNqau0sEO5TChDwFh9Xs7ENeZEZsOvNMD+gFF+zxv1cM6ew |
3541 | | -/5iwVYy5pfJvRyRJIWnMQqJRAECFjIKCqzKly5rc0NkYDd8Z9K+DDcE+MdskSLZ1gKHhyXdkHqfl |
3542 | | -i38VTUunwtDteZVekTHsGP9On0gU6nW6Ic4pdukfTlGHLrPMBGC6Ix8fZbIKuNVuj0tCiUepgZBb |
3543 | | -K7K2ruagcHt4kAp6xeXnxfsK9i9pjIwfV+AGmf8R1VIyIJcnmO5lAgMBAAGjggHUMIIB0DAfBgNV |
3544 | | -HSMEGDAWgBShcl8mGyiYQ5VdBzfVhZadS9LDRTAdBgNVHQ4EFgQUt8PeGkPtQZepjyl4nAO5rEBC |
3545 | | -AKwwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG |
3546 | | -AQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQMEMCswKQYIKwYBBQUHAgEWHWh0dHBzOi8v |
3547 | | -c2VjdXJlLmNvbW9kby5jb20vQ1BTMHsGA1UdHwR0MHIwOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2Rv |
3548 | | -Y2EuY29tL1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3JsMDagNKAyhjBodHRwOi8vY3JsLmNvbW9k |
3549 | | -by5uZXQvVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5jcmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUF |
3550 | | -BzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9VVE5BZGRUcnVzdFNlcnZlckNBLmNydDAkBggr |
3551 | | -BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMBkGA1UdEQQSMBCCDmdsb2JhbCB0cnVz |
3552 | | -dGVlMA0GCSqGSIb3DQEBBQUAA4IBAQCPunW6OdQm03APxLMCp8USI3HJ/mPpo2J4JERP1LkRPh/H |
3553 | | -KOdVa+704QCRhorJCWufLqRFOdFhYl6TpQVFeJ9gEiz0bGVlDcxGNIsouqDG9JlxZPMidqxP82LJ |
3554 | | -pzNaBx89yYaA3NsEL4cn6L9IRIHA8Ekjbh/l5AOGJBOihWJ8WATK5o0Tcgq6VkSiD7z7oD0NKn/7 |
3555 | | -nqkJPbda1IqN4SXopAmEcK0SRLnPuTN6ulzmS6a7BQaY//KYUnt3gCdK2eL6uVLU+/vm1i2ej8EV |
3556 | | -RI2bdC/ulFpO08SLiqxDnXP2rgyHia2HycnH3boUYHr4tTWdwo3GloENqVKKKUAE6Rm0 |
3557 | | - |
3558 | | -Bogus GMail |
3559 | | -=========== |
3560 | | -MIIF7jCCBNagAwIBAgIQBH7L6fylX3vQnq424QyuHjANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE |
3561 | | -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl |
3562 | | -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd |
3563 | | -BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNMTEwMzE1MDAwMDAwWhcNMTQwMzE0MjM1 |
3564 | | -OTU5WjCB3zELMAkGA1UEBhMCVVMxDjAMBgNVBBETBTM4NDc3MRAwDgYDVQQIEwdGbG9yaWRhMRAw |
3565 | | -DgYDVQQHEwdFbmdsaXNoMRcwFQYDVQQJEw5TZWEgVmlsbGFnZSAxMDEUMBIGA1UEChMLR29vZ2xl |
3566 | | -IEx0ZC4xEzARBgNVBAsTClRlY2ggRGVwdC4xKDAmBgNVBAsTH0hvc3RlZCBieSBHVEkgR3JvdXAg |
3567 | | -Q29ycG9yYXRpb24xFDASBgNVBAsTC1BsYXRpbnVtU1NMMRgwFgYDVQQDEw9tYWlsLmdvb2dsZS5j |
3568 | | -b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwc/DyBO7CokbKNCqqu2Aj0RF2Hx86 |
3569 | | -0GWDTppFqENwhXbwH4cAAh9uOxcXxLXpGUaikiWNYiq0YzAfuYX4NeEWWnZJzFBIUzlZidaEAvua |
3570 | | -7BvHUdV2lZDUOiq4pt4CTQb7ze2lRkFfVXTl7H5A3FCcteQ1XR5oIPjp3qNqKL9B0qGz4iWNDBvK |
3571 | | -PZMMGK7fxbz9vIK6aADXFjJxn2W1EdpoWdCmV2Qbyf6Y5fWlZerh2+70s52zjuqHrhbSHqB8fGk/ |
3572 | | -KRaFAVOnbPFgq92i/CVH1DLREt33SBLg/Jyid5jpiZm4+DjxjAbCeiM2bZudzTDIxzQXHrt9Qsir |
3573 | | -5xUW9nO1AgMBAAGjggHqMIIB5jAfBgNVHSMEGDAWgBShcl8mGyiYQ5VdBzfVhZadS9LDRTAdBgNV |
3574 | | -HQ4EFgQUGCqiyNR6P3utBIu9b54QRhN4cZ0wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw |
3575 | | -HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQME |
3576 | | -MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMHsGA1UdHwR0MHIw |
3577 | | -OKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3578 | | -MDagNKAyhjBodHRwOi8vY3JsLmNvbW9kby5uZXQvVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5jcmww |
3579 | | -cQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9VVE5B |
3580 | | -ZGRUcnVzdFNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29t |
3581 | | -MC8GA1UdEQQoMCaCD21haWwuZ29vZ2xlLmNvbYITd3d3Lm1haWwuZ29vZ2xlLmNvbTANBgkqhkiG |
3582 | | -9w0BAQUFAAOCAQEAZwYICifFk24C8t4XP9DTG3z/tc16x3fHvt8SyhnesBNXDAORxHlSz3+3XlUg |
3583 | | -hEnd9dApLw4E2lmeDhOf9MAym/+hESQql6PyPz0qa6itjBl1lQ4dJf1PxHoVwx3HE0DIDb6XYHKm |
3584 | | -/iW+j+zVpobDIVxZUtlqC1yfS961+ezi9MXMYlN2iWXkKdq3v5bgYI0NtwlV1kBVHcHyliF1r4mG |
3585 | | -H12BlykoHinXlsEgAzJ7ADtqNxdao7MabzI7bvGjXaurzCrLMAwfNSOLaURc6qwoYO2ra2Oe9pK8 |
3586 | | -vZpaJkzFmLgOGT78BTHjFtn9kAUDhsZXAR9/eKDPM2qqZmsi0KdJIw== |
3587 | | - |
3588 | | -Bogus Google |
3589 | | -============ |
3590 | | -MIIF5DCCBMygAwIBAgIRAPXIavNhYvE6ZPVPbclYfAYwDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNV |
3591 | | -BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRo |
3592 | | -ZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR8w |
3593 | | -HQYDVQQDExZVVE4tVVNFUkZpcnN0LUhhcmR3YXJlMB4XDTExMDMxNTAwMDAwMFoXDTE0MDMxNDIz |
3594 | | -NTk1OVowgd4xCzAJBgNVBAYTAlVTMQ4wDAYDVQQREwUzODQ3NzEQMA4GA1UECBMHRmxvcmlkYTEQ |
3595 | | -MA4GA1UEBxMHRW5nbGlzaDEXMBUGA1UECRMOU2VhIFZpbGxhZ2UgMTAxFDASBgNVBAoTC0dvb2ds |
3596 | | -ZSBMdGQuMRMwEQYDVQQLEwpUZWNoIERlcHQuMSgwJgYDVQQLEx9Ib3N0ZWQgYnkgR1RJIEdyb3Vw |
3597 | | -IENvcnBvcmF0aW9uMRQwEgYDVQQLEwtQbGF0aW51bVNTTDEXMBUGA1UEAxMOd3d3Lmdvb2dsZS5j |
3598 | | -b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwc/DyBO7CokbKNCqqu2Aj0RF2Hx86 |
3599 | | -0GWDTppFqENwhXbwH4cAAh9uOxcXxLXpGUaikiWNYiq0YzAfuYX4NeEWWnZJzFBIUzlZidaEAvua |
3600 | | -7BvHUdV2lZDUOiq4pt4CTQb7ze2lRkFfVXTl7H5A3FCcteQ1XR5oIPjp3qNqKL9B0qGz4iWNDBvK |
3601 | | -PZMMGK7fxbz9vIK6aADXFjJxn2W1EdpoWdCmV2Qbyf6Y5fWlZerh2+70s52zjuqHrhbSHqB8fGk/ |
3602 | | -KRaFAVOnbPFgq92i/CVH1DLREt33SBLg/Jyid5jpiZm4+DjxjAbCeiM2bZudzTDIxzQXHrt9Qsir |
3603 | | -5xUW9nO1AgMBAAGjggHgMIIB3DAfBgNVHSMEGDAWgBShcl8mGyiYQ5VdBzfVhZadS9LDRTAdBgNV |
3604 | | -HQ4EFgQUGCqiyNR6P3utBIu9b54QRhN4cZ0wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw |
3605 | | -HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQME |
3606 | | -MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMHsGA1UdHwR0MHIw |
3607 | | -OKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3608 | | -MDagNKAyhjBodHRwOi8vY3JsLmNvbW9kby5uZXQvVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5jcmww |
3609 | | -cQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9VVE5B |
3610 | | -ZGRUcnVzdFNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29t |
3611 | | -MCUGA1UdEQQeMByCDnd3dy5nb29nbGUuY29tggpnb29nbGUuY29tMA0GCSqGSIb3DQEBBQUAA4IB |
3612 | | -AQBxwJk/Xva9M/+eFsuov91w+dJTOzauyRfIrl5N3WL3t9M+d6P+wHsytcmUBVJQ8l89eYRJT11s |
3613 | | -sNdZvdRsiPr8xWWG6yhSokL2fLxqxwcuJdGQYiDGjVHCLEU5TgPa9xjozAo62UXYbG40i2KcThX5 |
3614 | | -Q+7ll8A/rTUTxSsGx0H94vd+Ra2b0eFm7fh6S5Q5ei/r6D9D2DXWVvp0523m7axlhP7QTQYS3tpZ |
3615 | | -ADwJXM+IS+g9tBUhksxtplHijpfx9IJGy8RTXtpcnWWSAWWJAOW2mf8mQPEvGTEIGrFnVYYNrjUz |
3616 | | -hryXSJLXlmD4zvyW64fEc8yUm1hb83qkJxPWT/Rp |
3617 | | - |
3618 | | -Bogus Skype |
3619 | | -=========== |
3620 | | -MIIF7zCCBNegAwIBAgIRAOkCi5V45BXcGnEKK4gVREcwDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNV |
3621 | | -BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRo |
3622 | | -ZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR8w |
3623 | | -HQYDVQQDExZVVE4tVVNFUkZpcnN0LUhhcmR3YXJlMB4XDTExMDMxNTAwMDAwMFoXDTE0MDMxNDIz |
3624 | | -NTk1OVowgd8xCzAJBgNVBAYTAlVTMQ4wDAYDVQQREwUzODQ3NzEQMA4GA1UECBMHRmxvcmlkYTEQ |
3625 | | -MA4GA1UEBxMHRW5nbGlzaDEXMBUGA1UECRMOU2VhIFZpbGxhZ2UgMTAxFDASBgNVBAoTC0dvb2ds |
3626 | | -ZSBMdGQuMRMwEQYDVQQLEwpUZWNoIERlcHQuMSgwJgYDVQQLEx9Ib3N0ZWQgYnkgR1RJIEdyb3Vw |
3627 | | -IENvcnBvcmF0aW9uMRQwEgYDVQQLEwtQbGF0aW51bVNTTDEYMBYGA1UEAxMPbG9naW4uc2t5cGUu |
3628 | | -Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsHiZhg6icyPUWsNJ67E2jHzKhK48 |
3629 | | -rziIKJmNLVgTsZd4PlIgZ6xbc5hsMlXJcNHZqhXoLiaFgbxW5LyAY9tO1/UCvlFjHjzb39cAXVq5 |
3630 | | -5Xtq6jggsju27nVUhPmmyjhw3b+w/6WFXbRB/t092SrhMEMamHmToF/gZ2yV+j56rnF7422IQj8l |
3631 | | -1O6+aGisraxg4CCjOYO5Wyijk22hvXYK4+uuhycOVI+0SAyaVPRdjjdQ3F6ki2tL3KbzNL53WSKI |
3632 | | -/xkrbXZkc9oMhwcrmjc60OKM9jYya5p5zNI7k28aTWzmwZ1ArC10w77qXHNlASmxKr9wWcHOxsOi |
3633 | | -yEVfumc9DwIDAQABo4IB6jCCAeYwHwYDVR0jBBgwFoAUoXJfJhsomEOVXQc31YWWnUvSw0UwHQYD |
3634 | | -VR0OBBYEFNWOWlETtCkNMbYcjT5RUTEKM6qBMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAA |
3635 | | -MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgED |
3636 | | -BDArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29tL0NQUzB7BgNVHR8EdDBy |
3637 | | -MDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy |
3638 | | -bDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3639 | | -MHEGCCsGAQUFBwEBBGUwYzA7BggrBgEFBQcwAoYvaHR0cDovL2NydC5jb21vZG9jYS5jb20vVVRO |
3640 | | -QWRkVHJ1c3RTZXJ2ZXJDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2NhLmNv |
3641 | | -bTAvBgNVHREEKDAmgg9sb2dpbi5za3lwZS5jb22CE3d3dy5sb2dpbi5za3lwZS5jb20wDQYJKoZI |
3642 | | -hvcNAQEFBQADggEBAAjygXWRu84SBBjCTVr7RpAKVET08t0HgfAfpnpvn8+4DixPnMSa9aj2uqTJ |
3643 | | -el2x4lrKPPpgqGg+y7ot4s3WtuSSPGmtV+qoLzgQhHLlaHHtvutuGO9jer7nJP/AY/1YO0yBktgp |
3644 | | -q441XdfTCWuF09VzBUTi5buDUxDL8s+3buFpt6GSZMXPzYK7NqA4rdck31P8P2K3t9XHV+OTMXCO |
3645 | | -JImGymMrObpd2Wpg7KFOiv5T+F6S3y9cJhdtA30CDw+qQ2dtsGK/flPdzOx4c5XlpfYAowT9PwQq |
3646 | | -s5jFtwMc28lQq7AFHR6+VrTPPkITlJ755wGBpXhvDHp2rAWG7KzCEaw= |
3647 | | - |
3648 | | -Bogus Yahoo 1 |
3649 | | -============= |
3650 | | -MIIF7zCCBNegAwIBAgIRANdVj9r18RBbshMoK3B3KaMwDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNV |
3651 | | -BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRo |
3652 | | -ZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR8w |
3653 | | -HQYDVQQDExZVVE4tVVNFUkZpcnN0LUhhcmR3YXJlMB4XDTExMDMxNTAwMDAwMFoXDTE0MDMxNDIz |
3654 | | -NTk1OVowgd8xCzAJBgNVBAYTAlVTMQ4wDAYDVQQREwUzODQ3NzEQMA4GA1UECBMHRmxvcmlkYTEQ |
3655 | | -MA4GA1UEBxMHRW5nbGlzaDEXMBUGA1UECRMOU2VhIFZpbGxhZ2UgMTAxFDASBgNVBAoTC0dvb2ds |
3656 | | -ZSBMdGQuMRMwEQYDVQQLEwpUZWNoIERlcHQuMSgwJgYDVQQLEx9Ib3N0ZWQgYnkgR1RJIEdyb3Vw |
3657 | | -IENvcnBvcmF0aW9uMRQwEgYDVQQLEwtQbGF0aW51bVNTTDEYMBYGA1UEAxMPbG9naW4ueWFob28u |
3658 | | -Y29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoaQFPe2FRZOKGE3GAwBX4kB38Bzr |
3659 | | -0BnfIl0If9EHPEGJRhejCfr8+KkE0ZaPq9dPPPmtGKl0gcRXCjomFs5iPrw/bCHuk43LDaAfmpbQ |
3660 | | -j631k5OC7nIMoXUVo3uEVrit/1IRcYS8OjALfpio4ag/N1LQ8XxvkNhFCqw5cmph1bvDjPnCzN/9 |
3661 | | -OnG5r7zcOtwMtrHS0Ym7Qbby3lfVFd/8/eIxxd/KwdiPLL/wDltx4DRxw8VNfXrU+u0wSy/qti6e |
3662 | | -kzziOvhCohru3N/ND6n2eYQajmwCtoblv1FqZvjznNNZDHulmXjNfJn6xpZH2DLUdHYOd0sgdKS3 |
3663 | | -iXWSSrRbVQIDAQABo4IB6jCCAeYwHwYDVR0jBBgwFoAUoXJfJhsomEOVXQc31YWWnUvSw0UwHQYD |
3664 | | -VR0OBBYEFIZJRfwzGTPUBO0nYe7oAckMfy9+MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAA |
3665 | | -MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgED |
3666 | | -BDArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8uY29tL0NQUzB7BgNVHR8EdDBy |
3667 | | -MDigNqA0hjJodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy |
3668 | | -bDA2oDSgMoYwaHR0cDovL2NybC5jb21vZG8ubmV0L1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3669 | | -MHEGCCsGAQUFBwEBBGUwYzA7BggrBgEFBQcwAoYvaHR0cDovL2NydC5jb21vZG9jYS5jb20vVVRO |
3670 | | -QWRkVHJ1c3RTZXJ2ZXJDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9kb2NhLmNv |
3671 | | -bTAvBgNVHREEKDAmgg9sb2dpbi55YWhvby5jb22CE3d3dy5sb2dpbi55YWhvby5jb20wDQYJKoZI |
3672 | | -hvcNAQEFBQADggEBAD1XyUgkXO5kgfWuvlUpFv8qL4Tt2fijA8gwZrvI1IEtIfcI96yWQppBdXq6 |
3673 | | -XRAjy5JCYfqK2m1lNBnlqdYtE3jXgUSSqW6AYxXL/jUfAtGKFLCozJQgO6ga8F02UNsNrulk5PaN |
3674 | | -aX0wyBQXAErlpjX7fQ0inXl2Uiy8lwaImhX0c+bx9ZilzQdEkbinaGdF0nIRYOJxt1BV4oqpDdaS |
3675 | | -7gQqizCgogVGNG2SxjuqTaDQqwEZCjK36OPP8dKXSXuspJf38FeuY3eaf5baTf2+3Ac24yW9iXmO |
3676 | | -KRITi4gH+2vbpM2zLSfp1Mpg14VT+3TGXDWMcB/5sreSJyDHlNVnFDA= |
3677 | | - |
3678 | | -Bogus Yahoo 2 |
3679 | | -============= |
3680 | | -MIIF2TCCBMGgAwIBAgIQOSpDTw4H3x+KowXeNODCKTANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE |
3681 | | -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl |
3682 | | -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd |
3683 | | -BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNMTEwMzE1MDAwMDAwWhcNMTQwMzE0MjM1 |
3684 | | -OTU5WjCB3zELMAkGA1UEBhMCVVMxDjAMBgNVBBETBTM4NDc3MRAwDgYDVQQIEwdGbG9yaWRhMRAw |
3685 | | -DgYDVQQHEwdFbmdsaXNoMRcwFQYDVQQJEw5TZWEgVmlsbGFnZSAxMDEUMBIGA1UEChMLR29vZ2xl |
3686 | | -IEx0ZC4xEzARBgNVBAsTClRlY2ggRGVwdC4xKDAmBgNVBAsTH0hvc3RlZCBieSBHVEkgR3JvdXAg |
3687 | | -Q29ycG9yYXRpb24xFDASBgNVBAsTC1BsYXRpbnVtU1NMMRgwFgYDVQQDEw9sb2dpbi55YWhvby5j |
3688 | | -b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChpAU97YVFk4oYTcYDAFfiQHfwHOvQ |
3689 | | -Gd8iXQh/0Qc8QYlGF6MJ+vz4qQTRlo+r1088+a0YqXSBxFcKOiYWzmI+vD9sIe6TjcsNoB+altCP |
3690 | | -rfWTk4LucgyhdRWje4RWuK3/UhFxhLw6MAt+mKjhqD83UtDxfG+Q2EUKrDlyamHVu8OM+cLM3/06 |
3691 | | -cbmvvNw63Ay2sdLRibtBtvLeV9UV3/z94jHF38rB2I8sv/AOW3HgNHHDxU19etT67TBLL+q2Lp6T |
3692 | | -POI6+EKiGu7c380PqfZ5hBqObAK2huW/UWpm+POc01kMe6WZeM18mfrGlkfYMtR0dg53SyB0pLeJ |
3693 | | -dZJKtFtVAgMBAAGjggHVMIIB0TAfBgNVHSMEGDAWgBShcl8mGyiYQ5VdBzfVhZadS9LDRTAdBgNV |
3694 | | -HQ4EFgQUhklF/DMZM9QE7Sdh7ugByQx/L34wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw |
3695 | | -HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQME |
3696 | | -MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMHsGA1UdHwR0MHIw |
3697 | | -OKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3698 | | -MDagNKAyhjBodHRwOi8vY3JsLmNvbW9kby5uZXQvVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5jcmww |
3699 | | -cQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9VVE5B |
3700 | | -ZGRUcnVzdFNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29t |
3701 | | -MBoGA1UdEQQTMBGCD2xvZ2luLnlhaG9vLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAV2Lhd+v8H7+I |
3702 | | -U69Y09TWbWcwF0C+4B9k3ocVzOCkVqnRn/kB/gKxseriX+5xFjH5CNXC15qbslo416l/6YdrMfkL |
3703 | | -rNn9UHHg24KSD4GcjXfp6y7q1CNBh+wtsnizjrFn0u5xAwgSmbMCKW/ei97BqQMKWjMcPREDxkgM |
3704 | | -mJwVLtmmhVLnBYquMCPr7ShsYOktf49Hiy/Q3Oa7D35f8kiBjlAEY7FRgHWaqbYQHBBfbxhv4A6W |
3705 | | -Rc7u8bUg2+/absiV4/ZF/cr8pV9JbQYe0t5hPRV9N+UcNY4Gwmv3tKgoLDHLqrSnl0+divavfje5 |
3706 | | -ez3fkmaLj06dxjbnXKarEg/Wzw== |
3707 | | - |
3708 | | -Bogus Yahoo 3 |
3709 | | -============= |
3710 | | -MIIF2TCCBMGgAwIBAgIQPnXO1GtpMCEhiDCuhqgqcTANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE |
3711 | | -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl |
3712 | | -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd |
3713 | | -BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNMTEwMzE1MDAwMDAwWhcNMTQwMzE0MjM1 |
3714 | | -OTU5WjCB3zELMAkGA1UEBhMCVVMxDjAMBgNVBBETBTM4NDc3MRAwDgYDVQQIEwdGbG9yaWRhMRAw |
3715 | | -DgYDVQQHEwdFbmdsaXNoMRcwFQYDVQQJEw5TZWEgVmlsbGFnZSAxMDEUMBIGA1UEChMLR29vZ2xl |
3716 | | -IEx0ZC4xEzARBgNVBAsTClRlY2ggRGVwdC4xKDAmBgNVBAsTH0hvc3RlZCBieSBHVEkgR3JvdXAg |
3717 | | -Q29ycG9yYXRpb24xFDASBgNVBAsTC1BsYXRpbnVtU1NMMRgwFgYDVQQDEw9sb2dpbi55YWhvby5j |
3718 | | -b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChpAU97YVFk4oYTcYDAFfiQHfwHOvQ |
3719 | | -Gd8iXQh/0Qc8QYlGF6MJ+vz4qQTRlo+r1088+a0YqXSBxFcKOiYWzmI+vD9sIe6TjcsNoB+altCP |
3720 | | -rfWTk4LucgyhdRWje4RWuK3/UhFxhLw6MAt+mKjhqD83UtDxfG+Q2EUKrDlyamHVu8OM+cLM3/06 |
3721 | | -cbmvvNw63Ay2sdLRibtBtvLeV9UV3/z94jHF38rB2I8sv/AOW3HgNHHDxU19etT67TBLL+q2Lp6T |
3722 | | -POI6+EKiGu7c380PqfZ5hBqObAK2huW/UWpm+POc01kMe6WZeM18mfrGlkfYMtR0dg53SyB0pLeJ |
3723 | | -dZJKtFtVAgMBAAGjggHVMIIB0TAfBgNVHSMEGDAWgBShcl8mGyiYQ5VdBzfVhZadS9LDRTAdBgNV |
3724 | | -HQ4EFgQUhklF/DMZM9QE7Sdh7ugByQx/L34wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw |
3725 | | -HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQME |
3726 | | -MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMHsGA1UdHwR0MHIw |
3727 | | -OKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3728 | | -MDagNKAyhjBodHRwOi8vY3JsLmNvbW9kby5uZXQvVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5jcmww |
3729 | | -cQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9VVE5B |
3730 | | -ZGRUcnVzdFNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29t |
3731 | | -MBoGA1UdEQQTMBGCD2xvZ2luLnlhaG9vLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAU2mYjihOnCtb |
3732 | | -Hcxrdyg9u/qlTn5WKaTqEOL05i0G0YTbI86X82i2DzreFQskHZHjbC4wt+lwsMNGgPDTsVG/T9Z4 |
3733 | | -oPysxs8xBGPiNFUFSj32MLrzM+W60pbz1bG2k4kapGi+fu1jtBpIwFPko/A5DDKSx0MNGnHt0EaT |
3734 | | -v5NibDNLzTYNaV67bJaZIWnES2dy22xquPdo7cWPrWNllQpM4PkPfjc9qtSTumcJw6WkDQNabdUL |
3735 | | -/vBAFLT2uGl8bcIyS5+1GudGrkxaK6p6XpBXlfrbZgIgHmppZhWcwrb1vFC1/UXHH2i0R1msxBso |
3736 | | -k05SUxIDWEtxg59m5qx5SP7+Rw== |
3737 | | - |
3738 | | -Bogus live.com |
3739 | | -============== |
3740 | | -MIIF7DCCBNSgAwIBAgIRALC3Ez7Qlvm1b66RyHS9OsAwDQYJKoZIhvcNAQEFBQAwgZcxCzAJBgNV |
3741 | | -BAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkxHjAcBgNVBAoTFVRo |
3742 | | -ZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2VydHJ1c3QuY29tMR8w |
3743 | | -HQYDVQQDExZVVE4tVVNFUkZpcnN0LUhhcmR3YXJlMB4XDTExMDMxNTAwMDAwMFoXDTE0MDMxNDIz |
3744 | | -NTk1OVowgd4xCzAJBgNVBAYTAlVTMQ4wDAYDVQQREwUzODQ3NzEQMA4GA1UECBMHRmxvcmlkYTEQ |
3745 | | -MA4GA1UEBxMHRW5nbGlzaDEXMBUGA1UECRMOU2VhIFZpbGxhZ2UgMTAxFDASBgNVBAoTC0dvb2ds |
3746 | | -ZSBMdGQuMRMwEQYDVQQLEwpUZWNoIERlcHQuMSgwJgYDVQQLEx9Ib3N0ZWQgYnkgR1RJIEdyb3Vw |
3747 | | -IENvcnBvcmF0aW9uMRQwEgYDVQQLEwtQbGF0aW51bVNTTDEXMBUGA1UEAxMObG9naW4ubGl2ZS5j |
3748 | | -b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDz/Csv7+GtWfBCPMLxgr8sQZPR9pgz |
3749 | | -lUy8YvGVWAi26Xt3SLDT3Bc/vG7m7B7sjRf+HCTGPmc9kpWiMMCnVyDPcIiXSgWTeZNCly8+/8QU |
3750 | | -FCiiEza0+O6+Hbx4XWGTX+uI19HkK5rNWOIHRZ9PuLlAajMsWyEDWkqU8nqXWRuotULYgwCqNMyn |
3751 | | -dtBHA18FrzvhuaE0JbdsX5owhJjCwtfyuEJKEFW9+lOBXY1oZkUsUn7lxATDVOfDOdp6SsW5mIIg |
3752 | | -4SxgV7+68kYAvF863OMzl/hKmLnsM08tYGwVkqaBSgvp7HZwNDEXcOZwS46L03XLeEmrZpuGn4+p |
3753 | | -xAHoyhvnAgMBAAGjggHoMIIB5DAfBgNVHSMEGDAWgBShcl8mGyiYQ5VdBzfVhZadS9LDRTAdBgNV |
3754 | | -HQ4EFgQU1GT2qeilfte/Y1IDg1PbxUGN6oAwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw |
3755 | | -HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQME |
3756 | | -MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMHsGA1UdHwR0MHIw |
3757 | | -OKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3758 | | -MDagNKAyhjBodHRwOi8vY3JsLmNvbW9kby5uZXQvVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5jcmww |
3759 | | -cQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9VVE5B |
3760 | | -ZGRUcnVzdFNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29t |
3761 | | -MC0GA1UdEQQmMCSCDmxvZ2luLmxpdmUuY29tghJ3d3cubG9naW4ubGl2ZS5jb20wDQYJKoZIhvcN |
3762 | | -AQEFBQADggEBAFTjpJok0vMdQq0b8B6r+9rVqunPWrMeV3sx8m5XSzGvM7u2DRXHXlkBzkS1t78J |
3763 | | -ydXcaYTpxRq38D7UwCS9KV+06dZY60URiTQ00xHrNM4qTwA99nLvaWbAn5qsfnBQrFVH2r5DW+yL |
3764 | | -yMUjhMmftlIIz5EbL4Bp5jQz5rOfpOUNmhX5V/wLqUEL9f9YQZIiJ2YSBscq2Fmnxt9EEk/AqH+n |
3765 | | -QcjIaf+6BS6XrTvQ6/MVbX4b5brdNL4iEexomDOBAmoLE1V5MXVOOsi2E72XbzcKCy2IDt5nkMKz |
3766 | | -yiDKmlH0ZD7b9C5F8sdHF6j0+pBaf4CmgqzkbIFGu1KFICT4gOo= |
3767 | | - |
3768 | | -Bogus kuix.de |
3769 | | -============= |
3770 | | -MIIFbDCCBFSgAwIBAgIQcgMhBcUMCFc9jqUwTv7osDANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE |
3771 | | -BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl |
3772 | | -IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd |
3773 | | -BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNMTEwMzE3MDAwMDAwWhcNMTEwNDE2MjM1 |
3774 | | -OTU5WjCB8TELMAkGA1UEBhMCREUxDjAMBgNVBBETBTEyMzQ1MRMwEQYDVQQIEwpUZXN0IFN0YXRl |
3775 | | -MRIwEAYDVQQHEwlUZXN0IENpdHkxFDASBgNVBAkTC1Rlc3QgU3RyZWV0MRMwEQYDVQQKEwpLYWkg |
3776 | | -RW5nZXJ0MSIwIAYDVQQLExlGb3IgVGVzdGluZyBQdXJwb3NlcyBPbmx5MS0wKwYDVQQLEyRURVNU |
3777 | | -IFVTRSBPTkxZIC0gTk8gV0FSUkFOVFkgQVRUQUNIRUQxGTAXBgNVBAsTEENvbW9kbyBUcmlhbCBT |
3778 | | -U0wxEDAOBgNVBAMTB2t1aXguZGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALiqjvWXRwdf |
3779 | | -5Xh2bpNrjt9LPNuZL3FTKW6l8yRPSCUjQAHsChUL7G7IniYjZvvp29gohSFPHt97TOVjwQuyYlaU |
3780 | | -U8u/nKFN2YfFaUg8sb+laFIhHXrclE9EbkclHZ+cktI3HflbW7LdPhjX84dmraP0zo/Rb/C5tO+x |
3781 | | -6hVjCs6BAgMBAAGjggHaMIIB1jAfBgNVHSMEGDAWgBShcl8mGyiYQ5VdBzfVhZadS9LDRTAdBgNV |
3782 | | -HQ4EFgQUQI85JpxMhiOZxlEJpubywf6n9rcwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw |
3783 | | -HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQME |
3784 | | -MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5jb20vQ1BTMHsGA1UdHwR0MHIw |
3785 | | -OKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1VUTi1VU0VSRmlyc3QtSGFyZHdhcmUuY3Js |
3786 | | -MDagNKAyhjBodHRwOi8vY3JsLmNvbW9kby5uZXQvVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5jcmww |
3787 | | -cQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9VVE5B |
3788 | | -ZGRUcnVzdFNlcnZlckNBLmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29t |
3789 | | -MB8GA1UdEQQYMBaCB2t1aXguZGWCC3d3dy5rdWl4LmRlMA0GCSqGSIb3DQEBBQUAA4IBAQCOYR4m |
3790 | | -HqLZGdDw1L2J+eqSEXlqXnt8n345cwlWUeaGVMdtRnZSymqoNMBgPgPOs8lIl9GfpqFqD/530R4Q |
3791 | | -s1eAqQYmhKb7ejcTzoTMd3kJLuJEvh+sd253RkHbsLJpkXTRgJZhMQwvCs+10NwILev2dYLeii66 |
3792 | | -PQeQYDlWg+GCyiOs3+PPTXBXwbi3k5rt3IveSqBVKAKrQwxUl2gYous54bn8v3OAZDMSe4dgAuc+ |
3793 | | -cMmHyqk2PAXxBl5xCg4KNpmwh+dpWrGgME59YVjLxqiWgF59wSr/m0pK6ylnig9v5hntgs+BV+Ek |
3794 | | -raLR+toUl7BsfEfG15QRIezWWtLdj3+R |
3795 | | - |
3796 | 3440 | Go Daddy Root Certificate Authority - G2 |
3797 | 3441 | ======================================== |
3798 | 3442 | -----BEGIN CERTIFICATE----- |
— | — | @@ -3985,3 +3609,113 @@ |
3986 | 3610 | Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI |
3987 | 3611 | 03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= |
3988 | 3612 | -----END CERTIFICATE----- |
| 3613 | + |
| 3614 | +Certinomis - Autorité Racine |
| 3615 | +============================= |
| 3616 | +-----BEGIN CERTIFICATE----- |
| 3617 | +MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK |
| 3618 | +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg |
| 3619 | +LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG |
| 3620 | +A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw |
| 3621 | +JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD |
| 3622 | +ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa |
| 3623 | +wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly |
| 3624 | +Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw |
| 3625 | +2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N |
| 3626 | +jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q |
| 3627 | +c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC |
| 3628 | +lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb |
| 3629 | +xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g |
| 3630 | +530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna |
| 3631 | +4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G |
| 3632 | +A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ |
| 3633 | +KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x |
| 3634 | +WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva |
| 3635 | +R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 |
| 3636 | +nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B |
| 3637 | +CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv |
| 3638 | +JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE |
| 3639 | +qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b |
| 3640 | +WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE |
| 3641 | +wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ |
| 3642 | +vgt2Fl43N+bYdJeimUV5 |
| 3643 | +-----END CERTIFICATE----- |
| 3644 | + |
| 3645 | +Root CA Generalitat Valenciana |
| 3646 | +============================== |
| 3647 | +-----BEGIN CERTIFICATE----- |
| 3648 | +MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE |
| 3649 | +ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 |
| 3650 | +IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 |
| 3651 | +WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE |
| 3652 | +CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G |
| 3653 | +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 |
| 3654 | +F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B |
| 3655 | +ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ |
| 3656 | +D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte |
| 3657 | +JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB |
| 3658 | +AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n |
| 3659 | +dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB |
| 3660 | +ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl |
| 3661 | +AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA |
| 3662 | +YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy |
| 3663 | +AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA |
| 3664 | +aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt |
| 3665 | +AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA |
| 3666 | +YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu |
| 3667 | +AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA |
| 3668 | +OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 |
| 3669 | +dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV |
| 3670 | +BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G |
| 3671 | +A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S |
| 3672 | +b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh |
| 3673 | +TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz |
| 3674 | +Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 |
| 3675 | +NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH |
| 3676 | +iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt |
| 3677 | ++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= |
| 3678 | +-----END CERTIFICATE----- |
| 3679 | + |
| 3680 | +A-Trust-nQual-03 |
| 3681 | +================ |
| 3682 | +-----BEGIN CERTIFICATE----- |
| 3683 | +MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE |
| 3684 | +Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy |
| 3685 | +a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R |
| 3686 | +dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw |
| 3687 | +RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 |
| 3688 | +ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 |
| 3689 | +c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA |
| 3690 | +zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n |
| 3691 | +yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE |
| 3692 | +SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 |
| 3693 | +iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V |
| 3694 | +cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV |
| 3695 | +eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 |
| 3696 | +ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr |
| 3697 | +sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd |
| 3698 | +JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS |
| 3699 | +mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 |
| 3700 | +ahq97BvIxYSazQ== |
| 3701 | +-----END CERTIFICATE----- |
| 3702 | + |
| 3703 | +TWCA Root Certification Authority |
| 3704 | +================================= |
| 3705 | +-----BEGIN CERTIFICATE----- |
| 3706 | +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ |
| 3707 | +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh |
| 3708 | +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG |
| 3709 | +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB |
| 3710 | +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK |
| 3711 | +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx |
| 3712 | +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC |
| 3713 | +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP |
| 3714 | +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r |
| 3715 | +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB |
| 3716 | +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG |
| 3717 | +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC |
| 3718 | +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW |
| 3719 | +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY |
| 3720 | +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny |
| 3721 | +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== |
| 3722 | +-----END CERTIFICATE----- |
Index: trunk/extensions/OpenStackManager/aws-sdk/_docs/CHANGELOG.md |
— | — | @@ -1,3 +1,183 @@ |
| 2 | +# Changelog: 1.4.8 "Zanarkand" |
| 3 | +<http://finalfantasy.wikia.com/wiki/Zanarkand> |
| 4 | + |
| 5 | +Launched Wednesday, December 7, 2011 |
| 6 | + |
| 7 | +## Services |
| 8 | +### AmazonCloudFront |
| 9 | +* **Fixed:** Merged in a pull request contributed by Ben Lumley: <https://github.com/amazonwebservices/aws-sdk-for-php/pull/11> |
| 10 | + |
| 11 | +### AmazonEC2 |
| 12 | +* **Fixed:** Resolved an issue where `set_region()` was not setting the correct endpoint for the region. |
| 13 | + |
| 14 | +### AmazonS3 |
| 15 | +* **New:** Support for S3-side multi-object delete has been added to the SDK as the `delete_objects()` method. The implementations of `delete_all_objects()` and `delete_all_object_versions()` have been updated to use this new functionality. |
| 16 | +* **Changed:** XML and JSON responses from `get_object()` are no longer parsed. The raw XML and JSON string content is now returned. |
| 17 | + |
| 18 | + |
| 19 | +---- |
| 20 | + |
| 21 | +# Changelog: 1.4.7 "Yuna" |
| 22 | +<http://finalfantasy.wikia.com/wiki/Yuna> |
| 23 | + |
| 24 | +Launched Wednesday, November 9, 2011 |
| 25 | + |
| 26 | +## Service Classes |
| 27 | +### AmazonAS |
| 28 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 29 | + |
| 30 | +### AmazonCloudFormation |
| 31 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 32 | + |
| 33 | +### AmazonCloudWatch |
| 34 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 35 | +* **New:** Support for the US GovCloud region has been added to the SDK. |
| 36 | + |
| 37 | +### AmazonEC2 |
| 38 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 39 | +* **New:** Support for the US GovCloud region has been added to the SDK. |
| 40 | + |
| 41 | +### AmazonELB |
| 42 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 43 | + |
| 44 | +### AmazonEMR |
| 45 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 46 | + |
| 47 | +### AmazonIAM |
| 48 | +* **New:** Support for the US GovCloud region has been added to the SDK. |
| 49 | + |
| 50 | +### AmazonRDS |
| 51 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 52 | + |
| 53 | +### AmazonS3 |
| 54 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 55 | +* **Fixed:** Resolved an issue where certain bits of metadata were not maintained during a copy operation. <https://forums.aws.amazon.com/thread.jspa?threadID=77630> |
| 56 | +* **Fixed:** Resolved an issue where an unsuccessful lookup of an existing content-type would throw a warning. <https://forums.aws.amazon.com/thread.jspa?threadID=78121> |
| 57 | +* **Fixed:** Resolved an issue where an exception would be thrown when a filesize lookup was attempted on an object that didn't exist. <https://forums.aws.amazon.com/thread.jspa?threadID=78197> |
| 58 | + |
| 59 | +### AmazonSDB |
| 60 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 61 | + |
| 62 | +### AmazonSNS |
| 63 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 64 | + |
| 65 | +### AmazonSQS |
| 66 | +* **New:** Support for the US-West 2 (Oregon) region has been added to the SDK. |
| 67 | + |
| 68 | + |
| 69 | +---- |
| 70 | + |
| 71 | +# Changelog: 1.4.6 "Xezat" |
| 72 | +<http://finalfantasy.wikia.com/wiki/Xezat> |
| 73 | + |
| 74 | +Launched Thursday, November 3, 2011 |
| 75 | + |
| 76 | +## Service Classes |
| 77 | +### AmazonIAM |
| 78 | +* **New:** Support for a virtual MFA device. A virtual MFA device uses a software application that can generate six-digit authentication codes that are Open AuTHentication Time-based One-Time Password (OATHTOTP)-compatible. The software application can run on any mobile hardware device, including a smartphone. |
| 79 | + |
| 80 | + |
| 81 | +---- |
| 82 | + |
| 83 | +# Changelog: 1.4.5 "Weiss" |
| 84 | +<http://finalfantasy.wikia.com/wiki/Weiss> |
| 85 | + |
| 86 | +Launched Friday, October 21, 2011 |
| 87 | + |
| 88 | +## Service Classes |
| 89 | +### AmazonSQS |
| 90 | +* **New:** Support for delayed queues and batch operations has been added to the SDK. |
| 91 | + |
| 92 | + |
| 93 | +---- |
| 94 | + |
| 95 | +# Changelog: 1.4.4 "Vaan" |
| 96 | +<http://finalfantasy.wikia.com/wiki/Vaan> |
| 97 | + |
| 98 | +Launched Tuesday, October 12, 2011 |
| 99 | + |
| 100 | +## Runtime |
| 101 | +* **Fixed:** Resolved an issue where a segmentation fault is triggererd when there are multiple autoloaders in the stack and one of them doesn't return a value. |
| 102 | + |
| 103 | +## Service Classes |
| 104 | +### AmazonS3 |
| 105 | +* **New:** Support for server-side encryption has been added to the SDK. |
| 106 | + |
| 107 | + |
| 108 | +---- |
| 109 | + |
| 110 | +# Changelog: 1.4.3 "Ultros" |
| 111 | +<http://finalfantasy.wikia.com/wiki/Ultros> |
| 112 | + |
| 113 | +Launched Friday, September 30, 2011 |
| 114 | + |
| 115 | +## Service Classes |
| 116 | +### AmazonCloudFormation |
| 117 | +* **New:** Support for new features in CloudFormation have been added to the SDK. |
| 118 | + |
| 119 | +### AmazonS3 |
| 120 | +* **Fixed:** Setting the default cache configuration no longer causes authentication errors in `AmazonS3`. |
| 121 | + |
| 122 | + |
| 123 | +---- |
| 124 | + |
| 125 | +# Changelog: 1.4.2.1 "Tiamat, Part II" |
| 126 | +<http://finalfantasy.wikia.com/wiki/Tiamat> |
| 127 | + |
| 128 | +Launched Wednesday, September 7, 2011 |
| 129 | + |
| 130 | +## Utility Classes |
| 131 | +### RequestCore |
| 132 | +* **Fixed:** RequestCore has updated the `cacert.pem` file from Mozilla. This update revokes trust from the DigiNotar and Staat der Nederlanden root certificates. |
| 133 | + |
| 134 | + |
| 135 | +---- |
| 136 | + |
| 137 | +# Changelog: 1.4.2 "Tiamat" |
| 138 | +<http://finalfantasy.wikia.com/wiki/Tiamat> |
| 139 | + |
| 140 | +Launched Thursday, September 1, 2011 |
| 141 | + |
| 142 | +## Service Classes |
| 143 | +### AmazonEC2 |
| 144 | +* **Fixed:** Requests made to Amazon EC2 now use the correct API version (2011-07-15). |
| 145 | + |
| 146 | +### AmazonELB |
| 147 | +* **New:** A pre-defined set of ciphers may now be used for SSL termination at the Elastic Load Balancer. |
| 148 | +* **New:** Application servers can now accept secure communication from the corresponding Elastic Load Balancer. |
| 149 | +* **New:** In cases where HTTPS is required for all traffic entering the back-end server, Elastic Load Balancing can now perform health checks using HTTPS. |
| 150 | +* **New:** White list of public keys can now be associated with back-end servers. Elastic Load Balancing authenticates back-end servers with the public keys in the white list and communicates only with back-end servers that pass this authentication check. |
| 151 | + |
| 152 | +## Utility Classes |
| 153 | +### RequestCore |
| 154 | +* **Fixed:** RequestCore has updated the `cacert.pem` file from Mozilla. This update revokes trust from the DigiNotar root certificate. |
| 155 | + |
| 156 | + |
| 157 | +---- |
| 158 | + |
| 159 | +# Changelog: 1.4.1 "Sephiroth" |
| 160 | +<http://finalfantasy.wikia.com/wiki/Sephiroth> |
| 161 | + |
| 162 | +Launched Tuesday, August 23, 2011 |
| 163 | + |
| 164 | +## Service Classes |
| 165 | +### AmazonElastiCache |
| 166 | +* **New:** Support for Amazon ElastiCache has been added to the SDK. |
| 167 | + |
| 168 | +### AmazonEMR |
| 169 | +* **New:** Support for Hadoop Bootstrap Actions has been added to the SDK. |
| 170 | +* **New:** Support for Amazon Elastic MapReduce on Spot Instances has been added to the SDK. |
| 171 | +* **New:** Support for Termination Protection has been added to the SDK. |
| 172 | +* **Changed:** For the <code>add_instance_groups()</code> method, the <code>$instance_groups</code> and <code>$job_flow_id</code> parameters have been reversed. |
| 173 | + |
| 174 | +## Utility Classes |
| 175 | +### CFHadoopBootstrap |
| 176 | +* **New:** The `CFHadoopBootstrap` class has been added to the SDK. Simplifies the process of working with Hadoop system and daemon configurations in Amazon EMR. |
| 177 | +* **New:** This class extends from the `CFHadoopBase` class. |
| 178 | + |
| 179 | + |
| 180 | +---- |
| 181 | + |
2 | 182 | # Changelog: 1.4 "Rikku" |
3 | 183 | <http://finalfantasy.wikia.com/wiki/Rikku> |
4 | 184 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/sdk.class.php |
— | — | @@ -125,9 +125,9 @@ |
126 | 126 | // INTERMEDIARY CONSTANTS |
127 | 127 | |
128 | 128 | define('CFRUNTIME_NAME', 'aws-sdk-php'); |
129 | | -define('CFRUNTIME_VERSION', '1.4'); |
| 129 | +define('CFRUNTIME_VERSION', '1.4.8'); |
130 | 130 | // define('CFRUNTIME_BUILD', gmdate('YmdHis', filemtime(__FILE__))); // @todo: Hardcode for release. |
131 | | -define('CFRUNTIME_BUILD', '20110803172558'); |
| 131 | +define('CFRUNTIME_BUILD', '20111207191027'); |
132 | 132 | 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()); |
133 | 133 | |
134 | 134 | |
— | — | @@ -376,6 +376,7 @@ |
377 | 377 | // Set default values |
378 | 378 | $this->key = null; |
379 | 379 | $this->secret_key = null; |
| 380 | + $this->auth_token = $token; |
380 | 381 | |
381 | 382 | // If both a key and secret key are passed in, use those. |
382 | 383 | if ($key && $secret_key) |
— | — | @@ -415,7 +416,8 @@ |
416 | 417 | // Use 'em if we've got 'em |
417 | 418 | if ($key && $secret_key && $token) |
418 | 419 | { |
419 | | - $this->__construct($key, $secret_key); |
| 420 | + $this->key = $key; |
| 421 | + $this->secret_key = $secret_key; |
420 | 422 | $this->auth_token = $token; |
421 | 423 | return true; |
422 | 424 | } |
— | — | @@ -458,20 +460,12 @@ |
459 | 461 | $this->auth_token = $session_credentials['SessionToken']; |
460 | 462 | |
461 | 463 | // If both a key and secret key are passed in, use those. |
462 | | - if ($session_credentials['AccessKeyId'] && $session_credentials['SecretAccessKey']) |
| 464 | + if (isset($session_credentials['AccessKeyId']) && isset($session_credentials['SecretAccessKey'])) |
463 | 465 | { |
464 | 466 | $this->key = $session_credentials['AccessKeyId']; |
465 | 467 | $this->secret_key = $session_credentials['SecretAccessKey']; |
466 | 468 | return true; |
467 | 469 | } |
468 | | - // If neither are passed in, look for the constants instead. |
469 | | - elseif (defined('AWS_KEY') && defined('AWS_SECRET_KEY')) |
470 | | - { |
471 | | - $this->key = AWS_KEY; |
472 | | - $this->secret_key = AWS_SECRET_KEY; |
473 | | - return true; |
474 | | - } |
475 | | - |
476 | 470 | // Otherwise set the values to blank and return false. |
477 | 471 | else |
478 | 472 | { |
— | — | @@ -480,6 +474,13 @@ |
481 | 475 | } |
482 | 476 | } |
483 | 477 | |
| 478 | + /** |
| 479 | + * The callback function that is executed while caching the session credentials. |
| 480 | + * |
| 481 | + * @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant. |
| 482 | + * @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant. |
| 483 | + * @return mixed The data to be cached or null. |
| 484 | + */ |
484 | 485 | public function cache_token($key, $secret_key) |
485 | 486 | { |
486 | 487 | $token = new AmazonSTS($key, $secret_key); |
— | — | @@ -1365,7 +1366,7 @@ |
1366 | 1367 | case 'deflate': |
1367 | 1368 | if (strpos($headers['_info']['url'], 'monitoring.') !== false) |
1368 | 1369 | { |
1369 | | - // CloudWatch incorrectly does nothing when they say deflate. |
| 1370 | + // CloudWatchWatch incorrectly does nothing when they say deflate. |
1370 | 1371 | continue; |
1371 | 1372 | } |
1372 | 1373 | else |
— | — | @@ -1573,6 +1574,8 @@ |
1574 | 1575 | { |
1575 | 1576 | require_once($path); |
1576 | 1577 | } |
| 1578 | + |
| 1579 | + return true; |
1577 | 1580 | } |
1578 | 1581 | } |
1579 | 1582 | |
Index: trunk/extensions/OpenStackManager/aws-sdk/utilities/hadoopbootstrap.class.php |
— | — | @@ -0,0 +1,127 @@ |
| 2 | +<?php |
| 3 | +/* |
| 4 | + * Copyright 2010-2011 Amazon.com, Inc. or its affiliates. All Rights Reserved. |
| 5 | + * |
| 6 | + * Licensed under the Apache License, Version 2.0 (the "License"). |
| 7 | + * You may not use this file except in compliance with the License. |
| 8 | + * A copy of the License is located at |
| 9 | + * |
| 10 | + * http://aws.amazon.com/apache2.0 |
| 11 | + * |
| 12 | + * or in the "license" file accompanying this file. This file is distributed |
| 13 | + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either |
| 14 | + * express or implied. See the License for the specific language governing |
| 15 | + * permissions and limitations under the License. |
| 16 | + */ |
| 17 | + |
| 18 | + |
| 19 | +/*%******************************************************************************************%*/ |
| 20 | +// CLASS |
| 21 | + |
| 22 | +/** |
| 23 | + * Contains a set of pre-built Amazon EMR Hadoop Bootstrap Actions. |
| 24 | + * |
| 25 | + * @version 2011.05.03 |
| 26 | + * @license See the included NOTICE.md file for more information. |
| 27 | + * @copyright See the included NOTICE.md file for more information. |
| 28 | + * @link http://aws.amazon.com/php/ PHP Developer Center |
| 29 | + * @link http://hadoop.apache.org Apache Hadoop |
| 30 | + */ |
| 31 | +class CFHadoopBootstrap extends CFHadoopBase |
| 32 | +{ |
| 33 | + // Config file types |
| 34 | + const CONFIG_SITE = 'S'; |
| 35 | + const CONFIG_DEFAULT = 'D'; |
| 36 | + const CONFIG_CORE = 'C'; |
| 37 | + const CONFIG_HDFS = 'H'; |
| 38 | + const CONFIG_MAPREDUCE = 'M'; |
| 39 | + |
| 40 | + // Daemon types |
| 41 | + const DAEMON_NAME_NODE = 'namenode'; |
| 42 | + const DAEMON_DATA_NODE = 'datanode'; |
| 43 | + const DAEMON_JOB_TRACKER = 'jobtracker'; |
| 44 | + const DAEMON_TASK_TRACKER = 'tasktracker'; |
| 45 | + const DAEMON_CLIENT = 'client'; |
| 46 | + |
| 47 | + /** |
| 48 | + * Create a new run-if bootstrap action which lets you conditionally run bootstrap actions. |
| 49 | + * |
| 50 | + * @param string $condition (Required) The condition to evaluate. If <code>true</code>, the bootstrap action executes. |
| 51 | + * @param array $args (Optional) An indexed array of arguments to pass to the script. |
| 52 | + * @return array A configuration set to be provided when running a job flow. |
| 53 | + */ |
| 54 | + public static function run_if($condition, $args = null) |
| 55 | + { |
| 56 | + if (!$args) $args = array(); |
| 57 | + $args = is_array($args) ? $args : array($args); |
| 58 | + |
| 59 | + return self::script_runner('s3://us-east-1.elasticmapreduce/bootstrap-actions/run-if', $args); |
| 60 | + } |
| 61 | + |
| 62 | + /** |
| 63 | + * Specify options to merge with Hadoop's default configuration. |
| 64 | + * |
| 65 | + * @param string $file (Required) The Hadoop configuration file to merge with. [Allowed values: <code>CFHadoopBootstrap::CONFIG_SITE</code>, <code>CFHadoopBootstrap::CONFIG_DEFAULT</code>, <code>CFHadoopBootstrap::CONFIG_CORE</code>, <code>CFHadoopBootstrap::CONFIG_HDFS</code>, <code>CFHadoopBootstrap::CONFIG_MAPREDUCE</code>] |
| 66 | + * @param string|array $config (Required) This can either be an XML file in S3 (as <code>s3://bucket/path</code>), or an associative array of key-value pairs. |
| 67 | + * @return array A configuration set to be provided when running a job flow. |
| 68 | + */ |
| 69 | + public static function configure($file, $config) |
| 70 | + { |
| 71 | + $args = array(); |
| 72 | + $file_arg = '-' . $file; |
| 73 | + |
| 74 | + if (is_string($config)) |
| 75 | + { |
| 76 | + $args[] = $file_arg; |
| 77 | + $args[] = $config; |
| 78 | + } |
| 79 | + elseif (is_array($config)) |
| 80 | + { |
| 81 | + foreach ($config as $key => $value) |
| 82 | + { |
| 83 | + $args[] = $file_arg; |
| 84 | + $args[] = $key . '=' . $value; |
| 85 | + } |
| 86 | + } |
| 87 | + |
| 88 | + return self::script_runner('s3://us-east-1.elasticmapreduce/bootstrap-actions/configure-hadoop', $args); |
| 89 | + } |
| 90 | + |
| 91 | + /** |
| 92 | + * Create a new bootstrap action which lets you configure Hadoop's daemons. The options are written to |
| 93 | + * the <code>hadoop-user-env.sh</code> file. |
| 94 | + * |
| 95 | + * @param string $daemon_type (Required) The Hadoop daemon to configure. |
| 96 | + * @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul> |
| 97 | + * <li><code>HeapSize</code> - <code>integer</code> - Optional - The requested heap size of the daemon, in megabytes.</li> |
| 98 | + * <li><code>CLIOptions</code> - <code>string</code> - Optional - Additional Java command line arguments to pass to the daemon.</li> |
| 99 | + * <li><code>Replace</code> - <code>boolean</code> - Optional - Whether or not the file should be replaced. A value of <code>true</code> will replace the existing configuration file. A value of <code>false</code> will append the options to the configuration file.</li></ul> |
| 100 | + * @return array A configuration set to be provided when running a job flow. |
| 101 | + */ |
| 102 | + public static function daemon($daemon_type, $opt = null) |
| 103 | + { |
| 104 | + if (!$opt) $opt = array(); |
| 105 | + $args = array(); |
| 106 | + |
| 107 | + foreach ($opt as $key => $value) |
| 108 | + { |
| 109 | + switch ($key) |
| 110 | + { |
| 111 | + case 'HeapSize': |
| 112 | + $args[] = '--' . $daemon_type . '-heap-size=' . $value; |
| 113 | + break; |
| 114 | + case 'CLIOptions': |
| 115 | + $args[] = '--' . $daemon_type . '-opts="' . $value . '"'; |
| 116 | + break; |
| 117 | + case 'Replace': |
| 118 | + if ((is_string($value) && $value === 'true') || (is_bool($value) && $value === true)) |
| 119 | + { |
| 120 | + $args[] = '--replace'; |
| 121 | + } |
| 122 | + break; |
| 123 | + } |
| 124 | + } |
| 125 | + |
| 126 | + return self::script_runner('s3://us-east-1.elasticmapreduce/bootstrap-actions/configure-daemons', $args); |
| 127 | + } |
| 128 | +} |