RetentionScience_Waves - Version 3.0.7

Version Notes

- Support for NULL record ids

Download this release

Release Info

Developer Retention Science
Extension RetentionScience_Waves
Version 3.0.7
Comparing to
See all releases


Code changes from version 3.0.6 to 3.0.7

Files changed (130) hide show
  1. app/code/community/RetentionScience/Waves/Model/Configfieldlistener.php +8 -6
  2. app/code/community/RetentionScience/Waves/Model/Connection/AwsCloudWatch.php +7 -6
  3. app/code/community/RetentionScience/Waves/Model/Export/Category.php +3 -0
  4. app/code/community/RetentionScience/Waves/Model/Export/Customer.php +3 -0
  5. app/code/community/RetentionScience/Waves/Model/Export/Order.php +3 -0
  6. app/code/community/RetentionScience/Waves/Model/Export/Order/Customer.php +3 -0
  7. app/code/community/RetentionScience/Waves/Model/Export/Order/Items.php +3 -0
  8. app/code/community/RetentionScience/Waves/Model/Export/Product.php +3 -0
  9. app/code/community/RetentionScience/Waves/Model/Observer.php +4 -0
  10. app/code/community/RetentionScience/Waves/Model/Observer/Default.php +18 -0
  11. app/code/community/RetentionScience/Waves/etc/config.xml +1 -1
  12. lib/aws-sdk-php/Aws/Api/AbstractModel.php +0 -67
  13. lib/aws-sdk-php/Aws/Api/ApiProvider.php +0 -241
  14. lib/aws-sdk-php/Aws/Api/DateTimeResult.php +0 -41
  15. lib/aws-sdk-php/Aws/Api/DocModel.php +0 -128
  16. lib/aws-sdk-php/Aws/Api/ErrorParser/JsonParserTrait.php +0 -26
  17. lib/aws-sdk-php/Aws/Api/ErrorParser/JsonRpcErrorParser.php +0 -31
  18. lib/aws-sdk-php/Aws/Api/ErrorParser/RestJsonErrorParser.php +0 -35
  19. lib/aws-sdk-php/Aws/Api/ErrorParser/XmlErrorParser.php +0 -82
  20. lib/aws-sdk-php/Aws/Api/ListShape.php +0 -35
  21. lib/aws-sdk-php/Aws/Api/MapShape.php +0 -54
  22. lib/aws-sdk-php/Aws/Api/Operation.php +0 -97
  23. lib/aws-sdk-php/Aws/Api/Parser/AbstractParser.php +0 -35
  24. lib/aws-sdk-php/Aws/Api/Parser/AbstractRestParser.php +0 -154
  25. lib/aws-sdk-php/Aws/Api/Parser/Crc32ValidatingParser.php +0 -47
  26. lib/aws-sdk-php/Aws/Api/Parser/Exception/ParserException.php +0 -4
  27. lib/aws-sdk-php/Aws/Api/Parser/JsonParser.php +0 -58
  28. lib/aws-sdk-php/Aws/Api/Parser/JsonRpcParser.php +0 -40
  29. lib/aws-sdk-php/Aws/Api/Parser/PayloadParserTrait.php +0 -51
  30. lib/aws-sdk-php/Aws/Api/Parser/QueryParser.php +0 -52
  31. lib/aws-sdk-php/Aws/Api/Parser/RestJsonParser.php +0 -39
  32. lib/aws-sdk-php/Aws/Api/Parser/RestXmlParser.php +0 -36
  33. lib/aws-sdk-php/Aws/Api/Parser/XmlParser.php +0 -134
  34. lib/aws-sdk-php/Aws/Api/Serializer/Ec2ParamBuilder.php +0 -40
  35. lib/aws-sdk-php/Aws/Api/Serializer/JsonBody.php +0 -90
  36. lib/aws-sdk-php/Aws/Api/Serializer/JsonRpcSerializer.php +0 -69
  37. lib/aws-sdk-php/Aws/Api/Serializer/QueryParamBuilder.php +0 -154
  38. lib/aws-sdk-php/Aws/Api/Serializer/QuerySerializer.php +0 -69
  39. lib/aws-sdk-php/Aws/Api/Serializer/RestJsonSerializer.php +0 -39
  40. lib/aws-sdk-php/Aws/Api/Serializer/RestSerializer.php +0 -193
  41. lib/aws-sdk-php/Aws/Api/Serializer/RestXmlSerializer.php +0 -34
  42. lib/aws-sdk-php/Aws/Api/Serializer/XmlBody.php +0 -217
  43. lib/aws-sdk-php/Aws/Api/Service.php +0 -404
  44. lib/aws-sdk-php/Aws/Api/Shape.php +0 -69
  45. lib/aws-sdk-php/Aws/Api/ShapeMap.php +0 -66
  46. lib/aws-sdk-php/Aws/Api/StructureShape.php +0 -79
  47. lib/aws-sdk-php/Aws/Api/TimestampShape.php +0 -48
  48. lib/aws-sdk-php/Aws/Api/Validator.php +0 -236
  49. lib/aws-sdk-php/Aws/ApiGateway/ApiGatewayClient.php +0 -166
  50. lib/aws-sdk-php/Aws/ApiGateway/Exception/ApiGatewayException.php +0 -9
  51. lib/aws-sdk-php/Aws/AutoScaling/AutoScalingClient.php +105 -99
  52. lib/aws-sdk-php/Aws/AutoScaling/Enum/LifecycleState.php +31 -0
  53. lib/aws-sdk-php/Aws/AutoScaling/Enum/ScalingActivityStatusCode.php +34 -0
  54. lib/aws-sdk-php/Aws/AutoScaling/Exception/AlreadyExistsException.php +22 -0
  55. lib/aws-sdk-php/Aws/AutoScaling/Exception/AutoScalingException.php +18 -3
  56. lib/aws-sdk-php/Aws/AutoScaling/Exception/InvalidNextTokenException.php +22 -0
  57. lib/aws-sdk-php/Aws/AutoScaling/Exception/LimitExceededException.php +22 -0
  58. lib/aws-sdk-php/Aws/AutoScaling/Exception/ResourceInUseException.php +22 -0
  59. lib/aws-sdk-php/Aws/AutoScaling/Exception/ScalingActivityInProgressException.php +22 -0
  60. lib/aws-sdk-php/Aws/AutoScaling/Resources/autoscaling-2011-01-01.php +3683 -0
  61. lib/aws-sdk-php/Aws/AwsClient.php +0 -351
  62. lib/aws-sdk-php/Aws/AwsClientInterface.php +0 -169
  63. lib/aws-sdk-php/Aws/CacheInterface.php +0 -34
  64. lib/aws-sdk-php/Aws/ClientResolver.php +0 -548
  65. lib/aws-sdk-php/Aws/CloudFormation/CloudFormationClient.php +71 -39
  66. lib/aws-sdk-php/Aws/CloudFormation/Enum/Capability.php +27 -0
  67. lib/aws-sdk-php/Aws/CloudFormation/Enum/OnFailure.php +29 -0
  68. lib/aws-sdk-php/Aws/CloudFormation/Enum/ResourceStatus.php +35 -0
  69. lib/aws-sdk-php/Aws/CloudFormation/Enum/StackStatus.php +42 -0
  70. lib/aws-sdk-php/Aws/CloudFormation/Exception/AlreadyExistsException.php +22 -0
  71. lib/aws-sdk-php/Aws/CloudFormation/Exception/CloudFormationException.php +18 -3
  72. lib/aws-sdk-php/Aws/CloudFormation/Exception/InsufficientCapabilitiesException.php +22 -0
  73. lib/aws-sdk-php/Aws/CloudFormation/Exception/LimitExceededException.php +22 -0
  74. lib/aws-sdk-php/Aws/CloudFormation/Resources/cloudformation-2010-05-15.php +1389 -0
  75. lib/aws-sdk-php/Aws/CloudFront/CloudFrontClient.php +212 -76
  76. lib/aws-sdk-php/Aws/CloudFront/CloudFrontSignature.php +61 -0
  77. lib/aws-sdk-php/Aws/CloudFront/Enum/GeoRestrictionType.php +29 -0
  78. lib/aws-sdk-php/Aws/CloudFront/Enum/ItemSelection.php +29 -0
  79. lib/aws-sdk-php/Aws/CloudFront/Enum/Method.php +33 -0
  80. lib/aws-sdk-php/Aws/CloudFront/Enum/OriginProtocolPolicy.php +28 -0
  81. lib/aws-sdk-php/Aws/CloudFront/Enum/PriceClass.php +29 -0
  82. lib/aws-sdk-php/Aws/CloudFront/Enum/SSLSupportMethod.php +28 -0
  83. lib/aws-sdk-php/Aws/CloudFront/Enum/ViewerProtocolPolicy.php +29 -0
  84. lib/aws-sdk-php/Aws/CloudFront/Exception/AccessDeniedException.php +22 -0
  85. lib/aws-sdk-php/Aws/CloudFront/Exception/BatchTooLargeException.php +22 -0
  86. lib/aws-sdk-php/Aws/CloudFront/Exception/CNAMEAlreadyExistsException.php +22 -0
  87. lib/aws-sdk-php/Aws/CloudFront/Exception/CloudFrontException.php +18 -3
  88. lib/aws-sdk-php/Aws/CloudFront/Exception/CloudFrontOriginAccessIdentityAlreadyExistsException.php +22 -0
  89. lib/aws-sdk-php/Aws/CloudFront/Exception/CloudFrontOriginAccessIdentityInUseException.php +22 -0
  90. lib/aws-sdk-php/Aws/CloudFront/Exception/DistributionAlreadyExistsException.php +22 -0
  91. lib/aws-sdk-php/Aws/CloudFront/Exception/DistributionNotDisabledException.php +22 -0
  92. lib/aws-sdk-php/Aws/CloudFront/Exception/Exception.php +24 -0
  93. lib/aws-sdk-php/Aws/CloudFront/Exception/IllegalUpdateException.php +22 -0
  94. lib/aws-sdk-php/Aws/CloudFront/Exception/InconsistentQuantitiesException.php +22 -0
  95. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidArgumentException.php +22 -0
  96. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidDefaultRootObjectException.php +22 -0
  97. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidErrorCodeException.php +22 -0
  98. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidForwardCookiesException.php +22 -0
  99. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidGeoRestrictionParameterException.php +22 -0
  100. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidIfMatchVersionException.php +22 -0
  101. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidLocationCodeException.php +22 -0
  102. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidOriginAccessIdentityException.php +22 -0
  103. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidOriginException.php +22 -0
  104. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidRelativePathException.php +22 -0
  105. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidRequiredProtocolException.php +22 -0
  106. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidResponseCodeException.php +22 -0
  107. lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidViewerCertificateException.php +22 -0
  108. lib/aws-sdk-php/Aws/CloudFront/Exception/MissingBodyException.php +22 -0
  109. lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchCloudFrontOriginAccessIdentityException.php +22 -0
  110. lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchDistributionException.php +22 -0
  111. lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchInvalidationException.php +22 -0
  112. lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchOriginException.php +22 -0
  113. lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchStreamingDistributionException.php +22 -0
  114. lib/aws-sdk-php/Aws/CloudFront/Exception/PreconditionFailedException.php +22 -0
  115. lib/aws-sdk-php/Aws/CloudFront/Exception/StreamingDistributionAlreadyExistsException.php +22 -0
  116. lib/aws-sdk-php/Aws/CloudFront/Exception/StreamingDistributionNotDisabledException.php +22 -0
  117. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCacheBehaviorsException.php +22 -0
  118. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCertificatesException.php +22 -0
  119. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCloudFrontOriginAccessIdentitiesException.php +22 -0
  120. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCookieNamesInWhiteListException.php +22 -0
  121. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyDistributionCNAMEsException.php +22 -0
  122. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyDistributionsException.php +22 -0
  123. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyInvalidationsInProgressException.php +22 -0
  124. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyOriginsException.php +22 -0
  125. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyStreamingDistributionCNAMEsException.php +22 -0
  126. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyStreamingDistributionsException.php +22 -0
  127. lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyTrustedSignersException.php +22 -0
  128. lib/aws-sdk-php/Aws/CloudFront/Exception/TrustedSignerDoesNotExistException.php +22 -0
  129. lib/aws-sdk-php/Aws/CloudFront/Resources/cloudfront-2012-05-05.php +4609 -0
  130. lib/aws-sdk-php/Aws/CloudFront/Resources/cloudfront-2015-04-17.php +4241 -0
app/code/community/RetentionScience/Waves/Model/Configfieldlistener.php CHANGED
@@ -8,13 +8,15 @@ class RetentionScience_Waves_Model_Configfieldlistener extends Varien_Object {
8
  try {
9
 
10
  $post_vars = Mage::app()->getRequest()->getPost();
11
- $results = print_r($post_vars, true);
12
- $results = str_replace("\n", " ", $results);
13
- $results = "Waves Config Saved with params: \n" . $results;
14
 
15
-
16
- if (Mage::helper('waves')->isEnabled()){
17
- Mage::getSingleton('waves/connection_awsCloudWatch')->logMessage($results);
 
 
 
 
 
18
  }
19
  } catch(Exception $e) {
20
  Mage::getSingleton('core/session')->addError('Error: ' . $e->getMessage());
8
  try {
9
 
10
  $post_vars = Mage::app()->getRequest()->getPost();
 
 
 
11
 
12
+ if (array_key_exists('waves_retentionscience_settings', $post_vars['config_state'])) {
13
+ if (Mage::helper('waves')->isEnabled()){
14
+ $results = print_r($post_vars, true);
15
+ $results = str_replace("\n", " ", $results);
16
+ $results = "Waves Config Saved with params: \n" . $results;
17
+
18
+ Mage::getSingleton('waves/connection_awsCloudWatch')->logMessage($results);
19
+ }
20
  }
21
  } catch(Exception $e) {
22
  Mage::getSingleton('core/session')->addError('Error: ' . $e->getMessage());
app/code/community/RetentionScience/Waves/Model/Connection/AwsCloudWatch.php CHANGED
@@ -42,7 +42,7 @@ class RetentionScience_Waves_Model_Connection_AwsCloudWatch extends Varien_Objec
42
 
43
  // Bug fix for errors during class loading
44
  try {
45
- $result = new Aws\Result;
46
  $this->getClient()->putLogEvents(array(
47
  'logGroupName' => 'test',
48
  'logStreamName' => 'test',
@@ -277,10 +277,11 @@ class RetentionScience_Waves_Model_Connection_AwsCloudWatch extends Varien_Objec
277
  protected function getLogStream($logGroupName, $logStreamName) {
278
  try {
279
  $logStreamName = preg_replace('#[:]#', '', $logStreamName);
280
- $this->getClient()->createLogStream(array(
281
- 'logGroupName' => $logGroupName,
282
- 'logStreamName' => $logStreamName,
283
- ));
 
284
  return $logStreamName;
285
  } catch(Aws\CloudWatchLogs\Exception\CloudWatchLogsException $e) {
286
  return $logStreamName;
@@ -368,4 +369,4 @@ class RetentionScience_Waves_Model_Connection_AwsCloudWatch extends Varien_Objec
368
  $this->setSequenceTokens($tokens);
369
  }
370
 
371
- }
42
 
43
  // Bug fix for errors during class loading
44
  try {
45
+ $result = new Guzzle\Service\Resource\Model;
46
  $this->getClient()->putLogEvents(array(
47
  'logGroupName' => 'test',
48
  'logStreamName' => 'test',
277
  protected function getLogStream($logGroupName, $logStreamName) {
278
  try {
279
  $logStreamName = preg_replace('#[:]#', '', $logStreamName);
280
+ // No longer creating log stream. Expected to exist
281
+ // $this->getClient()->createLogStream(array(
282
+ // 'logGroupName' => $logGroupName,
283
+ // 'logStreamName' => $logStreamName,
284
+ // ));
285
  return $logStreamName;
286
  } catch(Aws\CloudWatchLogs\Exception\CloudWatchLogsException $e) {
287
  return $logStreamName;
369
  $this->setSequenceTokens($tokens);
370
  }
371
 
372
+ }
app/code/community/RetentionScience/Waves/Model/Export/Category.php CHANGED
@@ -22,6 +22,9 @@ class RetentionScience_Waves_Model_Export_Category extends RetentionScience_Wave
22
  if(! empty($this->_data)) {
23
  $sortedData = array();
24
  foreach($this->_data AS $record) {
 
 
 
25
  $this->_entityIds[] = $record['entity_id'];
26
  $sortedData[$record['entity_id']] = $record;
27
  }
22
  if(! empty($this->_data)) {
23
  $sortedData = array();
24
  foreach($this->_data AS $record) {
25
+ if(empty($record['entity_id'])) {
26
+ continue;
27
+ }
28
  $this->_entityIds[] = $record['entity_id'];
29
  $sortedData[$record['entity_id']] = $record;
30
  }
app/code/community/RetentionScience/Waves/Model/Export/Customer.php CHANGED
@@ -41,6 +41,9 @@ class RetentionScience_Waves_Model_Export_Customer extends RetentionScience_Wave
41
  if(! empty($this->_data)) {
42
  $sortedData = array();
43
  foreach($this->_data AS $record) {
 
 
 
44
  $this->_entityIds[] = $record['entity_id'];
45
  $sortedData[$record['entity_id']] = $record;
46
  }
41
  if(! empty($this->_data)) {
42
  $sortedData = array();
43
  foreach($this->_data AS $record) {
44
+ if(empty($record['entity_id'])) {
45
+ continue;
46
+ }
47
  $this->_entityIds[] = $record['entity_id'];
48
  $sortedData[$record['entity_id']] = $record;
49
  }
app/code/community/RetentionScience/Waves/Model/Export/Order.php CHANGED
@@ -27,6 +27,9 @@ class RetentionScience_Waves_Model_Export_Order extends RetentionScience_Waves_M
27
  if(! empty($this->_data)) {
28
  $sortedData = array();
29
  foreach($this->_data AS $record) {
 
 
 
30
  $this->_entityIds[] = $record['entity_id'];
31
  $sortedData[$record['entity_id']] = $record;
32
  }
27
  if(! empty($this->_data)) {
28
  $sortedData = array();
29
  foreach($this->_data AS $record) {
30
+ if(empty($record['entity_id'])) {
31
+ continue;
32
+ }
33
  $this->_entityIds[] = $record['entity_id'];
34
  $sortedData[$record['entity_id']] = $record;
35
  }
app/code/community/RetentionScience/Waves/Model/Export/Order/Customer.php CHANGED
@@ -57,6 +57,9 @@ class RetentionScience_Waves_Model_Export_Order_Customer extends RetentionScienc
57
  if(! empty($this->_data)) {
58
  $sortedData = array();
59
  foreach($this->_data AS $record) {
 
 
 
60
  $this->_entityIds[] = $record['entity_id'];
61
  $sortedData[$record['entity_id']] = $record;
62
  }
57
  if(! empty($this->_data)) {
58
  $sortedData = array();
59
  foreach($this->_data AS $record) {
60
+ if(empty($record['entity_id'])) {
61
+ continue;
62
+ }
63
  $this->_entityIds[] = $record['entity_id'];
64
  $sortedData[$record['entity_id']] = $record;
65
  }
app/code/community/RetentionScience/Waves/Model/Export/Order/Items.php CHANGED
@@ -26,6 +26,9 @@ class RetentionScience_Waves_Model_Export_Order_Items extends RetentionScience_W
26
  if(! empty($this->_data)) {
27
  $sortedData = array();
28
  foreach($this->_data AS $record) {
 
 
 
29
  $this->_entityIds[] = $record['entity_id'];
30
  $sortedData[$record['entity_id']] = $record;
31
  }
26
  if(! empty($this->_data)) {
27
  $sortedData = array();
28
  foreach($this->_data AS $record) {
29
+ if(empty($record['entity_id'])) {
30
+ continue;
31
+ }
32
  $this->_entityIds[] = $record['entity_id'];
33
  $sortedData[$record['entity_id']] = $record;
34
  }
app/code/community/RetentionScience/Waves/Model/Export/Product.php CHANGED
@@ -60,6 +60,9 @@ class RetentionScience_Waves_Model_Export_Product extends RetentionScience_Waves
60
  if(! empty($this->_data)) {
61
  $sortedData = array();
62
  foreach($this->_data AS $record) {
 
 
 
63
  $this->_entityIds[] = $record['entity_id'];
64
  $sortedData[$record['entity_id']] = $record;
65
  }
60
  if(! empty($this->_data)) {
61
  $sortedData = array();
62
  foreach($this->_data AS $record) {
63
+ if(empty($record['entity_id'])) {
64
+ continue;
65
+ }
66
  $this->_entityIds[] = $record['entity_id'];
67
  $sortedData[$record['entity_id']] = $record;
68
  }
app/code/community/RetentionScience/Waves/Model/Observer.php CHANGED
@@ -293,6 +293,10 @@ class RetentionScience_Waves_Model_Observer extends Varien_Object {
293
  if(! $this->getListenErrors()) {
294
  return;
295
  }
 
 
 
 
296
  // Catch recoverable error
297
  // Do stuff
298
  $this->logRecoverableError($errno, $errstr, $errfile, $errline);
293
  if(! $this->getListenErrors()) {
294
  return;
295
  }
296
+ // Thats because magento doesn't support namespaces
297
+ if(preg_match('#Varien#', $errfile)) {
298
+ return;
299
+ }
300
  // Catch recoverable error
301
  // Do stuff
302
  $this->logRecoverableError($errno, $errstr, $errfile, $errline);
app/code/community/RetentionScience/Waves/Model/Observer/Default.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class RetentionScience_Waves_Model_Observer_Default {
4
+
5
+ public function setWavesOnOrderSuccessPageView($observer) {
6
+
7
+ $orderIds = $observer->getEvent()->getOrderIds();
8
+ if (empty($orderIds) || !is_array($orderIds)) {
9
+ return;
10
+ }
11
+ $block = Mage::app()->getFrontController()->getAction()->getLayout()->getBlock('waves_waves');
12
+ if ($block) {
13
+ $block->setOrderIds($orderIds);
14
+ }
15
+
16
+ }
17
+
18
+ }
app/code/community/RetentionScience/Waves/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <RetentionScience_Waves>
5
- <version>3.0.6</version>
6
  </RetentionScience_Waves>
7
  </modules>
8
  <global>
2
  <config>
3
  <modules>
4
  <RetentionScience_Waves>
5
+ <version>3.0.7</version>
6
  </RetentionScience_Waves>
7
  </modules>
8
  <global>
lib/aws-sdk-php/Aws/Api/AbstractModel.php DELETED
@@ -1,67 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Base class that is used by most API shapes
6
- */
7
- abstract class AbstractModel implements \ArrayAccess
8
- {
9
- /** @var array */
10
- protected $definition;
11
-
12
- /** @var ShapeMap */
13
- protected $shapeMap;
14
-
15
- /**
16
- * @param array $definition Service description
17
- * @param ShapeMap $shapeMap Shapemap used for creating shapes
18
- */
19
- public function __construct(array $definition, ShapeMap $shapeMap)
20
- {
21
- $this->definition = $definition;
22
- $this->shapeMap = $shapeMap;
23
- }
24
-
25
- public function toArray()
26
- {
27
- return $this->definition;
28
- }
29
-
30
- public function offsetGet($offset)
31
- {
32
- return isset($this->definition[$offset])
33
- ? $this->definition[$offset] : null;
34
- }
35
-
36
- public function offsetSet($offset, $value)
37
- {
38
- $this->definition[$offset] = $value;
39
- }
40
-
41
- public function offsetExists($offset)
42
- {
43
- return isset($this->definition[$offset]);
44
- }
45
-
46
- public function offsetUnset($offset)
47
- {
48
- unset($this->definition[$offset]);
49
- }
50
-
51
- protected function shapeAt($key)
52
- {
53
- if (!isset($this->definition[$key])) {
54
- throw new \InvalidArgumentException('Expected shape definition at '
55
- . $key);
56
- }
57
-
58
- return $this->shapeFor($this->definition[$key]);
59
- }
60
-
61
- protected function shapeFor(array $definition)
62
- {
63
- return isset($definition['shape'])
64
- ? $this->shapeMap->resolve($definition)
65
- : Shape::create($definition, $this->shapeMap);
66
- }
67
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/ApiProvider.php DELETED
@@ -1,241 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- use Aws\Exception\UnresolvedApiException;
5
-
6
- /**
7
- * API providers.
8
- *
9
- * An API provider is a function that accepts a type, service, and version and
10
- * returns an array of API data on success or NULL if no API data can be created
11
- * for the provided arguments.
12
- *
13
- * You can wrap your calls to an API provider with the
14
- * {@see ApiProvider::resolve} method to ensure that API data is created. If the
15
- * API data is not created, then the resolve() method will throw a
16
- * {@see Aws\Exception\UnresolvedApiException}.
17
- *
18
- * use Aws\Api\ApiProvider;
19
- * $provider = ApiProvider::defaultProvider();
20
- * // Returns an array or NULL.
21
- * $data = $provider('api', 's3', '2006-03-01');
22
- * // Returns an array or throws.
23
- * $data = ApiProvider::resolve($provider, 'api', 'elasticfood', '2020-01-01');
24
- *
25
- * You can compose multiple providers into a single provider using
26
- * {@see Aws\or_chain}. This method accepts providers as arguments and
27
- * returns a new function that will invoke each provider until a non-null value
28
- * is returned.
29
- *
30
- * $a = ApiProvider::filesystem(sys_get_temp_dir() . '/aws-beta-models');
31
- * $b = ApiProvider::manifest();
32
- *
33
- * $c = \Aws\or_chain($a, $b);
34
- * $data = $c('api', 'betaservice', '2015-08-08'); // $a handles this.
35
- * $data = $c('api', 's3', '2006-03-01'); // $b handles this.
36
- * $data = $c('api', 'invalid', '2014-12-15'); // Neither handles this.
37
- */
38
- class ApiProvider
39
- {
40
- /** @var array A map of public API type names to their file suffix. */
41
- private static $typeMap = [
42
- 'api' => 'api-2',
43
- 'paginator' => 'paginators-1',
44
- 'waiter' => 'waiters-2',
45
- 'docs' => 'docs-2',
46
- ];
47
-
48
- /** @var array API manifest */
49
- private $manifest;
50
-
51
- /** @var string The directory containing service models. */
52
- private $modelsDir;
53
-
54
- /**
55
- * Resolves an API provider and ensures a non-null return value.
56
- *
57
- * @param callable $provider Provider function to invoke.
58
- * @param string $type Type of data ('api', 'waiter', 'paginator').
59
- * @param string $service Service name.
60
- * @param string $version API version.
61
- *
62
- * @return array
63
- * @throws UnresolvedApiException
64
- */
65
- public static function resolve(callable $provider, $type, $service, $version)
66
- {
67
- // Execute the provider and return the result, if there is one.
68
- $result = $provider($type, $service, $version);
69
- if (is_array($result)) {
70
- return $result;
71
- }
72
-
73
- // Throw an exception with a message depending on the inputs.
74
- if (!isset(self::$typeMap[$type])) {
75
- $msg = "The type must be one of: " . implode(', ', self::$typeMap);
76
- } elseif ($service) {
77
- $msg = "The {$service} service does not have version: {$version}.";
78
- } else {
79
- $msg = "You must specify a service name to retrieve its API data.";
80
- }
81
-
82
- throw new UnresolvedApiException($msg);
83
- }
84
-
85
- /**
86
- * Default SDK API provider.
87
- *
88
- * This provider loads pre-built manifest data from the `data` directory.
89
- *
90
- * @return self
91
- */
92
- public static function defaultProvider()
93
- {
94
- return new self(__DIR__ . '/../data', \Aws\manifest());
95
- }
96
-
97
- /**
98
- * Loads API data after resolving the version to the latest, compatible,
99
- * available version based on the provided manifest data.
100
- *
101
- * Manifest data is essentially an associative array of service names to
102
- * associative arrays of API version aliases.
103
- *
104
- * [
105
- * ...
106
- * 'ec2' => [
107
- * 'latest' => '2014-10-01',
108
- * '2014-10-01' => '2014-10-01',
109
- * '2014-09-01' => '2014-10-01',
110
- * '2014-06-15' => '2014-10-01',
111
- * ...
112
- * ],
113
- * 'ecs' => [...],
114
- * 'elasticache' => [...],
115
- * ...
116
- * ]
117
- *
118
- * @param string $dir Directory containing service models.
119
- * @param array $manifest The API version manifest data.
120
- *
121
- * @return self
122
- */
123
- public static function manifest($dir, array $manifest)
124
- {
125
- return new self($dir, $manifest);
126
- }
127
-
128
- /**
129
- * Loads API data from the specified directory.
130
- *
131
- * If "latest" is specified as the version, this provider must glob the
132
- * directory to find which is the latest available version.
133
- *
134
- * @param string $dir Directory containing service models.
135
- *
136
- * @return self
137
- * @throws \InvalidArgumentException if the provided `$dir` is invalid.
138
- */
139
- public static function filesystem($dir)
140
- {
141
- return new self($dir);
142
- }
143
-
144
- /**
145
- * Retrieves a list of valid versions for the specified service.
146
- *
147
- * @param string $service Service name
148
- *
149
- * @return array
150
- */
151
- public function getVersions($service)
152
- {
153
- if (!isset($this->manifest)) {
154
- $this->buildVersionsList($service);
155
- }
156
-
157
- if (!isset($this->manifest[$service]['versions'])) {
158
- return [];
159
- }
160
-
161
- return array_values(array_unique($this->manifest[$service]['versions']));
162
- }
163
-
164
- /**
165
- * Execute the the provider.
166
- *
167
- * @param string $type Type of data ('api', 'waiter', 'paginator').
168
- * @param string $service Service name.
169
- * @param string $version API version.
170
- *
171
- * @return array|null
172
- */
173
- public function __invoke($type, $service, $version)
174
- {
175
- // Resolve the type or return null.
176
- if (isset(self::$typeMap[$type])) {
177
- $type = self::$typeMap[$type];
178
- } else {
179
- return null;
180
- }
181
-
182
- // Resolve the version or return null.
183
- if (!isset($this->manifest)) {
184
- $this->buildVersionsList($service);
185
- }
186
-
187
- if (!isset($this->manifest[$service]['versions'][$version])) {
188
- return null;
189
- }
190
-
191
- $version = $this->manifest[$service]['versions'][$version];
192
- $path = "{$this->modelsDir}/{$service}/{$version}/{$type}.json";
193
-
194
- try {
195
- return \Aws\load_compiled_json($path);
196
- } catch (\InvalidArgumentException $e) {
197
- return null;
198
- }
199
- }
200
-
201
- /**
202
- * @param string $modelsDir Directory containing service models.
203
- * @param array $manifest The API version manifest data.
204
- */
205
- private function __construct($modelsDir, array $manifest = null)
206
- {
207
- $this->manifest = $manifest;
208
- $this->modelsDir = rtrim($modelsDir, '/');
209
- if (!is_dir($this->modelsDir)) {
210
- throw new \InvalidArgumentException(
211
- "The specified models directory, {$modelsDir}, was not found."
212
- );
213
- }
214
- }
215
-
216
- /**
217
- * Build the versions list for the specified service by globbing the dir.
218
- */
219
- private function buildVersionsList($service)
220
- {
221
- $dir = "{$this->modelsDir}/{$service}/";
222
-
223
- if (!is_dir($dir)) {
224
- return;
225
- }
226
-
227
- // Get versions, remove . and .., and sort in descending order.
228
- $results = array_diff(scandir($dir, SCANDIR_SORT_DESCENDING), ['..', '.']);
229
-
230
- if (!$results) {
231
- $this->manifest[$service] = ['versions' => []];
232
- } else {
233
- $this->manifest[$service] = [
234
- 'versions' => [
235
- 'latest' => $results[0]
236
- ]
237
- ];
238
- $this->manifest[$service]['versions'] += array_combine($results, $results);
239
- }
240
- }
241
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/DateTimeResult.php DELETED
@@ -1,41 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * DateTime overrides that make DateTime work more seamlessly as a string,
6
- * with JSON documents, and with JMESPath.
7
- */
8
- class DateTimeResult extends \DateTime implements \JsonSerializable
9
- {
10
- /**
11
- * Create a new DateTimeResult from a unix timestamp.
12
- *
13
- * @param $unixTimestamp
14
- *
15
- * @return DateTimeResult
16
- */
17
- public static function fromEpoch($unixTimestamp)
18
- {
19
- return new self(gmdate('c', $unixTimestamp));
20
- }
21
-
22
- /**
23
- * Serialize the DateTimeResult as an ISO 8601 date string.
24
- *
25
- * @return string
26
- */
27
- public function __toString()
28
- {
29
- return $this->format('c');
30
- }
31
-
32
- /**
33
- * Serialize the date as an ISO 8601 date when serializing as JSON.
34
- *
35
- * @return mixed|string
36
- */
37
- public function jsonSerialize()
38
- {
39
- return (string) $this;
40
- }
41
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/DocModel.php DELETED
@@ -1,128 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Encapsulates the documentation strings for a given service-version and
6
- * provides methods for extracting the desired parts related to a service,
7
- * operation, error, or shape (i.e., parameter).
8
- */
9
- class DocModel
10
- {
11
- /** @var array */
12
- private $docs;
13
-
14
- /**
15
- * @param array $docs
16
- *
17
- * @throws \RuntimeException
18
- */
19
- public function __construct(array $docs)
20
- {
21
- if (!extension_loaded('tidy')) {
22
- throw new \RuntimeException('The "tidy" PHP extension is required.');
23
- }
24
-
25
- $this->docs = $docs;
26
- }
27
-
28
- /**
29
- * Convert the doc model to an array.
30
- *
31
- * @return array
32
- */
33
- public function toArray()
34
- {
35
- return $this->docs;
36
- }
37
-
38
- /**
39
- * Retrieves documentation about the service.
40
- *
41
- * @return null|string
42
- */
43
- public function getServiceDocs()
44
- {
45
- return isset($this->docs['service']) ? $this->docs['service'] : null;
46
- }
47
-
48
- /**
49
- * Retrieves documentation about an operation.
50
- *
51
- * @param string $operation Name of the operation
52
- *
53
- * @return null|string
54
- */
55
- public function getOperationDocs($operation)
56
- {
57
- return isset($this->docs['operations'][$operation])
58
- ? $this->docs['operations'][$operation]
59
- : null;
60
- }
61
-
62
- /**
63
- * Retrieves documentation about an error.
64
- *
65
- * @param string $error Name of the error
66
- *
67
- * @return null|string
68
- */
69
- public function getErrorDocs($error)
70
- {
71
- return isset($this->docs['shapes'][$error]['base'])
72
- ? $this->docs['shapes'][$error]['base']
73
- : null;
74
- }
75
-
76
- /**
77
- * Retrieves documentation about a shape, specific to the context.
78
- *
79
- * @param string $shapeName Name of the shape.
80
- * @param string $parentName Name of the parent/context shape.
81
- * @param string $ref Name used by the context to reference the shape.
82
- *
83
- * @return null|string
84
- */
85
- public function getShapeDocs($shapeName, $parentName, $ref)
86
- {
87
- if (!isset($this->docs['shapes'][$shapeName])) {
88
- return '';
89
- }
90
-
91
- $result = '';
92
- $d = $this->docs['shapes'][$shapeName];
93
- if (isset($d['refs']["{$parentName}\$${ref}"])) {
94
- $result = $d['refs']["{$parentName}\$${ref}"];
95
- } elseif (isset($d['base'])) {
96
- $result = $d['base'];
97
- }
98
-
99
- if (isset($d['append'])) {
100
- $result .= $d['append'];
101
- }
102
-
103
- return $this->clean($result);
104
- }
105
-
106
- private function clean($content)
107
- {
108
- if (!$content) {
109
- return '';
110
- }
111
-
112
- $tidy = new \Tidy();
113
- $tidy->parseString($content, [
114
- 'indent' => true,
115
- 'doctype' => 'omit',
116
- 'output-html' => true,
117
- 'show-body-only' => true,
118
- 'drop-empty-paras' => true,
119
- 'drop-font-tags' => true,
120
- 'drop-proprietary-attributes' => true,
121
- 'hide-comments' => true,
122
- 'logical-emphasis' => true
123
- ]);
124
- $tidy->cleanRepair();
125
-
126
- return (string) $content;
127
- }
128
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/ErrorParser/JsonParserTrait.php DELETED
@@ -1,26 +0,0 @@
1
- <?php
2
- namespace Aws\Api\ErrorParser;
3
-
4
- use Aws\Api\Parser\PayloadParserTrait;
5
- use Psr\Http\Message\ResponseInterface;
6
-
7
- /**
8
- * Provides basic JSON error parsing functionality.
9
- */
10
- trait JsonParserTrait
11
- {
12
- use PayloadParserTrait;
13
-
14
- private function genericHandler(ResponseInterface $response)
15
- {
16
- $code = (string) $response->getStatusCode();
17
-
18
- return [
19
- 'request_id' => (string) $response->getHeaderLine('x-amzn-requestid'),
20
- 'code' => null,
21
- 'message' => null,
22
- 'type' => $code[0] == '4' ? 'client' : 'server',
23
- 'parsed' => $this->parseJson($response->getBody())
24
- ];
25
- }
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/ErrorParser/JsonRpcErrorParser.php DELETED
@@ -1,31 +0,0 @@
1
- <?php
2
- namespace Aws\Api\ErrorParser;
3
-
4
- use Psr\Http\Message\ResponseInterface;
5
-
6
- /**
7
- * Parsers JSON-RPC errors.
8
- */
9
- class JsonRpcErrorParser
10
- {
11
- use JsonParserTrait;
12
-
13
- public function __invoke(ResponseInterface $response)
14
- {
15
- $data = $this->genericHandler($response);
16
- // Make the casing consistent across services.
17
- if ($data['parsed']) {
18
- $data['parsed'] = array_change_key_case($data['parsed']);
19
- }
20
-
21
- if (isset($data['parsed']['__type'])) {
22
- $parts = explode('#', $data['parsed']['__type']);
23
- $data['code'] = isset($parts[1]) ? $parts[1] : $parts[0];
24
- $data['message'] = isset($data['parsed']['message'])
25
- ? $data['parsed']['message']
26
- : null;
27
- }
28
-
29
- return $data;
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/ErrorParser/RestJsonErrorParser.php DELETED
@@ -1,35 +0,0 @@
1
- <?php
2
- namespace Aws\Api\ErrorParser;
3
-
4
- use Psr\Http\Message\ResponseInterface;
5
-
6
- /**
7
- * Parses JSON-REST errors.
8
- */
9
- class RestJsonErrorParser
10
- {
11
- use JsonParserTrait;
12
-
13
- public function __invoke(ResponseInterface $response)
14
- {
15
- $data = $this->genericHandler($response);
16
-
17
- // Merge in error data from the JSON body
18
- if ($json = $data['parsed']) {
19
- $data = array_replace($data, $json);
20
- }
21
-
22
- // Correct error type from services like Amazon Glacier
23
- if (!empty($data['type'])) {
24
- $data['type'] = strtolower($data['type']);
25
- }
26
-
27
- // Retrieve the error code from services like Amazon Elastic Transcoder
28
- if ($code = $response->getHeaderLine('x-amzn-errortype')) {
29
- $colon = strpos($code, ':');
30
- $data['code'] = $colon ? substr($code, 0, $colon) : $code;
31
- }
32
-
33
- return $data;
34
- }
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/ErrorParser/XmlErrorParser.php DELETED
@@ -1,82 +0,0 @@
1
- <?php
2
- namespace Aws\Api\ErrorParser;
3
-
4
- use Aws\Api\Parser\PayloadParserTrait;
5
- use Psr\Http\Message\ResponseInterface;
6
-
7
- /**
8
- * Parses XML errors.
9
- */
10
- class XmlErrorParser
11
- {
12
- use PayloadParserTrait;
13
-
14
- public function __invoke(ResponseInterface $response)
15
- {
16
- $code = (string) $response->getStatusCode();
17
-
18
- $data = [
19
- 'type' => $code[0] == '4' ? 'client' : 'server',
20
- 'request_id' => null,
21
- 'code' => null,
22
- 'message' => null,
23
- 'parsed' => null
24
- ];
25
-
26
- $body = $response->getBody();
27
- if ($body->getSize() > 0) {
28
- $this->parseBody($this->parseXml($body), $data);
29
- } else {
30
- $this->parseHeaders($response, $data);
31
- }
32
-
33
- return $data;
34
- }
35
-
36
- private function parseHeaders(ResponseInterface $response, array &$data)
37
- {
38
- if ($response->getStatusCode() == '404') {
39
- $data['code'] = 'NotFound';
40
- }
41
-
42
- $data['message'] = $response->getStatusCode() . ' '
43
- . $response->getReasonPhrase();
44
-
45
- if ($requestId = $response->getHeaderLine('x-amz-request-id')) {
46
- $data['request_id'] = $requestId;
47
- $data['message'] .= " (Request-ID: $requestId)";
48
- }
49
- }
50
-
51
- private function parseBody(\SimpleXMLElement $body, array &$data)
52
- {
53
- $data['parsed'] = $body;
54
-
55
- $namespaces = $body->getDocNamespaces();
56
- if (!isset($namespaces[''])) {
57
- $prefix = '';
58
- } else {
59
- // Account for the default namespace being defined and PHP not
60
- // being able to handle it :(.
61
- $body->registerXPathNamespace('ns', $namespaces['']);
62
- $prefix = 'ns:';
63
- }
64
-
65
- if ($tempXml = $body->xpath("//{$prefix}Code[1]")) {
66
- $data['code'] = (string) $tempXml[0];
67
- }
68
-
69
- if ($tempXml = $body->xpath("//{$prefix}Message[1]")) {
70
- $data['message'] = (string) $tempXml[0];
71
- }
72
-
73
- $tempXml = $body->xpath("//{$prefix}RequestId[1]");
74
- if (empty($tempXml)) {
75
- $tempXml = $body->xpath("//{$prefix}RequestID[1]");
76
- }
77
-
78
- if (isset($tempXml[0])) {
79
- $data['request_id'] = (string) $tempXml[0];
80
- }
81
- }
82
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/ListShape.php DELETED
@@ -1,35 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Represents a list shape.
6
- */
7
- class ListShape extends Shape
8
- {
9
- private $member;
10
-
11
- public function __construct(array $definition, ShapeMap $shapeMap)
12
- {
13
- $definition['type'] = 'list';
14
- parent::__construct($definition, $shapeMap);
15
- }
16
-
17
- /**
18
- * @return Shape
19
- * @throws \RuntimeException if no member is specified
20
- */
21
- public function getMember()
22
- {
23
- if (!$this->member) {
24
- if (!isset($this->definition['member'])) {
25
- throw new \RuntimeException('No member attribute specified');
26
- }
27
- $this->member = Shape::create(
28
- $this->definition['member'],
29
- $this->shapeMap
30
- );
31
- }
32
-
33
- return $this->member;
34
- }
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/MapShape.php DELETED
@@ -1,54 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Represents a map shape.
6
- */
7
- class MapShape extends Shape
8
- {
9
- /** @var Shape */
10
- private $value;
11
-
12
- /** @var Shape */
13
- private $key;
14
-
15
- public function __construct(array $definition, ShapeMap $shapeMap)
16
- {
17
- $definition['type'] = 'map';
18
- parent::__construct($definition, $shapeMap);
19
- }
20
-
21
- /**
22
- * @return Shape
23
- * @throws \RuntimeException if no value is specified
24
- */
25
- public function getValue()
26
- {
27
- if (!$this->value) {
28
- if (!isset($this->definition['value'])) {
29
- throw new \RuntimeException('No value specified');
30
- }
31
-
32
- $this->value = Shape::create(
33
- $this->definition['value'],
34
- $this->shapeMap
35
- );
36
- }
37
-
38
- return $this->value;
39
- }
40
-
41
- /**
42
- * @return Shape
43
- */
44
- public function getKey()
45
- {
46
- if (!$this->key) {
47
- $this->key = isset($this->definition['key'])
48
- ? Shape::create($this->definition['key'], $this->shapeMap)
49
- : new Shape(['type' => 'string'], $this->shapeMap);
50
- }
51
-
52
- return $this->key;
53
- }
54
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Operation.php DELETED
@@ -1,97 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Represents an API operation.
6
- */
7
- class Operation extends AbstractModel
8
- {
9
- private $input;
10
- private $output;
11
- private $errors;
12
-
13
- public function __construct(array $definition, ShapeMap $shapeMap)
14
- {
15
- $definition['type'] = 'structure';
16
-
17
- if (!isset($definition['http']['method'])) {
18
- $definition['http']['method'] = 'POST';
19
- }
20
-
21
- if (!isset($definition['http']['requestUri'])) {
22
- $definition['http']['requestUri'] = '/';
23
- }
24
-
25
- parent::__construct($definition, $shapeMap);
26
- }
27
-
28
- /**
29
- * Returns an associative array of the HTTP attribute of the operation:
30
- *
31
- * - method: HTTP method of the operation
32
- * - requestUri: URI of the request (can include URI template placeholders)
33
- *
34
- * @return array
35
- */
36
- public function getHttp()
37
- {
38
- return $this->definition['http'];
39
- }
40
-
41
- /**
42
- * Get the input shape of the operation.
43
- *
44
- * @return StructureShape
45
- */
46
- public function getInput()
47
- {
48
- if (!$this->input) {
49
- if ($input = $this['input']) {
50
- $this->input = $this->shapeFor($input);
51
- } else {
52
- $this->input = new StructureShape([], $this->shapeMap);
53
- }
54
- }
55
-
56
- return $this->input;
57
- }
58
-
59
- /**
60
- * Get the output shape of the operation.
61
- *
62
- * @return StructureShape
63
- */
64
- public function getOutput()
65
- {
66
- if (!$this->output) {
67
- if ($output = $this['output']) {
68
- $this->output = $this->shapeFor($output);
69
- } else {
70
- $this->output = new StructureShape([], $this->shapeMap);
71
- }
72
- }
73
-
74
- return $this->output;
75
- }
76
-
77
- /**
78
- * Get an array of operation error shapes.
79
- *
80
- * @return Shape[]
81
- */
82
- public function getErrors()
83
- {
84
- if ($this->errors === null) {
85
- if ($errors = $this['errors']) {
86
- foreach ($errors as &$error) {
87
- $error = $this->shapeFor($error);
88
- }
89
- $this->errors = $errors;
90
- } else {
91
- $this->errors = [];
92
- }
93
- }
94
-
95
- return $this->errors;
96
- }
97
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/AbstractParser.php DELETED
@@ -1,35 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\Service;
5
- use Aws\CommandInterface;
6
- use Aws\ResultInterface;
7
- use Psr\Http\Message\ResponseInterface;
8
-
9
- /**
10
- * @internal
11
- */
12
- abstract class AbstractParser
13
- {
14
- /** @var \Aws\Api\Service Representation of the service API*/
15
- protected $api;
16
-
17
- /**
18
- * @param Service $api Service description.
19
- */
20
- public function __construct(Service $api)
21
- {
22
- $this->api = $api;
23
- }
24
-
25
- /**
26
- * @param CommandInterface $command Command that was executed.
27
- * @param ResponseInterface $response Response that was received.
28
- *
29
- * @return ResultInterface
30
- */
31
- abstract public function __invoke(
32
- CommandInterface $command,
33
- ResponseInterface $response
34
- );
35
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/AbstractRestParser.php DELETED
@@ -1,154 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\DateTimeResult;
5
- use Aws\Api\Shape;
6
- use Aws\Api\StructureShape;
7
- use Aws\Result;
8
- use Aws\CommandInterface;
9
- use Psr\Http\Message\ResponseInterface;
10
-
11
- /**
12
- * @internal
13
- */
14
- abstract class AbstractRestParser extends AbstractParser
15
- {
16
- /**
17
- * Parses a payload from a response.
18
- *
19
- * @param ResponseInterface $response Response to parse.
20
- * @param StructureShape $member Member to parse
21
- * @param array $result Result value
22
- *
23
- * @return mixed
24
- */
25
- abstract protected function payload(
26
- ResponseInterface $response,
27
- StructureShape $member,
28
- array &$result
29
- );
30
-
31
- public function __invoke(
32
- CommandInterface $command,
33
- ResponseInterface $response
34
- ) {
35
- $output = $this->api->getOperation($command->getName())->getOutput();
36
- $result = [];
37
-
38
- if ($payload = $output['payload']) {
39
- $this->extractPayload($payload, $output, $response, $result);
40
- }
41
-
42
- foreach ($output->getMembers() as $name => $member) {
43
- switch ($member['location']) {
44
- case 'header':
45
- $this->extractHeader($name, $member, $response, $result);
46
- break;
47
- case 'headers':
48
- $this->extractHeaders($name, $member, $response, $result);
49
- break;
50
- case 'statusCode':
51
- $this->extractStatus($name, $response, $result);
52
- break;
53
- }
54
- }
55
-
56
- if (!$payload && $response->getBody()->getSize() > 0) {
57
- // if no payload was found, then parse the contents of the body
58
- $this->payload($response, $output, $result);
59
- }
60
-
61
- return new Result($result);
62
- }
63
-
64
- private function extractPayload(
65
- $payload,
66
- StructureShape $output,
67
- ResponseInterface $response,
68
- array &$result
69
- ) {
70
- $member = $output->getMember($payload);
71
-
72
- if ($member instanceof StructureShape) {
73
- // Structure members parse top-level data into a specific key.
74
- $result[$payload] = [];
75
- $this->payload($response, $member, $result[$payload]);
76
- } else {
77
- // Streaming data is just the stream from the response body.
78
- $result[$payload] = $response->getBody();
79
- }
80
- }
81
-
82
- /**
83
- * Extract a single header from the response into the result.
84
- */
85
- private function extractHeader(
86
- $name,
87
- Shape $shape,
88
- ResponseInterface $response,
89
- &$result
90
- ) {
91
- $value = $response->getHeaderLine($shape['locationName'] ?: $name);
92
-
93
- switch ($shape->getType()) {
94
- case 'float':
95
- case 'double':
96
- $value = (float) $value;
97
- break;
98
- case 'long':
99
- $value = (int) $value;
100
- break;
101
- case 'boolean':
102
- $value = filter_var($value, FILTER_VALIDATE_BOOLEAN);
103
- break;
104
- case 'blob':
105
- $value = base64_decode($value);
106
- break;
107
- case 'timestamp':
108
- try {
109
- $value = new DateTimeResult($value);
110
- break;
111
- } catch (\Exception $e) {
112
- // If the value cannot be parsed, then do not add it to the
113
- // output structure.
114
- return;
115
- }
116
- }
117
-
118
- $result[$name] = $value;
119
- }
120
-
121
- /**
122
- * Extract a map of headers with an optional prefix from the response.
123
- */
124
- private function extractHeaders(
125
- $name,
126
- Shape $shape,
127
- ResponseInterface $response,
128
- &$result
129
- ) {
130
- // Check if the headers are prefixed by a location name
131
- $result[$name] = [];
132
- $prefix = $shape['locationName'];
133
- $prefixLen = strlen($prefix);
134
-
135
- foreach ($response->getHeaders() as $k => $values) {
136
- if (!$prefixLen) {
137
- $result[$name][$k] = implode(', ', $values);
138
- } elseif (stripos($k, $prefix) === 0) {
139
- $result[$name][substr($k, $prefixLen)] = implode(', ', $values);
140
- }
141
- }
142
- }
143
-
144
- /**
145
- * Places the status code of the response into the result array.
146
- */
147
- private function extractStatus(
148
- $name,
149
- ResponseInterface $response,
150
- array &$result
151
- ) {
152
- $result[$name] = (int) $response->getStatusCode();
153
- }
154
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/Crc32ValidatingParser.php DELETED
@@ -1,47 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\CommandInterface;
5
- use Aws\Exception\AwsException;
6
- use Psr\Http\Message\ResponseInterface;
7
- use GuzzleHttp\Psr7;
8
-
9
- /**
10
- * @internal Decorates a parser and validates the x-amz-crc32 header.
11
- */
12
- class Crc32ValidatingParser extends AbstractParser
13
- {
14
- /** @var callable */
15
- private $parser;
16
-
17
- /**
18
- * @param callable $parser Parser to wrap.
19
- */
20
- public function __construct(callable $parser)
21
- {
22
- $this->parser = $parser;
23
- }
24
-
25
- public function __invoke(
26
- CommandInterface $command,
27
- ResponseInterface $response
28
- ) {
29
- if ($expected = $response->getHeaderLine('x-amz-crc32')) {
30
- $hash = hexdec(Psr7\hash($response->getBody(), 'crc32b'));
31
- if ($expected != $hash) {
32
- throw new AwsException(
33
- "crc32 mismatch. Expected {$expected}, found {$hash}.",
34
- $command,
35
- [
36
- 'code' => 'ClientChecksumMismatch',
37
- 'connection_error' => true,
38
- 'response' => $response
39
- ]
40
- );
41
- }
42
- }
43
-
44
- $fn = $this->parser;
45
- return $fn($command, $response);
46
- }
47
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/Exception/ParserException.php DELETED
@@ -1,4 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser\Exception;
3
-
4
- class ParserException extends \RuntimeException {}
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/JsonParser.php DELETED
@@ -1,58 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\DateTimeResult;
5
- use Aws\Api\Shape;
6
-
7
- /**
8
- * @internal Implements standard JSON parsing.
9
- */
10
- class JsonParser
11
- {
12
- public function parse(Shape $shape, $value)
13
- {
14
- if ($value === null) {
15
- return $value;
16
- }
17
-
18
- switch ($shape['type']) {
19
- case 'structure':
20
- $target = [];
21
- foreach ($shape->getMembers() as $name => $member) {
22
- $locationName = $member['locationName'] ?: $name;
23
- if (isset($value[$locationName])) {
24
- $target[$name] = $this->parse($member, $value[$locationName]);
25
- }
26
- }
27
- return $target;
28
-
29
- case 'list':
30
- $member = $shape->getMember();
31
- $target = [];
32
- foreach ($value as $v) {
33
- $target[] = $this->parse($member, $v);
34
- }
35
- return $target;
36
-
37
- case 'map':
38
- $values = $shape->getValue();
39
- $target = [];
40
- foreach ($value as $k => $v) {
41
- $target[$k] = $this->parse($values, $v);
42
- }
43
- return $target;
44
-
45
- case 'timestamp':
46
- // The Unix epoch (or Unix time or POSIX time or Unix
47
- // timestamp) is the number of seconds that have elapsed since
48
- // January 1, 1970 (midnight UTC/GMT).
49
- return DateTimeResult::fromEpoch($value);
50
-
51
- case 'blob':
52
- return base64_decode($value);
53
-
54
- default:
55
- return $value;
56
- }
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/JsonRpcParser.php DELETED
@@ -1,40 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\Service;
5
- use Aws\Result;
6
- use Aws\CommandInterface;
7
- use Psr\Http\Message\ResponseInterface;
8
-
9
- /**
10
- * @internal Implements JSON-RPC parsing (e.g., DynamoDB)
11
- */
12
- class JsonRpcParser extends AbstractParser
13
- {
14
- use PayloadParserTrait;
15
-
16
- private $parser;
17
-
18
- /**
19
- * @param Service $api Service description
20
- * @param JsonParser $parser JSON body builder
21
- */
22
- public function __construct(Service $api, JsonParser $parser = null)
23
- {
24
- parent::__construct($api);
25
- $this->parser = $parser ?: new JsonParser();
26
- }
27
-
28
- public function __invoke(
29
- CommandInterface $command,
30
- ResponseInterface $response
31
- ) {
32
- $operation = $this->api->getOperation($command->getName());
33
- $result = $this->parser->parse(
34
- $operation->getOutput(),
35
- $this->parseJson($response->getBody())
36
- );
37
-
38
- return new Result($result ?: []);
39
- }
40
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/PayloadParserTrait.php DELETED
@@ -1,51 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\Parser\Exception\ParserException;
5
-
6
- trait PayloadParserTrait
7
- {
8
- /**
9
- * @param string $json
10
- *
11
- * @throws ParserException
12
- *
13
- * @return array
14
- */
15
- private function parseJson($json)
16
- {
17
- $jsonPayload = json_decode($json, true);
18
-
19
- if (JSON_ERROR_NONE !== json_last_error()) {
20
- throw new ParserException('Error parsing JSON: '
21
- . json_last_error_msg());
22
- }
23
-
24
- return $jsonPayload;
25
- }
26
-
27
- /**
28
- * @param string $xml
29
- *
30
- * @throws ParserException
31
- *
32
- * @return \SimpleXMLElement
33
- */
34
- private function parseXml($xml)
35
- {
36
- $priorSetting = libxml_use_internal_errors(true);
37
- try {
38
- libxml_clear_errors();
39
- $xmlPayload = new \SimpleXMLElement($xml);
40
- if ($error = libxml_get_last_error()) {
41
- throw new \RuntimeException($error->message);
42
- }
43
- } catch (\Exception $e) {
44
- throw new ParserException("Error parsing XML: {$e->getMessage()}", 0, $e);
45
- } finally {
46
- libxml_use_internal_errors($priorSetting);
47
- }
48
-
49
- return $xmlPayload;
50
- }
51
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/QueryParser.php DELETED
@@ -1,52 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\Service;
5
- use Aws\Result;
6
- use Aws\CommandInterface;
7
- use Psr\Http\Message\ResponseInterface;
8
-
9
- /**
10
- * @internal Parses query (XML) responses (e.g., EC2, SQS, and many others)
11
- */
12
- class QueryParser extends AbstractParser
13
- {
14
- use PayloadParserTrait;
15
-
16
- /** @var XmlParser */
17
- private $xmlParser;
18
-
19
- /** @var bool */
20
- private $honorResultWrapper;
21
-
22
- /**
23
- * @param Service $api Service description
24
- * @param XmlParser $xmlParser Optional XML parser
25
- * @param bool $honorResultWrapper Set to false to disable the peeling
26
- * back of result wrappers from the
27
- * output structure.
28
- */
29
- public function __construct(
30
- Service $api,
31
- XmlParser $xmlParser = null,
32
- $honorResultWrapper = true
33
- ) {
34
- parent::__construct($api);
35
- $this->xmlParser = $xmlParser ?: new XmlParser();
36
- $this->honorResultWrapper = $honorResultWrapper;
37
- }
38
-
39
- public function __invoke(
40
- CommandInterface $command,
41
- ResponseInterface $response
42
- ) {
43
- $output = $this->api->getOperation($command->getName())->getOutput();
44
- $xml = $this->parseXml($response->getBody());
45
-
46
- if ($this->honorResultWrapper && $output['resultWrapper']) {
47
- $xml = $xml->{$output['resultWrapper']};
48
- }
49
-
50
- return new Result($this->xmlParser->parse($output, $xml));
51
- }
52
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/RestJsonParser.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\Service;
5
- use Aws\Api\StructureShape;
6
- use Psr\Http\Message\ResponseInterface;
7
-
8
- /**
9
- * @internal Implements REST-JSON parsing (e.g., Glacier, Elastic Transcoder)
10
- */
11
- class RestJsonParser extends AbstractRestParser
12
- {
13
- use PayloadParserTrait;
14
-
15
- /** @var JsonParser */
16
- private $parser;
17
-
18
- /**
19
- * @param Service $api Service description
20
- * @param JsonParser $parser JSON body builder
21
- */
22
- public function __construct(Service $api, JsonParser $parser = null)
23
- {
24
- parent::__construct($api);
25
- $this->parser = $parser ?: new JsonParser();
26
- }
27
-
28
- protected function payload(
29
- ResponseInterface $response,
30
- StructureShape $member,
31
- array &$result
32
- ) {
33
- $jsonBody = $this->parseJson($response->getBody());
34
-
35
- if ($jsonBody) {
36
- $result += $this->parser->parse($member, $jsonBody);
37
- }
38
- }
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/RestXmlParser.php DELETED
@@ -1,36 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\StructureShape;
5
- use Aws\Api\Service;
6
- use Psr\Http\Message\ResponseInterface;
7
-
8
- /**
9
- * @internal Implements REST-XML parsing (e.g., S3, CloudFront, etc...)
10
- */
11
- class RestXmlParser extends AbstractRestParser
12
- {
13
- use PayloadParserTrait;
14
-
15
- /** @var XmlParser */
16
- private $parser;
17
-
18
- /**
19
- * @param Service $api Service description
20
- * @param XmlParser $parser XML body parser
21
- */
22
- public function __construct(Service $api, XmlParser $parser = null)
23
- {
24
- parent::__construct($api);
25
- $this->parser = $parser ?: new XmlParser();
26
- }
27
-
28
- protected function payload(
29
- ResponseInterface $response,
30
- StructureShape $member,
31
- array &$result
32
- ) {
33
- $xml = $this->parseXml($response->getBody());
34
- $result += $this->parser->parse($member, $xml);
35
- }
36
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Parser/XmlParser.php DELETED
@@ -1,134 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Parser;
3
-
4
- use Aws\Api\DateTimeResult;
5
- use Aws\Api\ListShape;
6
- use Aws\Api\MapShape;
7
- use Aws\Api\Shape;
8
- use Aws\Api\StructureShape;
9
-
10
- /**
11
- * @internal Implements standard XML parsing for REST-XML and Query protocols.
12
- */
13
- class XmlParser
14
- {
15
- public function parse(StructureShape $shape, \SimpleXMLElement $value)
16
- {
17
- return $this->dispatch($shape, $value);
18
- }
19
-
20
- private function dispatch($shape, \SimpleXMLElement $value)
21
- {
22
- static $methods = [
23
- 'structure' => 'parse_structure',
24
- 'list' => 'parse_list',
25
- 'map' => 'parse_map',
26
- 'blob' => 'parse_blob',
27
- 'boolean' => 'parse_boolean',
28
- 'integer' => 'parse_integer',
29
- 'float' => 'parse_float',
30
- 'double' => 'parse_float',
31
- 'timestamp' => 'parse_timestamp',
32
- ];
33
-
34
- $type = $shape['type'];
35
- if (isset($methods[$type])) {
36
- return $this->{$methods[$type]}($shape, $value);
37
- }
38
-
39
- return (string) $value;
40
- }
41
-
42
- private function parse_structure(
43
- StructureShape $shape,
44
- \SimpleXMLElement $value
45
- ) {
46
- $target = [];
47
-
48
- foreach ($shape->getMembers() as $name => $member) {
49
- // Extract the name of the XML node
50
- $node = $this->memberKey($member, $name);
51
- if (isset($value->{$node})) {
52
- $target[$name] = $this->dispatch($member, $value->{$node});
53
- }
54
- }
55
-
56
- return $target;
57
- }
58
-
59
- private function memberKey(Shape $shape, $name)
60
- {
61
- if (null !== $shape['locationName']) {
62
- return $shape['locationName'];
63
- }
64
-
65
- if ($shape instanceof ListShape && $shape['flattened']) {
66
- return $shape->getMember()['locationName'] ?: $name;
67
- }
68
-
69
- return $name;
70
- }
71
-
72
- private function parse_list(ListShape $shape, \SimpleXMLElement $value)
73
- {
74
- $target = [];
75
- $member = $shape->getMember();
76
-
77
- if (!$shape['flattened']) {
78
- $value = $value->{$member['locationName'] ?: 'member'};
79
- }
80
-
81
- foreach ($value as $v) {
82
- $target[] = $this->dispatch($member, $v);
83
- }
84
-
85
- return $target;
86
- }
87
-
88
- private function parse_map(MapShape $shape, \SimpleXMLElement $value)
89
- {
90
- $target = [];
91
-
92
- if (!$shape['flattened']) {
93
- $value = $value->entry;
94
- }
95
-
96
- $mapKey = $shape->getKey();
97
- $mapValue = $shape->getValue();
98
- $keyName = $shape->getKey()['locationName'] ?: 'key';
99
- $valueName = $shape->getValue()['locationName'] ?: 'value';
100
-
101
- foreach ($value as $node) {
102
- $key = $this->dispatch($mapKey, $node->{$keyName});
103
- $value = $this->dispatch($mapValue, $node->{$valueName});
104
- $target[$key] = $value;
105
- }
106
-
107
- return $target;
108
- }
109
-
110
- private function parse_blob(Shape $shape, $value)
111
- {
112
- return base64_decode((string) $value);
113
- }
114
-
115
- private function parse_float(Shape $shape, $value)
116
- {
117
- return (float) (string) $value;
118
- }
119
-
120
- private function parse_integer(Shape $shape, $value)
121
- {
122
- return (int) (string) $value;
123
- }
124
-
125
- private function parse_boolean(Shape $shape, $value)
126
- {
127
- return $value == 'true' ? true : false;
128
- }
129
-
130
- private function parse_timestamp(Shape $shape, $value)
131
- {
132
- return new DateTimeResult($value);
133
- }
134
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/Ec2ParamBuilder.php DELETED
@@ -1,40 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\Shape;
5
- use Aws\Api\ListShape;
6
-
7
- /**
8
- * @internal
9
- */
10
- class Ec2ParamBuilder extends QueryParamBuilder
11
- {
12
- protected function queryName(Shape $shape, $default = null)
13
- {
14
- return ($shape['queryName']
15
- ?: ucfirst($shape['locationName']))
16
- ?: $default;
17
- }
18
-
19
- protected function isFlat(Shape $shape)
20
- {
21
- return false;
22
- }
23
-
24
- protected function format_list(
25
- ListShape $shape,
26
- array $value,
27
- $prefix,
28
- &$query
29
- ) {
30
- // Handle empty list serialization
31
- if (!$value) {
32
- $query[$prefix] = false;
33
- } else {
34
- $items = $shape->getMember();
35
- foreach ($value as $k => $v) {
36
- $this->format($items, $v, $prefix . '.' . ($k + 1), $query);
37
- }
38
- }
39
- }
40
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/JsonBody.php DELETED
@@ -1,90 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\Service;
5
- use Aws\Api\Shape;
6
- use Aws\Api\TimestampShape;
7
-
8
- /**
9
- * Formats the JSON body of a JSON-REST or JSON-RPC operation.
10
- * @internal
11
- */
12
- class JsonBody
13
- {
14
- private $api;
15
-
16
- public function __construct(Service $api)
17
- {
18
- $this->api = $api;
19
- }
20
-
21
- /**
22
- * Gets the JSON Content-Type header for a service API
23
- *
24
- * @param Service $service
25
- *
26
- * @return string
27
- */
28
- public static function getContentType(Service $service)
29
- {
30
- return 'application/x-amz-json-'
31
- . number_format($service->getMetadata('jsonVersion'), 1);
32
- }
33
-
34
- /**
35
- * Builds the JSON body based on an array of arguments.
36
- *
37
- * @param Shape $shape Operation being constructed
38
- * @param array $args Associative array of arguments
39
- *
40
- * @return string
41
- */
42
- public function build(Shape $shape, array $args)
43
- {
44
- $result = json_encode($this->format($shape, $args));
45
-
46
- return $result == '[]' ? '{}' : $result;
47
- }
48
-
49
- private function format(Shape $shape, $value)
50
- {
51
- switch ($shape['type']) {
52
- case 'structure':
53
- $data = [];
54
- foreach ($value as $k => $v) {
55
- if ($v !== null && $shape->hasMember($k)) {
56
- $valueShape = $shape->getMember($k);
57
- $data[$valueShape['locationName'] ?: $k]
58
- = $this->format($valueShape, $v);
59
- }
60
- }
61
- return $data;
62
-
63
- case 'list':
64
- $items = $shape->getMember();
65
- foreach ($value as &$v) {
66
- $v = $this->format($items, $v);
67
- }
68
- return $value;
69
-
70
- case 'map':
71
- if (empty($value)) {
72
- return new \stdClass;
73
- }
74
- $values = $shape->getValue();
75
- foreach ($value as &$v) {
76
- $v = $this->format($values, $v);
77
- }
78
- return $value;
79
-
80
- case 'blob':
81
- return base64_encode($value);
82
-
83
- case 'timestamp':
84
- return TimestampShape::format($value, 'unixTimestamp');
85
-
86
- default:
87
- return $value;
88
- }
89
- }
90
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/JsonRpcSerializer.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\Service;
5
- use Aws\CommandInterface;
6
- use GuzzleHttp\Psr7\Request;
7
- use Psr\Http\Message\RequestInterface;
8
-
9
- /**
10
- * Prepares a JSON-RPC request for transfer.
11
- * @internal
12
- */
13
- class JsonRpcSerializer
14
- {
15
- /** @var JsonBody */
16
- private $jsonFormatter;
17
-
18
- /** @var string */
19
- private $endpoint;
20
-
21
- /** @var Service */
22
- private $api;
23
-
24
- /** @var string */
25
- private $contentType;
26
-
27
- /**
28
- * @param Service $api Service description
29
- * @param string $endpoint Endpoint to connect to
30
- * @param JsonBody $jsonFormatter Optional JSON formatter to use
31
- */
32
- public function __construct(
33
- Service $api,
34
- $endpoint,
35
- JsonBody $jsonFormatter = null
36
- ) {
37
- $this->endpoint = $endpoint;
38
- $this->api = $api;
39
- $this->jsonFormatter = $jsonFormatter ?: new JsonBody($this->api);
40
- $this->contentType = JsonBody::getContentType($api);
41
- }
42
-
43
- /**
44
- * When invoked with an AWS command, returns a serialization array
45
- * containing "method", "uri", "headers", and "body" key value pairs.
46
- *
47
- * @param CommandInterface $command
48
- *
49
- * @return RequestInterface
50
- */
51
- public function __invoke(CommandInterface $command)
52
- {
53
- $name = $command->getName();
54
- $operation = $this->api->getOperation($name);
55
-
56
- return new Request(
57
- $operation['http']['method'],
58
- $this->endpoint,
59
- [
60
- 'X-Amz-Target' => $this->api->getMetadata('targetPrefix') . '.' . $name,
61
- 'Content-Type' => $this->contentType
62
- ],
63
- $this->jsonFormatter->build(
64
- $operation->getInput(),
65
- $command->toArray()
66
- )
67
- );
68
- }
69
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/QueryParamBuilder.php DELETED
@@ -1,154 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\StructureShape;
5
- use Aws\Api\ListShape;
6
- use Aws\Api\MapShape;
7
- use Aws\Api\Shape;
8
- use Aws\Api\TimestampShape;
9
-
10
- /**
11
- * @internal
12
- */
13
- class QueryParamBuilder
14
- {
15
- private $methods;
16
-
17
- protected function queryName(Shape $shape, $default = null)
18
- {
19
- if (null !== $shape['queryName']) {
20
- return $shape['queryName'];
21
- }
22
-
23
- if (null !== $shape['locationName']) {
24
- return $shape['locationName'];
25
- }
26
-
27
- if ($this->isFlat($shape) && !empty($shape['member']['locationName'])) {
28
- return $shape['member']['locationName'];
29
- }
30
-
31
- return $default;
32
- }
33
-
34
- protected function isFlat(Shape $shape)
35
- {
36
- return $shape['flattened'] === true;
37
- }
38
-
39
- public function __invoke(StructureShape $shape, array $params)
40
- {
41
- if (!$this->methods) {
42
- $this->methods = array_fill_keys(get_class_methods($this), true);
43
- }
44
-
45
- $query = [];
46
- $this->format_structure($shape, $params, '', $query);
47
-
48
- return $query;
49
- }
50
-
51
- protected function format(Shape $shape, $value, $prefix, array &$query)
52
- {
53
- $type = 'format_' . $shape['type'];
54
- if (isset($this->methods[$type])) {
55
- $this->{$type}($shape, $value, $prefix, $query);
56
- } else {
57
- $query[$prefix] = (string) $value;
58
- }
59
- }
60
-
61
- protected function format_structure(
62
- StructureShape $shape,
63
- array $value,
64
- $prefix,
65
- &$query
66
- ) {
67
- if ($prefix) {
68
- $prefix .= '.';
69
- }
70
-
71
- foreach ($value as $k => $v) {
72
- if ($shape->hasMember($k)) {
73
- $member = $shape->getMember($k);
74
- $this->format(
75
- $member,
76
- $v,
77
- $prefix . $this->queryName($member, $k),
78
- $query
79
- );
80
- }
81
- }
82
- }
83
-
84
- protected function format_list(
85
- ListShape $shape,
86
- array $value,
87
- $prefix,
88
- &$query
89
- ) {
90
- // Handle empty list serialization
91
- if (!$value) {
92
- $query[$prefix] = '';
93
- return;
94
- }
95
-
96
- $items = $shape->getMember();
97
-
98
- if (!$this->isFlat($shape)) {
99
- $locationName = $shape->getMember()['locationName'] ?: 'member';
100
- $prefix .= ".$locationName";
101
- } elseif ($name = $this->queryName($items)) {
102
- $parts = explode('.', $prefix);
103
- $parts[count($parts) - 1] = $name;
104
- $prefix = implode('.', $parts);
105
- }
106
-
107
- foreach ($value as $k => $v) {
108
- $this->format($items, $v, $prefix . '.' . ($k + 1), $query);
109
- }
110
- }
111
-
112
- protected function format_map(
113
- MapShape $shape,
114
- array $value,
115
- $prefix,
116
- array &$query
117
- ) {
118
- $vals = $shape->getValue();
119
- $keys = $shape->getKey();
120
-
121
- if (!$this->isFlat($shape)) {
122
- $prefix .= '.entry';
123
- }
124
-
125
- $i = 0;
126
- $keyName = '%s.%d.' . $this->queryName($keys, 'key');
127
- $valueName = '%s.%s.' . $this->queryName($vals, 'value');
128
-
129
- foreach ($value as $k => $v) {
130
- $i++;
131
- $this->format($keys, $k, sprintf($keyName, $prefix, $i), $query);
132
- $this->format($vals, $v, sprintf($valueName, $prefix, $i), $query);
133
- }
134
- }
135
-
136
- protected function format_blob(Shape $shape, $value, $prefix, array &$query)
137
- {
138
- $query[$prefix] = base64_encode($value);
139
- }
140
-
141
- protected function format_timestamp(
142
- TimestampShape $shape,
143
- $value,
144
- $prefix,
145
- array &$query
146
- ) {
147
- $query[$prefix] = TimestampShape::format($value, 'iso8601');
148
- }
149
-
150
- protected function format_boolean(Shape $shape, $value, $prefix, array &$query)
151
- {
152
- $query[$prefix] = ($value) ? 'true' : 'false';
153
- }
154
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/QuerySerializer.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\Service;
5
- use Aws\CommandInterface;
6
- use GuzzleHttp\Psr7\Request;
7
- use Psr\Http\Message\RequestInterface;
8
-
9
- /**
10
- * Serializes a query protocol request.
11
- * @internal
12
- */
13
- class QuerySerializer
14
- {
15
- private $endpoint;
16
- private $api;
17
- private $paramBuilder;
18
-
19
- public function __construct(
20
- Service $api,
21
- $endpoint,
22
- callable $paramBuilder = null
23
- ) {
24
- $this->api = $api;
25
- $this->endpoint = $endpoint;
26
- $this->paramBuilder = $paramBuilder ?: new QueryParamBuilder();
27
- }
28
-
29
- /**
30
- * When invoked with an AWS command, returns a serialization array
31
- * containing "method", "uri", "headers", and "body" key value pairs.
32
- *
33
- * @param CommandInterface $command
34
- *
35
- * @return RequestInterface
36
- */
37
- public function __invoke(CommandInterface $command)
38
- {
39
- $operation = $this->api->getOperation($command->getName());
40
-
41
- $body = [
42
- 'Action' => $command->getName(),
43
- 'Version' => $this->api->getMetadata('apiVersion')
44
- ];
45
-
46
- $params = $command->toArray();
47
-
48
- // Only build up the parameters when there are parameters to build
49
- if ($params) {
50
- $body += call_user_func(
51
- $this->paramBuilder,
52
- $operation->getInput(),
53
- $params
54
- );
55
- }
56
-
57
- $body = http_build_query($body, null, '&', PHP_QUERY_RFC3986);
58
-
59
- return new Request(
60
- 'POST',
61
- $this->endpoint,
62
- [
63
- 'Content-Length' => strlen($body),
64
- 'Content-Type' => 'application/x-www-form-urlencoded'
65
- ],
66
- $body
67
- );
68
- }
69
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/RestJsonSerializer.php DELETED
@@ -1,39 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\Service;
5
- use Aws\Api\StructureShape;
6
-
7
- /**
8
- * Serializes requests for the REST-JSON protocol.
9
- * @internal
10
- */
11
- class RestJsonSerializer extends RestSerializer
12
- {
13
- /** @var JsonBody */
14
- private $jsonFormatter;
15
-
16
- /** @var string */
17
- private $contentType;
18
-
19
- /**
20
- * @param Service $api Service API description
21
- * @param string $endpoint Endpoint to connect to
22
- * @param JsonBody $jsonFormatter Optional JSON formatter to use
23
- */
24
- public function __construct(
25
- Service $api,
26
- $endpoint,
27
- JsonBody $jsonFormatter = null
28
- ) {
29
- parent::__construct($api, $endpoint);
30
- $this->contentType = JsonBody::getContentType($api);
31
- $this->jsonFormatter = $jsonFormatter ?: new JsonBody($api);
32
- }
33
-
34
- protected function payload(StructureShape $member, array $value, array &$opts)
35
- {
36
- $opts['headers']['Content-Type'] = $this->contentType;
37
- $opts['body'] = (string) $this->jsonFormatter->build($member, $value);
38
- }
39
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/RestSerializer.php DELETED
@@ -1,193 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\MapShape;
5
- use Aws\Api\Service;
6
- use Aws\Api\Operation;
7
- use Aws\Api\Shape;
8
- use Aws\Api\StructureShape;
9
- use Aws\Api\TimestampShape;
10
- use Aws\CommandInterface;
11
- use GuzzleHttp\Psr7;
12
- use Psr\Http\Message\RequestInterface;
13
-
14
- /**
15
- * Serializes HTTP locations like header, uri, payload, etc...
16
- * @internal
17
- */
18
- abstract class RestSerializer
19
- {
20
- /** @var Service */
21
- private $api;
22
-
23
- /** @var Psr7\Uri */
24
- private $endpoint;
25
-
26
- /**
27
- * @param Service $api Service API description
28
- * @param string $endpoint Endpoint to connect to
29
- */
30
- public function __construct(Service $api, $endpoint)
31
- {
32
- $this->api = $api;
33
- $this->endpoint = Psr7\uri_for($endpoint);
34
- }
35
-
36
- /**
37
- * @param CommandInterface $command Command to serialized
38
- *
39
- * @return RequestInterface
40
- */
41
- public function __invoke(CommandInterface $command)
42
- {
43
- $operation = $this->api->getOperation($command->getName());
44
- $args = $command->toArray();
45
- $opts = $this->serialize($operation, $args);
46
- $uri = $this->buildEndpoint($operation, $args, $opts);
47
-
48
- return new Psr7\Request(
49
- $operation['http']['method'],
50
- $uri,
51
- isset($opts['headers']) ? $opts['headers'] : [],
52
- isset($opts['body']) ? $opts['body'] : null
53
- );
54
- }
55
-
56
- /**
57
- * Modifies a hash of request options for a payload body.
58
- *
59
- * @param StructureShape $member Member to serialize
60
- * @param array $value Value to serialize
61
- * @param array $opts Request options to modify.
62
- */
63
- abstract protected function payload(
64
- StructureShape $member,
65
- array $value,
66
- array &$opts
67
- );
68
-
69
- private function serialize(Operation $operation, array $args)
70
- {
71
- $opts = [];
72
- $input = $operation->getInput();
73
-
74
- // Apply the payload trait if present
75
- if ($payload = $input['payload']) {
76
- $this->applyPayload($input, $payload, $args, $opts);
77
- }
78
-
79
- foreach ($args as $name => $value) {
80
- if ($input->hasMember($name)) {
81
- $member = $input->getMember($name);
82
- $location = $member['location'];
83
- if (!$payload && !$location) {
84
- $bodyMembers[$name] = $value;
85
- } elseif ($location == 'header') {
86
- $this->applyHeader($name, $member, $value, $opts);
87
- } elseif ($location == 'querystring') {
88
- $this->applyQuery($name, $member, $value, $opts);
89
- } elseif ($location == 'headers') {
90
- $this->applyHeaderMap($name, $member, $value, $opts);
91
- }
92
- }
93
- }
94
-
95
- if (isset($bodyMembers)) {
96
- $this->payload($operation->getInput(), $bodyMembers, $opts);
97
- }
98
-
99
- return $opts;
100
- }
101
-
102
- private function applyPayload(StructureShape $input, $name, array $args, array &$opts)
103
- {
104
- if (!isset($args[$name])) {
105
- return;
106
- }
107
-
108
- $m = $input->getMember($name);
109
-
110
- if ($m['streaming'] ||
111
- ($m['type'] == 'string' || $m['type'] == 'blob')
112
- ) {
113
- // Streaming bodies or payloads that are strings are
114
- // always just a stream of data.
115
- $opts['body'] = Psr7\stream_for($args[$name]);
116
- return;
117
- }
118
-
119
- $this->payload($m, $args[$name], $opts);
120
- }
121
-
122
- private function applyHeader($name, Shape $member, $value, array &$opts)
123
- {
124
- if ($member->getType() == 'timestamp') {
125
- $value = TimestampShape::format($value, 'rfc822');
126
- }
127
-
128
- $opts['headers'][$member['locationName'] ?: $name] = $value;
129
- }
130
-
131
- /**
132
- * Note: This is currently only present in the Amazon S3 model.
133
- */
134
- private function applyHeaderMap($name, Shape $member, array $value, array &$opts)
135
- {
136
- $prefix = $member['locationName'];
137
- foreach ($value as $k => $v) {
138
- $opts['headers'][$prefix . $k] = $v;
139
- }
140
- }
141
-
142
- private function applyQuery($name, Shape $member, $value, array &$opts)
143
- {
144
- if ($member instanceof MapShape) {
145
- $opts['query'] = isset($opts['query']) && is_array($opts['query'])
146
- ? $opts['query'] + $value
147
- : $value;
148
- } elseif ($value !== null) {
149
- $opts['query'][$member['locationName'] ?: $name] = $value;
150
- }
151
- }
152
-
153
- private function buildEndpoint(Operation $operation, array $args, array $opts)
154
- {
155
- $varspecs = [];
156
-
157
- // Create an associative array of varspecs used in expansions
158
- foreach ($operation->getInput()->getMembers() as $name => $member) {
159
- if ($member['location'] == 'uri') {
160
- $varspecs[$member['locationName'] ?: $name] =
161
- isset($args[$name])
162
- ? $args[$name]
163
- : null;
164
- }
165
- }
166
-
167
- $relative = preg_replace_callback(
168
- '/\{([^\}]+)\}/',
169
- function (array $matches) use ($varspecs) {
170
- $isGreedy = substr($matches[1], -1, 1) == '+';
171
- $k = $isGreedy ? substr($matches[1], 0, -1) : $matches[1];
172
- if (!isset($varspecs[$k])) {
173
- return '';
174
- } elseif ($isGreedy) {
175
- return str_replace('%2F', '/', rawurlencode($varspecs[$k]));
176
- } else {
177
- return rawurlencode($varspecs[$k]);
178
- }
179
- },
180
- $operation['http']['requestUri']
181
- );
182
-
183
- // Add the query string variables or appending to one if needed.
184
- if (!empty($opts['query'])) {
185
- $append = Psr7\build_query($opts['query']);
186
- $relative .= strpos($relative, '?') ? "&{$append}" : "?$append";
187
- }
188
-
189
- // Expand path place holders using Amazon's slightly different URI
190
- // template syntax.
191
- return Psr7\Uri::resolve($this->endpoint, $relative);
192
- }
193
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/RestXmlSerializer.php DELETED
@@ -1,34 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\StructureShape;
5
- use Aws\Api\Service;
6
-
7
- /**
8
- * @internal
9
- */
10
- class RestXmlSerializer extends RestSerializer
11
- {
12
- /** @var XmlBody */
13
- private $xmlBody;
14
-
15
- /**
16
- * @param Service $api Service API description
17
- * @param string $endpoint Endpoint to connect to
18
- * @param XmlBody $xmlBody Optional XML formatter to use
19
- */
20
- public function __construct(
21
- Service $api,
22
- $endpoint,
23
- XmlBody $xmlBody = null
24
- ) {
25
- parent::__construct($api, $endpoint);
26
- $this->xmlBody = $xmlBody ?: new XmlBody($api);
27
- }
28
-
29
- protected function payload(StructureShape $member, array $value, array &$opts)
30
- {
31
- $opts['headers']['Content-Type'] = 'application/xml';
32
- $opts['body'] = (string) $this->xmlBody->build($member, $value);
33
- }
34
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Serializer/XmlBody.php DELETED
@@ -1,217 +0,0 @@
1
- <?php
2
- namespace Aws\Api\Serializer;
3
-
4
- use Aws\Api\MapShape;
5
- use Aws\Api\Service;
6
- use Aws\Api\Shape;
7
- use Aws\Api\StructureShape;
8
- use Aws\Api\ListShape;
9
- use Aws\Api\TimestampShape;
10
- use XMLWriter;
11
-
12
- /**
13
- * @internal Formats the XML body of a REST-XML services.
14
- */
15
- class XmlBody
16
- {
17
- /** @var \Aws\Api\Service */
18
- private $api;
19
-
20
- /**
21
- * @param Service $api API being used to create the XML body.
22
- */
23
- public function __construct(Service $api)
24
- {
25
- $this->api = $api;
26
- }
27
-
28
- /**
29
- * Builds the XML body based on an array of arguments.
30
- *
31
- * @param Shape $shape Operation being constructed
32
- * @param array $args Associative array of arguments
33
- *
34
- * @return string
35
- */
36
- public function build(Shape $shape, array $args)
37
- {
38
- $xml = new XMLWriter();
39
- $xml->openMemory();
40
- $xml->startDocument('1.0', 'UTF-8');
41
- $this->format($shape, $shape['locationName'], $args, $xml);
42
- $xml->endDocument();
43
-
44
- return $xml->outputMemory();
45
- }
46
-
47
- private function startElement(Shape $shape, $name, XMLWriter $xml)
48
- {
49
- $xml->startElement($name);
50
-
51
- if ($ns = $shape['xmlNamespace']) {
52
- $xml->writeAttribute(
53
- isset($ns['prefix']) ? "xmlns:{$ns['prefix']}" : 'xmlns',
54
- $shape['xmlNamespace']['uri']
55
- );
56
- }
57
- }
58
-
59
- private function format(Shape $shape, $name, $value, XMLWriter $xml)
60
- {
61
- // Any method mentioned here has a custom serialization handler.
62
- static $methods = [
63
- 'add_structure' => true,
64
- 'add_list' => true,
65
- 'add_blob' => true,
66
- 'add_timestamp' => true,
67
- 'add_boolean' => true,
68
- 'add_map' => true,
69
- 'add_string' => true
70
- ];
71
-
72
- $type = 'add_' . $shape['type'];
73
- if (isset($methods[$type])) {
74
- $this->{$type}($shape, $name, $value, $xml);
75
- } else {
76
- $this->defaultShape($shape, $name, $value, $xml);
77
- }
78
- }
79
-
80
- private function defaultShape(Shape $shape, $name, $value, XMLWriter $xml)
81
- {
82
- $this->startElement($shape, $name, $xml);
83
- $xml->writeRaw($value);
84
- $xml->endElement();
85
- }
86
-
87
- private function add_structure(
88
- StructureShape $shape,
89
- $name,
90
- array $value,
91
- \XMLWriter $xml
92
- ) {
93
- $this->startElement($shape, $name, $xml);
94
-
95
- foreach ($this->getStructureMembers($shape, $value) as $k => $definition) {
96
- $this->format(
97
- $definition['member'],
98
- $definition['member']['locationName'] ?: $k,
99
- $definition['value'],
100
- $xml
101
- );
102
- }
103
-
104
- $xml->endElement();
105
- }
106
-
107
- private function getStructureMembers(StructureShape $shape, array $value)
108
- {
109
- $members = [];
110
-
111
- foreach ($value as $k => $v) {
112
- if ($v !== null && $shape->hasMember($k)) {
113
- $definition = [
114
- 'member' => $shape->getMember($k),
115
- 'value' => $v,
116
- ];
117
-
118
- if ($definition['member']['xmlAttribute']) {
119
- // array_unshift_associative
120
- $members = [$k => $definition] + $members;
121
- } else {
122
- $members[$k] = $definition;
123
- }
124
- }
125
- }
126
-
127
- return $members;
128
- }
129
-
130
- private function add_list(
131
- ListShape $shape,
132
- $name,
133
- array $value,
134
- XMLWriter $xml
135
- ) {
136
- $items = $shape->getMember();
137
-
138
- if ($shape['flattened']) {
139
- $elementName = $name;
140
- } else {
141
- $this->startElement($shape, $name, $xml);
142
- $elementName = $items['locationName'] ?: 'member';
143
- }
144
-
145
- foreach ($value as &$v) {
146
- $this->format($items, $elementName, $v, $xml);
147
- }
148
-
149
- if (!$shape['flattened']) {
150
- $xml->endElement();
151
- }
152
- }
153
-
154
- private function add_map(
155
- MapShape $shape,
156
- $name,
157
- array $value,
158
- XMLWriter $xml
159
- ) {
160
- $xmlEntry = $shape['flattened'] ? $shape['locationName'] : 'entry';
161
- $xmlKey = $shape->getKey()['locationName'] ?: 'key';
162
- $xmlValue = $shape->getValue()['locationName'] ?: 'value';
163
-
164
- $this->startElement($shape, $name, $xml);
165
-
166
- foreach ($value as $key => $v) {
167
- $this->startElement($shape, $xmlEntry, $xml);
168
- $this->format($shape->getKey(), $xmlKey, $key, $xml);
169
- $this->format($shape->getValue(), $xmlValue, $v, $xml);
170
- $xml->endElement();
171
- }
172
-
173
- $xml->endElement();
174
- }
175
-
176
- private function add_blob(Shape $shape, $name, $value, XMLWriter $xml)
177
- {
178
- $this->startElement($shape, $name, $xml);
179
- $xml->writeRaw(base64_encode($value));
180
- $xml->endElement();
181
- }
182
-
183
- private function add_timestamp(
184
- TimestampShape $shape,
185
- $name,
186
- $value,
187
- XMLWriter $xml
188
- ) {
189
- $this->startElement($shape, $name, $xml);
190
- $xml->writeRaw(TimestampShape::format($value, 'iso8601'));
191
- $xml->endElement();
192
- }
193
-
194
- private function add_boolean(
195
- Shape $shape,
196
- $name,
197
- $value,
198
- XMLWriter $xml
199
- ) {
200
- $this->startElement($shape, $name, $xml);
201
- $xml->writeRaw($value ? 'true' : 'false');
202
- $xml->endElement();
203
- }
204
-
205
- private function add_string(
206
- Shape $shape,
207
- $name,
208
- $value,
209
- XMLWriter $xml
210
- ) {
211
- if ($shape['xmlAttribute']) {
212
- $xml->writeAttribute($shape['locationName'] ?: $name, $value);
213
- } else {
214
- $this->defaultShape($shape, $name, $value, $xml);
215
- }
216
- }
217
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Service.php DELETED
@@ -1,404 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- use Aws\Api\Serializer\QuerySerializer;
5
- use Aws\Api\Serializer\Ec2ParamBuilder;
6
- use Aws\Api\Parser\QueryParser;
7
-
8
- /**
9
- * Represents a web service API model.
10
- */
11
- class Service extends AbstractModel
12
- {
13
- /** @var callable */
14
- private $apiProvider;
15
-
16
- /** @var string */
17
- private $serviceName;
18
-
19
- /** @var string */
20
- private $apiVersion;
21
-
22
- /** @var Operation[] */
23
- private $operations = [];
24
-
25
- /** @var array */
26
- private $paginators = null;
27
-
28
- /** @var array */
29
- private $waiters = null;
30
-
31
- /**
32
- * @param array $definition
33
- * @param callable $provider
34
- *
35
- * @internal param array $definition Service description
36
- */
37
- public function __construct(array $definition, callable $provider)
38
- {
39
- static $defaults = [
40
- 'operations' => [],
41
- 'shapes' => [],
42
- 'metadata' => []
43
- ], $defaultMeta = [
44
- 'apiVersion' => null,
45
- 'serviceFullName' => null,
46
- 'endpointPrefix' => null,
47
- 'signingName' => null,
48
- 'signatureVersion' => null,
49
- 'protocol' => null
50
- ];
51
-
52
- $definition += $defaults;
53
- $definition['metadata'] += $defaultMeta;
54
- $this->definition = $definition;
55
- $this->apiProvider = $provider;
56
- parent::__construct($definition, new ShapeMap($definition['shapes']));
57
- $this->serviceName = $this->getEndpointPrefix();
58
- $this->apiVersion = $this->getApiVersion();
59
- }
60
-
61
- /**
62
- * Creates a request serializer for the provided API object.
63
- *
64
- * @param Service $api API that contains a protocol.
65
- * @param string $endpoint Endpoint to send requests to.
66
- *
67
- * @return callable
68
- * @throws \UnexpectedValueException
69
- */
70
- public static function createSerializer(Service $api, $endpoint)
71
- {
72
- static $mapping = [
73
- 'json' => 'Aws\Api\Serializer\JsonRpcSerializer',
74
- 'query' => 'Aws\Api\Serializer\QuerySerializer',
75
- 'rest-json' => 'Aws\Api\Serializer\RestJsonSerializer',
76
- 'rest-xml' => 'Aws\Api\Serializer\RestXmlSerializer'
77
- ];
78
-
79
- $proto = $api->getProtocol();
80
-
81
- if (isset($mapping[$proto])) {
82
- return new $mapping[$proto]($api, $endpoint);
83
- } elseif ($proto == 'ec2') {
84
- return new QuerySerializer($api, $endpoint, new Ec2ParamBuilder());
85
- }
86
-
87
- throw new \UnexpectedValueException(
88
- 'Unknown protocol: ' . $api->getProtocol()
89
- );
90
- }
91
-
92
- /**
93
- * Creates an error parser for the given protocol.
94
- *
95
- * @param string $protocol Protocol to parse (e.g., query, json, etc.)
96
- *
97
- * @return callable
98
- * @throws \UnexpectedValueException
99
- */
100
- public static function createErrorParser($protocol)
101
- {
102
- static $mapping = [
103
- 'json' => 'Aws\Api\ErrorParser\JsonRpcErrorParser',
104
- 'query' => 'Aws\Api\ErrorParser\XmlErrorParser',
105
- 'rest-json' => 'Aws\Api\ErrorParser\RestJsonErrorParser',
106
- 'rest-xml' => 'Aws\Api\ErrorParser\XmlErrorParser',
107
- 'ec2' => 'Aws\Api\ErrorParser\XmlErrorParser'
108
- ];
109
-
110
- if (isset($mapping[$protocol])) {
111
- return new $mapping[$protocol]();
112
- }
113
-
114
- throw new \UnexpectedValueException("Unknown protocol: $protocol");
115
- }
116
-
117
- /**
118
- * Applies the listeners needed to parse client models.
119
- *
120
- * @param Service $api API to create a parser for
121
- * @return callable
122
- * @throws \UnexpectedValueException
123
- */
124
- public static function createParser(Service $api)
125
- {
126
- static $mapping = [
127
- 'json' => 'Aws\Api\Parser\JsonRpcParser',
128
- 'query' => 'Aws\Api\Parser\QueryParser',
129
- 'rest-json' => 'Aws\Api\Parser\RestJsonParser',
130
- 'rest-xml' => 'Aws\Api\Parser\RestXmlParser'
131
- ];
132
-
133
- $proto = $api->getProtocol();
134
- if (isset($mapping[$proto])) {
135
- return new $mapping[$proto]($api);
136
- } elseif ($proto == 'ec2') {
137
- return new QueryParser($api, null, false);
138
- }
139
-
140
- throw new \UnexpectedValueException(
141
- 'Unknown protocol: ' . $api->getProtocol()
142
- );
143
- }
144
-
145
- /**
146
- * Get the full name of the service
147
- *
148
- * @return string
149
- */
150
- public function getServiceFullName()
151
- {
152
- return $this->definition['metadata']['serviceFullName'];
153
- }
154
-
155
- /**
156
- * Get the API version of the service
157
- *
158
- * @return string
159
- */
160
- public function getApiVersion()
161
- {
162
- return $this->definition['metadata']['apiVersion'];
163
- }
164
-
165
- /**
166
- * Get the API version of the service
167
- *
168
- * @return string
169
- */
170
- public function getEndpointPrefix()
171
- {
172
- return $this->definition['metadata']['endpointPrefix'];
173
- }
174
-
175
- /**
176
- * Get the signing name used by the service.
177
- *
178
- * @return string
179
- */
180
- public function getSigningName()
181
- {
182
- return $this->definition['metadata']['signingName']
183
- ?: $this->definition['metadata']['endpointPrefix'];
184
- }
185
-
186
- /**
187
- * Get the default signature version of the service.
188
- *
189
- * Note: this method assumes "v4" when not specified in the model.
190
- *
191
- * @return string
192
- */
193
- public function getSignatureVersion()
194
- {
195
- return $this->definition['metadata']['signatureVersion'] ?: 'v4';
196
- }
197
-
198
- /**
199
- * Get the protocol used by the service.
200
- *
201
- * @return string
202
- */
203
- public function getProtocol()
204
- {
205
- return $this->definition['metadata']['protocol'];
206
- }
207
-
208
- /**
209
- * Check if the description has a specific operation by name.
210
- *
211
- * @param string $name Operation to check by name
212
- *
213
- * @return bool
214
- */
215
- public function hasOperation($name)
216
- {
217
- return isset($this['operations'][$name]);
218
- }
219
-
220
- /**
221
- * Get an operation by name.
222
- *
223
- * @param string $name Operation to retrieve by name
224
- *
225
- * @return Operation
226
- * @throws \InvalidArgumentException If the operation is not found
227
- */
228
- public function getOperation($name)
229
- {
230
- if (!isset($this->operations[$name])) {
231
- if (!isset($this->definition['operations'][$name])) {
232
- throw new \InvalidArgumentException("Unknown operation: $name");
233
- }
234
- $this->operations[$name] = new Operation(
235
- $this->definition['operations'][$name],
236
- $this->shapeMap
237
- );
238
- }
239
-
240
- return $this->operations[$name];
241
- }
242
-
243
- /**
244
- * Get all of the operations of the description.
245
- *
246
- * @return Operation[]
247
- */
248
- public function getOperations()
249
- {
250
- $result = [];
251
- foreach ($this->definition['operations'] as $name => $definition) {
252
- $result[$name] = $this->getOperation($name);
253
- }
254
-
255
- return $result;
256
- }
257
-
258
- /**
259
- * Get all of the service metadata or a specific metadata key value.
260
- *
261
- * @param string|null $key Key to retrieve or null to retrieve all metadata
262
- *
263
- * @return mixed Returns the result or null if the key is not found
264
- */
265
- public function getMetadata($key = null)
266
- {
267
- if (!$key) {
268
- return $this['metadata'];
269
- } elseif (isset($this->definition['metadata'][$key])) {
270
- return $this->definition['metadata'][$key];
271
- }
272
-
273
- return null;
274
- }
275
-
276
- /**
277
- * Gets an associative array of available paginator configurations where
278
- * the key is the name of the paginator, and the value is the paginator
279
- * configuration.
280
- *
281
- * @return array
282
- * @unstable The configuration format of paginators may change in the future
283
- */
284
- public function getPaginators()
285
- {
286
- if (!isset($this->paginators)) {
287
- $res = call_user_func(
288
- $this->apiProvider,
289
- 'paginator',
290
- $this->serviceName,
291
- $this->apiVersion
292
- );
293
- $this->paginators = isset($res['pagination'])
294
- ? $res['pagination']
295
- : [];
296
- }
297
-
298
- return $this->paginators;
299
- }
300
-
301
- /**
302
- * Determines if the service has a paginator by name.
303
- *
304
- * @param string $name Name of the paginator.
305
- *
306
- * @return bool
307
- */
308
- public function hasPaginator($name)
309
- {
310
- return isset($this->getPaginators()[$name]);
311
- }
312
-
313
- /**
314
- * Retrieve a paginator by name.
315
- *
316
- * @param string $name Paginator to retrieve by name. This argument is
317
- * typically the operation name.
318
- * @return array
319
- * @throws \UnexpectedValueException if the paginator does not exist.
320
- * @unstable The configuration format of paginators may change in the future
321
- */
322
- public function getPaginatorConfig($name)
323
- {
324
- static $defaults = [
325
- 'input_token' => null,
326
- 'output_token' => null,
327
- 'limit_key' => null,
328
- 'result_key' => null,
329
- 'more_results' => null,
330
- ];
331
-
332
- if ($this->hasPaginator($name)) {
333
- return $this->paginators[$name] + $defaults;
334
- }
335
-
336
- throw new \UnexpectedValueException("There is no {$name} "
337
- . "paginator defined for the {$this->serviceName} service.");
338
- }
339
-
340
- /**
341
- * Gets an associative array of available waiter configurations where the
342
- * key is the name of the waiter, and the value is the waiter
343
- * configuration.
344
- *
345
- * @return array
346
- */
347
- public function getWaiters()
348
- {
349
- if (!isset($this->waiters)) {
350
- $res = call_user_func(
351
- $this->apiProvider,
352
- 'waiter',
353
- $this->serviceName,
354
- $this->apiVersion
355
- );
356
- $this->waiters = isset($res['waiters'])
357
- ? $res['waiters']
358
- : [];
359
- }
360
-
361
- return $this->waiters;
362
- }
363
-
364
- /**
365
- * Determines if the service has a waiter by name.
366
- *
367
- * @param string $name Name of the waiter.
368
- *
369
- * @return bool
370
- */
371
- public function hasWaiter($name)
372
- {
373
- return isset($this->getWaiters()[$name]);
374
- }
375
-
376
- /**
377
- * Get a waiter configuration by name.
378
- *
379
- * @param string $name Name of the waiter by name.
380
- *
381
- * @return array
382
- * @throws \UnexpectedValueException if the waiter does not exist.
383
- */
384
- public function getWaiterConfig($name)
385
- {
386
- // Error if the waiter is not defined
387
- if ($this->hasWaiter($name)) {
388
- return $this->waiters[$name];
389
- }
390
-
391
- throw new \UnexpectedValueException("There is no {$name} waiter "
392
- . "defined for the {$this->serviceName} service.");
393
- }
394
-
395
- /**
396
- * Get the shape map used by the API.
397
- *
398
- * @return ShapeMap
399
- */
400
- public function getShapeMap()
401
- {
402
- return $this->shapeMap;
403
- }
404
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Shape.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Base class representing a modeled shape.
6
- */
7
- class Shape extends AbstractModel
8
- {
9
- /**
10
- * Get a concrete shape for the given definition.
11
- *
12
- * @param array $definition
13
- * @param ShapeMap $shapeMap
14
- *
15
- * @return mixed
16
- * @throws \RuntimeException if the type is invalid
17
- */
18
- public static function create(array $definition, ShapeMap $shapeMap)
19
- {
20
- static $map = [
21
- 'structure' => 'Aws\Api\StructureShape',
22
- 'map' => 'Aws\Api\MapShape',
23
- 'list' => 'Aws\Api\ListShape',
24
- 'timestamp' => 'Aws\Api\TimestampShape',
25
- 'integer' => 'Aws\Api\Shape',
26
- 'double' => 'Aws\Api\Shape',
27
- 'float' => 'Aws\Api\Shape',
28
- 'long' => 'Aws\Api\Shape',
29
- 'string' => 'Aws\Api\Shape',
30
- 'byte' => 'Aws\Api\Shape',
31
- 'character' => 'Aws\Api\Shape',
32
- 'blob' => 'Aws\Api\Shape',
33
- 'boolean' => 'Aws\Api\Shape'
34
- ];
35
-
36
- if (isset($definition['shape'])) {
37
- return $shapeMap->resolve($definition);
38
- }
39
-
40
- if (!isset($map[$definition['type']])) {
41
- throw new \RuntimeException('Invalid type: '
42
- . print_r($definition, true));
43
- }
44
-
45
- $type = $map[$definition['type']];
46
-
47
- return new $type($definition, $shapeMap);
48
- }
49
-
50
- /**
51
- * Get the type of the shape
52
- *
53
- * @return string
54
- */
55
- public function getType()
56
- {
57
- return $this->definition['type'];
58
- }
59
-
60
- /**
61
- * Get the name of the shape
62
- *
63
- * @return string
64
- */
65
- public function getName()
66
- {
67
- return $this->definition['name'];
68
- }
69
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/ShapeMap.php DELETED
@@ -1,66 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Builds shape based on shape references.
6
- */
7
- class ShapeMap
8
- {
9
- /** @var array */
10
- private $definitions;
11
-
12
- /** @var Shape[] */
13
- private $simple;
14
-
15
- /**
16
- * @param array $shapeModels Associative array of shape definitions.
17
- */
18
- public function __construct(array $shapeModels)
19
- {
20
- $this->definitions = $shapeModels;
21
- }
22
-
23
- /**
24
- * Get an array of shape names.
25
- *
26
- * @return array
27
- */
28
- public function getShapeNames()
29
- {
30
- return array_keys($this->definitions);
31
- }
32
-
33
- /**
34
- * Resolve a shape reference
35
- *
36
- * @param array $shapeRef Shape reference shape
37
- *
38
- * @return Shape
39
- * @throws \InvalidArgumentException
40
- */
41
- public function resolve(array $shapeRef)
42
- {
43
- $shape = $shapeRef['shape'];
44
-
45
- if (!isset($this->definitions[$shape])) {
46
- throw new \InvalidArgumentException('Shape not found: ' . $shape);
47
- }
48
-
49
- $isSimple = count($shapeRef) == 1;
50
- if ($isSimple && isset($this->simple[$shape])) {
51
- return $this->simple[$shape];
52
- }
53
-
54
- $definition = $shapeRef + $this->definitions[$shape];
55
- $definition['name'] = $definition['shape'];
56
- unset($definition['shape']);
57
-
58
- $result = Shape::create($definition, $this);
59
-
60
- if ($isSimple) {
61
- $this->simple[$shape] = $result;
62
- }
63
-
64
- return $result;
65
- }
66
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/StructureShape.php DELETED
@@ -1,79 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Represents a structure shape and resolve member shape references.
6
- */
7
- class StructureShape extends Shape
8
- {
9
- /**
10
- * @var Shape[]
11
- */
12
- private $members;
13
-
14
- public function __construct(array $definition, ShapeMap $shapeMap)
15
- {
16
- $definition['type'] = 'structure';
17
-
18
- if (!isset($definition['members'])) {
19
- $definition['members'] = [];
20
- }
21
-
22
- parent::__construct($definition, $shapeMap);
23
- }
24
-
25
- /**
26
- * Gets a list of all members
27
- *
28
- * @return Shape[]
29
- */
30
- public function getMembers()
31
- {
32
- if (empty($this->members)) {
33
- $this->generateMembersHash();
34
- }
35
-
36
- return $this->members;
37
- }
38
-
39
- /**
40
- * Check if a specific member exists by name.
41
- *
42
- * @param string $name Name of the member to check
43
- *
44
- * @return bool
45
- */
46
- public function hasMember($name)
47
- {
48
- return isset($this->definition['members'][$name]);
49
- }
50
-
51
- /**
52
- * Retrieve a member by name.
53
- *
54
- * @param string $name Name of the member to retrieve
55
- *
56
- * @return Shape
57
- * @throws \InvalidArgumentException if the member is not found.
58
- */
59
- public function getMember($name)
60
- {
61
- $members = $this->getMembers();
62
-
63
- if (!isset($members[$name])) {
64
- throw new \InvalidArgumentException('Unknown member ' . $name);
65
- }
66
-
67
- return $members[$name];
68
- }
69
-
70
-
71
- private function generateMembersHash()
72
- {
73
- $this->members = [];
74
-
75
- foreach ($this->definition['members'] as $name => $definition) {
76
- $this->members[$name] = $this->shapeFor($definition);
77
- }
78
- }
79
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/TimestampShape.php DELETED
@@ -1,48 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- /**
5
- * Represents a timestamp shape.
6
- */
7
- class TimestampShape extends Shape
8
- {
9
- public function __construct(array $definition, ShapeMap $shapeMap)
10
- {
11
- $definition['type'] = 'timestamp';
12
- parent::__construct($definition, $shapeMap);
13
- }
14
-
15
- /**
16
- * Formats a timestamp value for a service.
17
- *
18
- * @param mixed $value Value to format
19
- * @param string $format Format used to serialize the value
20
- *
21
- * @return int|string
22
- * @throws \UnexpectedValueException if the format is unknown.
23
- * @throws \InvalidArgumentException if the value is an unsupported type.
24
- */
25
- public static function format($value, $format)
26
- {
27
- if ($value instanceof \DateTime) {
28
- $value = $value->getTimestamp();
29
- } elseif (is_string($value)) {
30
- $value = strtotime($value);
31
- } elseif (!is_int($value)) {
32
- throw new \InvalidArgumentException('Unable to handle the provided'
33
- . ' timestamp type: ' . gettype($value));
34
- }
35
-
36
- switch ($format) {
37
- case 'iso8601':
38
- return gmdate('Y-m-d\TH:i:s\Z', $value);
39
- case 'rfc822':
40
- return gmdate('D, d M Y H:i:s \G\M\T', $value);
41
- case 'unixTimestamp':
42
- return $value;
43
- default:
44
- throw new \UnexpectedValueException('Unknown timestamp format: '
45
- . $format);
46
- }
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/Api/Validator.php DELETED
@@ -1,236 +0,0 @@
1
- <?php
2
- namespace Aws\Api;
3
-
4
- use Aws;
5
-
6
- /**
7
- * Validates a schema against a hash of input.
8
- */
9
- class Validator
10
- {
11
- private $path = [];
12
- private $errors = [];
13
-
14
- /**
15
- * Validates the given input against the schema.
16
- *
17
- * @param string $name Operation name
18
- * @param Shape $shape Shape to validate
19
- * @param array $input Input to validate
20
- *
21
- * @throws \InvalidArgumentException if the input is invalid.
22
- */
23
- public function validate($name, Shape $shape, array $input)
24
- {
25
- $this->dispatch($shape, $input);
26
-
27
- if ($this->errors) {
28
- $message = sprintf(
29
- "Found %d error%s while validating the input provided for the "
30
- . "%s operation:\n%s",
31
- count($this->errors),
32
- count($this->errors) > 1 ? 's' : '',
33
- $name,
34
- implode("\n", $this->errors)
35
- );
36
- $this->errors = [];
37
-
38
- throw new \InvalidArgumentException($message);
39
- }
40
- }
41
-
42
- private function dispatch(Shape $shape, $value)
43
- {
44
- static $methods = [
45
- 'structure' => 'check_structure',
46
- 'list' => 'check_list',
47
- 'map' => 'check_map',
48
- 'blob' => 'check_blob',
49
- 'boolean' => 'check_boolean',
50
- 'integer' => 'check_numeric',
51
- 'float' => 'check_numeric',
52
- 'long' => 'check_numeric',
53
- 'string' => 'check_string',
54
- 'byte' => 'check_string',
55
- 'char' => 'check_string'
56
- ];
57
-
58
- $type = $shape->getType();
59
- if (isset($methods[$type])) {
60
- $this->{$methods[$type]}($shape, $value);
61
- }
62
- }
63
-
64
- private function check_structure(StructureShape $shape, $value)
65
- {
66
- if (!$this->checkAssociativeArray($value)) {
67
- return;
68
- }
69
-
70
- if ($shape['required']) {
71
- foreach ($shape['required'] as $req) {
72
- if (!isset($value[$req])) {
73
- $this->path[] = $req;
74
- $this->addError('is missing and is a required parameter');
75
- array_pop($this->path);
76
- }
77
- }
78
- }
79
-
80
- foreach ($value as $name => $v) {
81
- if ($shape->hasMember($name)) {
82
- $this->path[] = $name;
83
- $this->dispatch(
84
- $shape->getMember($name),
85
- isset($value[$name]) ? $value[$name] : null
86
- );
87
- array_pop($this->path);
88
- }
89
- }
90
- }
91
-
92
- private function check_list(ListShape $shape, $value)
93
- {
94
- if (!is_array($value)) {
95
- $this->addError('must be an array. Found '
96
- . Aws\describe_type($value));
97
- return;
98
- }
99
-
100
- list($min, $max, $count) = [$shape['min'], $shape['max'], count($value)];
101
-
102
- if ($min && $count < $min) {
103
- $this->addError("must have at least $min members."
104
- . " Value provided has $count.");
105
- }
106
-
107
- if ($max && $count > $max) {
108
- $this->addError("must have no more than $max members."
109
- . " Value provided has $count.");
110
- }
111
-
112
- $items = $shape->getMember();
113
- foreach ($value as $index => $v) {
114
- $this->path[] = $index;
115
- $this->dispatch($items, $v);
116
- array_pop($this->path);
117
- }
118
- }
119
-
120
- private function check_map(MapShape $shape, $value)
121
- {
122
- if (!$this->checkAssociativeArray($value)) {
123
- return;
124
- }
125
-
126
- $values = $shape->getValue();
127
- foreach ($value as $key => $v) {
128
- $this->path[] = $key;
129
- $this->dispatch($values, $v);
130
- array_pop($this->path);
131
- }
132
- }
133
-
134
- private function check_blob(Shape $shape, $value)
135
- {
136
- static $valid = [
137
- 'string' => true,
138
- 'integer' => true,
139
- 'double' => true,
140
- 'resource' => true
141
- ];
142
-
143
- $type = gettype($value);
144
- if (!isset($valid[$type])) {
145
- if ($type != 'object' || !method_exists($value, '__toString')) {
146
- $this->addError('must be an fopen resource, a '
147
- . 'GuzzleHttp\Stream\StreamInterface object, or something '
148
- . 'that can be cast to a string. Found '
149
- . Aws\describe_type($value));
150
- }
151
- }
152
- }
153
-
154
- private function check_numeric(Shape $shape, $value)
155
- {
156
- if (!is_numeric($value)) {
157
- $this->addError('must be numeric. Found '
158
- . Aws\describe_type($value));
159
- return;
160
- }
161
-
162
- list($min, $max) = [$shape['min'], $shape['max']];
163
-
164
- if ($min && $value < $min) {
165
- $this->addError("must be at least $min. Value provided is $value.");
166
- }
167
-
168
- if ($max && $value > $max) {
169
- $this->addError("must be no more than $max."
170
- . " Value provided is $value.");
171
- }
172
- }
173
-
174
- private function check_boolean(Shape $shape, $value)
175
- {
176
- if (!is_bool($value)) {
177
- $this->addError('must be a boolean. Found '
178
- . Aws\describe_type($value));
179
- }
180
- }
181
-
182
- private function check_string(Shape $shape, $value)
183
- {
184
- if (!$this->checkCanString($value)) {
185
- $this->addError('must be a string or an object that implements '
186
- . '__toString(). Found ' . Aws\describe_type($value));
187
- return;
188
- }
189
-
190
- list($min, $max, $len) = [$shape['min'], $shape['max'], strlen($value)];
191
-
192
- if ($min && $len < $min) {
193
- $this->addError("must be at least $min characters long."
194
- . " Value provided is $len characters long.");
195
- }
196
-
197
- if ($max && $len > $max) {
198
- $this->addError("must be no more than $max characters long."
199
- . " Value provided is $len characters long.");
200
- }
201
- }
202
-
203
- private function checkCanString($value)
204
- {
205
- static $valid = [
206
- 'string' => true,
207
- 'integer' => true,
208
- 'double' => true,
209
- 'NULL' => true,
210
- ];
211
-
212
- $type = gettype($value);
213
-
214
- return isset($valid[$type]) ||
215
- ($type == 'object' && method_exists($value, '__toString'));
216
- }
217
-
218
- private function checkAssociativeArray($value)
219
- {
220
- if (!is_array($value) || isset($value[0])) {
221
- $this->addError('must be an associative array. Found '
222
- . Aws\describe_type($value));
223
- return false;
224
- }
225
-
226
- return true;
227
- }
228
-
229
- private function addError($message)
230
- {
231
- $this->errors[] =
232
- implode('', array_map(function ($s) { return "[{$s}]"; }, $this->path))
233
- . ' '
234
- . $message;
235
- }
236
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/ApiGateway/ApiGatewayClient.php DELETED
@@ -1,166 +0,0 @@
1
- <?php
2
- namespace Aws\ApiGateway;
3
-
4
- use Aws\AwsClient;
5
- use Aws\CommandInterface;
6
- use Psr\Http\Message\RequestInterface;
7
-
8
- /**
9
- * This client is used to interact with the **AWS API Gateway** service.
10
- *
11
- * @method \Aws\Result createApiKey(array $args = [])
12
- * @method \GuzzleHttp\Promise\Promise createApiKeyAsync(array $args = [])
13
- * @method \Aws\Result createBasePathMapping(array $args = [])
14
- * @method \GuzzleHttp\Promise\Promise createBasePathMappingAsync(array $args = [])
15
- * @method \Aws\Result createDeployment(array $args = [])
16
- * @method \GuzzleHttp\Promise\Promise createDeploymentAsync(array $args = [])
17
- * @method \Aws\Result createDomainName(array $args = [])
18
- * @method \GuzzleHttp\Promise\Promise createDomainNameAsync(array $args = [])
19
- * @method \Aws\Result createModel(array $args = [])
20
- * @method \GuzzleHttp\Promise\Promise createModelAsync(array $args = [])
21
- * @method \Aws\Result createResource(array $args = [])
22
- * @method \GuzzleHttp\Promise\Promise createResourceAsync(array $args = [])
23
- * @method \Aws\Result createRestApi(array $args = [])
24
- * @method \GuzzleHttp\Promise\Promise createRestApiAsync(array $args = [])
25
- * @method \Aws\Result createStage(array $args = [])
26
- * @method \GuzzleHttp\Promise\Promise createStageAsync(array $args = [])
27
- * @method \Aws\Result deleteApiKey(array $args = [])
28
- * @method \GuzzleHttp\Promise\Promise deleteApiKeyAsync(array $args = [])
29
- * @method \Aws\Result deleteBasePathMapping(array $args = [])
30
- * @method \GuzzleHttp\Promise\Promise deleteBasePathMappingAsync(array $args = [])
31
- * @method \Aws\Result deleteClientCertificate(array $args = [])
32
- * @method \GuzzleHttp\Promise\Promise deleteClientCertificateAsync(array $args = [])
33
- * @method \Aws\Result deleteDeployment(array $args = [])
34
- * @method \GuzzleHttp\Promise\Promise deleteDeploymentAsync(array $args = [])
35
- * @method \Aws\Result deleteDomainName(array $args = [])
36
- * @method \GuzzleHttp\Promise\Promise deleteDomainNameAsync(array $args = [])
37
- * @method \Aws\Result deleteIntegration(array $args = [])
38
- * @method \GuzzleHttp\Promise\Promise deleteIntegrationAsync(array $args = [])
39
- * @method \Aws\Result deleteIntegrationResponse(array $args = [])
40
- * @method \GuzzleHttp\Promise\Promise deleteIntegrationResponseAsync(array $args = [])
41
- * @method \Aws\Result deleteMethod(array $args = [])
42
- * @method \GuzzleHttp\Promise\Promise deleteMethodAsync(array $args = [])
43
- * @method \Aws\Result deleteMethodResponse(array $args = [])
44
- * @method \GuzzleHttp\Promise\Promise deleteMethodResponseAsync(array $args = [])
45
- * @method \Aws\Result deleteModel(array $args = [])
46
- * @method \GuzzleHttp\Promise\Promise deleteModelAsync(array $args = [])
47
- * @method \Aws\Result deleteResource(array $args = [])
48
- * @method \GuzzleHttp\Promise\Promise deleteResourceAsync(array $args = [])
49
- * @method \Aws\Result deleteRestApi(array $args = [])
50
- * @method \GuzzleHttp\Promise\Promise deleteRestApiAsync(array $args = [])
51
- * @method \Aws\Result deleteStage(array $args = [])
52
- * @method \GuzzleHttp\Promise\Promise deleteStageAsync(array $args = [])
53
- * @method \Aws\Result flushStageCache(array $args = [])
54
- * @method \GuzzleHttp\Promise\Promise flushStageCacheAsync(array $args = [])
55
- * @method \Aws\Result generateClientCertificate(array $args = [])
56
- * @method \GuzzleHttp\Promise\Promise generateClientCertificateAsync(array $args = [])
57
- * @method \Aws\Result getAccount(array $args = [])
58
- * @method \GuzzleHttp\Promise\Promise getAccountAsync(array $args = [])
59
- * @method \Aws\Result getApiKey(array $args = [])
60
- * @method \GuzzleHttp\Promise\Promise getApiKeyAsync(array $args = [])
61
- * @method \Aws\Result getApiKeys(array $args = [])
62
- * @method \GuzzleHttp\Promise\Promise getApiKeysAsync(array $args = [])
63
- * @method \Aws\Result getBasePathMapping(array $args = [])
64
- * @method \GuzzleHttp\Promise\Promise getBasePathMappingAsync(array $args = [])
65
- * @method \Aws\Result getBasePathMappings(array $args = [])
66
- * @method \GuzzleHttp\Promise\Promise getBasePathMappingsAsync(array $args = [])
67
- * @method \Aws\Result getClientCertificate(array $args = [])
68
- * @method \GuzzleHttp\Promise\Promise getClientCertificateAsync(array $args = [])
69
- * @method \Aws\Result getClientCertificates(array $args = [])
70
- * @method \GuzzleHttp\Promise\Promise getClientCertificatesAsync(array $args = [])
71
- * @method \Aws\Result getDeployment(array $args = [])
72
- * @method \GuzzleHttp\Promise\Promise getDeploymentAsync(array $args = [])
73
- * @method \Aws\Result getDeployments(array $args = [])
74
- * @method \GuzzleHttp\Promise\Promise getDeploymentsAsync(array $args = [])
75
- * @method \Aws\Result getDomainName(array $args = [])
76
- * @method \GuzzleHttp\Promise\Promise getDomainNameAsync(array $args = [])
77
- * @method \Aws\Result getDomainNames(array $args = [])
78
- * @method \GuzzleHttp\Promise\Promise getDomainNamesAsync(array $args = [])
79
- * @method \Aws\Result getIntegration(array $args = [])
80
- * @method \GuzzleHttp\Promise\Promise getIntegrationAsync(array $args = [])
81
- * @method \Aws\Result getIntegrationResponse(array $args = [])
82
- * @method \GuzzleHttp\Promise\Promise getIntegrationResponseAsync(array $args = [])
83
- * @method \Aws\Result getMethod(array $args = [])
84
- * @method \GuzzleHttp\Promise\Promise getMethodAsync(array $args = [])
85
- * @method \Aws\Result getMethodResponse(array $args = [])
86
- * @method \GuzzleHttp\Promise\Promise getMethodResponseAsync(array $args = [])
87
- * @method \Aws\Result getModel(array $args = [])
88
- * @method \GuzzleHttp\Promise\Promise getModelAsync(array $args = [])
89
- * @method \Aws\Result getModelTemplate(array $args = [])
90
- * @method \GuzzleHttp\Promise\Promise getModelTemplateAsync(array $args = [])
91
- * @method \Aws\Result getModels(array $args = [])
92
- * @method \GuzzleHttp\Promise\Promise getModelsAsync(array $args = [])
93
- * @method \Aws\Result getResource(array $args = [])
94
- * @method \GuzzleHttp\Promise\Promise getResourceAsync(array $args = [])
95
- * @method \Aws\Result getResources(array $args = [])
96
- * @method \GuzzleHttp\Promise\Promise getResourcesAsync(array $args = [])
97
- * @method \Aws\Result getRestApi(array $args = [])
98
- * @method \GuzzleHttp\Promise\Promise getRestApiAsync(array $args = [])
99
- * @method \Aws\Result getRestApis(array $args = [])
100
- * @method \GuzzleHttp\Promise\Promise getRestApisAsync(array $args = [])
101
- * @method \Aws\Result getSdk(array $args = [])
102
- * @method \GuzzleHttp\Promise\Promise getSdkAsync(array $args = [])
103
- * @method \Aws\Result getStage(array $args = [])
104
- * @method \GuzzleHttp\Promise\Promise getStageAsync(array $args = [])
105
- * @method \Aws\Result getStages(array $args = [])
106
- * @method \GuzzleHttp\Promise\Promise getStagesAsync(array $args = [])
107
- * @method \Aws\Result putIntegration(array $args = [])
108
- * @method \GuzzleHttp\Promise\Promise putIntegrationAsync(array $args = [])
109
- * @method \Aws\Result putIntegrationResponse(array $args = [])
110
- * @method \GuzzleHttp\Promise\Promise putIntegrationResponseAsync(array $args = [])
111
- * @method \Aws\Result putMethod(array $args = [])
112
- * @method \GuzzleHttp\Promise\Promise putMethodAsync(array $args = [])
113
- * @method \Aws\Result putMethodResponse(array $args = [])
114
- * @method \GuzzleHttp\Promise\Promise putMethodResponseAsync(array $args = [])
115
- * @method \Aws\Result testInvokeMethod(array $args = [])
116
- * @method \GuzzleHttp\Promise\Promise testInvokeMethodAsync(array $args = [])
117
- * @method \Aws\Result updateAccount(array $args = [])
118
- * @method \GuzzleHttp\Promise\Promise updateAccountAsync(array $args = [])
119
- * @method \Aws\Result updateApiKey(array $args = [])
120
- * @method \GuzzleHttp\Promise\Promise updateApiKeyAsync(array $args = [])
121
- * @method \Aws\Result updateBasePathMapping(array $args = [])
122
- * @method \GuzzleHttp\Promise\Promise updateBasePathMappingAsync(array $args = [])
123
- * @method \Aws\Result updateClientCertificate(array $args = [])
124
- * @method \GuzzleHttp\Promise\Promise updateClientCertificateAsync(array $args = [])
125
- * @method \Aws\Result updateDeployment(array $args = [])
126
- * @method \GuzzleHttp\Promise\Promise updateDeploymentAsync(array $args = [])
127
- * @method \Aws\Result updateDomainName(array $args = [])
128
- * @method \GuzzleHttp\Promise\Promise updateDomainNameAsync(array $args = [])
129
- * @method \Aws\Result updateIntegration(array $args = [])
130
- * @method \GuzzleHttp\Promise\Promise updateIntegrationAsync(array $args = [])
131
- * @method \Aws\Result updateIntegrationResponse(array $args = [])
132
- * @method \GuzzleHttp\Promise\Promise updateIntegrationResponseAsync(array $args = [])
133
- * @method \Aws\Result updateMethod(array $args = [])
134
- * @method \GuzzleHttp\Promise\Promise updateMethodAsync(array $args = [])
135
- * @method \Aws\Result updateMethodResponse(array $args = [])
136
- * @method \GuzzleHttp\Promise\Promise updateMethodResponseAsync(array $args = [])
137
- * @method \Aws\Result updateModel(array $args = [])
138
- * @method \GuzzleHttp\Promise\Promise updateModelAsync(array $args = [])
139
- * @method \Aws\Result updateResource(array $args = [])
140
- * @method \GuzzleHttp\Promise\Promise updateResourceAsync(array $args = [])
141
- * @method \Aws\Result updateRestApi(array $args = [])
142
- * @method \GuzzleHttp\Promise\Promise updateRestApiAsync(array $args = [])
143
- * @method \Aws\Result updateStage(array $args = [])
144
- * @method \GuzzleHttp\Promise\Promise updateStageAsync(array $args = [])
145
- */
146
- class ApiGatewayClient extends AwsClient
147
- {
148
- public function __construct(array $args)
149
- {
150
- parent::__construct($args);
151
- $stack = $this->getHandlerList();
152
- $stack->appendBuild([__CLASS__, '_add_accept_header']);
153
- }
154
-
155
- public static function _add_accept_header(callable $handler)
156
- {
157
- return function (
158
- CommandInterface $command,
159
- RequestInterface $request
160
- ) use ($handler) {
161
- $request = $request->withHeader('Accept', 'application/json');
162
-
163
- return $handler($command, $request);
164
- };
165
- }
166
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/ApiGateway/Exception/ApiGatewayException.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
- namespace Aws\ApiGateway\Exception;
3
-
4
- use Aws\Exception\AwsException;
5
-
6
- /**
7
- * Represents an error interacting with the **AWS API Gateway** service.
8
- */
9
- class ApiGatewayException extends AwsException {}
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/AutoScaling/AutoScalingClient.php CHANGED
@@ -1,106 +1,112 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  namespace Aws\AutoScaling;
3
 
4
- use Aws\AwsClient;
 
 
 
 
 
5
 
6
  /**
7
- * Auto Scaling client.
8
  *
9
- * @method \Aws\Result attachInstances(array $args = [])
10
- * @method \GuzzleHttp\Promise\Promise attachInstancesAsync(array $args = [])
11
- * @method \Aws\Result attachLoadBalancers(array $args = [])
12
- * @method \GuzzleHttp\Promise\Promise attachLoadBalancersAsync(array $args = [])
13
- * @method \Aws\Result completeLifecycleAction(array $args = [])
14
- * @method \GuzzleHttp\Promise\Promise completeLifecycleActionAsync(array $args = [])
15
- * @method \Aws\Result createAutoScalingGroup(array $args = [])
16
- * @method \GuzzleHttp\Promise\Promise createAutoScalingGroupAsync(array $args = [])
17
- * @method \Aws\Result createLaunchConfiguration(array $args = [])
18
- * @method \GuzzleHttp\Promise\Promise createLaunchConfigurationAsync(array $args = [])
19
- * @method \Aws\Result createOrUpdateTags(array $args = [])
20
- * @method \GuzzleHttp\Promise\Promise createOrUpdateTagsAsync(array $args = [])
21
- * @method \Aws\Result deleteAutoScalingGroup(array $args = [])
22
- * @method \GuzzleHttp\Promise\Promise deleteAutoScalingGroupAsync(array $args = [])
23
- * @method \Aws\Result deleteLaunchConfiguration(array $args = [])
24
- * @method \GuzzleHttp\Promise\Promise deleteLaunchConfigurationAsync(array $args = [])
25
- * @method \Aws\Result deleteLifecycleHook(array $args = [])
26
- * @method \GuzzleHttp\Promise\Promise deleteLifecycleHookAsync(array $args = [])
27
- * @method \Aws\Result deleteNotificationConfiguration(array $args = [])
28
- * @method \GuzzleHttp\Promise\Promise deleteNotificationConfigurationAsync(array $args = [])
29
- * @method \Aws\Result deletePolicy(array $args = [])
30
- * @method \GuzzleHttp\Promise\Promise deletePolicyAsync(array $args = [])
31
- * @method \Aws\Result deleteScheduledAction(array $args = [])
32
- * @method \GuzzleHttp\Promise\Promise deleteScheduledActionAsync(array $args = [])
33
- * @method \Aws\Result deleteTags(array $args = [])
34
- * @method \GuzzleHttp\Promise\Promise deleteTagsAsync(array $args = [])
35
- * @method \Aws\Result describeAccountLimits(array $args = [])
36
- * @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = [])
37
- * @method \Aws\Result describeAdjustmentTypes(array $args = [])
38
- * @method \GuzzleHttp\Promise\Promise describeAdjustmentTypesAsync(array $args = [])
39
- * @method \Aws\Result describeAutoScalingGroups(array $args = [])
40
- * @method \GuzzleHttp\Promise\Promise describeAutoScalingGroupsAsync(array $args = [])
41
- * @method \Aws\Result describeAutoScalingInstances(array $args = [])
42
- * @method \GuzzleHttp\Promise\Promise describeAutoScalingInstancesAsync(array $args = [])
43
- * @method \Aws\Result describeAutoScalingNotificationTypes(array $args = [])
44
- * @method \GuzzleHttp\Promise\Promise describeAutoScalingNotificationTypesAsync(array $args = [])
45
- * @method \Aws\Result describeLaunchConfigurations(array $args = [])
46
- * @method \GuzzleHttp\Promise\Promise describeLaunchConfigurationsAsync(array $args = [])
47
- * @method \Aws\Result describeLifecycleHookTypes(array $args = [])
48
- * @method \GuzzleHttp\Promise\Promise describeLifecycleHookTypesAsync(array $args = [])
49
- * @method \Aws\Result describeLifecycleHooks(array $args = [])
50
- * @method \GuzzleHttp\Promise\Promise describeLifecycleHooksAsync(array $args = [])
51
- * @method \Aws\Result describeLoadBalancers(array $args = [])
52
- * @method \GuzzleHttp\Promise\Promise describeLoadBalancersAsync(array $args = [])
53
- * @method \Aws\Result describeMetricCollectionTypes(array $args = [])
54
- * @method \GuzzleHttp\Promise\Promise describeMetricCollectionTypesAsync(array $args = [])
55
- * @method \Aws\Result describeNotificationConfigurations(array $args = [])
56
- * @method \GuzzleHttp\Promise\Promise describeNotificationConfigurationsAsync(array $args = [])
57
- * @method \Aws\Result describePolicies(array $args = [])
58
- * @method \GuzzleHttp\Promise\Promise describePoliciesAsync(array $args = [])
59
- * @method \Aws\Result describeScalingActivities(array $args = [])
60
- * @method \GuzzleHttp\Promise\Promise describeScalingActivitiesAsync(array $args = [])
61
- * @method \Aws\Result describeScalingProcessTypes(array $args = [])
62
- * @method \GuzzleHttp\Promise\Promise describeScalingProcessTypesAsync(array $args = [])
63
- * @method \Aws\Result describeScheduledActions(array $args = [])
64
- * @method \GuzzleHttp\Promise\Promise describeScheduledActionsAsync(array $args = [])
65
- * @method \Aws\Result describeTags(array $args = [])
66
- * @method \GuzzleHttp\Promise\Promise describeTagsAsync(array $args = [])
67
- * @method \Aws\Result describeTerminationPolicyTypes(array $args = [])
68
- * @method \GuzzleHttp\Promise\Promise describeTerminationPolicyTypesAsync(array $args = [])
69
- * @method \Aws\Result detachInstances(array $args = [])
70
- * @method \GuzzleHttp\Promise\Promise detachInstancesAsync(array $args = [])
71
- * @method \Aws\Result detachLoadBalancers(array $args = [])
72
- * @method \GuzzleHttp\Promise\Promise detachLoadBalancersAsync(array $args = [])
73
- * @method \Aws\Result disableMetricsCollection(array $args = [])
74
- * @method \GuzzleHttp\Promise\Promise disableMetricsCollectionAsync(array $args = [])
75
- * @method \Aws\Result enableMetricsCollection(array $args = [])
76
- * @method \GuzzleHttp\Promise\Promise enableMetricsCollectionAsync(array $args = [])
77
- * @method \Aws\Result enterStandby(array $args = [])
78
- * @method \GuzzleHttp\Promise\Promise enterStandbyAsync(array $args = [])
79
- * @method \Aws\Result executePolicy(array $args = [])
80
- * @method \GuzzleHttp\Promise\Promise executePolicyAsync(array $args = [])
81
- * @method \Aws\Result exitStandby(array $args = [])
82
- * @method \GuzzleHttp\Promise\Promise exitStandbyAsync(array $args = [])
83
- * @method \Aws\Result putLifecycleHook(array $args = [])
84
- * @method \GuzzleHttp\Promise\Promise putLifecycleHookAsync(array $args = [])
85
- * @method \Aws\Result putNotificationConfiguration(array $args = [])
86
- * @method \GuzzleHttp\Promise\Promise putNotificationConfigurationAsync(array $args = [])
87
- * @method \Aws\Result putScalingPolicy(array $args = [])
88
- * @method \GuzzleHttp\Promise\Promise putScalingPolicyAsync(array $args = [])
89
- * @method \Aws\Result putScheduledUpdateGroupAction(array $args = [])
90
- * @method \GuzzleHttp\Promise\Promise putScheduledUpdateGroupActionAsync(array $args = [])
91
- * @method \Aws\Result recordLifecycleActionHeartbeat(array $args = [])
92
- * @method \GuzzleHttp\Promise\Promise recordLifecycleActionHeartbeatAsync(array $args = [])
93
- * @method \Aws\Result resumeProcesses(array $args = [])
94
- * @method \GuzzleHttp\Promise\Promise resumeProcessesAsync(array $args = [])
95
- * @method \Aws\Result setDesiredCapacity(array $args = [])
96
- * @method \GuzzleHttp\Promise\Promise setDesiredCapacityAsync(array $args = [])
97
- * @method \Aws\Result setInstanceHealth(array $args = [])
98
- * @method \GuzzleHttp\Promise\Promise setInstanceHealthAsync(array $args = [])
99
- * @method \Aws\Result suspendProcesses(array $args = [])
100
- * @method \GuzzleHttp\Promise\Promise suspendProcessesAsync(array $args = [])
101
- * @method \Aws\Result terminateInstanceInAutoScalingGroup(array $args = [])
102
- * @method \GuzzleHttp\Promise\Promise terminateInstanceInAutoScalingGroupAsync(array $args = [])
103
- * @method \Aws\Result updateAutoScalingGroup(array $args = [])
104
- * @method \GuzzleHttp\Promise\Promise updateAutoScalingGroupAsync(array $args = [])
105
  */
106
- class AutoScalingClient extends AwsClient {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
  namespace Aws\AutoScaling;
18
 
19
+ use Aws\Common\Client\AbstractClient;
20
+ use Aws\Common\Client\ClientBuilder;
21
+ use Aws\Common\Enum\ClientOptions as Options;
22
+ use Guzzle\Common\Collection;
23
+ use Guzzle\Service\Resource\Model;
24
+ use Guzzle\Service\Resource\ResourceIteratorInterface;
25
 
26
  /**
27
+ * Client to interact with Auto Scaling
28
  *
29
+ * @method Model createAutoScalingGroup(array $args = array()) {@command AutoScaling CreateAutoScalingGroup}
30
+ * @method Model attachInstances(array $args = array()) {@command AutoScaling AttachInstances}
31
+ * @method Model detachInstances(array $args = array()) {@command AutoScaling DetachInstances}
32
+ * @method Model enterStandby(array $args = array()) {@command AutoScaling EnterStandby}
33
+ * @method Model exitStandby(array $args = array()) {@command AutoScaling ExitStandby}
34
+ * @method Model deleteAutoScalingGroup(array $args = array()) {@command AutoScaling DeleteAutoScalingGroup}
35
+ * @method Model describeAutoScalingGroups(array $args = array()) {@command AutoScaling DescribeAutoScalingGroups}
36
+ * @method Model updateAutoScalingGroup(array $args = array()) {@command AutoScaling UpdateAutoScalingGroup}
37
+ * @method Model describeAutoScalingInstances(array $args = array()) {@command AutoScaling DescribeAutoScalingInstances}
38
+ * @method Model describeScalingProcessTypes(array $args = array()) {@command AutoScaling DescribeScalingProcessTypes}
39
+ * @method Model suspendProcesses(array $args = array()) {@command AutoScaling SuspendProcesses}
40
+ * @method Model resumeProcesses(array $args = array()) {@command AutoScaling ResumeProcesses}
41
+ * @method Model setDesiredCapacity(array $args = array()) {@command AutoScaling SetDesiredCapacity}
42
+ * @method Model setInstanceHealth(array $args = array()) {@command AutoScaling SetInstanceHealth}
43
+ * @method Model attachLoadBalancers(array $args = array()) {@command AutoScaling AttachLoadBalancers}
44
+ * @method Model detachLoadBalancers(array $args = array()) {@command AutoScaling DetachLoadBalancers}
45
+ * @method Model putScheduledUpdateGroupAction(array $args = array()) {@command AutoScaling PutScheduledUpdateGroupAction}
46
+ * @method Model describeScheduledActions(array $args = array()) {@command AutoScaling DescribeScheduledActions}
47
+ * @method Model deleteScheduledAction(array $args = array()) {@command AutoScaling DeleteScheduledAction}
48
+ * @method Model describeAdjustmentTypes(array $args = array()) {@command AutoScaling DescribeAdjustmentTypes}
49
+ * @method Model putScalingPolicy(array $args = array()) {@command AutoScaling PutScalingPolicy}
50
+ * @method Model describePolicies(array $args = array()) {@command AutoScaling DescribePolicies}
51
+ * @method Model deletePolicy(array $args = array()) {@command AutoScaling DeletePolicy}
52
+ * @method Model executePolicy(array $args = array()) {@command AutoScaling ExecutePolicy}
53
+ * @method Model describeMetricCollectionTypes(array $args = array()) {@command AutoScaling DescribeMetricCollectionTypes}
54
+ * @method Model enableMetricsCollection(array $args = array()) {@command AutoScaling EnableMetricsCollection}
55
+ * @method Model disableMetricsCollection(array $args = array()) {@command AutoScaling DisableMetricsCollection}
56
+ * @method Model createLaunchConfiguration(array $args = array()) {@command AutoScaling CreateLaunchConfiguration}
57
+ * @method Model describeLaunchConfigurations(array $args = array()) {@command AutoScaling DescribeLaunchConfigurations}
58
+ * @method Model deleteLaunchConfiguration(array $args = array()) {@command AutoScaling DeleteLaunchConfiguration}
59
+ * @method Model describeScalingActivities(array $args = array()) {@command AutoScaling DescribeScalingActivities}
60
+ * @method Model terminateInstanceInAutoScalingGroup(array $args = array()) {@command AutoScaling TerminateInstanceInAutoScalingGroup}
61
+ * @method Model setInstanceProtection(array $args = array()) {@command AutoScaling SetInstanceProtection}
62
+ * @method Model putNotificationConfiguration(array $args = array()) {@command AutoScaling PutNotificationConfiguration}
63
+ * @method Model deleteNotificationConfiguration(array $args = array()) {@command AutoScaling DeleteNotificationConfiguration}
64
+ * @method Model describeNotificationConfigurations(array $args = array()) {@command AutoScaling DescribeNotificationConfigurations}
65
+ * @method Model describeAutoScalingNotificationTypes(array $args = array()) {@command AutoScaling DescribeAutoScalingNotificationTypes}
66
+ * @method Model createOrUpdateTags(array $args = array()) {@command AutoScaling CreateOrUpdateTags}
67
+ * @method Model deleteTags(array $args = array()) {@command AutoScaling DeleteTags}
68
+ * @method Model describeTags(array $args = array()) {@command AutoScaling DescribeTags}
69
+ * @method Model describeTerminationPolicyTypes(array $args = array()) {@command AutoScaling DescribeTerminationPolicyTypes}
70
+ * @method Model describeAccountLimits(array $args = array()) {@command AutoScaling DescribeAccountLimits}
71
+ * @method Model putLifecycleHook(array $args = array()) {@command AutoScaling PutLifecycleHook}
72
+ * @method Model deleteLifecycleHook(array $args = array()) {@command AutoScaling DeleteLifecycleHook}
73
+ * @method Model describeLifecycleHooks(array $args = array()) {@command AutoScaling DescribeLifecycleHooks}
74
+ * @method Model describeLifecycleHookTypes(array $args = array()) {@command AutoScaling DescribeLifecycleHookTypes}
75
+ * @method Model completeLifecycleAction(array $args = array()) {@command AutoScaling CompleteLifecycleAction}
76
+ * @method Model recordLifecycleActionHeartbeat(array $args = array()) {@command AutoScaling RecordLifecycleActionHeartbeat}
77
+ * @method Model describeLoadBalancers(array $args = array()) {@command AutoScaling DescribeLoadBalancers}
78
+ * @method ResourceIteratorInterface getDescribeAutoScalingGroupsIterator(array $args = array()) The input array uses the parameters of the DescribeAutoScalingGroups operation
79
+ * @method ResourceIteratorInterface getDescribeAutoScalingInstancesIterator(array $args = array()) The input array uses the parameters of the DescribeAutoScalingInstances operation
80
+ * @method ResourceIteratorInterface getDescribeLaunchConfigurationsIterator(array $args = array()) The input array uses the parameters of the DescribeLaunchConfigurations operation
81
+ * @method ResourceIteratorInterface getDescribeNotificationConfigurationsIterator(array $args = array()) The input array uses the parameters of the DescribeNotificationConfigurations operation
82
+ * @method ResourceIteratorInterface getDescribePoliciesIterator(array $args = array()) The input array uses the parameters of the DescribePolicies operation
83
+ * @method ResourceIteratorInterface getDescribeScalingActivitiesIterator(array $args = array()) The input array uses the parameters of the DescribeScalingActivities operation
84
+ * @method ResourceIteratorInterface getDescribeScheduledActionsIterator(array $args = array()) The input array uses the parameters of the DescribeScheduledActions operation
85
+ * @method ResourceIteratorInterface getDescribeTagsIterator(array $args = array()) The input array uses the parameters of the DescribeTags operation
86
+ *
87
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-autoscaling.html User guide
88
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.AutoScaling.AutoScalingClient.html API docs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  */
90
+ class AutoScalingClient extends AbstractClient
91
+ {
92
+ const LATEST_API_VERSION = '2011-01-01';
93
+
94
+ /**
95
+ * Factory method to create a new Auto Scaling client using an array of configuration options.
96
+ *
97
+ * @param array|Collection $config Client configuration data
98
+ *
99
+ * @return self
100
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options
101
+ */
102
+ public static function factory($config = array())
103
+ {
104
+ return ClientBuilder::factory(__NAMESPACE__)
105
+ ->setConfig($config)
106
+ ->setConfigDefaults(array(
107
+ Options::VERSION => self::LATEST_API_VERSION,
108
+ Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/autoscaling-%s.php'
109
+ ))
110
+ ->build();
111
+ }
112
+ }
lib/aws-sdk-php/Aws/AutoScaling/Enum/LifecycleState.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\AutoScaling\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable LifecycleState values
23
+ */
24
+ class LifecycleState extends Enum
25
+ {
26
+ const PENDING = 'Pending';
27
+ const QUARANTINED = 'Quarantined';
28
+ const IN_SERVICE = 'InService';
29
+ const TERMINATING = 'Terminating';
30
+ const TERMINATED = 'Terminated';
31
+ }
lib/aws-sdk-php/Aws/AutoScaling/Enum/ScalingActivityStatusCode.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\AutoScaling\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable ScalingActivityStatusCode values
23
+ */
24
+ class ScalingActivityStatusCode extends Enum
25
+ {
26
+ const WAITING_FOR_SPOT_INSTANCE_REQUEST_ID = 'WaitingForSpotInstanceRequestId';
27
+ const WAITING_FOR_SPOT_INSTANCE_ID = 'WaitingForSpotInstanceId';
28
+ const WAITING_FOR_INSTANCE_ID = 'WaitingForInstanceId';
29
+ const PRE_IN_SERVICE = 'PreInService';
30
+ const IN_PROGRESS = 'InProgress';
31
+ const SUCCESSFUL = 'Successful';
32
+ const FAILED = 'Failed';
33
+ const CANCELLED = 'Cancelled';
34
+ }
lib/aws-sdk-php/Aws/AutoScaling/Exception/AlreadyExistsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\AutoScaling\Exception;
18
+
19
+ /**
20
+ * The named Auto Scaling group or launch configuration already exists.
21
+ */
22
+ class AlreadyExistsException extends AutoScalingException {}
lib/aws-sdk-php/Aws/AutoScaling/Exception/AutoScalingException.php CHANGED
@@ -1,9 +1,24 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  namespace Aws\AutoScaling\Exception;
3
 
4
- use Aws\Exception\AwsException;
5
 
6
  /**
7
- * Represents an error while interacting with the Auto Scaling service.
8
  */
9
- class AutoScalingException extends AwsException {}
1
  <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
  namespace Aws\AutoScaling\Exception;
18
 
19
+ use Aws\Common\Exception\ServiceResponseException;
20
 
21
  /**
22
+ * Default service exception class
23
  */
24
+ class AutoScalingException extends ServiceResponseException {}
lib/aws-sdk-php/Aws/AutoScaling/Exception/InvalidNextTokenException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\AutoScaling\Exception;
18
+
19
+ /**
20
+ * The NextToken value is invalid.
21
+ */
22
+ class InvalidNextTokenException extends AutoScalingException {}
lib/aws-sdk-php/Aws/AutoScaling/Exception/LimitExceededException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\AutoScaling\Exception;
18
+
19
+ /**
20
+ * The quota for capacity groups or launch configurations for this customer has already been reached.
21
+ */
22
+ class LimitExceededException extends AutoScalingException {}
lib/aws-sdk-php/Aws/AutoScaling/Exception/ResourceInUseException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\AutoScaling\Exception;
18
+
19
+ /**
20
+ * This is returned when you cannot delete a launch configuration or Auto Scaling group because it is being used.
21
+ */
22
+ class ResourceInUseException extends AutoScalingException {}
lib/aws-sdk-php/Aws/AutoScaling/Exception/ScalingActivityInProgressException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\AutoScaling\Exception;
18
+
19
+ /**
20
+ * You cannot delete an Auto Scaling group while there are scaling activities in progress for that group.
21
+ */
22
+ class ScalingActivityInProgressException extends AutoScalingException {}
lib/aws-sdk-php/Aws/AutoScaling/Resources/autoscaling-2011-01-01.php ADDED
@@ -0,0 +1,3683 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ return array (
18
+ 'apiVersion' => '2011-01-01',
19
+ 'endpointPrefix' => 'autoscaling',
20
+ 'serviceFullName' => 'Auto Scaling',
21
+ 'serviceType' => 'query',
22
+ 'resultWrapped' => true,
23
+ 'signatureVersion' => 'v4',
24
+ 'namespace' => 'AutoScaling',
25
+ 'regions' => array(
26
+ 'us-east-1' => array(
27
+ 'http' => true,
28
+ 'https' => true,
29
+ 'hostname' => 'autoscaling.us-east-1.amazonaws.com',
30
+ ),
31
+ 'us-west-1' => array(
32
+ 'http' => true,
33
+ 'https' => true,
34
+ 'hostname' => 'autoscaling.us-west-1.amazonaws.com',
35
+ ),
36
+ 'us-west-2' => array(
37
+ 'http' => true,
38
+ 'https' => true,
39
+ 'hostname' => 'autoscaling.us-west-2.amazonaws.com',
40
+ ),
41
+ 'eu-west-1' => array(
42
+ 'http' => true,
43
+ 'https' => true,
44
+ 'hostname' => 'autoscaling.eu-west-1.amazonaws.com',
45
+ ),
46
+ 'ap-northeast-1' => array(
47
+ 'http' => true,
48
+ 'https' => true,
49
+ 'hostname' => 'autoscaling.ap-northeast-1.amazonaws.com',
50
+ ),
51
+ 'ap-southeast-1' => array(
52
+ 'http' => true,
53
+ 'https' => true,
54
+ 'hostname' => 'autoscaling.ap-southeast-1.amazonaws.com',
55
+ ),
56
+ 'ap-southeast-2' => array(
57
+ 'http' => true,
58
+ 'https' => true,
59
+ 'hostname' => 'autoscaling.ap-southeast-2.amazonaws.com',
60
+ ),
61
+ 'sa-east-1' => array(
62
+ 'http' => true,
63
+ 'https' => true,
64
+ 'hostname' => 'autoscaling.sa-east-1.amazonaws.com',
65
+ ),
66
+ 'cn-north-1' => array(
67
+ 'http' => true,
68
+ 'https' => true,
69
+ 'hostname' => 'autoscaling.cn-north-1.amazonaws.com.cn',
70
+ ),
71
+ 'us-gov-west-1' => array(
72
+ 'http' => true,
73
+ 'https' => true,
74
+ 'hostname' => 'autoscaling.us-gov-west-1.amazonaws.com',
75
+ ),
76
+ ),
77
+ 'operations' => array(
78
+ 'CreateAutoScalingGroup' => array(
79
+ 'httpMethod' => 'POST',
80
+ 'uri' => '/',
81
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
82
+ 'responseClass' => 'EmptyOutput',
83
+ 'responseType' => 'model',
84
+ 'parameters' => array(
85
+ 'Action' => array(
86
+ 'static' => true,
87
+ 'location' => 'aws.query',
88
+ 'default' => 'CreateAutoScalingGroup',
89
+ ),
90
+ 'Version' => array(
91
+ 'static' => true,
92
+ 'location' => 'aws.query',
93
+ 'default' => '2011-01-01',
94
+ ),
95
+ 'AutoScalingGroupName' => array(
96
+ 'required' => true,
97
+ 'type' => 'string',
98
+ 'location' => 'aws.query',
99
+ 'minLength' => 1,
100
+ ),
101
+ 'LaunchConfigurationName' => array(
102
+ 'type' => 'string',
103
+ 'location' => 'aws.query',
104
+ 'minLength' => 1,
105
+ ),
106
+ 'InstanceId' => array(
107
+ 'type' => 'string',
108
+ 'location' => 'aws.query',
109
+ 'minLength' => 1,
110
+ ),
111
+ 'MinSize' => array(
112
+ 'required' => true,
113
+ 'type' => 'numeric',
114
+ 'location' => 'aws.query',
115
+ ),
116
+ 'MaxSize' => array(
117
+ 'required' => true,
118
+ 'type' => 'numeric',
119
+ 'location' => 'aws.query',
120
+ ),
121
+ 'DesiredCapacity' => array(
122
+ 'type' => 'numeric',
123
+ 'location' => 'aws.query',
124
+ ),
125
+ 'DefaultCooldown' => array(
126
+ 'type' => 'numeric',
127
+ 'location' => 'aws.query',
128
+ ),
129
+ 'AvailabilityZones' => array(
130
+ 'type' => 'array',
131
+ 'location' => 'aws.query',
132
+ 'sentAs' => 'AvailabilityZones.member',
133
+ 'minItems' => 1,
134
+ 'items' => array(
135
+ 'name' => 'XmlStringMaxLen255',
136
+ 'type' => 'string',
137
+ 'minLength' => 1,
138
+ ),
139
+ ),
140
+ 'LoadBalancerNames' => array(
141
+ 'type' => 'array',
142
+ 'location' => 'aws.query',
143
+ 'sentAs' => 'LoadBalancerNames.member',
144
+ 'items' => array(
145
+ 'name' => 'XmlStringMaxLen255',
146
+ 'type' => 'string',
147
+ 'minLength' => 1,
148
+ ),
149
+ ),
150
+ 'HealthCheckType' => array(
151
+ 'type' => 'string',
152
+ 'location' => 'aws.query',
153
+ 'minLength' => 1,
154
+ ),
155
+ 'HealthCheckGracePeriod' => array(
156
+ 'type' => 'numeric',
157
+ 'location' => 'aws.query',
158
+ ),
159
+ 'PlacementGroup' => array(
160
+ 'type' => 'string',
161
+ 'location' => 'aws.query',
162
+ 'minLength' => 1,
163
+ ),
164
+ 'VPCZoneIdentifier' => array(
165
+ 'type' => 'string',
166
+ 'location' => 'aws.query',
167
+ 'minLength' => 1,
168
+ ),
169
+ 'TerminationPolicies' => array(
170
+ 'type' => 'array',
171
+ 'location' => 'aws.query',
172
+ 'sentAs' => 'TerminationPolicies.member',
173
+ 'items' => array(
174
+ 'name' => 'XmlStringMaxLen1600',
175
+ 'type' => 'string',
176
+ 'minLength' => 1,
177
+ ),
178
+ ),
179
+ 'NewInstancesProtectedFromScaleIn' => array(
180
+ 'type' => 'boolean',
181
+ 'format' => 'boolean-string',
182
+ 'location' => 'aws.query',
183
+ ),
184
+ 'Tags' => array(
185
+ 'type' => 'array',
186
+ 'location' => 'aws.query',
187
+ 'sentAs' => 'Tags.member',
188
+ 'items' => array(
189
+ 'name' => 'Tag',
190
+ 'type' => 'object',
191
+ 'properties' => array(
192
+ 'ResourceId' => array(
193
+ 'type' => 'string',
194
+ ),
195
+ 'ResourceType' => array(
196
+ 'type' => 'string',
197
+ ),
198
+ 'Key' => array(
199
+ 'required' => true,
200
+ 'type' => 'string',
201
+ 'minLength' => 1,
202
+ ),
203
+ 'Value' => array(
204
+ 'type' => 'string',
205
+ ),
206
+ 'PropagateAtLaunch' => array(
207
+ 'type' => 'boolean',
208
+ 'format' => 'boolean-string',
209
+ ),
210
+ ),
211
+ ),
212
+ ),
213
+ ),
214
+ 'errorResponses' => array(
215
+ array(
216
+ 'reason' => 'You already have an Auto Scaling group or launch configuration with this name.',
217
+ 'class' => 'AlreadyExistsException',
218
+ ),
219
+ array(
220
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
221
+ 'class' => 'LimitExceededException',
222
+ ),
223
+ array(
224
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
225
+ 'class' => 'ResourceContentionException',
226
+ ),
227
+ ),
228
+ ),
229
+ 'AttachInstances' => array(
230
+ 'httpMethod' => 'POST',
231
+ 'uri' => '/',
232
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
233
+ 'responseClass' => 'EmptyOutput',
234
+ 'responseType' => 'model',
235
+ 'parameters' => array(
236
+ 'Action' => array(
237
+ 'static' => true,
238
+ 'location' => 'aws.query',
239
+ 'default' => 'AttachInstances',
240
+ ),
241
+ 'Version' => array(
242
+ 'static' => true,
243
+ 'location' => 'aws.query',
244
+ 'default' => '2011-01-01',
245
+ ),
246
+ 'InstanceIds' => array(
247
+ 'type' => 'array',
248
+ 'location' => 'aws.query',
249
+ 'sentAs' => 'InstanceIds.member',
250
+ 'items' => array(
251
+ 'name' => 'XmlStringMaxLen19',
252
+ 'type' => 'string',
253
+ 'minLength' => 1,
254
+ ),
255
+ ),
256
+ 'AutoScalingGroupName' => array(
257
+ 'required' => true,
258
+ 'type' => 'string',
259
+ 'location' => 'aws.query',
260
+ 'minLength' => 1,
261
+ ),
262
+ ),
263
+ 'errorResponses' => array(
264
+ array(
265
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
266
+ 'class' => 'ResourceContentionException',
267
+ ),
268
+ ),
269
+ ),
270
+ 'DetachInstances' => array(
271
+ 'httpMethod' => 'POST',
272
+ 'uri' => '/',
273
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
274
+ 'responseClass' => 'DetachInstancesAnswer',
275
+ 'responseType' => 'model',
276
+ 'parameters' => array(
277
+ 'Action' => array(
278
+ 'static' => true,
279
+ 'location' => 'aws.query',
280
+ 'default' => 'DetachInstances',
281
+ ),
282
+ 'Version' => array(
283
+ 'static' => true,
284
+ 'location' => 'aws.query',
285
+ 'default' => '2011-01-01',
286
+ ),
287
+ 'InstanceIds' => array(
288
+ 'type' => 'array',
289
+ 'location' => 'aws.query',
290
+ 'sentAs' => 'InstanceIds.member',
291
+ 'items' => array(
292
+ 'name' => 'XmlStringMaxLen19',
293
+ 'type' => 'string',
294
+ 'minLength' => 1,
295
+ ),
296
+ ),
297
+ 'AutoScalingGroupName' => array(
298
+ 'required' => true,
299
+ 'type' => 'string',
300
+ 'location' => 'aws.query',
301
+ 'minLength' => 1,
302
+ ),
303
+ 'ShouldDecrementDesiredCapacity' => array(
304
+ 'required' => true,
305
+ 'type' => 'boolean',
306
+ 'format' => 'boolean-string',
307
+ 'location' => 'aws.query',
308
+ ),
309
+ ),
310
+ 'errorResponses' => array(
311
+ array(
312
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
313
+ 'class' => 'ResourceContentionException',
314
+ ),
315
+ ),
316
+ ),
317
+ 'EnterStandby' => array(
318
+ 'httpMethod' => 'POST',
319
+ 'uri' => '/',
320
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
321
+ 'responseClass' => 'EnterStandbyAnswer',
322
+ 'responseType' => 'model',
323
+ 'parameters' => array(
324
+ 'Action' => array(
325
+ 'static' => true,
326
+ 'location' => 'aws.query',
327
+ 'default' => 'EnterStandby',
328
+ ),
329
+ 'Version' => array(
330
+ 'static' => true,
331
+ 'location' => 'aws.query',
332
+ 'default' => '2011-01-01',
333
+ ),
334
+ 'InstanceIds' => array(
335
+ 'type' => 'array',
336
+ 'location' => 'aws.query',
337
+ 'sentAs' => 'InstanceIds.member',
338
+ 'items' => array(
339
+ 'name' => 'XmlStringMaxLen19',
340
+ 'type' => 'string',
341
+ 'minLength' => 1,
342
+ ),
343
+ ),
344
+ 'AutoScalingGroupName' => array(
345
+ 'required' => true,
346
+ 'type' => 'string',
347
+ 'location' => 'aws.query',
348
+ 'minLength' => 1,
349
+ ),
350
+ 'ShouldDecrementDesiredCapacity' => array(
351
+ 'required' => true,
352
+ 'type' => 'boolean',
353
+ 'format' => 'boolean-string',
354
+ 'location' => 'aws.query',
355
+ ),
356
+ ),
357
+ 'errorResponses' => array(
358
+ array(
359
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
360
+ 'class' => 'ResourceContentionException',
361
+ ),
362
+ ),
363
+ ),
364
+ 'ExitStandby' => array(
365
+ 'httpMethod' => 'POST',
366
+ 'uri' => '/',
367
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
368
+ 'responseClass' => 'ExitStandbyAnswer',
369
+ 'responseType' => 'model',
370
+ 'parameters' => array(
371
+ 'Action' => array(
372
+ 'static' => true,
373
+ 'location' => 'aws.query',
374
+ 'default' => 'ExitStandby',
375
+ ),
376
+ 'Version' => array(
377
+ 'static' => true,
378
+ 'location' => 'aws.query',
379
+ 'default' => '2011-01-01',
380
+ ),
381
+ 'InstanceIds' => array(
382
+ 'type' => 'array',
383
+ 'location' => 'aws.query',
384
+ 'sentAs' => 'InstanceIds.member',
385
+ 'items' => array(
386
+ 'name' => 'XmlStringMaxLen19',
387
+ 'type' => 'string',
388
+ 'minLength' => 1,
389
+ ),
390
+ ),
391
+ 'AutoScalingGroupName' => array(
392
+ 'required' => true,
393
+ 'type' => 'string',
394
+ 'location' => 'aws.query',
395
+ 'minLength' => 1,
396
+ ),
397
+ ),
398
+ 'errorResponses' => array(
399
+ array(
400
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
401
+ 'class' => 'ResourceContentionException',
402
+ ),
403
+ ),
404
+ ),
405
+ 'DeleteAutoScalingGroup' => array(
406
+ 'httpMethod' => 'POST',
407
+ 'uri' => '/',
408
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
409
+ 'responseClass' => 'EmptyOutput',
410
+ 'responseType' => 'model',
411
+ 'parameters' => array(
412
+ 'Action' => array(
413
+ 'static' => true,
414
+ 'location' => 'aws.query',
415
+ 'default' => 'DeleteAutoScalingGroup',
416
+ ),
417
+ 'Version' => array(
418
+ 'static' => true,
419
+ 'location' => 'aws.query',
420
+ 'default' => '2011-01-01',
421
+ ),
422
+ 'AutoScalingGroupName' => array(
423
+ 'required' => true,
424
+ 'type' => 'string',
425
+ 'location' => 'aws.query',
426
+ 'minLength' => 1,
427
+ ),
428
+ 'ForceDelete' => array(
429
+ 'type' => 'boolean',
430
+ 'format' => 'boolean-string',
431
+ 'location' => 'aws.query',
432
+ ),
433
+ ),
434
+ 'errorResponses' => array(
435
+ array(
436
+ 'reason' => 'The Auto Scaling group can\'t be deleted because there are scaling activities in progress.',
437
+ 'class' => 'ScalingActivityInProgressException',
438
+ ),
439
+ array(
440
+ 'reason' => 'The Auto Scaling group or launch configuration can\'t be deleted because it is in use.',
441
+ 'class' => 'ResourceInUseException',
442
+ ),
443
+ array(
444
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
445
+ 'class' => 'ResourceContentionException',
446
+ ),
447
+ ),
448
+ ),
449
+ 'DescribeAutoScalingGroups' => array(
450
+ 'httpMethod' => 'POST',
451
+ 'uri' => '/',
452
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
453
+ 'responseClass' => 'AutoScalingGroupsType',
454
+ 'responseType' => 'model',
455
+ 'parameters' => array(
456
+ 'Action' => array(
457
+ 'static' => true,
458
+ 'location' => 'aws.query',
459
+ 'default' => 'DescribeAutoScalingGroups',
460
+ ),
461
+ 'Version' => array(
462
+ 'static' => true,
463
+ 'location' => 'aws.query',
464
+ 'default' => '2011-01-01',
465
+ ),
466
+ 'AutoScalingGroupNames' => array(
467
+ 'type' => 'array',
468
+ 'location' => 'aws.query',
469
+ 'sentAs' => 'AutoScalingGroupNames.member',
470
+ 'items' => array(
471
+ 'name' => 'ResourceName',
472
+ 'type' => 'string',
473
+ 'minLength' => 1,
474
+ ),
475
+ ),
476
+ 'NextToken' => array(
477
+ 'type' => 'string',
478
+ 'location' => 'aws.query',
479
+ ),
480
+ 'MaxRecords' => array(
481
+ 'type' => 'numeric',
482
+ 'location' => 'aws.query',
483
+ ),
484
+ ),
485
+ 'errorResponses' => array(
486
+ array(
487
+ 'reason' => 'The NextToken value is not valid.',
488
+ 'class' => 'InvalidNextTokenException',
489
+ ),
490
+ array(
491
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
492
+ 'class' => 'ResourceContentionException',
493
+ ),
494
+ ),
495
+ ),
496
+ 'UpdateAutoScalingGroup' => array(
497
+ 'httpMethod' => 'POST',
498
+ 'uri' => '/',
499
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
500
+ 'responseClass' => 'EmptyOutput',
501
+ 'responseType' => 'model',
502
+ 'parameters' => array(
503
+ 'Action' => array(
504
+ 'static' => true,
505
+ 'location' => 'aws.query',
506
+ 'default' => 'UpdateAutoScalingGroup',
507
+ ),
508
+ 'Version' => array(
509
+ 'static' => true,
510
+ 'location' => 'aws.query',
511
+ 'default' => '2011-01-01',
512
+ ),
513
+ 'AutoScalingGroupName' => array(
514
+ 'required' => true,
515
+ 'type' => 'string',
516
+ 'location' => 'aws.query',
517
+ 'minLength' => 1,
518
+ ),
519
+ 'LaunchConfigurationName' => array(
520
+ 'type' => 'string',
521
+ 'location' => 'aws.query',
522
+ 'minLength' => 1,
523
+ ),
524
+ 'MinSize' => array(
525
+ 'type' => 'numeric',
526
+ 'location' => 'aws.query',
527
+ ),
528
+ 'MaxSize' => array(
529
+ 'type' => 'numeric',
530
+ 'location' => 'aws.query',
531
+ ),
532
+ 'DesiredCapacity' => array(
533
+ 'type' => 'numeric',
534
+ 'location' => 'aws.query',
535
+ ),
536
+ 'DefaultCooldown' => array(
537
+ 'type' => 'numeric',
538
+ 'location' => 'aws.query',
539
+ ),
540
+ 'AvailabilityZones' => array(
541
+ 'type' => 'array',
542
+ 'location' => 'aws.query',
543
+ 'sentAs' => 'AvailabilityZones.member',
544
+ 'minItems' => 1,
545
+ 'items' => array(
546
+ 'name' => 'XmlStringMaxLen255',
547
+ 'type' => 'string',
548
+ 'minLength' => 1,
549
+ ),
550
+ ),
551
+ 'HealthCheckType' => array(
552
+ 'type' => 'string',
553
+ 'location' => 'aws.query',
554
+ 'minLength' => 1,
555
+ ),
556
+ 'HealthCheckGracePeriod' => array(
557
+ 'type' => 'numeric',
558
+ 'location' => 'aws.query',
559
+ ),
560
+ 'PlacementGroup' => array(
561
+ 'type' => 'string',
562
+ 'location' => 'aws.query',
563
+ 'minLength' => 1,
564
+ ),
565
+ 'VPCZoneIdentifier' => array(
566
+ 'type' => 'string',
567
+ 'location' => 'aws.query',
568
+ 'minLength' => 1,
569
+ ),
570
+ 'TerminationPolicies' => array(
571
+ 'type' => 'array',
572
+ 'location' => 'aws.query',
573
+ 'sentAs' => 'TerminationPolicies.member',
574
+ 'items' => array(
575
+ 'name' => 'XmlStringMaxLen1600',
576
+ 'type' => 'string',
577
+ 'minLength' => 1,
578
+ ),
579
+ ),
580
+ 'NewInstancesProtectedFromScaleIn' => array(
581
+ 'type' => 'boolean',
582
+ 'format' => 'boolean-string',
583
+ 'location' => 'aws.query',
584
+ ),
585
+ ),
586
+ 'errorResponses' => array(
587
+ array(
588
+ 'reason' => 'The Auto Scaling group can\'t be deleted because there are scaling activities in progress.',
589
+ 'class' => 'ScalingActivityInProgressException',
590
+ ),
591
+ array(
592
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
593
+ 'class' => 'ResourceContentionException',
594
+ ),
595
+ ),
596
+ ),
597
+ 'DescribeAutoScalingInstances' => array(
598
+ 'httpMethod' => 'POST',
599
+ 'uri' => '/',
600
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
601
+ 'responseClass' => 'AutoScalingInstancesType',
602
+ 'responseType' => 'model',
603
+ 'parameters' => array(
604
+ 'Action' => array(
605
+ 'static' => true,
606
+ 'location' => 'aws.query',
607
+ 'default' => 'DescribeAutoScalingInstances',
608
+ ),
609
+ 'Version' => array(
610
+ 'static' => true,
611
+ 'location' => 'aws.query',
612
+ 'default' => '2011-01-01',
613
+ ),
614
+ 'InstanceIds' => array(
615
+ 'type' => 'array',
616
+ 'location' => 'aws.query',
617
+ 'sentAs' => 'InstanceIds.member',
618
+ 'items' => array(
619
+ 'name' => 'XmlStringMaxLen19',
620
+ 'type' => 'string',
621
+ 'minLength' => 1,
622
+ ),
623
+ ),
624
+ 'MaxRecords' => array(
625
+ 'type' => 'numeric',
626
+ 'location' => 'aws.query',
627
+ ),
628
+ 'NextToken' => array(
629
+ 'type' => 'string',
630
+ 'location' => 'aws.query',
631
+ ),
632
+ ),
633
+ 'errorResponses' => array(
634
+ array(
635
+ 'reason' => 'The NextToken value is not valid.',
636
+ 'class' => 'InvalidNextTokenException',
637
+ ),
638
+ array(
639
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
640
+ 'class' => 'ResourceContentionException',
641
+ ),
642
+ ),
643
+ ),
644
+ 'DescribeScalingProcessTypes' => array(
645
+ 'httpMethod' => 'POST',
646
+ 'uri' => '/',
647
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
648
+ 'responseClass' => 'ProcessesType',
649
+ 'responseType' => 'model',
650
+ 'parameters' => array(
651
+ 'Action' => array(
652
+ 'static' => true,
653
+ 'location' => 'aws.query',
654
+ 'default' => 'DescribeScalingProcessTypes',
655
+ ),
656
+ 'Version' => array(
657
+ 'static' => true,
658
+ 'location' => 'aws.query',
659
+ 'default' => '2011-01-01',
660
+ ),
661
+ ),
662
+ 'errorResponses' => array(
663
+ array(
664
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
665
+ 'class' => 'ResourceContentionException',
666
+ ),
667
+ ),
668
+ ),
669
+ 'SuspendProcesses' => array(
670
+ 'httpMethod' => 'POST',
671
+ 'uri' => '/',
672
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
673
+ 'responseClass' => 'EmptyOutput',
674
+ 'responseType' => 'model',
675
+ 'parameters' => array(
676
+ 'Action' => array(
677
+ 'static' => true,
678
+ 'location' => 'aws.query',
679
+ 'default' => 'SuspendProcesses',
680
+ ),
681
+ 'Version' => array(
682
+ 'static' => true,
683
+ 'location' => 'aws.query',
684
+ 'default' => '2011-01-01',
685
+ ),
686
+ 'AutoScalingGroupName' => array(
687
+ 'required' => true,
688
+ 'type' => 'string',
689
+ 'location' => 'aws.query',
690
+ 'minLength' => 1,
691
+ ),
692
+ 'ScalingProcesses' => array(
693
+ 'type' => 'array',
694
+ 'location' => 'aws.query',
695
+ 'sentAs' => 'ScalingProcesses.member',
696
+ 'items' => array(
697
+ 'name' => 'XmlStringMaxLen255',
698
+ 'type' => 'string',
699
+ 'minLength' => 1,
700
+ ),
701
+ ),
702
+ ),
703
+ 'errorResponses' => array(
704
+ array(
705
+ 'reason' => 'The Auto Scaling group or launch configuration can\'t be deleted because it is in use.',
706
+ 'class' => 'ResourceInUseException',
707
+ ),
708
+ array(
709
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
710
+ 'class' => 'ResourceContentionException',
711
+ ),
712
+ ),
713
+ ),
714
+ 'ResumeProcesses' => array(
715
+ 'httpMethod' => 'POST',
716
+ 'uri' => '/',
717
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
718
+ 'responseClass' => 'EmptyOutput',
719
+ 'responseType' => 'model',
720
+ 'parameters' => array(
721
+ 'Action' => array(
722
+ 'static' => true,
723
+ 'location' => 'aws.query',
724
+ 'default' => 'ResumeProcesses',
725
+ ),
726
+ 'Version' => array(
727
+ 'static' => true,
728
+ 'location' => 'aws.query',
729
+ 'default' => '2011-01-01',
730
+ ),
731
+ 'AutoScalingGroupName' => array(
732
+ 'required' => true,
733
+ 'type' => 'string',
734
+ 'location' => 'aws.query',
735
+ 'minLength' => 1,
736
+ ),
737
+ 'ScalingProcesses' => array(
738
+ 'type' => 'array',
739
+ 'location' => 'aws.query',
740
+ 'sentAs' => 'ScalingProcesses.member',
741
+ 'items' => array(
742
+ 'name' => 'XmlStringMaxLen255',
743
+ 'type' => 'string',
744
+ 'minLength' => 1,
745
+ ),
746
+ ),
747
+ ),
748
+ 'errorResponses' => array(
749
+ array(
750
+ 'reason' => 'The Auto Scaling group or launch configuration can\'t be deleted because it is in use.',
751
+ 'class' => 'ResourceInUseException',
752
+ ),
753
+ array(
754
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
755
+ 'class' => 'ResourceContentionException',
756
+ ),
757
+ ),
758
+ ),
759
+ 'SetDesiredCapacity' => array(
760
+ 'httpMethod' => 'POST',
761
+ 'uri' => '/',
762
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
763
+ 'responseClass' => 'EmptyOutput',
764
+ 'responseType' => 'model',
765
+ 'parameters' => array(
766
+ 'Action' => array(
767
+ 'static' => true,
768
+ 'location' => 'aws.query',
769
+ 'default' => 'SetDesiredCapacity',
770
+ ),
771
+ 'Version' => array(
772
+ 'static' => true,
773
+ 'location' => 'aws.query',
774
+ 'default' => '2011-01-01',
775
+ ),
776
+ 'AutoScalingGroupName' => array(
777
+ 'required' => true,
778
+ 'type' => 'string',
779
+ 'location' => 'aws.query',
780
+ 'minLength' => 1,
781
+ ),
782
+ 'DesiredCapacity' => array(
783
+ 'required' => true,
784
+ 'type' => 'numeric',
785
+ 'location' => 'aws.query',
786
+ ),
787
+ 'HonorCooldown' => array(
788
+ 'type' => 'boolean',
789
+ 'format' => 'boolean-string',
790
+ 'location' => 'aws.query',
791
+ ),
792
+ ),
793
+ 'errorResponses' => array(
794
+ array(
795
+ 'reason' => 'The Auto Scaling group can\'t be deleted because there are scaling activities in progress.',
796
+ 'class' => 'ScalingActivityInProgressException',
797
+ ),
798
+ array(
799
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
800
+ 'class' => 'ResourceContentionException',
801
+ ),
802
+ ),
803
+ ),
804
+ 'SetInstanceHealth' => array(
805
+ 'httpMethod' => 'POST',
806
+ 'uri' => '/',
807
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
808
+ 'responseClass' => 'EmptyOutput',
809
+ 'responseType' => 'model',
810
+ 'parameters' => array(
811
+ 'Action' => array(
812
+ 'static' => true,
813
+ 'location' => 'aws.query',
814
+ 'default' => 'SetInstanceHealth',
815
+ ),
816
+ 'Version' => array(
817
+ 'static' => true,
818
+ 'location' => 'aws.query',
819
+ 'default' => '2011-01-01',
820
+ ),
821
+ 'InstanceId' => array(
822
+ 'required' => true,
823
+ 'type' => 'string',
824
+ 'location' => 'aws.query',
825
+ 'minLength' => 1,
826
+ ),
827
+ 'HealthStatus' => array(
828
+ 'required' => true,
829
+ 'type' => 'string',
830
+ 'location' => 'aws.query',
831
+ 'minLength' => 1,
832
+ ),
833
+ 'ShouldRespectGracePeriod' => array(
834
+ 'type' => 'boolean',
835
+ 'format' => 'boolean-string',
836
+ 'location' => 'aws.query',
837
+ ),
838
+ ),
839
+ 'errorResponses' => array(
840
+ array(
841
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
842
+ 'class' => 'ResourceContentionException',
843
+ ),
844
+ ),
845
+ ),
846
+ 'AttachLoadBalancers' => array(
847
+ 'httpMethod' => 'POST',
848
+ 'uri' => '/',
849
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
850
+ 'responseClass' => 'EmptyOutput',
851
+ 'responseType' => 'model',
852
+ 'parameters' => array(
853
+ 'Action' => array(
854
+ 'static' => true,
855
+ 'location' => 'aws.query',
856
+ 'default' => 'AttachLoadBalancers',
857
+ ),
858
+ 'Version' => array(
859
+ 'static' => true,
860
+ 'location' => 'aws.query',
861
+ 'default' => '2011-01-01',
862
+ ),
863
+ 'AutoScalingGroupName' => array(
864
+ 'type' => 'string',
865
+ 'location' => 'aws.query',
866
+ 'minLength' => 1,
867
+ ),
868
+ 'LoadBalancerNames' => array(
869
+ 'type' => 'array',
870
+ 'location' => 'aws.query',
871
+ 'sentAs' => 'LoadBalancerNames.member',
872
+ 'items' => array(
873
+ 'name' => 'XmlStringMaxLen255',
874
+ 'type' => 'string',
875
+ 'minLength' => 1,
876
+ ),
877
+ ),
878
+ ),
879
+ 'errorResponses' => array(
880
+ array(
881
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
882
+ 'class' => 'ResourceContentionException',
883
+ ),
884
+ ),
885
+ ),
886
+ 'DetachLoadBalancers' => array(
887
+ 'httpMethod' => 'POST',
888
+ 'uri' => '/',
889
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
890
+ 'responseClass' => 'EmptyOutput',
891
+ 'responseType' => 'model',
892
+ 'parameters' => array(
893
+ 'Action' => array(
894
+ 'static' => true,
895
+ 'location' => 'aws.query',
896
+ 'default' => 'DetachLoadBalancers',
897
+ ),
898
+ 'Version' => array(
899
+ 'static' => true,
900
+ 'location' => 'aws.query',
901
+ 'default' => '2011-01-01',
902
+ ),
903
+ 'AutoScalingGroupName' => array(
904
+ 'type' => 'string',
905
+ 'location' => 'aws.query',
906
+ 'minLength' => 1,
907
+ ),
908
+ 'LoadBalancerNames' => array(
909
+ 'type' => 'array',
910
+ 'location' => 'aws.query',
911
+ 'sentAs' => 'LoadBalancerNames.member',
912
+ 'items' => array(
913
+ 'name' => 'XmlStringMaxLen255',
914
+ 'type' => 'string',
915
+ 'minLength' => 1,
916
+ ),
917
+ ),
918
+ ),
919
+ 'errorResponses' => array(
920
+ array(
921
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
922
+ 'class' => 'ResourceContentionException',
923
+ ),
924
+ ),
925
+ ),
926
+ 'PutScheduledUpdateGroupAction' => array(
927
+ 'httpMethod' => 'POST',
928
+ 'uri' => '/',
929
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
930
+ 'responseClass' => 'EmptyOutput',
931
+ 'responseType' => 'model',
932
+ 'parameters' => array(
933
+ 'Action' => array(
934
+ 'static' => true,
935
+ 'location' => 'aws.query',
936
+ 'default' => 'PutScheduledUpdateGroupAction',
937
+ ),
938
+ 'Version' => array(
939
+ 'static' => true,
940
+ 'location' => 'aws.query',
941
+ 'default' => '2011-01-01',
942
+ ),
943
+ 'AutoScalingGroupName' => array(
944
+ 'required' => true,
945
+ 'type' => 'string',
946
+ 'location' => 'aws.query',
947
+ 'minLength' => 1,
948
+ ),
949
+ 'ScheduledActionName' => array(
950
+ 'required' => true,
951
+ 'type' => 'string',
952
+ 'location' => 'aws.query',
953
+ 'minLength' => 1,
954
+ ),
955
+ 'Time' => array(
956
+ 'type' => array(
957
+ 'object',
958
+ 'string',
959
+ 'integer',
960
+ ),
961
+ 'format' => 'date-time',
962
+ 'location' => 'aws.query',
963
+ ),
964
+ 'StartTime' => array(
965
+ 'type' => array(
966
+ 'object',
967
+ 'string',
968
+ 'integer',
969
+ ),
970
+ 'format' => 'date-time',
971
+ 'location' => 'aws.query',
972
+ ),
973
+ 'EndTime' => array(
974
+ 'type' => array(
975
+ 'object',
976
+ 'string',
977
+ 'integer',
978
+ ),
979
+ 'format' => 'date-time',
980
+ 'location' => 'aws.query',
981
+ ),
982
+ 'Recurrence' => array(
983
+ 'type' => 'string',
984
+ 'location' => 'aws.query',
985
+ 'minLength' => 1,
986
+ ),
987
+ 'MinSize' => array(
988
+ 'type' => 'numeric',
989
+ 'location' => 'aws.query',
990
+ ),
991
+ 'MaxSize' => array(
992
+ 'type' => 'numeric',
993
+ 'location' => 'aws.query',
994
+ ),
995
+ 'DesiredCapacity' => array(
996
+ 'type' => 'numeric',
997
+ 'location' => 'aws.query',
998
+ ),
999
+ ),
1000
+ 'errorResponses' => array(
1001
+ array(
1002
+ 'reason' => 'You already have an Auto Scaling group or launch configuration with this name.',
1003
+ 'class' => 'AlreadyExistsException',
1004
+ ),
1005
+ array(
1006
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
1007
+ 'class' => 'LimitExceededException',
1008
+ ),
1009
+ array(
1010
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1011
+ 'class' => 'ResourceContentionException',
1012
+ ),
1013
+ ),
1014
+ ),
1015
+ 'DescribeScheduledActions' => array(
1016
+ 'httpMethod' => 'POST',
1017
+ 'uri' => '/',
1018
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1019
+ 'responseClass' => 'ScheduledActionsType',
1020
+ 'responseType' => 'model',
1021
+ 'parameters' => array(
1022
+ 'Action' => array(
1023
+ 'static' => true,
1024
+ 'location' => 'aws.query',
1025
+ 'default' => 'DescribeScheduledActions',
1026
+ ),
1027
+ 'Version' => array(
1028
+ 'static' => true,
1029
+ 'location' => 'aws.query',
1030
+ 'default' => '2011-01-01',
1031
+ ),
1032
+ 'AutoScalingGroupName' => array(
1033
+ 'type' => 'string',
1034
+ 'location' => 'aws.query',
1035
+ 'minLength' => 1,
1036
+ ),
1037
+ 'ScheduledActionNames' => array(
1038
+ 'type' => 'array',
1039
+ 'location' => 'aws.query',
1040
+ 'sentAs' => 'ScheduledActionNames.member',
1041
+ 'items' => array(
1042
+ 'name' => 'ResourceName',
1043
+ 'type' => 'string',
1044
+ 'minLength' => 1,
1045
+ ),
1046
+ ),
1047
+ 'StartTime' => array(
1048
+ 'type' => array(
1049
+ 'object',
1050
+ 'string',
1051
+ 'integer',
1052
+ ),
1053
+ 'format' => 'date-time',
1054
+ 'location' => 'aws.query',
1055
+ ),
1056
+ 'EndTime' => array(
1057
+ 'type' => array(
1058
+ 'object',
1059
+ 'string',
1060
+ 'integer',
1061
+ ),
1062
+ 'format' => 'date-time',
1063
+ 'location' => 'aws.query',
1064
+ ),
1065
+ 'NextToken' => array(
1066
+ 'type' => 'string',
1067
+ 'location' => 'aws.query',
1068
+ ),
1069
+ 'MaxRecords' => array(
1070
+ 'type' => 'numeric',
1071
+ 'location' => 'aws.query',
1072
+ ),
1073
+ ),
1074
+ 'errorResponses' => array(
1075
+ array(
1076
+ 'reason' => 'The NextToken value is not valid.',
1077
+ 'class' => 'InvalidNextTokenException',
1078
+ ),
1079
+ array(
1080
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1081
+ 'class' => 'ResourceContentionException',
1082
+ ),
1083
+ ),
1084
+ ),
1085
+ 'DeleteScheduledAction' => array(
1086
+ 'httpMethod' => 'POST',
1087
+ 'uri' => '/',
1088
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1089
+ 'responseClass' => 'EmptyOutput',
1090
+ 'responseType' => 'model',
1091
+ 'parameters' => array(
1092
+ 'Action' => array(
1093
+ 'static' => true,
1094
+ 'location' => 'aws.query',
1095
+ 'default' => 'DeleteScheduledAction',
1096
+ ),
1097
+ 'Version' => array(
1098
+ 'static' => true,
1099
+ 'location' => 'aws.query',
1100
+ 'default' => '2011-01-01',
1101
+ ),
1102
+ 'AutoScalingGroupName' => array(
1103
+ 'type' => 'string',
1104
+ 'location' => 'aws.query',
1105
+ 'minLength' => 1,
1106
+ ),
1107
+ 'ScheduledActionName' => array(
1108
+ 'required' => true,
1109
+ 'type' => 'string',
1110
+ 'location' => 'aws.query',
1111
+ 'minLength' => 1,
1112
+ ),
1113
+ ),
1114
+ 'errorResponses' => array(
1115
+ array(
1116
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1117
+ 'class' => 'ResourceContentionException',
1118
+ ),
1119
+ ),
1120
+ ),
1121
+ 'DescribeAdjustmentTypes' => array(
1122
+ 'httpMethod' => 'POST',
1123
+ 'uri' => '/',
1124
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1125
+ 'responseClass' => 'DescribeAdjustmentTypesAnswer',
1126
+ 'responseType' => 'model',
1127
+ 'parameters' => array(
1128
+ 'Action' => array(
1129
+ 'static' => true,
1130
+ 'location' => 'aws.query',
1131
+ 'default' => 'DescribeAdjustmentTypes',
1132
+ ),
1133
+ 'Version' => array(
1134
+ 'static' => true,
1135
+ 'location' => 'aws.query',
1136
+ 'default' => '2011-01-01',
1137
+ ),
1138
+ ),
1139
+ 'errorResponses' => array(
1140
+ array(
1141
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1142
+ 'class' => 'ResourceContentionException',
1143
+ ),
1144
+ ),
1145
+ ),
1146
+ 'PutScalingPolicy' => array(
1147
+ 'httpMethod' => 'POST',
1148
+ 'uri' => '/',
1149
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1150
+ 'responseClass' => 'PolicyARNType',
1151
+ 'responseType' => 'model',
1152
+ 'parameters' => array(
1153
+ 'Action' => array(
1154
+ 'static' => true,
1155
+ 'location' => 'aws.query',
1156
+ 'default' => 'PutScalingPolicy',
1157
+ ),
1158
+ 'Version' => array(
1159
+ 'static' => true,
1160
+ 'location' => 'aws.query',
1161
+ 'default' => '2011-01-01',
1162
+ ),
1163
+ 'AutoScalingGroupName' => array(
1164
+ 'required' => true,
1165
+ 'type' => 'string',
1166
+ 'location' => 'aws.query',
1167
+ 'minLength' => 1,
1168
+ ),
1169
+ 'PolicyName' => array(
1170
+ 'required' => true,
1171
+ 'type' => 'string',
1172
+ 'location' => 'aws.query',
1173
+ 'minLength' => 1,
1174
+ ),
1175
+ 'PolicyType' => array(
1176
+ 'type' => 'string',
1177
+ 'location' => 'aws.query',
1178
+ 'minLength' => 1,
1179
+ ),
1180
+ 'AdjustmentType' => array(
1181
+ 'required' => true,
1182
+ 'type' => 'string',
1183
+ 'location' => 'aws.query',
1184
+ 'minLength' => 1,
1185
+ ),
1186
+ 'MinAdjustmentStep' => array(
1187
+ 'type' => 'numeric',
1188
+ 'location' => 'aws.query',
1189
+ ),
1190
+ 'MinAdjustmentMagnitude' => array(
1191
+ 'type' => 'numeric',
1192
+ 'location' => 'aws.query',
1193
+ ),
1194
+ 'ScalingAdjustment' => array(
1195
+ 'type' => 'numeric',
1196
+ 'location' => 'aws.query',
1197
+ ),
1198
+ 'Cooldown' => array(
1199
+ 'type' => 'numeric',
1200
+ 'location' => 'aws.query',
1201
+ ),
1202
+ 'MetricAggregationType' => array(
1203
+ 'type' => 'string',
1204
+ 'location' => 'aws.query',
1205
+ 'minLength' => 1,
1206
+ ),
1207
+ 'StepAdjustments' => array(
1208
+ 'type' => 'array',
1209
+ 'location' => 'aws.query',
1210
+ 'sentAs' => 'StepAdjustments.member',
1211
+ 'items' => array(
1212
+ 'name' => 'StepAdjustment',
1213
+ 'type' => 'object',
1214
+ 'properties' => array(
1215
+ 'MetricIntervalLowerBound' => array(
1216
+ 'type' => 'numeric',
1217
+ ),
1218
+ 'MetricIntervalUpperBound' => array(
1219
+ 'type' => 'numeric',
1220
+ ),
1221
+ 'ScalingAdjustment' => array(
1222
+ 'required' => true,
1223
+ 'type' => 'numeric',
1224
+ ),
1225
+ ),
1226
+ ),
1227
+ ),
1228
+ 'EstimatedInstanceWarmup' => array(
1229
+ 'type' => 'numeric',
1230
+ 'location' => 'aws.query',
1231
+ ),
1232
+ ),
1233
+ 'errorResponses' => array(
1234
+ array(
1235
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
1236
+ 'class' => 'LimitExceededException',
1237
+ ),
1238
+ array(
1239
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1240
+ 'class' => 'ResourceContentionException',
1241
+ ),
1242
+ ),
1243
+ ),
1244
+ 'DescribePolicies' => array(
1245
+ 'httpMethod' => 'POST',
1246
+ 'uri' => '/',
1247
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1248
+ 'responseClass' => 'PoliciesType',
1249
+ 'responseType' => 'model',
1250
+ 'parameters' => array(
1251
+ 'Action' => array(
1252
+ 'static' => true,
1253
+ 'location' => 'aws.query',
1254
+ 'default' => 'DescribePolicies',
1255
+ ),
1256
+ 'Version' => array(
1257
+ 'static' => true,
1258
+ 'location' => 'aws.query',
1259
+ 'default' => '2011-01-01',
1260
+ ),
1261
+ 'AutoScalingGroupName' => array(
1262
+ 'type' => 'string',
1263
+ 'location' => 'aws.query',
1264
+ 'minLength' => 1,
1265
+ ),
1266
+ 'PolicyNames' => array(
1267
+ 'type' => 'array',
1268
+ 'location' => 'aws.query',
1269
+ 'sentAs' => 'PolicyNames.member',
1270
+ 'items' => array(
1271
+ 'name' => 'ResourceName',
1272
+ 'type' => 'string',
1273
+ 'minLength' => 1,
1274
+ ),
1275
+ ),
1276
+ 'PolicyTypes' => array(
1277
+ 'type' => 'array',
1278
+ 'location' => 'aws.query',
1279
+ 'sentAs' => 'PolicyTypes.member',
1280
+ 'items' => array(
1281
+ 'name' => 'XmlStringMaxLen64',
1282
+ 'type' => 'string',
1283
+ 'minLength' => 1,
1284
+ ),
1285
+ ),
1286
+ 'NextToken' => array(
1287
+ 'type' => 'string',
1288
+ 'location' => 'aws.query',
1289
+ ),
1290
+ 'MaxRecords' => array(
1291
+ 'type' => 'numeric',
1292
+ 'location' => 'aws.query',
1293
+ ),
1294
+ ),
1295
+ 'errorResponses' => array(
1296
+ array(
1297
+ 'reason' => 'The NextToken value is not valid.',
1298
+ 'class' => 'InvalidNextTokenException',
1299
+ ),
1300
+ array(
1301
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1302
+ 'class' => 'ResourceContentionException',
1303
+ ),
1304
+ ),
1305
+ ),
1306
+ 'DeletePolicy' => array(
1307
+ 'httpMethod' => 'POST',
1308
+ 'uri' => '/',
1309
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1310
+ 'responseClass' => 'EmptyOutput',
1311
+ 'responseType' => 'model',
1312
+ 'parameters' => array(
1313
+ 'Action' => array(
1314
+ 'static' => true,
1315
+ 'location' => 'aws.query',
1316
+ 'default' => 'DeletePolicy',
1317
+ ),
1318
+ 'Version' => array(
1319
+ 'static' => true,
1320
+ 'location' => 'aws.query',
1321
+ 'default' => '2011-01-01',
1322
+ ),
1323
+ 'AutoScalingGroupName' => array(
1324
+ 'type' => 'string',
1325
+ 'location' => 'aws.query',
1326
+ 'minLength' => 1,
1327
+ ),
1328
+ 'PolicyName' => array(
1329
+ 'required' => true,
1330
+ 'type' => 'string',
1331
+ 'location' => 'aws.query',
1332
+ 'minLength' => 1,
1333
+ ),
1334
+ ),
1335
+ 'errorResponses' => array(
1336
+ array(
1337
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1338
+ 'class' => 'ResourceContentionException',
1339
+ ),
1340
+ ),
1341
+ ),
1342
+ 'ExecutePolicy' => array(
1343
+ 'httpMethod' => 'POST',
1344
+ 'uri' => '/',
1345
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1346
+ 'responseClass' => 'EmptyOutput',
1347
+ 'responseType' => 'model',
1348
+ 'parameters' => array(
1349
+ 'Action' => array(
1350
+ 'static' => true,
1351
+ 'location' => 'aws.query',
1352
+ 'default' => 'ExecutePolicy',
1353
+ ),
1354
+ 'Version' => array(
1355
+ 'static' => true,
1356
+ 'location' => 'aws.query',
1357
+ 'default' => '2011-01-01',
1358
+ ),
1359
+ 'AutoScalingGroupName' => array(
1360
+ 'type' => 'string',
1361
+ 'location' => 'aws.query',
1362
+ 'minLength' => 1,
1363
+ ),
1364
+ 'PolicyName' => array(
1365
+ 'required' => true,
1366
+ 'type' => 'string',
1367
+ 'location' => 'aws.query',
1368
+ 'minLength' => 1,
1369
+ ),
1370
+ 'HonorCooldown' => array(
1371
+ 'type' => 'boolean',
1372
+ 'format' => 'boolean-string',
1373
+ 'location' => 'aws.query',
1374
+ ),
1375
+ 'MetricValue' => array(
1376
+ 'type' => 'numeric',
1377
+ 'location' => 'aws.query',
1378
+ ),
1379
+ 'BreachThreshold' => array(
1380
+ 'type' => 'numeric',
1381
+ 'location' => 'aws.query',
1382
+ ),
1383
+ ),
1384
+ 'errorResponses' => array(
1385
+ array(
1386
+ 'reason' => 'The Auto Scaling group can\'t be deleted because there are scaling activities in progress.',
1387
+ 'class' => 'ScalingActivityInProgressException',
1388
+ ),
1389
+ array(
1390
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1391
+ 'class' => 'ResourceContentionException',
1392
+ ),
1393
+ ),
1394
+ ),
1395
+ 'DescribeMetricCollectionTypes' => array(
1396
+ 'httpMethod' => 'POST',
1397
+ 'uri' => '/',
1398
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1399
+ 'responseClass' => 'DescribeMetricCollectionTypesAnswer',
1400
+ 'responseType' => 'model',
1401
+ 'parameters' => array(
1402
+ 'Action' => array(
1403
+ 'static' => true,
1404
+ 'location' => 'aws.query',
1405
+ 'default' => 'DescribeMetricCollectionTypes',
1406
+ ),
1407
+ 'Version' => array(
1408
+ 'static' => true,
1409
+ 'location' => 'aws.query',
1410
+ 'default' => '2011-01-01',
1411
+ ),
1412
+ ),
1413
+ 'errorResponses' => array(
1414
+ array(
1415
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1416
+ 'class' => 'ResourceContentionException',
1417
+ ),
1418
+ ),
1419
+ ),
1420
+ 'EnableMetricsCollection' => array(
1421
+ 'httpMethod' => 'POST',
1422
+ 'uri' => '/',
1423
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1424
+ 'responseClass' => 'EmptyOutput',
1425
+ 'responseType' => 'model',
1426
+ 'parameters' => array(
1427
+ 'Action' => array(
1428
+ 'static' => true,
1429
+ 'location' => 'aws.query',
1430
+ 'default' => 'EnableMetricsCollection',
1431
+ ),
1432
+ 'Version' => array(
1433
+ 'static' => true,
1434
+ 'location' => 'aws.query',
1435
+ 'default' => '2011-01-01',
1436
+ ),
1437
+ 'AutoScalingGroupName' => array(
1438
+ 'required' => true,
1439
+ 'type' => 'string',
1440
+ 'location' => 'aws.query',
1441
+ 'minLength' => 1,
1442
+ ),
1443
+ 'Metrics' => array(
1444
+ 'type' => 'array',
1445
+ 'location' => 'aws.query',
1446
+ 'sentAs' => 'Metrics.member',
1447
+ 'items' => array(
1448
+ 'name' => 'XmlStringMaxLen255',
1449
+ 'type' => 'string',
1450
+ 'minLength' => 1,
1451
+ ),
1452
+ ),
1453
+ 'Granularity' => array(
1454
+ 'required' => true,
1455
+ 'type' => 'string',
1456
+ 'location' => 'aws.query',
1457
+ 'minLength' => 1,
1458
+ ),
1459
+ ),
1460
+ 'errorResponses' => array(
1461
+ array(
1462
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1463
+ 'class' => 'ResourceContentionException',
1464
+ ),
1465
+ ),
1466
+ ),
1467
+ 'DisableMetricsCollection' => array(
1468
+ 'httpMethod' => 'POST',
1469
+ 'uri' => '/',
1470
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1471
+ 'responseClass' => 'EmptyOutput',
1472
+ 'responseType' => 'model',
1473
+ 'parameters' => array(
1474
+ 'Action' => array(
1475
+ 'static' => true,
1476
+ 'location' => 'aws.query',
1477
+ 'default' => 'DisableMetricsCollection',
1478
+ ),
1479
+ 'Version' => array(
1480
+ 'static' => true,
1481
+ 'location' => 'aws.query',
1482
+ 'default' => '2011-01-01',
1483
+ ),
1484
+ 'AutoScalingGroupName' => array(
1485
+ 'required' => true,
1486
+ 'type' => 'string',
1487
+ 'location' => 'aws.query',
1488
+ 'minLength' => 1,
1489
+ ),
1490
+ 'Metrics' => array(
1491
+ 'type' => 'array',
1492
+ 'location' => 'aws.query',
1493
+ 'sentAs' => 'Metrics.member',
1494
+ 'items' => array(
1495
+ 'name' => 'XmlStringMaxLen255',
1496
+ 'type' => 'string',
1497
+ 'minLength' => 1,
1498
+ ),
1499
+ ),
1500
+ ),
1501
+ 'errorResponses' => array(
1502
+ array(
1503
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1504
+ 'class' => 'ResourceContentionException',
1505
+ ),
1506
+ ),
1507
+ ),
1508
+ 'CreateLaunchConfiguration' => array(
1509
+ 'httpMethod' => 'POST',
1510
+ 'uri' => '/',
1511
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1512
+ 'responseClass' => 'EmptyOutput',
1513
+ 'responseType' => 'model',
1514
+ 'parameters' => array(
1515
+ 'Action' => array(
1516
+ 'static' => true,
1517
+ 'location' => 'aws.query',
1518
+ 'default' => 'CreateLaunchConfiguration',
1519
+ ),
1520
+ 'Version' => array(
1521
+ 'static' => true,
1522
+ 'location' => 'aws.query',
1523
+ 'default' => '2011-01-01',
1524
+ ),
1525
+ 'LaunchConfigurationName' => array(
1526
+ 'required' => true,
1527
+ 'type' => 'string',
1528
+ 'location' => 'aws.query',
1529
+ 'minLength' => 1,
1530
+ ),
1531
+ 'ImageId' => array(
1532
+ 'type' => 'string',
1533
+ 'location' => 'aws.query',
1534
+ 'minLength' => 1,
1535
+ ),
1536
+ 'KeyName' => array(
1537
+ 'type' => 'string',
1538
+ 'location' => 'aws.query',
1539
+ 'minLength' => 1,
1540
+ ),
1541
+ 'SecurityGroups' => array(
1542
+ 'type' => 'array',
1543
+ 'location' => 'aws.query',
1544
+ 'sentAs' => 'SecurityGroups.member',
1545
+ 'items' => array(
1546
+ 'name' => 'XmlString',
1547
+ 'type' => 'string',
1548
+ ),
1549
+ ),
1550
+ 'ClassicLinkVPCId' => array(
1551
+ 'type' => 'string',
1552
+ 'location' => 'aws.query',
1553
+ 'minLength' => 1,
1554
+ ),
1555
+ 'ClassicLinkVPCSecurityGroups' => array(
1556
+ 'type' => 'array',
1557
+ 'location' => 'aws.query',
1558
+ 'sentAs' => 'ClassicLinkVPCSecurityGroups.member',
1559
+ 'items' => array(
1560
+ 'name' => 'XmlStringMaxLen255',
1561
+ 'type' => 'string',
1562
+ 'minLength' => 1,
1563
+ ),
1564
+ ),
1565
+ 'UserData' => array(
1566
+ 'type' => 'string',
1567
+ 'location' => 'aws.query',
1568
+ ),
1569
+ 'InstanceId' => array(
1570
+ 'type' => 'string',
1571
+ 'location' => 'aws.query',
1572
+ 'minLength' => 1,
1573
+ ),
1574
+ 'InstanceType' => array(
1575
+ 'type' => 'string',
1576
+ 'location' => 'aws.query',
1577
+ 'minLength' => 1,
1578
+ ),
1579
+ 'KernelId' => array(
1580
+ 'type' => 'string',
1581
+ 'location' => 'aws.query',
1582
+ 'minLength' => 1,
1583
+ ),
1584
+ 'RamdiskId' => array(
1585
+ 'type' => 'string',
1586
+ 'location' => 'aws.query',
1587
+ 'minLength' => 1,
1588
+ ),
1589
+ 'BlockDeviceMappings' => array(
1590
+ 'type' => 'array',
1591
+ 'location' => 'aws.query',
1592
+ 'sentAs' => 'BlockDeviceMappings.member',
1593
+ 'items' => array(
1594
+ 'name' => 'BlockDeviceMapping',
1595
+ 'type' => 'object',
1596
+ 'properties' => array(
1597
+ 'VirtualName' => array(
1598
+ 'type' => 'string',
1599
+ 'minLength' => 1,
1600
+ ),
1601
+ 'DeviceName' => array(
1602
+ 'required' => true,
1603
+ 'type' => 'string',
1604
+ 'minLength' => 1,
1605
+ ),
1606
+ 'Ebs' => array(
1607
+ 'type' => 'object',
1608
+ 'properties' => array(
1609
+ 'SnapshotId' => array(
1610
+ 'type' => 'string',
1611
+ 'minLength' => 1,
1612
+ ),
1613
+ 'VolumeSize' => array(
1614
+ 'type' => 'numeric',
1615
+ 'minimum' => 1,
1616
+ 'maximum' => 16384,
1617
+ ),
1618
+ 'VolumeType' => array(
1619
+ 'type' => 'string',
1620
+ 'minLength' => 1,
1621
+ ),
1622
+ 'DeleteOnTermination' => array(
1623
+ 'type' => 'boolean',
1624
+ 'format' => 'boolean-string',
1625
+ ),
1626
+ 'Iops' => array(
1627
+ 'type' => 'numeric',
1628
+ 'minimum' => 100,
1629
+ 'maximum' => 20000,
1630
+ ),
1631
+ 'Encrypted' => array(
1632
+ 'type' => 'boolean',
1633
+ 'format' => 'boolean-string',
1634
+ ),
1635
+ ),
1636
+ ),
1637
+ 'NoDevice' => array(
1638
+ 'type' => 'boolean',
1639
+ 'format' => 'boolean-string',
1640
+ ),
1641
+ ),
1642
+ ),
1643
+ ),
1644
+ 'InstanceMonitoring' => array(
1645
+ 'type' => 'object',
1646
+ 'location' => 'aws.query',
1647
+ 'properties' => array(
1648
+ 'Enabled' => array(
1649
+ 'type' => 'boolean',
1650
+ 'format' => 'boolean-string',
1651
+ ),
1652
+ ),
1653
+ ),
1654
+ 'SpotPrice' => array(
1655
+ 'type' => 'string',
1656
+ 'location' => 'aws.query',
1657
+ 'minLength' => 1,
1658
+ ),
1659
+ 'IamInstanceProfile' => array(
1660
+ 'type' => 'string',
1661
+ 'location' => 'aws.query',
1662
+ 'minLength' => 1,
1663
+ ),
1664
+ 'EbsOptimized' => array(
1665
+ 'type' => 'boolean',
1666
+ 'format' => 'boolean-string',
1667
+ 'location' => 'aws.query',
1668
+ ),
1669
+ 'AssociatePublicIpAddress' => array(
1670
+ 'type' => 'boolean',
1671
+ 'format' => 'boolean-string',
1672
+ 'location' => 'aws.query',
1673
+ ),
1674
+ 'PlacementTenancy' => array(
1675
+ 'type' => 'string',
1676
+ 'location' => 'aws.query',
1677
+ 'minLength' => 1,
1678
+ ),
1679
+ ),
1680
+ 'errorResponses' => array(
1681
+ array(
1682
+ 'reason' => 'You already have an Auto Scaling group or launch configuration with this name.',
1683
+ 'class' => 'AlreadyExistsException',
1684
+ ),
1685
+ array(
1686
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
1687
+ 'class' => 'LimitExceededException',
1688
+ ),
1689
+ array(
1690
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1691
+ 'class' => 'ResourceContentionException',
1692
+ ),
1693
+ ),
1694
+ ),
1695
+ 'DescribeLaunchConfigurations' => array(
1696
+ 'httpMethod' => 'POST',
1697
+ 'uri' => '/',
1698
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1699
+ 'responseClass' => 'LaunchConfigurationsType',
1700
+ 'responseType' => 'model',
1701
+ 'parameters' => array(
1702
+ 'Action' => array(
1703
+ 'static' => true,
1704
+ 'location' => 'aws.query',
1705
+ 'default' => 'DescribeLaunchConfigurations',
1706
+ ),
1707
+ 'Version' => array(
1708
+ 'static' => true,
1709
+ 'location' => 'aws.query',
1710
+ 'default' => '2011-01-01',
1711
+ ),
1712
+ 'LaunchConfigurationNames' => array(
1713
+ 'type' => 'array',
1714
+ 'location' => 'aws.query',
1715
+ 'sentAs' => 'LaunchConfigurationNames.member',
1716
+ 'items' => array(
1717
+ 'name' => 'ResourceName',
1718
+ 'type' => 'string',
1719
+ 'minLength' => 1,
1720
+ ),
1721
+ ),
1722
+ 'NextToken' => array(
1723
+ 'type' => 'string',
1724
+ 'location' => 'aws.query',
1725
+ ),
1726
+ 'MaxRecords' => array(
1727
+ 'type' => 'numeric',
1728
+ 'location' => 'aws.query',
1729
+ ),
1730
+ ),
1731
+ 'errorResponses' => array(
1732
+ array(
1733
+ 'reason' => 'The NextToken value is not valid.',
1734
+ 'class' => 'InvalidNextTokenException',
1735
+ ),
1736
+ array(
1737
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1738
+ 'class' => 'ResourceContentionException',
1739
+ ),
1740
+ ),
1741
+ ),
1742
+ 'DeleteLaunchConfiguration' => array(
1743
+ 'httpMethod' => 'POST',
1744
+ 'uri' => '/',
1745
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1746
+ 'responseClass' => 'EmptyOutput',
1747
+ 'responseType' => 'model',
1748
+ 'parameters' => array(
1749
+ 'Action' => array(
1750
+ 'static' => true,
1751
+ 'location' => 'aws.query',
1752
+ 'default' => 'DeleteLaunchConfiguration',
1753
+ ),
1754
+ 'Version' => array(
1755
+ 'static' => true,
1756
+ 'location' => 'aws.query',
1757
+ 'default' => '2011-01-01',
1758
+ ),
1759
+ 'LaunchConfigurationName' => array(
1760
+ 'required' => true,
1761
+ 'type' => 'string',
1762
+ 'location' => 'aws.query',
1763
+ 'minLength' => 1,
1764
+ ),
1765
+ ),
1766
+ 'errorResponses' => array(
1767
+ array(
1768
+ 'reason' => 'The Auto Scaling group or launch configuration can\'t be deleted because it is in use.',
1769
+ 'class' => 'ResourceInUseException',
1770
+ ),
1771
+ array(
1772
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1773
+ 'class' => 'ResourceContentionException',
1774
+ ),
1775
+ ),
1776
+ ),
1777
+ 'DescribeScalingActivities' => array(
1778
+ 'httpMethod' => 'POST',
1779
+ 'uri' => '/',
1780
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1781
+ 'responseClass' => 'ActivitiesType',
1782
+ 'responseType' => 'model',
1783
+ 'parameters' => array(
1784
+ 'Action' => array(
1785
+ 'static' => true,
1786
+ 'location' => 'aws.query',
1787
+ 'default' => 'DescribeScalingActivities',
1788
+ ),
1789
+ 'Version' => array(
1790
+ 'static' => true,
1791
+ 'location' => 'aws.query',
1792
+ 'default' => '2011-01-01',
1793
+ ),
1794
+ 'ActivityIds' => array(
1795
+ 'type' => 'array',
1796
+ 'location' => 'aws.query',
1797
+ 'sentAs' => 'ActivityIds.member',
1798
+ 'items' => array(
1799
+ 'name' => 'XmlString',
1800
+ 'type' => 'string',
1801
+ ),
1802
+ ),
1803
+ 'AutoScalingGroupName' => array(
1804
+ 'type' => 'string',
1805
+ 'location' => 'aws.query',
1806
+ 'minLength' => 1,
1807
+ ),
1808
+ 'MaxRecords' => array(
1809
+ 'type' => 'numeric',
1810
+ 'location' => 'aws.query',
1811
+ ),
1812
+ 'NextToken' => array(
1813
+ 'type' => 'string',
1814
+ 'location' => 'aws.query',
1815
+ ),
1816
+ ),
1817
+ 'errorResponses' => array(
1818
+ array(
1819
+ 'reason' => 'The NextToken value is not valid.',
1820
+ 'class' => 'InvalidNextTokenException',
1821
+ ),
1822
+ array(
1823
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1824
+ 'class' => 'ResourceContentionException',
1825
+ ),
1826
+ ),
1827
+ ),
1828
+ 'TerminateInstanceInAutoScalingGroup' => array(
1829
+ 'httpMethod' => 'POST',
1830
+ 'uri' => '/',
1831
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1832
+ 'responseClass' => 'ActivityType',
1833
+ 'responseType' => 'model',
1834
+ 'parameters' => array(
1835
+ 'Action' => array(
1836
+ 'static' => true,
1837
+ 'location' => 'aws.query',
1838
+ 'default' => 'TerminateInstanceInAutoScalingGroup',
1839
+ ),
1840
+ 'Version' => array(
1841
+ 'static' => true,
1842
+ 'location' => 'aws.query',
1843
+ 'default' => '2011-01-01',
1844
+ ),
1845
+ 'InstanceId' => array(
1846
+ 'required' => true,
1847
+ 'type' => 'string',
1848
+ 'location' => 'aws.query',
1849
+ 'minLength' => 1,
1850
+ ),
1851
+ 'ShouldDecrementDesiredCapacity' => array(
1852
+ 'required' => true,
1853
+ 'type' => 'boolean',
1854
+ 'format' => 'boolean-string',
1855
+ 'location' => 'aws.query',
1856
+ ),
1857
+ ),
1858
+ 'errorResponses' => array(
1859
+ array(
1860
+ 'reason' => 'The Auto Scaling group can\'t be deleted because there are scaling activities in progress.',
1861
+ 'class' => 'ScalingActivityInProgressException',
1862
+ ),
1863
+ array(
1864
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1865
+ 'class' => 'ResourceContentionException',
1866
+ ),
1867
+ ),
1868
+ ),
1869
+ 'SetInstanceProtection' => array(
1870
+ 'httpMethod' => 'POST',
1871
+ 'uri' => '/',
1872
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1873
+ 'responseClass' => 'EmptyOutput',
1874
+ 'responseType' => 'model',
1875
+ 'parameters' => array(
1876
+ 'Action' => array(
1877
+ 'static' => true,
1878
+ 'location' => 'aws.query',
1879
+ 'default' => 'SetInstanceProtection',
1880
+ ),
1881
+ 'Version' => array(
1882
+ 'static' => true,
1883
+ 'location' => 'aws.query',
1884
+ 'default' => '2011-01-01',
1885
+ ),
1886
+ 'InstanceIds' => array(
1887
+ 'required' => true,
1888
+ 'type' => 'array',
1889
+ 'location' => 'aws.query',
1890
+ 'sentAs' => 'InstanceIds.member',
1891
+ 'items' => array(
1892
+ 'name' => 'XmlStringMaxLen19',
1893
+ 'type' => 'string',
1894
+ 'minLength' => 1,
1895
+ ),
1896
+ ),
1897
+ 'AutoScalingGroupName' => array(
1898
+ 'required' => true,
1899
+ 'type' => 'string',
1900
+ 'location' => 'aws.query',
1901
+ 'minLength' => 1,
1902
+ ),
1903
+ 'ProtectedFromScaleIn' => array(
1904
+ 'required' => true,
1905
+ 'type' => 'boolean',
1906
+ 'format' => 'boolean-string',
1907
+ 'location' => 'aws.query',
1908
+ ),
1909
+ ),
1910
+ 'errorResponses' => array(
1911
+ array(
1912
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
1913
+ 'class' => 'LimitExceededException',
1914
+ ),
1915
+ array(
1916
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1917
+ 'class' => 'ResourceContentionException',
1918
+ ),
1919
+ ),
1920
+ ),
1921
+ 'PutNotificationConfiguration' => array(
1922
+ 'httpMethod' => 'POST',
1923
+ 'uri' => '/',
1924
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1925
+ 'responseClass' => 'EmptyOutput',
1926
+ 'responseType' => 'model',
1927
+ 'parameters' => array(
1928
+ 'Action' => array(
1929
+ 'static' => true,
1930
+ 'location' => 'aws.query',
1931
+ 'default' => 'PutNotificationConfiguration',
1932
+ ),
1933
+ 'Version' => array(
1934
+ 'static' => true,
1935
+ 'location' => 'aws.query',
1936
+ 'default' => '2011-01-01',
1937
+ ),
1938
+ 'AutoScalingGroupName' => array(
1939
+ 'required' => true,
1940
+ 'type' => 'string',
1941
+ 'location' => 'aws.query',
1942
+ 'minLength' => 1,
1943
+ ),
1944
+ 'TopicARN' => array(
1945
+ 'required' => true,
1946
+ 'type' => 'string',
1947
+ 'location' => 'aws.query',
1948
+ 'minLength' => 1,
1949
+ ),
1950
+ 'NotificationTypes' => array(
1951
+ 'required' => true,
1952
+ 'type' => 'array',
1953
+ 'location' => 'aws.query',
1954
+ 'sentAs' => 'NotificationTypes.member',
1955
+ 'items' => array(
1956
+ 'name' => 'XmlStringMaxLen255',
1957
+ 'type' => 'string',
1958
+ 'minLength' => 1,
1959
+ ),
1960
+ ),
1961
+ ),
1962
+ 'errorResponses' => array(
1963
+ array(
1964
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
1965
+ 'class' => 'LimitExceededException',
1966
+ ),
1967
+ array(
1968
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
1969
+ 'class' => 'ResourceContentionException',
1970
+ ),
1971
+ ),
1972
+ ),
1973
+ 'DeleteNotificationConfiguration' => array(
1974
+ 'httpMethod' => 'POST',
1975
+ 'uri' => '/',
1976
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
1977
+ 'responseClass' => 'EmptyOutput',
1978
+ 'responseType' => 'model',
1979
+ 'parameters' => array(
1980
+ 'Action' => array(
1981
+ 'static' => true,
1982
+ 'location' => 'aws.query',
1983
+ 'default' => 'DeleteNotificationConfiguration',
1984
+ ),
1985
+ 'Version' => array(
1986
+ 'static' => true,
1987
+ 'location' => 'aws.query',
1988
+ 'default' => '2011-01-01',
1989
+ ),
1990
+ 'AutoScalingGroupName' => array(
1991
+ 'required' => true,
1992
+ 'type' => 'string',
1993
+ 'location' => 'aws.query',
1994
+ 'minLength' => 1,
1995
+ ),
1996
+ 'TopicARN' => array(
1997
+ 'required' => true,
1998
+ 'type' => 'string',
1999
+ 'location' => 'aws.query',
2000
+ 'minLength' => 1,
2001
+ ),
2002
+ ),
2003
+ 'errorResponses' => array(
2004
+ array(
2005
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2006
+ 'class' => 'ResourceContentionException',
2007
+ ),
2008
+ ),
2009
+ ),
2010
+ 'DescribeNotificationConfigurations' => array(
2011
+ 'httpMethod' => 'POST',
2012
+ 'uri' => '/',
2013
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2014
+ 'responseClass' => 'DescribeNotificationConfigurationsAnswer',
2015
+ 'responseType' => 'model',
2016
+ 'parameters' => array(
2017
+ 'Action' => array(
2018
+ 'static' => true,
2019
+ 'location' => 'aws.query',
2020
+ 'default' => 'DescribeNotificationConfigurations',
2021
+ ),
2022
+ 'Version' => array(
2023
+ 'static' => true,
2024
+ 'location' => 'aws.query',
2025
+ 'default' => '2011-01-01',
2026
+ ),
2027
+ 'AutoScalingGroupNames' => array(
2028
+ 'type' => 'array',
2029
+ 'location' => 'aws.query',
2030
+ 'sentAs' => 'AutoScalingGroupNames.member',
2031
+ 'items' => array(
2032
+ 'name' => 'ResourceName',
2033
+ 'type' => 'string',
2034
+ 'minLength' => 1,
2035
+ ),
2036
+ ),
2037
+ 'NextToken' => array(
2038
+ 'type' => 'string',
2039
+ 'location' => 'aws.query',
2040
+ ),
2041
+ 'MaxRecords' => array(
2042
+ 'type' => 'numeric',
2043
+ 'location' => 'aws.query',
2044
+ ),
2045
+ ),
2046
+ 'errorResponses' => array(
2047
+ array(
2048
+ 'reason' => 'The NextToken value is not valid.',
2049
+ 'class' => 'InvalidNextTokenException',
2050
+ ),
2051
+ array(
2052
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2053
+ 'class' => 'ResourceContentionException',
2054
+ ),
2055
+ ),
2056
+ ),
2057
+ 'DescribeAutoScalingNotificationTypes' => array(
2058
+ 'httpMethod' => 'POST',
2059
+ 'uri' => '/',
2060
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2061
+ 'responseClass' => 'DescribeAutoScalingNotificationTypesAnswer',
2062
+ 'responseType' => 'model',
2063
+ 'parameters' => array(
2064
+ 'Action' => array(
2065
+ 'static' => true,
2066
+ 'location' => 'aws.query',
2067
+ 'default' => 'DescribeAutoScalingNotificationTypes',
2068
+ ),
2069
+ 'Version' => array(
2070
+ 'static' => true,
2071
+ 'location' => 'aws.query',
2072
+ 'default' => '2011-01-01',
2073
+ ),
2074
+ ),
2075
+ 'errorResponses' => array(
2076
+ array(
2077
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2078
+ 'class' => 'ResourceContentionException',
2079
+ ),
2080
+ ),
2081
+ ),
2082
+ 'CreateOrUpdateTags' => array(
2083
+ 'httpMethod' => 'POST',
2084
+ 'uri' => '/',
2085
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2086
+ 'responseClass' => 'EmptyOutput',
2087
+ 'responseType' => 'model',
2088
+ 'parameters' => array(
2089
+ 'Action' => array(
2090
+ 'static' => true,
2091
+ 'location' => 'aws.query',
2092
+ 'default' => 'CreateOrUpdateTags',
2093
+ ),
2094
+ 'Version' => array(
2095
+ 'static' => true,
2096
+ 'location' => 'aws.query',
2097
+ 'default' => '2011-01-01',
2098
+ ),
2099
+ 'Tags' => array(
2100
+ 'required' => true,
2101
+ 'type' => 'array',
2102
+ 'location' => 'aws.query',
2103
+ 'sentAs' => 'Tags.member',
2104
+ 'items' => array(
2105
+ 'name' => 'Tag',
2106
+ 'type' => 'object',
2107
+ 'properties' => array(
2108
+ 'ResourceId' => array(
2109
+ 'type' => 'string',
2110
+ ),
2111
+ 'ResourceType' => array(
2112
+ 'type' => 'string',
2113
+ ),
2114
+ 'Key' => array(
2115
+ 'required' => true,
2116
+ 'type' => 'string',
2117
+ 'minLength' => 1,
2118
+ ),
2119
+ 'Value' => array(
2120
+ 'type' => 'string',
2121
+ ),
2122
+ 'PropagateAtLaunch' => array(
2123
+ 'type' => 'boolean',
2124
+ 'format' => 'boolean-string',
2125
+ ),
2126
+ ),
2127
+ ),
2128
+ ),
2129
+ ),
2130
+ 'errorResponses' => array(
2131
+ array(
2132
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
2133
+ 'class' => 'LimitExceededException',
2134
+ ),
2135
+ array(
2136
+ 'reason' => 'You already have an Auto Scaling group or launch configuration with this name.',
2137
+ 'class' => 'AlreadyExistsException',
2138
+ ),
2139
+ array(
2140
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2141
+ 'class' => 'ResourceContentionException',
2142
+ ),
2143
+ ),
2144
+ ),
2145
+ 'DeleteTags' => array(
2146
+ 'httpMethod' => 'POST',
2147
+ 'uri' => '/',
2148
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2149
+ 'responseClass' => 'EmptyOutput',
2150
+ 'responseType' => 'model',
2151
+ 'parameters' => array(
2152
+ 'Action' => array(
2153
+ 'static' => true,
2154
+ 'location' => 'aws.query',
2155
+ 'default' => 'DeleteTags',
2156
+ ),
2157
+ 'Version' => array(
2158
+ 'static' => true,
2159
+ 'location' => 'aws.query',
2160
+ 'default' => '2011-01-01',
2161
+ ),
2162
+ 'Tags' => array(
2163
+ 'required' => true,
2164
+ 'type' => 'array',
2165
+ 'location' => 'aws.query',
2166
+ 'sentAs' => 'Tags.member',
2167
+ 'items' => array(
2168
+ 'name' => 'Tag',
2169
+ 'type' => 'object',
2170
+ 'properties' => array(
2171
+ 'ResourceId' => array(
2172
+ 'type' => 'string',
2173
+ ),
2174
+ 'ResourceType' => array(
2175
+ 'type' => 'string',
2176
+ ),
2177
+ 'Key' => array(
2178
+ 'required' => true,
2179
+ 'type' => 'string',
2180
+ 'minLength' => 1,
2181
+ ),
2182
+ 'Value' => array(
2183
+ 'type' => 'string',
2184
+ ),
2185
+ 'PropagateAtLaunch' => array(
2186
+ 'type' => 'boolean',
2187
+ 'format' => 'boolean-string',
2188
+ ),
2189
+ ),
2190
+ ),
2191
+ ),
2192
+ ),
2193
+ 'errorResponses' => array(
2194
+ array(
2195
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2196
+ 'class' => 'ResourceContentionException',
2197
+ ),
2198
+ ),
2199
+ ),
2200
+ 'DescribeTags' => array(
2201
+ 'httpMethod' => 'POST',
2202
+ 'uri' => '/',
2203
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2204
+ 'responseClass' => 'TagsType',
2205
+ 'responseType' => 'model',
2206
+ 'parameters' => array(
2207
+ 'Action' => array(
2208
+ 'static' => true,
2209
+ 'location' => 'aws.query',
2210
+ 'default' => 'DescribeTags',
2211
+ ),
2212
+ 'Version' => array(
2213
+ 'static' => true,
2214
+ 'location' => 'aws.query',
2215
+ 'default' => '2011-01-01',
2216
+ ),
2217
+ 'Filters' => array(
2218
+ 'type' => 'array',
2219
+ 'location' => 'aws.query',
2220
+ 'sentAs' => 'Filters.member',
2221
+ 'items' => array(
2222
+ 'name' => 'Filter',
2223
+ 'type' => 'object',
2224
+ 'properties' => array(
2225
+ 'Name' => array(
2226
+ 'type' => 'string',
2227
+ ),
2228
+ 'Values' => array(
2229
+ 'type' => 'array',
2230
+ 'sentAs' => 'Values.member',
2231
+ 'items' => array(
2232
+ 'name' => 'XmlString',
2233
+ 'type' => 'string',
2234
+ ),
2235
+ ),
2236
+ ),
2237
+ ),
2238
+ ),
2239
+ 'NextToken' => array(
2240
+ 'type' => 'string',
2241
+ 'location' => 'aws.query',
2242
+ ),
2243
+ 'MaxRecords' => array(
2244
+ 'type' => 'numeric',
2245
+ 'location' => 'aws.query',
2246
+ ),
2247
+ ),
2248
+ 'errorResponses' => array(
2249
+ array(
2250
+ 'reason' => 'The NextToken value is not valid.',
2251
+ 'class' => 'InvalidNextTokenException',
2252
+ ),
2253
+ array(
2254
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2255
+ 'class' => 'ResourceContentionException',
2256
+ ),
2257
+ ),
2258
+ ),
2259
+ 'DescribeTerminationPolicyTypes' => array(
2260
+ 'httpMethod' => 'POST',
2261
+ 'uri' => '/',
2262
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2263
+ 'responseClass' => 'DescribeTerminationPolicyTypesAnswer',
2264
+ 'responseType' => 'model',
2265
+ 'parameters' => array(
2266
+ 'Action' => array(
2267
+ 'static' => true,
2268
+ 'location' => 'aws.query',
2269
+ 'default' => 'DescribeTerminationPolicyTypes',
2270
+ ),
2271
+ 'Version' => array(
2272
+ 'static' => true,
2273
+ 'location' => 'aws.query',
2274
+ 'default' => '2011-01-01',
2275
+ ),
2276
+ ),
2277
+ 'errorResponses' => array(
2278
+ array(
2279
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2280
+ 'class' => 'ResourceContentionException',
2281
+ ),
2282
+ ),
2283
+ ),
2284
+ 'DescribeAccountLimits' => array(
2285
+ 'httpMethod' => 'POST',
2286
+ 'uri' => '/',
2287
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2288
+ 'responseClass' => 'DescribeAccountLimitsAnswer',
2289
+ 'responseType' => 'model',
2290
+ 'parameters' => array(
2291
+ 'Action' => array(
2292
+ 'static' => true,
2293
+ 'location' => 'aws.query',
2294
+ 'default' => 'DescribeAccountLimits',
2295
+ ),
2296
+ 'Version' => array(
2297
+ 'static' => true,
2298
+ 'location' => 'aws.query',
2299
+ 'default' => '2011-01-01',
2300
+ ),
2301
+ ),
2302
+ 'errorResponses' => array(
2303
+ array(
2304
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2305
+ 'class' => 'ResourceContentionException',
2306
+ ),
2307
+ ),
2308
+ ),
2309
+ 'PutLifecycleHook' => array(
2310
+ 'httpMethod' => 'POST',
2311
+ 'uri' => '/',
2312
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2313
+ 'responseClass' => 'EmptyOutput',
2314
+ 'responseType' => 'model',
2315
+ 'parameters' => array(
2316
+ 'Action' => array(
2317
+ 'static' => true,
2318
+ 'location' => 'aws.query',
2319
+ 'default' => 'PutLifecycleHook',
2320
+ ),
2321
+ 'Version' => array(
2322
+ 'static' => true,
2323
+ 'location' => 'aws.query',
2324
+ 'default' => '2011-01-01',
2325
+ ),
2326
+ 'LifecycleHookName' => array(
2327
+ 'required' => true,
2328
+ 'type' => 'string',
2329
+ 'location' => 'aws.query',
2330
+ 'minLength' => 1,
2331
+ ),
2332
+ 'AutoScalingGroupName' => array(
2333
+ 'required' => true,
2334
+ 'type' => 'string',
2335
+ 'location' => 'aws.query',
2336
+ 'minLength' => 1,
2337
+ ),
2338
+ 'LifecycleTransition' => array(
2339
+ 'type' => 'string',
2340
+ 'location' => 'aws.query',
2341
+ ),
2342
+ 'RoleARN' => array(
2343
+ 'type' => 'string',
2344
+ 'location' => 'aws.query',
2345
+ 'minLength' => 1,
2346
+ ),
2347
+ 'NotificationTargetARN' => array(
2348
+ 'type' => 'string',
2349
+ 'location' => 'aws.query',
2350
+ 'minLength' => 1,
2351
+ ),
2352
+ 'NotificationMetadata' => array(
2353
+ 'type' => 'string',
2354
+ 'location' => 'aws.query',
2355
+ 'minLength' => 1,
2356
+ ),
2357
+ 'HeartbeatTimeout' => array(
2358
+ 'type' => 'numeric',
2359
+ 'location' => 'aws.query',
2360
+ ),
2361
+ 'DefaultResult' => array(
2362
+ 'type' => 'string',
2363
+ 'location' => 'aws.query',
2364
+ ),
2365
+ ),
2366
+ 'errorResponses' => array(
2367
+ array(
2368
+ 'reason' => 'You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.',
2369
+ 'class' => 'LimitExceededException',
2370
+ ),
2371
+ array(
2372
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2373
+ 'class' => 'ResourceContentionException',
2374
+ ),
2375
+ ),
2376
+ ),
2377
+ 'DeleteLifecycleHook' => array(
2378
+ 'httpMethod' => 'POST',
2379
+ 'uri' => '/',
2380
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2381
+ 'responseClass' => 'EmptyOutput',
2382
+ 'responseType' => 'model',
2383
+ 'parameters' => array(
2384
+ 'Action' => array(
2385
+ 'static' => true,
2386
+ 'location' => 'aws.query',
2387
+ 'default' => 'DeleteLifecycleHook',
2388
+ ),
2389
+ 'Version' => array(
2390
+ 'static' => true,
2391
+ 'location' => 'aws.query',
2392
+ 'default' => '2011-01-01',
2393
+ ),
2394
+ 'LifecycleHookName' => array(
2395
+ 'required' => true,
2396
+ 'type' => 'string',
2397
+ 'location' => 'aws.query',
2398
+ 'minLength' => 1,
2399
+ ),
2400
+ 'AutoScalingGroupName' => array(
2401
+ 'required' => true,
2402
+ 'type' => 'string',
2403
+ 'location' => 'aws.query',
2404
+ 'minLength' => 1,
2405
+ ),
2406
+ ),
2407
+ 'errorResponses' => array(
2408
+ array(
2409
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2410
+ 'class' => 'ResourceContentionException',
2411
+ ),
2412
+ ),
2413
+ ),
2414
+ 'DescribeLifecycleHooks' => array(
2415
+ 'httpMethod' => 'POST',
2416
+ 'uri' => '/',
2417
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2418
+ 'responseClass' => 'DescribeLifecycleHooksAnswer',
2419
+ 'responseType' => 'model',
2420
+ 'parameters' => array(
2421
+ 'Action' => array(
2422
+ 'static' => true,
2423
+ 'location' => 'aws.query',
2424
+ 'default' => 'DescribeLifecycleHooks',
2425
+ ),
2426
+ 'Version' => array(
2427
+ 'static' => true,
2428
+ 'location' => 'aws.query',
2429
+ 'default' => '2011-01-01',
2430
+ ),
2431
+ 'AutoScalingGroupName' => array(
2432
+ 'required' => true,
2433
+ 'type' => 'string',
2434
+ 'location' => 'aws.query',
2435
+ 'minLength' => 1,
2436
+ ),
2437
+ 'LifecycleHookNames' => array(
2438
+ 'type' => 'array',
2439
+ 'location' => 'aws.query',
2440
+ 'sentAs' => 'LifecycleHookNames.member',
2441
+ 'items' => array(
2442
+ 'name' => 'AsciiStringMaxLen255',
2443
+ 'type' => 'string',
2444
+ 'minLength' => 1,
2445
+ ),
2446
+ ),
2447
+ ),
2448
+ 'errorResponses' => array(
2449
+ array(
2450
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2451
+ 'class' => 'ResourceContentionException',
2452
+ ),
2453
+ ),
2454
+ ),
2455
+ 'DescribeLifecycleHookTypes' => array(
2456
+ 'httpMethod' => 'POST',
2457
+ 'uri' => '/',
2458
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2459
+ 'responseClass' => 'DescribeLifecycleHookTypesAnswer',
2460
+ 'responseType' => 'model',
2461
+ 'parameters' => array(
2462
+ 'Action' => array(
2463
+ 'static' => true,
2464
+ 'location' => 'aws.query',
2465
+ 'default' => 'DescribeLifecycleHookTypes',
2466
+ ),
2467
+ 'Version' => array(
2468
+ 'static' => true,
2469
+ 'location' => 'aws.query',
2470
+ 'default' => '2011-01-01',
2471
+ ),
2472
+ ),
2473
+ 'errorResponses' => array(
2474
+ array(
2475
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2476
+ 'class' => 'ResourceContentionException',
2477
+ ),
2478
+ ),
2479
+ ),
2480
+ 'CompleteLifecycleAction' => array(
2481
+ 'httpMethod' => 'POST',
2482
+ 'uri' => '/',
2483
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2484
+ 'responseClass' => 'EmptyOutput',
2485
+ 'responseType' => 'model',
2486
+ 'parameters' => array(
2487
+ 'Action' => array(
2488
+ 'static' => true,
2489
+ 'location' => 'aws.query',
2490
+ 'default' => 'CompleteLifecycleAction',
2491
+ ),
2492
+ 'Version' => array(
2493
+ 'static' => true,
2494
+ 'location' => 'aws.query',
2495
+ 'default' => '2011-01-01',
2496
+ ),
2497
+ 'LifecycleHookName' => array(
2498
+ 'required' => true,
2499
+ 'type' => 'string',
2500
+ 'location' => 'aws.query',
2501
+ 'minLength' => 1,
2502
+ ),
2503
+ 'AutoScalingGroupName' => array(
2504
+ 'required' => true,
2505
+ 'type' => 'string',
2506
+ 'location' => 'aws.query',
2507
+ 'minLength' => 1,
2508
+ ),
2509
+ 'LifecycleActionToken' => array(
2510
+ 'type' => 'string',
2511
+ 'location' => 'aws.query',
2512
+ 'minLength' => 36,
2513
+ ),
2514
+ 'LifecycleActionResult' => array(
2515
+ 'required' => true,
2516
+ 'type' => 'string',
2517
+ 'location' => 'aws.query',
2518
+ ),
2519
+ 'InstanceId' => array(
2520
+ 'type' => 'string',
2521
+ 'location' => 'aws.query',
2522
+ 'minLength' => 1,
2523
+ ),
2524
+ ),
2525
+ 'errorResponses' => array(
2526
+ array(
2527
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2528
+ 'class' => 'ResourceContentionException',
2529
+ ),
2530
+ ),
2531
+ ),
2532
+ 'RecordLifecycleActionHeartbeat' => array(
2533
+ 'httpMethod' => 'POST',
2534
+ 'uri' => '/',
2535
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2536
+ 'responseClass' => 'EmptyOutput',
2537
+ 'responseType' => 'model',
2538
+ 'parameters' => array(
2539
+ 'Action' => array(
2540
+ 'static' => true,
2541
+ 'location' => 'aws.query',
2542
+ 'default' => 'RecordLifecycleActionHeartbeat',
2543
+ ),
2544
+ 'Version' => array(
2545
+ 'static' => true,
2546
+ 'location' => 'aws.query',
2547
+ 'default' => '2011-01-01',
2548
+ ),
2549
+ 'LifecycleHookName' => array(
2550
+ 'required' => true,
2551
+ 'type' => 'string',
2552
+ 'location' => 'aws.query',
2553
+ 'minLength' => 1,
2554
+ ),
2555
+ 'AutoScalingGroupName' => array(
2556
+ 'required' => true,
2557
+ 'type' => 'string',
2558
+ 'location' => 'aws.query',
2559
+ 'minLength' => 1,
2560
+ ),
2561
+ 'LifecycleActionToken' => array(
2562
+ 'type' => 'string',
2563
+ 'location' => 'aws.query',
2564
+ 'minLength' => 36,
2565
+ ),
2566
+ 'InstanceId' => array(
2567
+ 'type' => 'string',
2568
+ 'location' => 'aws.query',
2569
+ 'minLength' => 1,
2570
+ ),
2571
+ ),
2572
+ 'errorResponses' => array(
2573
+ array(
2574
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2575
+ 'class' => 'ResourceContentionException',
2576
+ ),
2577
+ ),
2578
+ ),
2579
+ 'DescribeLoadBalancers' => array(
2580
+ 'httpMethod' => 'POST',
2581
+ 'uri' => '/',
2582
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
2583
+ 'responseClass' => 'DescribeLoadBalancersResponse',
2584
+ 'responseType' => 'model',
2585
+ 'parameters' => array(
2586
+ 'Action' => array(
2587
+ 'static' => true,
2588
+ 'location' => 'aws.query',
2589
+ 'default' => 'DescribeLoadBalancers',
2590
+ ),
2591
+ 'Version' => array(
2592
+ 'static' => true,
2593
+ 'location' => 'aws.query',
2594
+ 'default' => '2011-01-01',
2595
+ ),
2596
+ 'AutoScalingGroupName' => array(
2597
+ 'required' => true,
2598
+ 'type' => 'string',
2599
+ 'location' => 'aws.query',
2600
+ 'minLength' => 1,
2601
+ ),
2602
+ 'NextToken' => array(
2603
+ 'type' => 'string',
2604
+ 'location' => 'aws.query',
2605
+ ),
2606
+ 'MaxRecords' => array(
2607
+ 'type' => 'numeric',
2608
+ 'location' => 'aws.query',
2609
+ ),
2610
+ ),
2611
+ 'errorResponses' => array(
2612
+ array(
2613
+ 'reason' => 'You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).',
2614
+ 'class' => 'ResourceContentionException',
2615
+ ),
2616
+ ),
2617
+ ),
2618
+ ),
2619
+ 'models' => array(
2620
+ 'EmptyOutput' => array(
2621
+ 'type' => 'object',
2622
+ 'additionalProperties' => true,
2623
+ ),
2624
+ 'DetachInstancesAnswer' => array(
2625
+ 'type' => 'object',
2626
+ 'additionalProperties' => true,
2627
+ 'properties' => array(
2628
+ 'Activities' => array(
2629
+ 'type' => 'array',
2630
+ 'location' => 'xml',
2631
+ 'items' => array(
2632
+ 'name' => 'Activity',
2633
+ 'type' => 'object',
2634
+ 'sentAs' => 'member',
2635
+ 'properties' => array(
2636
+ 'ActivityId' => array(
2637
+ 'type' => 'string',
2638
+ ),
2639
+ 'AutoScalingGroupName' => array(
2640
+ 'type' => 'string',
2641
+ ),
2642
+ 'Description' => array(
2643
+ 'type' => 'string',
2644
+ ),
2645
+ 'Cause' => array(
2646
+ 'type' => 'string',
2647
+ ),
2648
+ 'StartTime' => array(
2649
+ 'type' => 'string',
2650
+ ),
2651
+ 'EndTime' => array(
2652
+ 'type' => 'string',
2653
+ ),
2654
+ 'StatusCode' => array(
2655
+ 'type' => 'string',
2656
+ ),
2657
+ 'StatusMessage' => array(
2658
+ 'type' => 'string',
2659
+ ),
2660
+ 'Progress' => array(
2661
+ 'type' => 'numeric',
2662
+ ),
2663
+ 'Details' => array(
2664
+ 'type' => 'string',
2665
+ ),
2666
+ ),
2667
+ ),
2668
+ ),
2669
+ ),
2670
+ ),
2671
+ 'EnterStandbyAnswer' => array(
2672
+ 'type' => 'object',
2673
+ 'additionalProperties' => true,
2674
+ 'properties' => array(
2675
+ 'Activities' => array(
2676
+ 'type' => 'array',
2677
+ 'location' => 'xml',
2678
+ 'items' => array(
2679
+ 'name' => 'Activity',
2680
+ 'type' => 'object',
2681
+ 'sentAs' => 'member',
2682
+ 'properties' => array(
2683
+ 'ActivityId' => array(
2684
+ 'type' => 'string',
2685
+ ),
2686
+ 'AutoScalingGroupName' => array(
2687
+ 'type' => 'string',
2688
+ ),
2689
+ 'Description' => array(
2690
+ 'type' => 'string',
2691
+ ),
2692
+ 'Cause' => array(
2693
+ 'type' => 'string',
2694
+ ),
2695
+ 'StartTime' => array(
2696
+ 'type' => 'string',
2697
+ ),
2698
+ 'EndTime' => array(
2699
+ 'type' => 'string',
2700
+ ),
2701
+ 'StatusCode' => array(
2702
+ 'type' => 'string',
2703
+ ),
2704
+ 'StatusMessage' => array(
2705
+ 'type' => 'string',
2706
+ ),
2707
+ 'Progress' => array(
2708
+ 'type' => 'numeric',
2709
+ ),
2710
+ 'Details' => array(
2711
+ 'type' => 'string',
2712
+ ),
2713
+ ),
2714
+ ),
2715
+ ),
2716
+ ),
2717
+ ),
2718
+ 'ExitStandbyAnswer' => array(
2719
+ 'type' => 'object',
2720
+ 'additionalProperties' => true,
2721
+ 'properties' => array(
2722
+ 'Activities' => array(
2723
+ 'type' => 'array',
2724
+ 'location' => 'xml',
2725
+ 'items' => array(
2726
+ 'name' => 'Activity',
2727
+ 'type' => 'object',
2728
+ 'sentAs' => 'member',
2729
+ 'properties' => array(
2730
+ 'ActivityId' => array(
2731
+ 'type' => 'string',
2732
+ ),
2733
+ 'AutoScalingGroupName' => array(
2734
+ 'type' => 'string',
2735
+ ),
2736
+ 'Description' => array(
2737
+ 'type' => 'string',
2738
+ ),
2739
+ 'Cause' => array(
2740
+ 'type' => 'string',
2741
+ ),
2742
+ 'StartTime' => array(
2743
+ 'type' => 'string',
2744
+ ),
2745
+ 'EndTime' => array(
2746
+ 'type' => 'string',
2747
+ ),
2748
+ 'StatusCode' => array(
2749
+ 'type' => 'string',
2750
+ ),
2751
+ 'StatusMessage' => array(
2752
+ 'type' => 'string',
2753
+ ),
2754
+ 'Progress' => array(
2755
+ 'type' => 'numeric',
2756
+ ),
2757
+ 'Details' => array(
2758
+ 'type' => 'string',
2759
+ ),
2760
+ ),
2761
+ ),
2762
+ ),
2763
+ ),
2764
+ ),
2765
+ 'AutoScalingGroupsType' => array(
2766
+ 'type' => 'object',
2767
+ 'additionalProperties' => true,
2768
+ 'properties' => array(
2769
+ 'AutoScalingGroups' => array(
2770
+ 'type' => 'array',
2771
+ 'location' => 'xml',
2772
+ 'items' => array(
2773
+ 'name' => 'AutoScalingGroup',
2774
+ 'type' => 'object',
2775
+ 'sentAs' => 'member',
2776
+ 'properties' => array(
2777
+ 'AutoScalingGroupName' => array(
2778
+ 'type' => 'string',
2779
+ ),
2780
+ 'AutoScalingGroupARN' => array(
2781
+ 'type' => 'string',
2782
+ ),
2783
+ 'LaunchConfigurationName' => array(
2784
+ 'type' => 'string',
2785
+ ),
2786
+ 'MinSize' => array(
2787
+ 'type' => 'numeric',
2788
+ ),
2789
+ 'MaxSize' => array(
2790
+ 'type' => 'numeric',
2791
+ ),
2792
+ 'DesiredCapacity' => array(
2793
+ 'type' => 'numeric',
2794
+ ),
2795
+ 'DefaultCooldown' => array(
2796
+ 'type' => 'numeric',
2797
+ ),
2798
+ 'AvailabilityZones' => array(
2799
+ 'type' => 'array',
2800
+ 'items' => array(
2801
+ 'name' => 'XmlStringMaxLen255',
2802
+ 'type' => 'string',
2803
+ 'sentAs' => 'member',
2804
+ ),
2805
+ ),
2806
+ 'LoadBalancerNames' => array(
2807
+ 'type' => 'array',
2808
+ 'items' => array(
2809
+ 'name' => 'XmlStringMaxLen255',
2810
+ 'type' => 'string',
2811
+ 'sentAs' => 'member',
2812
+ ),
2813
+ ),
2814
+ 'HealthCheckType' => array(
2815
+ 'type' => 'string',
2816
+ ),
2817
+ 'HealthCheckGracePeriod' => array(
2818
+ 'type' => 'numeric',
2819
+ ),
2820
+ 'Instances' => array(
2821
+ 'type' => 'array',
2822
+ 'items' => array(
2823
+ 'name' => 'Instance',
2824
+ 'type' => 'object',
2825
+ 'sentAs' => 'member',
2826
+ 'properties' => array(
2827
+ 'InstanceId' => array(
2828
+ 'type' => 'string',
2829
+ ),
2830
+ 'AvailabilityZone' => array(
2831
+ 'type' => 'string',
2832
+ ),
2833
+ 'LifecycleState' => array(
2834
+ 'type' => 'string',
2835
+ ),
2836
+ 'HealthStatus' => array(
2837
+ 'type' => 'string',
2838
+ ),
2839
+ 'LaunchConfigurationName' => array(
2840
+ 'type' => 'string',
2841
+ ),
2842
+ 'ProtectedFromScaleIn' => array(
2843
+ 'type' => 'boolean',
2844
+ ),
2845
+ ),
2846
+ ),
2847
+ ),
2848
+ 'CreatedTime' => array(
2849
+ 'type' => 'string',
2850
+ ),
2851
+ 'SuspendedProcesses' => array(
2852
+ 'type' => 'array',
2853
+ 'items' => array(
2854
+ 'name' => 'SuspendedProcess',
2855
+ 'type' => 'object',
2856
+ 'sentAs' => 'member',
2857
+ 'properties' => array(
2858
+ 'ProcessName' => array(
2859
+ 'type' => 'string',
2860
+ ),
2861
+ 'SuspensionReason' => array(
2862
+ 'type' => 'string',
2863
+ ),
2864
+ ),
2865
+ ),
2866
+ ),
2867
+ 'PlacementGroup' => array(
2868
+ 'type' => 'string',
2869
+ ),
2870
+ 'VPCZoneIdentifier' => array(
2871
+ 'type' => 'string',
2872
+ ),
2873
+ 'EnabledMetrics' => array(
2874
+ 'type' => 'array',
2875
+ 'items' => array(
2876
+ 'name' => 'EnabledMetric',
2877
+ 'type' => 'object',
2878
+ 'sentAs' => 'member',
2879
+ 'properties' => array(
2880
+ 'Metric' => array(
2881
+ 'type' => 'string',
2882
+ ),
2883
+ 'Granularity' => array(
2884
+ 'type' => 'string',
2885
+ ),
2886
+ ),
2887
+ ),
2888
+ ),
2889
+ 'Status' => array(
2890
+ 'type' => 'string',
2891
+ ),
2892
+ 'Tags' => array(
2893
+ 'type' => 'array',
2894
+ 'items' => array(
2895
+ 'name' => 'TagDescription',
2896
+ 'type' => 'object',
2897
+ 'sentAs' => 'member',
2898
+ 'properties' => array(
2899
+ 'ResourceId' => array(
2900
+ 'type' => 'string',
2901
+ ),
2902
+ 'ResourceType' => array(
2903
+ 'type' => 'string',
2904
+ ),
2905
+ 'Key' => array(
2906
+ 'type' => 'string',
2907
+ ),
2908
+ 'Value' => array(
2909
+ 'type' => 'string',
2910
+ ),
2911
+ 'PropagateAtLaunch' => array(
2912
+ 'type' => 'boolean',
2913
+ ),
2914
+ ),
2915
+ ),
2916
+ ),
2917
+ 'TerminationPolicies' => array(
2918
+ 'type' => 'array',
2919
+ 'items' => array(
2920
+ 'name' => 'XmlStringMaxLen1600',
2921
+ 'type' => 'string',
2922
+ 'sentAs' => 'member',
2923
+ ),
2924
+ ),
2925
+ 'NewInstancesProtectedFromScaleIn' => array(
2926
+ 'type' => 'boolean',
2927
+ ),
2928
+ ),
2929
+ ),
2930
+ ),
2931
+ 'NextToken' => array(
2932
+ 'type' => 'string',
2933
+ 'location' => 'xml',
2934
+ ),
2935
+ ),
2936
+ ),
2937
+ 'AutoScalingInstancesType' => array(
2938
+ 'type' => 'object',
2939
+ 'additionalProperties' => true,
2940
+ 'properties' => array(
2941
+ 'AutoScalingInstances' => array(
2942
+ 'type' => 'array',
2943
+ 'location' => 'xml',
2944
+ 'items' => array(
2945
+ 'name' => 'AutoScalingInstanceDetails',
2946
+ 'type' => 'object',
2947
+ 'sentAs' => 'member',
2948
+ 'properties' => array(
2949
+ 'InstanceId' => array(
2950
+ 'type' => 'string',
2951
+ ),
2952
+ 'AutoScalingGroupName' => array(
2953
+ 'type' => 'string',
2954
+ ),
2955
+ 'AvailabilityZone' => array(
2956
+ 'type' => 'string',
2957
+ ),
2958
+ 'LifecycleState' => array(
2959
+ 'type' => 'string',
2960
+ ),
2961
+ 'HealthStatus' => array(
2962
+ 'type' => 'string',
2963
+ ),
2964
+ 'LaunchConfigurationName' => array(
2965
+ 'type' => 'string',
2966
+ ),
2967
+ 'ProtectedFromScaleIn' => array(
2968
+ 'type' => 'boolean',
2969
+ ),
2970
+ ),
2971
+ ),
2972
+ ),
2973
+ 'NextToken' => array(
2974
+ 'type' => 'string',
2975
+ 'location' => 'xml',
2976
+ ),
2977
+ ),
2978
+ ),
2979
+ 'ProcessesType' => array(
2980
+ 'type' => 'object',
2981
+ 'additionalProperties' => true,
2982
+ 'properties' => array(
2983
+ 'Processes' => array(
2984
+ 'type' => 'array',
2985
+ 'location' => 'xml',
2986
+ 'items' => array(
2987
+ 'name' => 'ProcessType',
2988
+ 'type' => 'object',
2989
+ 'sentAs' => 'member',
2990
+ 'properties' => array(
2991
+ 'ProcessName' => array(
2992
+ 'type' => 'string',
2993
+ ),
2994
+ ),
2995
+ ),
2996
+ ),
2997
+ ),
2998
+ ),
2999
+ 'ScheduledActionsType' => array(
3000
+ 'type' => 'object',
3001
+ 'additionalProperties' => true,
3002
+ 'properties' => array(
3003
+ 'ScheduledUpdateGroupActions' => array(
3004
+ 'type' => 'array',
3005
+ 'location' => 'xml',
3006
+ 'items' => array(
3007
+ 'name' => 'ScheduledUpdateGroupAction',
3008
+ 'type' => 'object',
3009
+ 'sentAs' => 'member',
3010
+ 'properties' => array(
3011
+ 'AutoScalingGroupName' => array(
3012
+ 'type' => 'string',
3013
+ ),
3014
+ 'ScheduledActionName' => array(
3015
+ 'type' => 'string',
3016
+ ),
3017
+ 'ScheduledActionARN' => array(
3018
+ 'type' => 'string',
3019
+ ),
3020
+ 'Time' => array(
3021
+ 'type' => 'string',
3022
+ ),
3023
+ 'StartTime' => array(
3024
+ 'type' => 'string',
3025
+ ),
3026
+ 'EndTime' => array(
3027
+ 'type' => 'string',
3028
+ ),
3029
+ 'Recurrence' => array(
3030
+ 'type' => 'string',
3031
+ ),
3032
+ 'MinSize' => array(
3033
+ 'type' => 'numeric',
3034
+ ),
3035
+ 'MaxSize' => array(
3036
+ 'type' => 'numeric',
3037
+ ),
3038
+ 'DesiredCapacity' => array(
3039
+ 'type' => 'numeric',
3040
+ ),
3041
+ ),
3042
+ ),
3043
+ ),
3044
+ 'NextToken' => array(
3045
+ 'type' => 'string',
3046
+ 'location' => 'xml',
3047
+ ),
3048
+ ),
3049
+ ),
3050
+ 'DescribeAdjustmentTypesAnswer' => array(
3051
+ 'type' => 'object',
3052
+ 'additionalProperties' => true,
3053
+ 'properties' => array(
3054
+ 'AdjustmentTypes' => array(
3055
+ 'type' => 'array',
3056
+ 'location' => 'xml',
3057
+ 'items' => array(
3058
+ 'name' => 'AdjustmentType',
3059
+ 'type' => 'object',
3060
+ 'sentAs' => 'member',
3061
+ 'properties' => array(
3062
+ 'AdjustmentType' => array(
3063
+ 'type' => 'string',
3064
+ ),
3065
+ ),
3066
+ ),
3067
+ ),
3068
+ ),
3069
+ ),
3070
+ 'PolicyARNType' => array(
3071
+ 'type' => 'object',
3072
+ 'additionalProperties' => true,
3073
+ 'properties' => array(
3074
+ 'PolicyARN' => array(
3075
+ 'type' => 'string',
3076
+ 'location' => 'xml',
3077
+ ),
3078
+ ),
3079
+ ),
3080
+ 'PoliciesType' => array(
3081
+ 'type' => 'object',
3082
+ 'additionalProperties' => true,
3083
+ 'properties' => array(
3084
+ 'ScalingPolicies' => array(
3085
+ 'type' => 'array',
3086
+ 'location' => 'xml',
3087
+ 'items' => array(
3088
+ 'name' => 'ScalingPolicy',
3089
+ 'type' => 'object',
3090
+ 'sentAs' => 'member',
3091
+ 'properties' => array(
3092
+ 'AutoScalingGroupName' => array(
3093
+ 'type' => 'string',
3094
+ ),
3095
+ 'PolicyName' => array(
3096
+ 'type' => 'string',
3097
+ ),
3098
+ 'PolicyARN' => array(
3099
+ 'type' => 'string',
3100
+ ),
3101
+ 'PolicyType' => array(
3102
+ 'type' => 'string',
3103
+ ),
3104
+ 'AdjustmentType' => array(
3105
+ 'type' => 'string',
3106
+ ),
3107
+ 'MinAdjustmentStep' => array(
3108
+ 'type' => 'numeric',
3109
+ ),
3110
+ 'MinAdjustmentMagnitude' => array(
3111
+ 'type' => 'numeric',
3112
+ ),
3113
+ 'ScalingAdjustment' => array(
3114
+ 'type' => 'numeric',
3115
+ ),
3116
+ 'Cooldown' => array(
3117
+ 'type' => 'numeric',
3118
+ ),
3119
+ 'StepAdjustments' => array(
3120
+ 'type' => 'array',
3121
+ 'items' => array(
3122
+ 'name' => 'StepAdjustment',
3123
+ 'type' => 'object',
3124
+ 'sentAs' => 'member',
3125
+ 'properties' => array(
3126
+ 'MetricIntervalLowerBound' => array(
3127
+ 'type' => 'numeric',
3128
+ ),
3129
+ 'MetricIntervalUpperBound' => array(
3130
+ 'type' => 'numeric',
3131
+ ),
3132
+ 'ScalingAdjustment' => array(
3133
+ 'type' => 'numeric',
3134
+ ),
3135
+ ),
3136
+ ),
3137
+ ),
3138
+ 'MetricAggregationType' => array(
3139
+ 'type' => 'string',
3140
+ ),
3141
+ 'EstimatedInstanceWarmup' => array(
3142
+ 'type' => 'numeric',
3143
+ ),
3144
+ 'Alarms' => array(
3145
+ 'type' => 'array',
3146
+ 'items' => array(
3147
+ 'name' => 'Alarm',
3148
+ 'type' => 'object',
3149
+ 'sentAs' => 'member',
3150
+ 'properties' => array(
3151
+ 'AlarmName' => array(
3152
+ 'type' => 'string',
3153
+ ),
3154
+ 'AlarmARN' => array(
3155
+ 'type' => 'string',
3156
+ ),
3157
+ ),
3158
+ ),
3159
+ ),
3160
+ ),
3161
+ ),
3162
+ ),
3163
+ 'NextToken' => array(
3164
+ 'type' => 'string',
3165
+ 'location' => 'xml',
3166
+ ),
3167
+ ),
3168
+ ),
3169
+ 'DescribeMetricCollectionTypesAnswer' => array(
3170
+ 'type' => 'object',
3171
+ 'additionalProperties' => true,
3172
+ 'properties' => array(
3173
+ 'Metrics' => array(
3174
+ 'type' => 'array',
3175
+ 'location' => 'xml',
3176
+ 'items' => array(
3177
+ 'name' => 'MetricCollectionType',
3178
+ 'type' => 'object',
3179
+ 'sentAs' => 'member',
3180
+ 'properties' => array(
3181
+ 'Metric' => array(
3182
+ 'type' => 'string',
3183
+ ),
3184
+ ),
3185
+ ),
3186
+ ),
3187
+ 'Granularities' => array(
3188
+ 'type' => 'array',
3189
+ 'location' => 'xml',
3190
+ 'items' => array(
3191
+ 'name' => 'MetricGranularityType',
3192
+ 'type' => 'object',
3193
+ 'sentAs' => 'member',
3194
+ 'properties' => array(
3195
+ 'Granularity' => array(
3196
+ 'type' => 'string',
3197
+ ),
3198
+ ),
3199
+ ),
3200
+ ),
3201
+ ),
3202
+ ),
3203
+ 'LaunchConfigurationsType' => array(
3204
+ 'type' => 'object',
3205
+ 'additionalProperties' => true,
3206
+ 'properties' => array(
3207
+ 'LaunchConfigurations' => array(
3208
+ 'type' => 'array',
3209
+ 'location' => 'xml',
3210
+ 'items' => array(
3211
+ 'name' => 'LaunchConfiguration',
3212
+ 'type' => 'object',
3213
+ 'sentAs' => 'member',
3214
+ 'properties' => array(
3215
+ 'LaunchConfigurationName' => array(
3216
+ 'type' => 'string',
3217
+ ),
3218
+ 'LaunchConfigurationARN' => array(
3219
+ 'type' => 'string',
3220
+ ),
3221
+ 'ImageId' => array(
3222
+ 'type' => 'string',
3223
+ ),
3224
+ 'KeyName' => array(
3225
+ 'type' => 'string',
3226
+ ),
3227
+ 'SecurityGroups' => array(
3228
+ 'type' => 'array',
3229
+ 'items' => array(
3230
+ 'name' => 'XmlString',
3231
+ 'type' => 'string',
3232
+ 'sentAs' => 'member',
3233
+ ),
3234
+ ),
3235
+ 'ClassicLinkVPCId' => array(
3236
+ 'type' => 'string',
3237
+ ),
3238
+ 'ClassicLinkVPCSecurityGroups' => array(
3239
+ 'type' => 'array',
3240
+ 'items' => array(
3241
+ 'name' => 'XmlStringMaxLen255',
3242
+ 'type' => 'string',
3243
+ 'sentAs' => 'member',
3244
+ ),
3245
+ ),
3246
+ 'UserData' => array(
3247
+ 'type' => 'string',
3248
+ ),
3249
+ 'InstanceType' => array(
3250
+ 'type' => 'string',
3251
+ ),
3252
+ 'KernelId' => array(
3253
+ 'type' => 'string',
3254
+ ),
3255
+ 'RamdiskId' => array(
3256
+ 'type' => 'string',
3257
+ ),
3258
+ 'BlockDeviceMappings' => array(
3259
+ 'type' => 'array',
3260
+ 'items' => array(
3261
+ 'name' => 'BlockDeviceMapping',
3262
+ 'type' => 'object',
3263
+ 'sentAs' => 'member',
3264
+ 'properties' => array(
3265
+ 'VirtualName' => array(
3266
+ 'type' => 'string',
3267
+ ),
3268
+ 'DeviceName' => array(
3269
+ 'type' => 'string',
3270
+ ),
3271
+ 'Ebs' => array(
3272
+ 'type' => 'object',
3273
+ 'properties' => array(
3274
+ 'SnapshotId' => array(
3275
+ 'type' => 'string',
3276
+ ),
3277
+ 'VolumeSize' => array(
3278
+ 'type' => 'numeric',
3279
+ ),
3280
+ 'VolumeType' => array(
3281
+ 'type' => 'string',
3282
+ ),
3283
+ 'DeleteOnTermination' => array(
3284
+ 'type' => 'boolean',
3285
+ ),
3286
+ 'Iops' => array(
3287
+ 'type' => 'numeric',
3288
+ ),
3289
+ 'Encrypted' => array(
3290
+ 'type' => 'boolean',
3291
+ ),
3292
+ ),
3293
+ ),
3294
+ 'NoDevice' => array(
3295
+ 'type' => 'boolean',
3296
+ ),
3297
+ ),
3298
+ ),
3299
+ ),
3300
+ 'InstanceMonitoring' => array(
3301
+ 'type' => 'object',
3302
+ 'properties' => array(
3303
+ 'Enabled' => array(
3304
+ 'type' => 'boolean',
3305
+ ),
3306
+ ),
3307
+ ),
3308
+ 'SpotPrice' => array(
3309
+ 'type' => 'string',
3310
+ ),
3311
+ 'IamInstanceProfile' => array(
3312
+ 'type' => 'string',
3313
+ ),
3314
+ 'CreatedTime' => array(
3315
+ 'type' => 'string',
3316
+ ),
3317
+ 'EbsOptimized' => array(
3318
+ 'type' => 'boolean',
3319
+ ),
3320
+ 'AssociatePublicIpAddress' => array(
3321
+ 'type' => 'boolean',
3322
+ ),
3323
+ 'PlacementTenancy' => array(
3324
+ 'type' => 'string',
3325
+ ),
3326
+ ),
3327
+ ),
3328
+ ),
3329
+ 'NextToken' => array(
3330
+ 'type' => 'string',
3331
+ 'location' => 'xml',
3332
+ ),
3333
+ ),
3334
+ ),
3335
+ 'ActivitiesType' => array(
3336
+ 'type' => 'object',
3337
+ 'additionalProperties' => true,
3338
+ 'properties' => array(
3339
+ 'Activities' => array(
3340
+ 'type' => 'array',
3341
+ 'location' => 'xml',
3342
+ 'items' => array(
3343
+ 'name' => 'Activity',
3344
+ 'type' => 'object',
3345
+ 'sentAs' => 'member',
3346
+ 'properties' => array(
3347
+ 'ActivityId' => array(
3348
+ 'type' => 'string',
3349
+ ),
3350
+ 'AutoScalingGroupName' => array(
3351
+ 'type' => 'string',
3352
+ ),
3353
+ 'Description' => array(
3354
+ 'type' => 'string',
3355
+ ),
3356
+ 'Cause' => array(
3357
+ 'type' => 'string',
3358
+ ),
3359
+ 'StartTime' => array(
3360
+ 'type' => 'string',
3361
+ ),
3362
+ 'EndTime' => array(
3363
+ 'type' => 'string',
3364
+ ),
3365
+ 'StatusCode' => array(
3366
+ 'type' => 'string',
3367
+ ),
3368
+ 'StatusMessage' => array(
3369
+ 'type' => 'string',
3370
+ ),
3371
+ 'Progress' => array(
3372
+ 'type' => 'numeric',
3373
+ ),
3374
+ 'Details' => array(
3375
+ 'type' => 'string',
3376
+ ),
3377
+ ),
3378
+ ),
3379
+ ),
3380
+ 'NextToken' => array(
3381
+ 'type' => 'string',
3382
+ 'location' => 'xml',
3383
+ ),
3384
+ ),
3385
+ ),
3386
+ 'ActivityType' => array(
3387
+ 'type' => 'object',
3388
+ 'additionalProperties' => true,
3389
+ 'properties' => array(
3390
+ 'Activity' => array(
3391
+ 'type' => 'object',
3392
+ 'location' => 'xml',
3393
+ 'properties' => array(
3394
+ 'ActivityId' => array(
3395
+ 'type' => 'string',
3396
+ ),
3397
+ 'AutoScalingGroupName' => array(
3398
+ 'type' => 'string',
3399
+ ),
3400
+ 'Description' => array(
3401
+ 'type' => 'string',
3402
+ ),
3403
+ 'Cause' => array(
3404
+ 'type' => 'string',
3405
+ ),
3406
+ 'StartTime' => array(
3407
+ 'type' => 'string',
3408
+ ),
3409
+ 'EndTime' => array(
3410
+ 'type' => 'string',
3411
+ ),
3412
+ 'StatusCode' => array(
3413
+ 'type' => 'string',
3414
+ ),
3415
+ 'StatusMessage' => array(
3416
+ 'type' => 'string',
3417
+ ),
3418
+ 'Progress' => array(
3419
+ 'type' => 'numeric',
3420
+ ),
3421
+ 'Details' => array(
3422
+ 'type' => 'string',
3423
+ ),
3424
+ ),
3425
+ ),
3426
+ ),
3427
+ ),
3428
+ 'DescribeNotificationConfigurationsAnswer' => array(
3429
+ 'type' => 'object',
3430
+ 'additionalProperties' => true,
3431
+ 'properties' => array(
3432
+ 'NotificationConfigurations' => array(
3433
+ 'type' => 'array',
3434
+ 'location' => 'xml',
3435
+ 'items' => array(
3436
+ 'name' => 'NotificationConfiguration',
3437
+ 'type' => 'object',
3438
+ 'sentAs' => 'member',
3439
+ 'properties' => array(
3440
+ 'AutoScalingGroupName' => array(
3441
+ 'type' => 'string',
3442
+ ),
3443
+ 'TopicARN' => array(
3444
+ 'type' => 'string',
3445
+ ),
3446
+ 'NotificationType' => array(
3447
+ 'type' => 'string',
3448
+ ),
3449
+ ),
3450
+ ),
3451
+ ),
3452
+ 'NextToken' => array(
3453
+ 'type' => 'string',
3454
+ 'location' => 'xml',
3455
+ ),
3456
+ ),
3457
+ ),
3458
+ 'DescribeAutoScalingNotificationTypesAnswer' => array(
3459
+ 'type' => 'object',
3460
+ 'additionalProperties' => true,
3461
+ 'properties' => array(
3462
+ 'AutoScalingNotificationTypes' => array(
3463
+ 'type' => 'array',
3464
+ 'location' => 'xml',
3465
+ 'items' => array(
3466
+ 'name' => 'XmlStringMaxLen255',
3467
+ 'type' => 'string',
3468
+ 'sentAs' => 'member',
3469
+ ),
3470
+ ),
3471
+ ),
3472
+ ),
3473
+ 'TagsType' => array(
3474
+ 'type' => 'object',
3475
+ 'additionalProperties' => true,
3476
+ 'properties' => array(
3477
+ 'Tags' => array(
3478
+ 'type' => 'array',
3479
+ 'location' => 'xml',
3480
+ 'items' => array(
3481
+ 'name' => 'TagDescription',
3482
+ 'type' => 'object',
3483
+ 'sentAs' => 'member',
3484
+ 'properties' => array(
3485
+ 'ResourceId' => array(
3486
+ 'type' => 'string',
3487
+ ),
3488
+ 'ResourceType' => array(
3489
+ 'type' => 'string',
3490
+ ),
3491
+ 'Key' => array(
3492
+ 'type' => 'string',
3493
+ ),
3494
+ 'Value' => array(
3495
+ 'type' => 'string',
3496
+ ),
3497
+ 'PropagateAtLaunch' => array(
3498
+ 'type' => 'boolean',
3499
+ ),
3500
+ ),
3501
+ ),
3502
+ ),
3503
+ 'NextToken' => array(
3504
+ 'type' => 'string',
3505
+ 'location' => 'xml',
3506
+ ),
3507
+ ),
3508
+ ),
3509
+ 'DescribeTerminationPolicyTypesAnswer' => array(
3510
+ 'type' => 'object',
3511
+ 'additionalProperties' => true,
3512
+ 'properties' => array(
3513
+ 'TerminationPolicyTypes' => array(
3514
+ 'type' => 'array',
3515
+ 'location' => 'xml',
3516
+ 'items' => array(
3517
+ 'name' => 'XmlStringMaxLen1600',
3518
+ 'type' => 'string',
3519
+ 'sentAs' => 'member',
3520
+ ),
3521
+ ),
3522
+ ),
3523
+ ),
3524
+ 'DescribeAccountLimitsAnswer' => array(
3525
+ 'type' => 'object',
3526
+ 'additionalProperties' => true,
3527
+ 'properties' => array(
3528
+ 'MaxNumberOfAutoScalingGroups' => array(
3529
+ 'type' => 'numeric',
3530
+ 'location' => 'xml',
3531
+ ),
3532
+ 'MaxNumberOfLaunchConfigurations' => array(
3533
+ 'type' => 'numeric',
3534
+ 'location' => 'xml',
3535
+ ),
3536
+ 'NumberOfAutoScalingGroups' => array(
3537
+ 'type' => 'numeric',
3538
+ 'location' => 'xml',
3539
+ ),
3540
+ 'NumberOfLaunchConfigurations' => array(
3541
+ 'type' => 'numeric',
3542
+ 'location' => 'xml',
3543
+ ),
3544
+ ),
3545
+ ),
3546
+ 'DescribeLifecycleHooksAnswer' => array(
3547
+ 'type' => 'object',
3548
+ 'additionalProperties' => true,
3549
+ 'properties' => array(
3550
+ 'LifecycleHooks' => array(
3551
+ 'type' => 'array',
3552
+ 'location' => 'xml',
3553
+ 'items' => array(
3554
+ 'name' => 'LifecycleHook',
3555
+ 'type' => 'object',
3556
+ 'sentAs' => 'member',
3557
+ 'properties' => array(
3558
+ 'LifecycleHookName' => array(
3559
+ 'type' => 'string',
3560
+ ),
3561
+ 'AutoScalingGroupName' => array(
3562
+ 'type' => 'string',
3563
+ ),
3564
+ 'LifecycleTransition' => array(
3565
+ 'type' => 'string',
3566
+ ),
3567
+ 'NotificationTargetARN' => array(
3568
+ 'type' => 'string',
3569
+ ),
3570
+ 'RoleARN' => array(
3571
+ 'type' => 'string',
3572
+ ),
3573
+ 'NotificationMetadata' => array(
3574
+ 'type' => 'string',
3575
+ ),
3576
+ 'HeartbeatTimeout' => array(
3577
+ 'type' => 'numeric',
3578
+ ),
3579
+ 'GlobalTimeout' => array(
3580
+ 'type' => 'numeric',
3581
+ ),
3582
+ 'DefaultResult' => array(
3583
+ 'type' => 'string',
3584
+ ),
3585
+ ),
3586
+ ),
3587
+ ),
3588
+ ),
3589
+ ),
3590
+ 'DescribeLifecycleHookTypesAnswer' => array(
3591
+ 'type' => 'object',
3592
+ 'additionalProperties' => true,
3593
+ 'properties' => array(
3594
+ 'LifecycleHookTypes' => array(
3595
+ 'type' => 'array',
3596
+ 'location' => 'xml',
3597
+ 'items' => array(
3598
+ 'name' => 'XmlStringMaxLen255',
3599
+ 'type' => 'string',
3600
+ 'sentAs' => 'member',
3601
+ ),
3602
+ ),
3603
+ ),
3604
+ ),
3605
+ 'DescribeLoadBalancersResponse' => array(
3606
+ 'type' => 'object',
3607
+ 'additionalProperties' => true,
3608
+ 'properties' => array(
3609
+ 'LoadBalancers' => array(
3610
+ 'type' => 'array',
3611
+ 'location' => 'xml',
3612
+ 'items' => array(
3613
+ 'name' => 'LoadBalancerState',
3614
+ 'type' => 'object',
3615
+ 'sentAs' => 'member',
3616
+ 'properties' => array(
3617
+ 'LoadBalancerName' => array(
3618
+ 'type' => 'string',
3619
+ ),
3620
+ 'State' => array(
3621
+ 'type' => 'string',
3622
+ ),
3623
+ ),
3624
+ ),
3625
+ ),
3626
+ 'NextToken' => array(
3627
+ 'type' => 'string',
3628
+ 'location' => 'xml',
3629
+ ),
3630
+ ),
3631
+ ),
3632
+ ),
3633
+ 'iterators' => array(
3634
+ 'DescribeAutoScalingGroups' => array(
3635
+ 'input_token' => 'NextToken',
3636
+ 'output_token' => 'NextToken',
3637
+ 'limit_key' => 'MaxRecords',
3638
+ 'result_key' => 'AutoScalingGroups',
3639
+ ),
3640
+ 'DescribeAutoScalingInstances' => array(
3641
+ 'input_token' => 'NextToken',
3642
+ 'output_token' => 'NextToken',
3643
+ 'limit_key' => 'MaxRecords',
3644
+ 'result_key' => 'AutoScalingInstances',
3645
+ ),
3646
+ 'DescribeLaunchConfigurations' => array(
3647
+ 'input_token' => 'NextToken',
3648
+ 'output_token' => 'NextToken',
3649
+ 'limit_key' => 'MaxRecords',
3650
+ 'result_key' => 'LaunchConfigurations',
3651
+ ),
3652
+ 'DescribeNotificationConfigurations' => array(
3653
+ 'input_token' => 'NextToken',
3654
+ 'output_token' => 'NextToken',
3655
+ 'limit_key' => 'MaxRecords',
3656
+ 'result_key' => 'NotificationConfigurations',
3657
+ ),
3658
+ 'DescribePolicies' => array(
3659
+ 'input_token' => 'NextToken',
3660
+ 'output_token' => 'NextToken',
3661
+ 'limit_key' => 'MaxRecords',
3662
+ 'result_key' => 'ScalingPolicies',
3663
+ ),
3664
+ 'DescribeScalingActivities' => array(
3665
+ 'input_token' => 'NextToken',
3666
+ 'output_token' => 'NextToken',
3667
+ 'limit_key' => 'MaxRecords',
3668
+ 'result_key' => 'Activities',
3669
+ ),
3670
+ 'DescribeScheduledActions' => array(
3671
+ 'input_token' => 'NextToken',
3672
+ 'output_token' => 'NextToken',
3673
+ 'limit_key' => 'MaxRecords',
3674
+ 'result_key' => 'ScheduledUpdateGroupActions',
3675
+ ),
3676
+ 'DescribeTags' => array(
3677
+ 'input_token' => 'NextToken',
3678
+ 'output_token' => 'NextToken',
3679
+ 'limit_key' => 'MaxRecords',
3680
+ 'result_key' => 'Tags',
3681
+ ),
3682
+ ),
3683
+ );
lib/aws-sdk-php/Aws/AwsClient.php DELETED
@@ -1,351 +0,0 @@
1
- <?php
2
- namespace Aws;
3
-
4
- use Aws\Api\ApiProvider;
5
- use Aws\Api\DocModel;
6
- use Aws\Api\Service;
7
- use Aws\Signature\SignatureProvider;
8
- use GuzzleHttp\Psr7\Uri;
9
-
10
- /**
11
- * Default AWS client implementation
12
- */
13
- class AwsClient implements AwsClientInterface
14
- {
15
- /** @var string */
16
- private $region;
17
-
18
- /** @var string */
19
- private $endpoint;
20
-
21
- /** @var Service */
22
- private $api;
23
-
24
- /** @var callable */
25
- private $signatureProvider;
26
-
27
- /** @var callable */
28
- private $credentialProvider;
29
-
30
- /** @var HandlerList */
31
- private $handlerList;
32
-
33
- /** @var array*/
34
- private $defaultRequestOptions;
35
-
36
- /**
37
- * Get an array of client constructor arguments used by the client.
38
- *
39
- * @return array
40
- */
41
- public static function getArguments()
42
- {
43
- return ClientResolver::getDefaultArguments();
44
- }
45
-
46
- /**
47
- * The client constructor accepts the following options:
48
- *
49
- * - api_provider: (callable) An optional PHP callable that accepts a
50
- * type, service, and version argument, and returns an array of
51
- * corresponding configuration data. The type value can be one of api,
52
- * waiter, or paginator.
53
- * - credentials:
54
- * (Aws\Credentials\CredentialsInterface|array|bool|callable) Specifies
55
- * the credentials used to sign requests. Provide an
56
- * Aws\Credentials\CredentialsInterface object, an associative array of
57
- * "key", "secret", and an optional "token" key, `false` to use null
58
- * credentials, or a callable credentials provider used to create
59
- * credentials or return null. See Aws\Credentials\CredentialProvider for
60
- * a list of built-in credentials providers. If no credentials are
61
- * provided, the SDK will attempt to load them from the environment.
62
- * - debug: (bool|array) Set to true to display debug information when
63
- * sending requests. Alternatively, you can provide an associative array
64
- * with the following keys: logfn: (callable) Function that is invoked
65
- * with log messages; stream_size: (int) When the size of a stream is
66
- * greater than this number, the stream data will not be logged (set to
67
- * "0" to not log any stream data); scrub_auth: (bool) Set to false to
68
- * disable the scrubbing of auth data from the logged messages; http:
69
- * (bool) Set to false to disable the "debug" feature of lower level HTTP
70
- * adapters (e.g., verbose curl output).
71
- * - endpoint: (string) The full URI of the webservice. This is only
72
- * required when connecting to a custom endpoint (e.g., a local version
73
- * of S3).
74
- * - endpoint_provider: (callable) An optional PHP callable that
75
- * accepts a hash of options including a "service" and "region" key and
76
- * returns NULL or a hash of endpoint data, of which the "endpoint" key
77
- * is required. See Aws\Endpoint\EndpointProvider for a list of built-in
78
- * providers.
79
- * - handler: (callable) A handler that accepts a command object,
80
- * request object and returns a promise that is fulfilled with an
81
- * Aws\ResultInterface object or rejected with an
82
- * Aws\Exception\AwsException. A handler does not accept a next handler
83
- * as it is terminal and expected to fulfill a command. If no handler is
84
- * provided, a default Guzzle handler will be utilized.
85
- * - http: (array, default=array(0)) Set to an array of SDK request
86
- * options to apply to each request (e.g., proxy, verify, etc.).
87
- * - http_handler: (callable) An HTTP handler is a function that
88
- * accepts a PSR-7 request object and returns a promise that is fulfilled
89
- * with a PSR-7 response object or rejected with an array of exception
90
- * data. NOTE: This option supersedes any provided "handler" option.
91
- * - profile: (string) Allows you to specify which profile to use when
92
- * credentials are created from the AWS credentials file in your HOME
93
- * directory. This setting overrides the AWS_PROFILE environment
94
- * variable. Note: Specifying "profile" will cause the "credentials" key
95
- * to be ignored.
96
- * - region: (string, required) Region to connect to. See
97
- * http://docs.aws.amazon.com/general/latest/gr/rande.html for a list of
98
- * available regions.
99
- * - retries: (int, default=int(3)) Configures the maximum number of
100
- * allowed retries for a client (pass 0 to disable retries).
101
- * - scheme: (string, default=string(5) "https") URI scheme to use when
102
- * connecting connect. The SDK will utilize "https" endpoints (i.e.,
103
- * utilize SSL/TLS connections) by default. You can attempt to connect to
104
- * a service over an unencrypted "http" endpoint by setting ``scheme`` to
105
- * "http".
106
- * - signature_provider: (callable) A callable that accepts a signature
107
- * version name (e.g., "v4"), a service name, and region, and
108
- * returns a SignatureInterface object or null. This provider is used to
109
- * create signers utilized by the client. See
110
- * Aws\Signature\SignatureProvider for a list of built-in providers
111
- * - signature_version: (string) A string representing a custom
112
- * signature version to use with a service (e.g., v4). Note that
113
- * per/operation signature version MAY override this requested signature
114
- * version.
115
- * - validate: (bool, default=bool(true)) Set to false to disable
116
- * client-side parameter validation.
117
- * - version: (string, required) The version of the webservice to
118
- * utilize (e.g., 2006-03-01).
119
- *
120
- * @param array $args Client configuration arguments.
121
- *
122
- * @throws \InvalidArgumentException if any required options are missing or
123
- * the service is not supported.
124
- */
125
- public function __construct(array $args)
126
- {
127
- list($service, $exceptionClass) = $this->parseClass();
128
- if (!isset($args['service'])) {
129
- $args['service'] = manifest($service)['endpoint'];
130
- }
131
- if (!isset($args['exception_class'])) {
132
- $args['exception_class'] = $exceptionClass;
133
- }
134
-
135
- $this->handlerList = new HandlerList();
136
- $resolver = new ClientResolver(static::getArguments());
137
- $config = $resolver->resolve($args, $this->handlerList);
138
- $this->api = $config['api'];
139
- $this->signatureProvider = $config['signature_provider'];
140
- $this->endpoint = new Uri($config['endpoint']);
141
- $this->credentialProvider = $config['credentials'];
142
- $this->region = isset($config['region']) ? $config['region'] : null;
143
- $this->config = $config['config'];
144
- $this->defaultRequestOptions = $config['http'];
145
- $this->addSignatureMiddleware();
146
-
147
- if (isset($args['with_resolved'])) {
148
- $args['with_resolved']($config);
149
- }
150
- }
151
-
152
- public function getHandlerList()
153
- {
154
- return $this->handlerList;
155
- }
156
-
157
- public function __call($name, array $args)
158
- {
159
- $params = isset($args[0]) ? $args[0] : [];
160
-
161
- if (substr($name, -5) === 'Async') {
162
- return $this->executeAsync(
163
- $this->getCommand(substr($name, 0, -5), $params)
164
- );
165
- }
166
-
167
- return $this->execute($this->getCommand($name, $params));
168
- }
169
-
170
- public function getConfig($option = null)
171
- {
172
- return $option === null
173
- ? $this->config
174
- : (isset($this->config[$option])
175
- ? $this->config[$option]
176
- : null);
177
- }
178
-
179
- public function getCredentials()
180
- {
181
- $fn = $this->credentialProvider;
182
- return $fn();
183
- }
184
-
185
- public function getEndpoint()
186
- {
187
- return $this->endpoint;
188
- }
189
-
190
- public function getRegion()
191
- {
192
- return $this->region;
193
- }
194
-
195
- public function getApi()
196
- {
197
- return $this->api;
198
- }
199
-
200
- public function execute(CommandInterface $command)
201
- {
202
- return $this->executeAsync($command)->wait();
203
- }
204
-
205
- public function executeAsync(CommandInterface $command)
206
- {
207
- $handler = $command->getHandlerList()->resolve();
208
- return $handler($command);
209
- }
210
-
211
- public function getCommand($name, array $args = [])
212
- {
213
- // Fail fast if the command cannot be found in the description.
214
- if (!isset($this->api['operations'][$name])) {
215
- $name = ucfirst($name);
216
- if (!isset($this->api['operations'][$name])) {
217
- throw new \InvalidArgumentException("Operation not found: $name");
218
- }
219
- }
220
-
221
- if (!isset($args['@http'])) {
222
- $args['@http'] = $this->defaultRequestOptions;
223
- } else {
224
- $args['@http'] += $this->defaultRequestOptions;
225
- }
226
-
227
- return new Command($name, $args, clone $this->getHandlerList());
228
- }
229
-
230
- public function getIterator($name, array $args = [])
231
- {
232
- $config = $this->api->getPaginatorConfig($name);
233
- if (!$config['result_key']) {
234
- throw new \UnexpectedValueException(sprintf(
235
- 'There are no resources to iterate for the %s operation of %s',
236
- $name, $this->api['serviceFullName']
237
- ));
238
- }
239
-
240
- $key = is_array($config['result_key'])
241
- ? $config['result_key'][0]
242
- : $config['result_key'];
243
-
244
- if ($config['output_token'] && $config['input_token']) {
245
- return $this->getPaginator($name, $args)->search($key);
246
- }
247
-
248
- $result = $this->execute($this->getCommand($name, $args))->search($key);
249
-
250
- return new \ArrayIterator((array) $result);
251
- }
252
-
253
- public function getPaginator($name, array $args = [])
254
- {
255
- $config = $this->api->getPaginatorConfig($name);
256
-
257
- return new ResultPaginator($this, $name, $args, $config);
258
- }
259
-
260
- public function waitUntil($name, array $args = [])
261
- {
262
- return $this->getWaiter($name, $args)->promise()->wait();
263
- }
264
-
265
- public function getWaiter($name, array $args = [])
266
- {
267
- $config = isset($args['@waiter']) ? $args['@waiter'] : [];
268
- $config += $this->api->getWaiterConfig($name);
269
-
270
- return new Waiter($this, $name, $args, $config);
271
- }
272
-
273
- /**
274
- * Get the signature_provider function of the client.
275
- *
276
- * @return callable
277
- */
278
- final protected function getSignatureProvider()
279
- {
280
- return $this->signatureProvider;
281
- }
282
-
283
- /**
284
- * Parse the class name and setup the custom exception class of the client
285
- * and return the "service" name of the client and "exception_class".
286
- *
287
- * @return array
288
- */
289
- private function parseClass()
290
- {
291
- $klass = get_class($this);
292
-
293
- if ($klass === __CLASS__) {
294
- return ['', 'Aws\Exception\AwsException'];
295
- }
296
-
297
- $service = substr($klass, strrpos($klass, '\\') + 1, -6);
298
-
299
- return [
300
- strtolower($service),
301
- "Aws\\{$service}\\Exception\\{$service}Exception"
302
- ];
303
- }
304
-
305
- private function addSignatureMiddleware()
306
- {
307
- // Sign requests. This may need to be modified later to support
308
- // variable signatures per/operation.
309
- $this->handlerList->appendSign(
310
- Middleware::signer(
311
- $this->credentialProvider,
312
- constantly(SignatureProvider::resolve(
313
- $this->signatureProvider,
314
- $this->config['signature_version'],
315
- $this->api->getSigningName(),
316
- $this->region
317
- ))
318
- ),
319
- 'signer'
320
- );
321
- }
322
-
323
- /**
324
- * Returns a service model and doc model with any necessary changes
325
- * applied.
326
- *
327
- * @param array $api Array of service data being documented.
328
- * @param array $docs Array of doc model data.
329
- *
330
- * @return array Tuple containing a [Service, DocModel]
331
- *
332
- * @internal This should only used to document the service API.
333
- * @codeCoverageIgnore
334
- */
335
- public static function applyDocFilters(array $api, array $docs)
336
- {
337
- return [
338
- new Service($api, ApiProvider::defaultProvider()),
339
- new DocModel($docs)
340
- ];
341
- }
342
-
343
- /**
344
- * @deprecated
345
- * @return static
346
- */
347
- public static function factory(array $config = [])
348
- {
349
- return new static($config);
350
- }
351
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/AwsClientInterface.php DELETED
@@ -1,169 +0,0 @@
1
- <?php
2
- namespace Aws;
3
-
4
- use Psr\Http\Message\UriInterface;
5
- use GuzzleHttp\Promise\PromiseInterface;
6
-
7
- /**
8
- * Represents an AWS client.
9
- */
10
- interface AwsClientInterface
11
- {
12
- /**
13
- * Creates and executes a command for an operation by name.
14
- *
15
- * Suffixing an operation name with "Async" will return a
16
- * promise that can be used to execute commands asynchronously.
17
- *
18
- * @param string $name Name of the command to execute.
19
- * @param array $arguments Arguments to pass to the getCommand method.
20
- *
21
- * @return ResultInterface
22
- * @throws \Exception
23
- */
24
- public function __call($name, array $arguments);
25
-
26
- /**
27
- * Create a command for an operation name.
28
- *
29
- * Special keys may be set on the command to control how it behaves,
30
- * including:
31
- *
32
- * - @http: Associative array of transfer specific options to apply to the
33
- * request that is serialized for this command. Available keys include
34
- * "proxy", "verify", "timeout", "connect_timeout", "debug", "delay", and
35
- * "headers".
36
- *
37
- * @param string $name Name of the operation to use in the command
38
- * @param array $args Arguments to pass to the command
39
- *
40
- * @return CommandInterface
41
- * @throws \InvalidArgumentException if no command can be found by name
42
- */
43
- public function getCommand($name, array $args = []);
44
-
45
- /**
46
- * Execute a single command.
47
- *
48
- * @param CommandInterface $command Command to execute
49
- *
50
- * @return ResultInterface
51
- * @throws \Exception
52
- */
53
- public function execute(CommandInterface $command);
54
-
55
- /**
56
- * Execute a command asynchronously.
57
- *
58
- * @param CommandInterface $command Command to execute
59
- *
60
- * @return \GuzzleHttp\Promise\PromiseInterface
61
- */
62
- public function executeAsync(CommandInterface $command);
63
-
64
- /**
65
- * Returns a promise that is fulfilled with an
66
- * {@see \Aws\Credentials\CredentialsInterface} object.
67
- *
68
- * If you need the credentials synchronously, then call the wait() method
69
- * on the returned promise.
70
- *
71
- * @return PromiseInterface
72
- */
73
- public function getCredentials();
74
-
75
- /**
76
- * Get the region to which the client is configured to send requests.
77
- *
78
- * @return string
79
- */
80
- public function getRegion();
81
-
82
- /**
83
- * Gets the default endpoint, or base URL, used by the client.
84
- *
85
- * @return UriInterface
86
- */
87
- public function getEndpoint();
88
-
89
- /**
90
- * Get the service description associated with the client.
91
- *
92
- * @return \Aws\Api\Service
93
- */
94
- public function getApi();
95
-
96
- /**
97
- * Get a client configuration value.
98
- *
99
- * @param string|null $option The option to retrieve. Pass null to retrieve
100
- * all options.
101
- * @return mixed|null
102
- */
103
- public function getConfig($option = null);
104
-
105
- /**
106
- * Get the handler list used to transfer commands.
107
- *
108
- * This list can be modified to add middleware or to change the underlying
109
- * handler used to send HTTP requests.
110
- *
111
- * @return HandlerList
112
- */
113
- public function getHandlerList();
114
-
115
- /**
116
- * Get a resource iterator for the specified operation.
117
- *
118
- * @param string $name Name of the iterator to retrieve.
119
- * @param array $args Command arguments to use with each command.
120
- *
121
- * @return \Iterator
122
- * @throws \UnexpectedValueException if the iterator config is invalid.
123
- */
124
- public function getIterator($name, array $args = []);
125
-
126
- /**
127
- * Get a result paginator for the specified operation.
128
- *
129
- * @param string $name Name of the operation used for iterator
130
- * @param array $args Command args to be used with each command
131
- *
132
- * @return \Aws\ResultPaginator
133
- * @throws \UnexpectedValueException if the iterator config is invalid.
134
- */
135
- public function getPaginator($name, array $args = []);
136
-
137
- /**
138
- * Wait until a resource is in a particular state.
139
- *
140
- * @param string|callable $name Name of the waiter that defines the wait
141
- * configuration and conditions.
142
- * @param array $args Args to be used with each command executed
143
- * by the waiter. Waiter configuration options
144
- * can be provided in an associative array in
145
- * the @waiter key.
146
- * @return void
147
- * @throws \UnexpectedValueException if the waiter is invalid.
148
- */
149
- public function waitUntil($name, array $args = []);
150
-
151
- /**
152
- * Get a waiter that waits until a resource is in a particular state.
153
- *
154
- * Retrieving a waiter can be useful when you wish to wait asynchronously:
155
- *
156
- * $waiter = $client->getWaiter('foo', ['bar' => 'baz']);
157
- * $waiter->promise()->then(function () { echo 'Done!'; });
158
- *
159
- * @param string|callable $name Name of the waiter that defines the wait
160
- * configuration and conditions.
161
- * @param array $args Args to be used with each command executed
162
- * by the waiter. Waiter configuration options
163
- * can be provided in an associative array in
164
- * the @waiter key.
165
- * @return \Aws\Waiter
166
- * @throws \UnexpectedValueException if the waiter is invalid.
167
- */
168
- public function getWaiter($name, array $args = []);
169
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/CacheInterface.php DELETED
@@ -1,34 +0,0 @@
1
- <?php
2
- namespace Aws;
3
-
4
- /**
5
- * Represents a simple cache interface.
6
- */
7
- interface CacheInterface
8
- {
9
- /**
10
- * Get a cache item by key.
11
- *
12
- * @param string $key Key to retrieve.
13
- *
14
- * @return mixed|null Returns the value or null if not found.
15
- */
16
- public function get($key);
17
-
18
- /**
19
- * Set a cache key value.
20
- *
21
- * @param string $key Key to set
22
- * @param mixed $value Value to set.
23
- * @param int $ttl Number of seconds the item is allowed to live. Set
24
- * to 0 to allow an unlimited lifetime.
25
- */
26
- public function set($key, $value, $ttl = 0);
27
-
28
- /**
29
- * Remove a cache key.
30
- *
31
- * @param string $key Key to remove.
32
- */
33
- public function remove($key);
34
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/ClientResolver.php DELETED
@@ -1,548 +0,0 @@
1
- <?php
2
- namespace Aws;
3
-
4
- use Aws\Api\Validator;
5
- use Aws\Api\ApiProvider;
6
- use Aws\Api\Service;
7
- use Aws\Credentials\Credentials;
8
- use Aws\Credentials\CredentialsInterface;
9
- use Aws\Signature\SignatureProvider;
10
- use Aws\Endpoint\EndpointProvider;
11
- use Aws\Credentials\CredentialProvider;
12
- use GuzzleHttp\Promise;
13
- use InvalidArgumentException as IAE;
14
- use Psr\Http\Message\RequestInterface;
15
-
16
- /**
17
- * @internal Resolves a hash of client arguments to construct a client.
18
- */
19
- class ClientResolver
20
- {
21
- /** @var array */
22
- private $argDefinitions;
23
-
24
- /** @var array Map of types to a corresponding function */
25
- private static $typeMap = [
26
- 'resource' => 'is_resource',
27
- 'callable' => 'is_callable',
28
- 'int' => 'is_int',
29
- 'bool' => 'is_bool',
30
- 'string' => 'is_string',
31
- 'object' => 'is_object',
32
- 'array' => 'is_array',
33
- ];
34
-
35
- private static $defaultArgs = [
36
- 'service' => [
37
- 'type' => 'value',
38
- 'valid' => ['string'],
39
- 'doc' => 'Name of the service to utilize. This value will be supplied by default when using one of the SDK clients (e.g., Aws\\S3\\S3Client).',
40
- 'required' => true,
41
- 'internal' => true
42
- ],
43
- 'exception_class' => [
44
- 'type' => 'value',
45
- 'valid' => ['string'],
46
- 'doc' => 'Exception class to create when an error occurs.',
47
- 'default' => 'Aws\Exception\AwsException',
48
- 'internal' => true
49
- ],
50
- 'scheme' => [
51
- 'type' => 'value',
52
- 'valid' => ['string'],
53
- 'default' => 'https',
54
- 'doc' => 'URI scheme to use when connecting connect. The SDK will utilize "https" endpoints (i.e., utilize SSL/TLS connections) by default. You can attempt to connect to a service over an unencrypted "http" endpoint by setting ``scheme`` to "http".',
55
- ],
56
- 'endpoint' => [
57
- 'type' => 'value',
58
- 'valid' => ['string'],
59
- 'doc' => 'The full URI of the webservice. This is only required when connecting to a custom endpoint (e.g., a local version of S3).',
60
- 'fn' => [__CLASS__, '_apply_endpoint'],
61
- ],
62
- 'region' => [
63
- 'type' => 'value',
64
- 'valid' => ['string'],
65
- 'required' => [__CLASS__, '_missing_region'],
66
- 'doc' => 'Region to connect to. See http://docs.aws.amazon.com/general/latest/gr/rande.html for a list of available regions.',
67
- ],
68
- 'version' => [
69
- 'type' => 'value',
70
- 'valid' => ['string'],
71
- 'required' => [__CLASS__, '_missing_version'],
72
- 'doc' => 'The version of the webservice to utilize (e.g., 2006-03-01).',
73
- ],
74
- 'signature_provider' => [
75
- 'type' => 'value',
76
- 'valid' => ['callable'],
77
- 'doc' => 'A callable that accepts a signature version name (e.g., "v4"), a service name, and region, and returns a SignatureInterface object or null. This provider is used to create signers utilized by the client. See Aws\\Signature\\SignatureProvider for a list of built-in providers',
78
- 'default' => [__CLASS__, '_default_signature_provider'],
79
- ],
80
- 'endpoint_provider' => [
81
- 'type' => 'value',
82
- 'valid' => ['callable'],
83
- 'fn' => [__CLASS__, '_apply_endpoint_provider'],
84
- 'doc' => 'An optional PHP callable that accepts a hash of options including a "service" and "region" key and returns NULL or a hash of endpoint data, of which the "endpoint" key is required. See Aws\\Endpoint\\EndpointProvider for a list of built-in providers.',
85
- 'default' => [__CLASS__, '_default_endpoint_provider'],
86
- ],
87
- 'api_provider' => [
88
- 'type' => 'value',
89
- 'valid' => ['callable'],
90
- 'doc' => 'An optional PHP callable that accepts a type, service, and version argument, and returns an array of corresponding configuration data. The type value can be one of api, waiter, or paginator.',
91
- 'fn' => [__CLASS__, '_apply_api_provider'],
92
- 'default' => [ApiProvider::class, 'defaultProvider'],
93
- ],
94
- 'signature_version' => [
95
- 'type' => 'config',
96
- 'valid' => ['string'],
97
- 'doc' => 'A string representing a custom signature version to use with a service (e.g., v4). Note that per/operation signature version MAY override this requested signature version.',
98
- 'default' => [__CLASS__, '_default_signature_version'],
99
- ],
100
- 'profile' => [
101
- 'type' => 'config',
102
- 'valid' => ['string'],
103
- 'doc' => 'Allows you to specify which profile to use when credentials are created from the AWS credentials file in your HOME directory. This setting overrides the AWS_PROFILE environment variable. Note: Specifying "profile" will cause the "credentials" key to be ignored.',
104
- 'fn' => [__CLASS__, '_apply_profile'],
105
- ],
106
- 'credentials' => [
107
- 'type' => 'value',
108
- 'valid' => [CredentialsInterface::class, CacheInterface::class, 'array', 'bool', 'callable'],
109
- 'doc' => 'Specifies the credentials used to sign requests. Provide an Aws\Credentials\CredentialsInterface object, an associative array of "key", "secret", and an optional "token" key, `false` to use null credentials, or a callable credentials provider used to create credentials or return null. See Aws\\Credentials\\CredentialProvider for a list of built-in credentials providers. If no credentials are provided, the SDK will attempt to load them from the environment.',
110
- 'fn' => [__CLASS__, '_apply_credentials'],
111
- 'default' => [CredentialProvider::class, 'defaultProvider'],
112
- ],
113
- 'retries' => [
114
- 'type' => 'value',
115
- 'valid' => ['int'],
116
- 'doc' => 'Configures the maximum number of allowed retries for a client (pass 0 to disable retries). ',
117
- 'fn' => [__CLASS__, '_apply_retries'],
118
- 'default' => 3,
119
- ],
120
- 'validate' => [
121
- 'type' => 'value',
122
- 'valid' => ['bool'],
123
- 'default' => true,
124
- 'doc' => 'Set to false to disable client-side parameter validation.',
125
- 'fn' => [__CLASS__, '_apply_validate'],
126
- ],
127
- 'debug' => [
128
- 'type' => 'value',
129
- 'valid' => ['bool', 'array'],
130
- 'doc' => 'Set to true to display debug information when sending requests. Alternatively, you can provide an associative array with the following keys: logfn: (callable) Function that is invoked with log messages; stream_size: (int) When the size of a stream is greater than this number, the stream data will not be logged (set to "0" to not log any stream data); scrub_auth: (bool) Set to false to disable the scrubbing of auth data from the logged messages; http: (bool) Set to false to disable the "debug" feature of lower level HTTP adapters (e.g., verbose curl output).',
131
- 'fn' => [__CLASS__, '_apply_debug'],
132
- ],
133
- 'http' => [
134
- 'type' => 'value',
135
- 'valid' => ['array'],
136
- 'default' => [],
137
- 'doc' => 'Set to an array of SDK request options to apply to each request (e.g., proxy, verify, etc.).',
138
- ],
139
- 'http_handler' => [
140
- 'type' => 'value',
141
- 'valid' => ['callable'],
142
- 'doc' => 'An HTTP handler is a function that accepts a PSR-7 request object and returns a promise that is fulfilled with a PSR-7 response object or rejected with an array of exception data. NOTE: This option supersedes any provided "handler" option.',
143
- 'fn' => [__CLASS__, '_apply_http_handler']
144
- ],
145
- 'handler' => [
146
- 'type' => 'value',
147
- 'valid' => ['callable'],
148
- 'doc' => 'A handler that accepts a command object, request object and returns a promise that is fulfilled with an Aws\ResultInterface object or rejected with an Aws\Exception\AwsException. A handler does not accept a next handler as it is terminal and expected to fulfill a command. If no handler is provided, a default Guzzle handler will be utilized.',
149
- 'fn' => [__CLASS__, '_apply_handler'],
150
- 'default' => [__CLASS__, '_default_handler']
151
- ],
152
- 'ua_append' => [
153
- 'type' => 'value',
154
- 'valid' => ['string', 'array'],
155
- 'doc' => 'Provide a string or array of strings to send in the User-Agent header.',
156
- 'fn' => [__CLASS__, '_apply_user_agent'],
157
- 'default' => [],
158
- ],
159
- ];
160
-
161
- /**
162
- * Gets an array of default client arguments, each argument containing a
163
- * hash of the following:
164
- *
165
- * - type: (string, required) option type described as follows:
166
- * - value: The default option type.
167
- * - config: The provided value is made available in the client's
168
- * getConfig() method.
169
- * - valid: (array, required) Valid PHP types or class names. Note: null
170
- * is not an allowed type.
171
- * - required: (bool, callable) Whether or not the argument is required.
172
- * Provide a function that accepts an array of arguments and returns a
173
- * string to provide a custom error message.
174
- * - default: (mixed) The default value of the argument if not provided. If
175
- * a function is provided, then it will be invoked to provide a default
176
- * value. The function is provided the array of options and is expected
177
- * to return the default value of the option.
178
- * - doc: (string) The argument documentation string.
179
- * - fn: (callable) Function used to apply the argument. The function
180
- * accepts the provided value, array of arguments by reference, and an
181
- * event emitter.
182
- *
183
- * Note: Order is honored and important when applying arguments.
184
- *
185
- * @return array
186
- */
187
- public static function getDefaultArguments()
188
- {
189
- return self::$defaultArgs;
190
- }
191
-
192
- /**
193
- * @param array $argDefinitions Client arguments.
194
- */
195
- public function __construct(array $argDefinitions)
196
- {
197
- $this->argDefinitions = $argDefinitions;
198
- }
199
-
200
- /**
201
- * Resolves client configuration options and attached event listeners.
202
- *
203
- * @param array $args Provided constructor arguments.
204
- * @param HandlerList $list Handler list to augment.
205
- *
206
- * @return array Returns the array of provided options.
207
- * @throws \InvalidArgumentException
208
- * @see Aws\AwsClient::__construct for a list of available options.
209
- */
210
- public function resolve(array $args, HandlerList $list)
211
- {
212
- $args['config'] = [];
213
- foreach ($this->argDefinitions as $key => $a) {
214
- // Add defaults, validate required values, and skip if not set.
215
- if (!isset($args[$key])) {
216
- if (isset($a['default'])) {
217
- // Merge defaults in when not present.
218
- $args[$key] = is_callable($a['default'])
219
- ? $a['default']($args)
220
- : $a['default'];
221
- } elseif (empty($a['required'])) {
222
- continue;
223
- } else {
224
- $this->throwRequired($args);
225
- }
226
- }
227
-
228
- // Validate the types against the provided value.
229
- foreach ($a['valid'] as $check) {
230
- if (isset(self::$typeMap[$check])) {
231
- $fn = self::$typeMap[$check];
232
- if ($fn($args[$key])) {
233
- goto is_valid;
234
- }
235
- } elseif ($args[$key] instanceof $check) {
236
- goto is_valid;
237
- }
238
- }
239
-
240
- $this->invalidType($key, $args[$key]);
241
-
242
- // Apply the value
243
- is_valid:
244
- if (isset($a['fn'])) {
245
- $a['fn']($args[$key], $args, $list);
246
- }
247
-
248
- if ($a['type'] === 'config') {
249
- $args['config'][$key] = $args[$key];
250
- }
251
- }
252
-
253
- return $args;
254
- }
255
-
256
- /**
257
- * Creates a verbose error message for an invalid argument.
258
- *
259
- * @param string $name Name of the argument that is missing.
260
- * @param array $args Provided arguments
261
- * @param bool $useRequired Set to true to show the required fn text if
262
- * available instead of the documentation.
263
- * @return string
264
- */
265
- private function getArgMessage($name, $args = [], $useRequired = false)
266
- {
267
- $arg = $this->argDefinitions[$name];
268
- $msg = '';
269
- $modifiers = [];
270
- if (isset($arg['valid'])) {
271
- $modifiers[] = implode('|', $arg['valid']);
272
- }
273
- if (isset($arg['choice'])) {
274
- $modifiers[] = 'One of ' . implode(', ', $arg['choice']);
275
- }
276
- if ($modifiers) {
277
- $msg .= '(' . implode('; ', $modifiers) . ')';
278
- }
279
- $msg = wordwrap("{$name}: {$msg}", 75, "\n ");
280
-
281
- if ($useRequired && is_callable($arg['required'])) {
282
- $msg .= "\n\n ";
283
- $msg .= str_replace("\n", "\n ", call_user_func($arg['required'], $args));
284
- } elseif (isset($arg['doc'])) {
285
- $msg .= wordwrap("\n\n {$arg['doc']}", 75, "\n ");
286
- }
287
-
288
- return $msg;
289
- }
290
-
291
- /**
292
- * Throw when an invalid type is encountered.
293
- *
294
- * @param string $name Name of the value being validated.
295
- * @param mixed $provided The provided value.
296
- * @throws \InvalidArgumentException
297
- */
298
- private function invalidType($name, $provided)
299
- {
300
- $expected = implode('|', $this->argDefinitions[$name]['valid']);
301
- $msg = "Invalid configuration value "
302
- . "provided for \"{$name}\". Expected {$expected}, but got "
303
- . describe_type($provided) . "\n\n"
304
- . $this->getArgMessage($name);
305
- throw new IAE($msg);
306
- }
307
-
308
- /**
309
- * Throws an exception for missing required arguments.
310
- *
311
- * @param array $args Passed in arguments.
312
- * @throws \InvalidArgumentException
313
- */
314
- private function throwRequired(array $args)
315
- {
316
- $missing = [];
317
- foreach ($this->argDefinitions as $k => $a) {
318
- if (empty($a['required'])
319
- || isset($a['default'])
320
- || array_key_exists($k, $args)
321
- ) {
322
- continue;
323
- }
324
- $missing[] = $this->getArgMessage($k, $args, true);
325
- }
326
- $msg = "Missing required client configuration options: \n\n";
327
- $msg .= implode("\n\n", $missing);
328
- throw new IAE($msg);
329
- }
330
-
331
- public static function _apply_retries($value, array &$args, HandlerList $list)
332
- {
333
- if ($value) {
334
- $decider = RetryMiddleware::createDefaultDecider($value);
335
- $list->appendSign(Middleware::retry($decider), 'retry');
336
- }
337
- }
338
-
339
- public static function _apply_credentials($value, array &$args)
340
- {
341
- if (is_callable($value)) {
342
- return;
343
- } elseif ($value instanceof CredentialsInterface) {
344
- $args['credentials'] = CredentialProvider::fromCredentials($value);
345
- } elseif (is_array($value)
346
- && isset($value['key'])
347
- && isset($value['secret'])
348
- ) {
349
- $args['credentials'] = CredentialProvider::fromCredentials(
350
- new Credentials(
351
- $value['key'],
352
- $value['secret'],
353
- isset($value['token']) ? $value['token'] : null,
354
- isset($value['expires']) ? $value['expires'] : null
355
- )
356
- );
357
- } elseif ($value === false) {
358
- $args['credentials'] = CredentialProvider::fromCredentials(
359
- new Credentials('', '')
360
- );
361
- $args['config']['signature_version'] = 'anonymous';
362
- } elseif ($value instanceof CacheInterface) {
363
- $args['credentials'] = CredentialProvider::defaultProvider($args);
364
- } else {
365
- throw new IAE('Credentials must be an instance of '
366
- . 'Aws\Credentials\CredentialsInterface, an associative '
367
- . 'array that contains "key", "secret", and an optional "token" '
368
- . 'key-value pairs, a credentials provider function, or false.');
369
- }
370
- }
371
-
372
- public static function _apply_api_provider(callable $value, array &$args, HandlerList $list)
373
- {
374
- $api = new Service(
375
- ApiProvider::resolve(
376
- $value,
377
- 'api',
378
- $args['service'],
379
- $args['version']
380
- ),
381
- $value
382
- );
383
- $args['api'] = $api;
384
- $args['serializer'] = Service::createSerializer($api, $args['endpoint']);
385
- $args['parser'] = Service::createParser($api);
386
- $args['error_parser'] = Service::createErrorParser($api->getProtocol());
387
- $list->prependBuild(Middleware::requestBuilder($args['serializer']), 'builder');
388
- }
389
-
390
- public static function _apply_endpoint_provider(callable $value, array &$args)
391
- {
392
- if (!isset($args['endpoint'])) {
393
- // Invoke the endpoint provider and throw if it does not resolve.
394
- $result = EndpointProvider::resolve($value, [
395
- 'service' => $args['service'],
396
- 'region' => $args['region'],
397
- 'scheme' => $args['scheme']
398
- ]);
399
-
400
- $args['endpoint'] = $result['endpoint'];
401
-
402
- if (isset($result['signatureVersion'])) {
403
- $args['config']['signature_version'] = $result['signatureVersion'];
404
- }
405
- }
406
- }
407
-
408
- public static function _apply_debug($value, array &$args, HandlerList $list)
409
- {
410
- if ($value !== false) {
411
- $list->interpose(new TraceMiddleware($value === true ? [] : $value));
412
- }
413
- }
414
-
415
- public static function _apply_profile($_, array &$args)
416
- {
417
- $args['credentials'] = CredentialProvider::ini($args['profile']);
418
- }
419
-
420
- public static function _apply_validate($value, array &$args, HandlerList $list)
421
- {
422
- if ($value === true) {
423
- $list->appendValidate(
424
- Middleware::validation($args['api'], new Validator()),
425
- 'validation'
426
- );
427
- }
428
- }
429
-
430
- public static function _apply_handler($value, array &$args, HandlerList $list)
431
- {
432
- $list->setHandler($value);
433
- }
434
-
435
- public static function _default_handler(array &$args)
436
- {
437
- return new WrappedHttpHandler(
438
- default_http_handler(),
439
- $args['parser'],
440
- $args['error_parser'],
441
- $args['exception_class']
442
- );
443
- }
444
-
445
- public static function _apply_http_handler($value, array &$args, HandlerList $list)
446
- {
447
- $args['handler'] = new WrappedHttpHandler(
448
- $value,
449
- $args['parser'],
450
- $args['error_parser'],
451
- $args['exception_class']
452
- );
453
- }
454
-
455
- public static function _apply_user_agent($value, array &$args, HandlerList $list)
456
- {
457
- if (!is_array($value)) {
458
- $value = [$value];
459
- }
460
-
461
- $value = array_map('strval', $value);
462
-
463
- array_unshift($value, 'aws-sdk-php/' . Sdk::VERSION);
464
- $args['ua_append'] = $value;
465
-
466
- $list->appendBuild(static function (callable $handler) use ($value) {
467
- return function (
468
- CommandInterface $command,
469
- RequestInterface $request
470
- ) use ($handler, $value) {
471
- return $handler($command, $request->withHeader(
472
- 'User-Agent',
473
- implode(' ', array_merge(
474
- $value,
475
- $request->getHeader('User-Agent')
476
- ))
477
- ));
478
- };
479
- });
480
- }
481
-
482
- public static function _apply_endpoint($value, array &$args, HandlerList $list)
483
- {
484
- $parts = parse_url($value);
485
- if (empty($parts['scheme']) || empty($parts['host'])) {
486
- throw new IAE(
487
- 'Endpoints must be full URIs and include a scheme and host'
488
- );
489
- }
490
-
491
- $args['endpoint'] = $value;
492
- }
493
-
494
- public static function _default_endpoint_provider()
495
- {
496
- return EndpointProvider::defaultProvider();
497
- }
498
-
499
- public static function _default_signature_provider()
500
- {
501
- return SignatureProvider::defaultProvider();
502
- }
503
-
504
- public static function _default_signature_version(array &$args)
505
- {
506
- return isset($args['config']['signature_version'])
507
- ? $args['config']['signature_version']
508
- : $args['api']->getSignatureVersion();
509
- }
510
-
511
- public static function _missing_version(array $args)
512
- {
513
- $service = isset($args['service']) ? $args['service'] : '';
514
- $versions = ApiProvider::defaultProvider()->getVersions($service);
515
- $versions = implode("\n", array_map(function ($v) {
516
- return "* \"$v\"";
517
- }, $versions)) ?: '* (none found)';
518
-
519
- return <<<EOT
520
- A "version" configuration value is required. Specifying a version constraint
521
- ensures that your code will not be affected by a breaking change made to the
522
- service. For example, when using Amazon S3, you can lock your API version to
523
- "2006-03-01".
524
-
525
- Your build of the SDK has the following version(s) of "{$service}": {$versions}
526
-
527
- You may provide "latest" to the "version" configuration value to utilize the
528
- most recent available API version that your client's API provider can find.
529
- Note: Using 'latest' in a production application is not recommended.
530
-
531
- A list of available API versions can be found on each client's API documentation
532
- page: http://docs.aws.amazon.com/aws-sdk-php/v3/api/index.html. If you are
533
- unable to load a specific API version, then you may need to update your copy of
534
- the SDK.
535
- EOT;
536
- }
537
-
538
- public static function _missing_region(array $args)
539
- {
540
- $service = isset($args['service']) ? $args['service'] : '';
541
-
542
- return <<<EOT
543
- A "region" configuration value is required for the "{$service}" service
544
- (e.g., "us-west-2"). A list of available public regions and endpoints can be
545
- found at http://docs.aws.amazon.com/general/latest/gr/rande.html.
546
- EOT;
547
- }
548
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/aws-sdk-php/Aws/CloudFormation/CloudFormationClient.php CHANGED
@@ -1,46 +1,78 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  namespace Aws\CloudFormation;
3
 
4
- use Aws\AwsClient;
 
 
 
 
 
5
 
6
  /**
7
- * This client is used to interact with the **AWS CloudFormation** service.
8
  *
9
- * @method \Aws\Result cancelUpdateStack(array $args = [])
10
- * @method \GuzzleHttp\Promise\Promise cancelUpdateStackAsync(array $args = [])
11
- * @method \Aws\Result createStack(array $args = [])
12
- * @method \GuzzleHttp\Promise\Promise createStackAsync(array $args = [])
13
- * @method \Aws\Result deleteStack(array $args = [])
14
- * @method \GuzzleHttp\Promise\Promise deleteStackAsync(array $args = [])
15
- * @method \Aws\Result describeAccountLimits(array $args = [])
16
- * @method \GuzzleHttp\Promise\Promise describeAccountLimitsAsync(array $args = [])
17
- * @method \Aws\Result describeStackEvents(array $args = [])
18
- * @method \GuzzleHttp\Promise\Promise describeStackEventsAsync(array $args = [])
19
- * @method \Aws\Result describeStackResource(array $args = [])
20
- * @method \GuzzleHttp\Promise\Promise describeStackResourceAsync(array $args = [])
21
- * @method \Aws\Result describeStackResources(array $args = [])
22
- * @method \GuzzleHttp\Promise\Promise describeStackResourcesAsync(array $args = [])
23
- * @method \Aws\Result describeStacks(array $args = [])
24
- * @method \GuzzleHttp\Promise\Promise describeStacksAsync(array $args = [])
25
- * @method \Aws\Result estimateTemplateCost(array $args = [])
26
- * @method \GuzzleHttp\Promise\Promise estimateTemplateCostAsync(array $args = [])
27
- * @method \Aws\Result getStackPolicy(array $args = [])
28
- * @method \GuzzleHttp\Promise\Promise getStackPolicyAsync(array $args = [])
29
- * @method \Aws\Result getTemplate(array $args = [])
30
- * @method \GuzzleHttp\Promise\Promise getTemplateAsync(array $args = [])
31
- * @method \Aws\Result getTemplateSummary(array $args = [])
32
- * @method \GuzzleHttp\Promise\Promise getTemplateSummaryAsync(array $args = [])
33
- * @method \Aws\Result listStackResources(array $args = [])
34
- * @method \GuzzleHttp\Promise\Promise listStackResourcesAsync(array $args = [])
35
- * @method \Aws\Result listStacks(array $args = [])
36
- * @method \GuzzleHttp\Promise\Promise listStacksAsync(array $args = [])
37
- * @method \Aws\Result setStackPolicy(array $args = [])
38
- * @method \GuzzleHttp\Promise\Promise setStackPolicyAsync(array $args = [])
39
- * @method \Aws\Result signalResource(array $args = [])
40
- * @method \GuzzleHttp\Promise\Promise signalResourceAsync(array $args = [])
41
- * @method \Aws\Result updateStack(array $args = [])
42
- * @method \GuzzleHttp\Promise\Promise updateStackAsync(array $args = [])
43
- * @method \Aws\Result validateTemplate(array $args = [])
44
- * @method \GuzzleHttp\Promise\Promise validateTemplateAsync(array $args = [])
45
  */
46
- class CloudFormationClient extends AwsClient {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
  namespace Aws\CloudFormation;
18
 
19
+ use Aws\Common\Client\AbstractClient;
20
+ use Aws\Common\Client\ClientBuilder;
21
+ use Aws\Common\Enum\ClientOptions as Options;
22
+ use Guzzle\Common\Collection;
23
+ use Guzzle\Service\Resource\Model;
24
+ use Guzzle\Service\Resource\ResourceIteratorInterface;
25
 
26
  /**
27
+ * Client to interact with AWS CloudFormation
28
  *
29
+ * @method Model cancelUpdateStack(array $args = array()) {@command CloudFormation CancelUpdateStack}
30
+ * @method Model createStack(array $args = array()) {@command CloudFormation CreateStack}
31
+ * @method Model deleteStack(array $args = array()) {@command CloudFormation DeleteStack}
32
+ * @method Model describeAccountLimits(array $args = array()) {@command CloudFormation DescribeAccountLimits}
33
+ * @method Model describeStackEvents(array $args = array()) {@command CloudFormation DescribeStackEvents}
34
+ * @method Model describeStackResource(array $args = array()) {@command CloudFormation DescribeStackResource}
35
+ * @method Model describeStackResources(array $args = array()) {@command CloudFormation DescribeStackResources}
36
+ * @method Model describeStacks(array $args = array()) {@command CloudFormation DescribeStacks}
37
+ * @method Model estimateTemplateCost(array $args = array()) {@command CloudFormation EstimateTemplateCost}
38
+ * @method Model getStackPolicy(array $args = array()) {@command CloudFormation GetStackPolicy}
39
+ * @method Model getTemplate(array $args = array()) {@command CloudFormation GetTemplate}
40
+ * @method Model getTemplateSummary(array $args = array()) {@command CloudFormation GetTemplateSummary}
41
+ * @method Model listStackResources(array $args = array()) {@command CloudFormation ListStackResources}
42
+ * @method Model listStacks(array $args = array()) {@command CloudFormation ListStacks}
43
+ * @method Model setStackPolicy(array $args = array()) {@command CloudFormation SetStackPolicy}
44
+ * @method Model signalResource(array $args = array()) {@command CloudFormation SignalResource}
45
+ * @method Model updateStack(array $args = array()) {@command CloudFormation UpdateStack}
46
+ * @method Model validateTemplate(array $args = array()) {@command CloudFormation ValidateTemplate}
47
+ * @method ResourceIteratorInterface getDescribeStackEventsIterator(array $args = array()) The input array uses the parameters of the DescribeStackEvents operation
48
+ * @method ResourceIteratorInterface getDescribeStackResourcesIterator(array $args = array()) The input array uses the parameters of the DescribeStackResources operation
49
+ * @method ResourceIteratorInterface getDescribeStacksIterator(array $args = array()) The input array uses the parameters of the DescribeStacks operation
50
+ * @method ResourceIteratorInterface getListStackResourcesIterator(array $args = array()) The input array uses the parameters of the ListStackResources operation
51
+ * @method ResourceIteratorInterface getListStacksIterator(array $args = array()) The input array uses the parameters of the ListStacks operation
52
+ *
53
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-cloudformation.html User guide
54
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.CloudFormation.CloudFormationClient.html API docs
 
 
 
 
 
 
 
 
 
 
55
  */
56
+ class CloudFormationClient extends AbstractClient
57
+ {
58
+ const LATEST_API_VERSION = '2010-05-15';
59
+
60
+ /**
61
+ * Factory method to create a new AWS CloudFormation client using an array of configuration options.
62
+ *
63
+ * @param array|Collection $config Client configuration data
64
+ *
65
+ * @return self
66
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options
67
+ */
68
+ public static function factory($config = array())
69
+ {
70
+ return ClientBuilder::factory(__NAMESPACE__)
71
+ ->setConfig($config)
72
+ ->setConfigDefaults(array(
73
+ Options::VERSION => self::LATEST_API_VERSION,
74
+ Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/cloudformation-%s.php'
75
+ ))
76
+ ->build();
77
+ }
78
+ }
lib/aws-sdk-php/Aws/CloudFormation/Enum/Capability.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFormation\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable Capability values
23
+ */
24
+ class Capability extends Enum
25
+ {
26
+ const CAPABILITY_IAM = 'CAPABILITY_IAM';
27
+ }
lib/aws-sdk-php/Aws/CloudFormation/Enum/OnFailure.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFormation\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable OnFailure values
23
+ */
24
+ class OnFailure extends Enum
25
+ {
26
+ const DO_NOTHING = 'DO_NOTHING';
27
+ const ROLLBACK = 'ROLLBACK';
28
+ const DELETE = 'DELETE';
29
+ }
lib/aws-sdk-php/Aws/CloudFormation/Enum/ResourceStatus.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFormation\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable ResourceStatus values
23
+ */
24
+ class ResourceStatus extends Enum
25
+ {
26
+ const CREATE_IN_PROGRESS = 'CREATE_IN_PROGRESS';
27
+ const CREATE_FAILED = 'CREATE_FAILED';
28
+ const CREATE_COMPLETE = 'CREATE_COMPLETE';
29
+ const DELETE_IN_PROGRESS = 'DELETE_IN_PROGRESS';
30
+ const DELETE_FAILED = 'DELETE_FAILED';
31
+ const DELETE_COMPLETE = 'DELETE_COMPLETE';
32
+ const UPDATE_IN_PROGRESS = 'UPDATE_IN_PROGRESS';
33
+ const UPDATE_FAILED = 'UPDATE_FAILED';
34
+ const UPDATE_COMPLETE = 'UPDATE_COMPLETE';
35
+ }
lib/aws-sdk-php/Aws/CloudFormation/Enum/StackStatus.php ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFormation\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable StackStatus values
23
+ */
24
+ class StackStatus extends Enum
25
+ {
26
+ const CREATE_IN_PROGRESS = 'CREATE_IN_PROGRESS';
27
+ const CREATE_FAILED = 'CREATE_FAILED';
28
+ const CREATE_COMPLETE = 'CREATE_COMPLETE';
29
+ const ROLLBACK_IN_PROGRESS = 'ROLLBACK_IN_PROGRESS';
30
+ const ROLLBACK_FAILED = 'ROLLBACK_FAILED';
31
+ const ROLLBACK_COMPLETE = 'ROLLBACK_COMPLETE';
32
+ const DELETE_IN_PROGRESS = 'DELETE_IN_PROGRESS';
33
+ const DELETE_FAILED = 'DELETE_FAILED';
34
+ const DELETE_COMPLETE = 'DELETE_COMPLETE';
35
+ const UPDATE_IN_PROGRESS = 'UPDATE_IN_PROGRESS';
36
+ const UPDATE_COMPLETE_CLEANUP_IN_PROGRESS = 'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS';
37
+ const UPDATE_COMPLETE = 'UPDATE_COMPLETE';
38
+ const UPDATE_ROLLBACK_IN_PROGRESS = 'UPDATE_ROLLBACK_IN_PROGRESS';
39
+ const UPDATE_ROLLBACK_FAILED = 'UPDATE_ROLLBACK_FAILED';
40
+ const UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS = 'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS';
41
+ const UPDATE_ROLLBACK_COMPLETE = 'UPDATE_ROLLBACK_COMPLETE';
42
+ }
lib/aws-sdk-php/Aws/CloudFormation/Exception/AlreadyExistsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFormation\Exception;
18
+
19
+ /**
20
+ * Resource with the name requested already exists.
21
+ */
22
+ class AlreadyExistsException extends CloudFormationException {}
lib/aws-sdk-php/Aws/CloudFormation/Exception/CloudFormationException.php CHANGED
@@ -1,9 +1,24 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  namespace Aws\CloudFormation\Exception;
3
 
4
- use Aws\Exception\AwsException;
5
 
6
  /**
7
- * Represents an error interacting with the AWS CloudFormation service.
8
  */
9
- class CloudFormationException extends AwsException {}
1
  <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
  namespace Aws\CloudFormation\Exception;
18
 
19
+ use Aws\Common\Exception\ServiceResponseException;
20
 
21
  /**
22
+ * Default service exception class
23
  */
24
+ class CloudFormationException extends ServiceResponseException {}
lib/aws-sdk-php/Aws/CloudFormation/Exception/InsufficientCapabilitiesException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFormation\Exception;
18
+
19
+ /**
20
+ * The template contains resources with capabilities that were not specified in the Capabilities parameter.
21
+ */
22
+ class InsufficientCapabilitiesException extends CloudFormationException {}
lib/aws-sdk-php/Aws/CloudFormation/Exception/LimitExceededException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFormation\Exception;
18
+
19
+ /**
20
+ * Quota for the resource has already been reached.
21
+ */
22
+ class LimitExceededException extends CloudFormationException {}
lib/aws-sdk-php/Aws/CloudFormation/Resources/cloudformation-2010-05-15.php ADDED
@@ -0,0 +1,1389 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ return array (
18
+ 'apiVersion' => '2010-05-15',
19
+ 'endpointPrefix' => 'cloudformation',
20
+ 'serviceFullName' => 'AWS CloudFormation',
21
+ 'serviceType' => 'query',
22
+ 'resultWrapped' => true,
23
+ 'signatureVersion' => 'v4',
24
+ 'namespace' => 'CloudFormation',
25
+ 'regions' => array(
26
+ 'us-east-1' => array(
27
+ 'http' => false,
28
+ 'https' => true,
29
+ 'hostname' => 'cloudformation.us-east-1.amazonaws.com',
30
+ ),
31
+ 'us-west-1' => array(
32
+ 'http' => false,
33
+ 'https' => true,
34
+ 'hostname' => 'cloudformation.us-west-1.amazonaws.com',
35
+ ),
36
+ 'us-west-2' => array(
37
+ 'http' => false,
38
+ 'https' => true,
39
+ 'hostname' => 'cloudformation.us-west-2.amazonaws.com',
40
+ ),
41
+ 'eu-west-1' => array(
42
+ 'http' => false,
43
+ 'https' => true,
44
+ 'hostname' => 'cloudformation.eu-west-1.amazonaws.com',
45
+ ),
46
+ 'ap-northeast-1' => array(
47
+ 'http' => false,
48
+ 'https' => true,
49
+ 'hostname' => 'cloudformation.ap-northeast-1.amazonaws.com',
50
+ ),
51
+ 'ap-southeast-1' => array(
52
+ 'http' => false,
53
+ 'https' => true,
54
+ 'hostname' => 'cloudformation.ap-southeast-1.amazonaws.com',
55
+ ),
56
+ 'ap-southeast-2' => array(
57
+ 'http' => false,
58
+ 'https' => true,
59
+ 'hostname' => 'cloudformation.ap-southeast-2.amazonaws.com',
60
+ ),
61
+ 'sa-east-1' => array(
62
+ 'http' => false,
63
+ 'https' => true,
64
+ 'hostname' => 'cloudformation.sa-east-1.amazonaws.com',
65
+ ),
66
+ 'cn-north-1' => array(
67
+ 'http' => false,
68
+ 'https' => true,
69
+ 'hostname' => 'cloudformation.cn-north-1.amazonaws.com.cn',
70
+ ),
71
+ 'us-gov-west-1' => array(
72
+ 'http' => false,
73
+ 'https' => true,
74
+ 'hostname' => 'cloudformation.us-gov-west-1.amazonaws.com',
75
+ ),
76
+ ),
77
+ 'operations' => array(
78
+ 'CancelUpdateStack' => array(
79
+ 'httpMethod' => 'POST',
80
+ 'uri' => '/',
81
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
82
+ 'responseClass' => 'EmptyOutput',
83
+ 'responseType' => 'model',
84
+ 'parameters' => array(
85
+ 'Action' => array(
86
+ 'static' => true,
87
+ 'location' => 'aws.query',
88
+ 'default' => 'CancelUpdateStack',
89
+ ),
90
+ 'Version' => array(
91
+ 'static' => true,
92
+ 'location' => 'aws.query',
93
+ 'default' => '2010-05-15',
94
+ ),
95
+ 'StackName' => array(
96
+ 'required' => true,
97
+ 'type' => 'string',
98
+ 'location' => 'aws.query',
99
+ ),
100
+ ),
101
+ ),
102
+ 'CreateStack' => array(
103
+ 'httpMethod' => 'POST',
104
+ 'uri' => '/',
105
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
106
+ 'responseClass' => 'CreateStackOutput',
107
+ 'responseType' => 'model',
108
+ 'parameters' => array(
109
+ 'Action' => array(
110
+ 'static' => true,
111
+ 'location' => 'aws.query',
112
+ 'default' => 'CreateStack',
113
+ ),
114
+ 'Version' => array(
115
+ 'static' => true,
116
+ 'location' => 'aws.query',
117
+ 'default' => '2010-05-15',
118
+ ),
119
+ 'StackName' => array(
120
+ 'required' => true,
121
+ 'type' => 'string',
122
+ 'location' => 'aws.query',
123
+ ),
124
+ 'TemplateBody' => array(
125
+ 'type' => 'string',
126
+ 'location' => 'aws.query',
127
+ 'minLength' => 1,
128
+ ),
129
+ 'TemplateURL' => array(
130
+ 'type' => 'string',
131
+ 'location' => 'aws.query',
132
+ 'minLength' => 1,
133
+ ),
134
+ 'Parameters' => array(
135
+ 'type' => 'array',
136
+ 'location' => 'aws.query',
137
+ 'sentAs' => 'Parameters.member',
138
+ 'items' => array(
139
+ 'name' => 'Parameter',
140
+ 'type' => 'object',
141
+ 'properties' => array(
142
+ 'ParameterKey' => array(
143
+ 'type' => 'string',
144
+ ),
145
+ 'ParameterValue' => array(
146
+ 'type' => 'string',
147
+ ),
148
+ 'UsePreviousValue' => array(
149
+ 'type' => 'boolean',
150
+ 'format' => 'boolean-string',
151
+ ),
152
+ ),
153
+ ),
154
+ ),
155
+ 'DisableRollback' => array(
156
+ 'type' => 'boolean',
157
+ 'format' => 'boolean-string',
158
+ 'location' => 'aws.query',
159
+ ),
160
+ 'TimeoutInMinutes' => array(
161
+ 'type' => 'numeric',
162
+ 'location' => 'aws.query',
163
+ 'minimum' => 1,
164
+ ),
165
+ 'NotificationARNs' => array(
166
+ 'type' => 'array',
167
+ 'location' => 'aws.query',
168
+ 'sentAs' => 'NotificationARNs.member',
169
+ 'maxItems' => 5,
170
+ 'items' => array(
171
+ 'name' => 'NotificationARN',
172
+ 'type' => 'string',
173
+ ),
174
+ ),
175
+ 'Capabilities' => array(
176
+ 'type' => 'array',
177
+ 'location' => 'aws.query',
178
+ 'sentAs' => 'Capabilities.member',
179
+ 'items' => array(
180
+ 'name' => 'Capability',
181
+ 'type' => 'string',
182
+ ),
183
+ ),
184
+ 'ResourceTypes' => array(
185
+ 'type' => 'array',
186
+ 'location' => 'aws.query',
187
+ 'sentAs' => 'ResourceTypes.member',
188
+ 'items' => array(
189
+ 'name' => 'ResourceType',
190
+ 'type' => 'string',
191
+ ),
192
+ ),
193
+ 'OnFailure' => array(
194
+ 'type' => 'string',
195
+ 'location' => 'aws.query',
196
+ ),
197
+ 'StackPolicyBody' => array(
198
+ 'type' => 'string',
199
+ 'location' => 'aws.query',
200
+ 'minLength' => 1,
201
+ ),
202
+ 'StackPolicyURL' => array(
203
+ 'type' => 'string',
204
+ 'location' => 'aws.query',
205
+ 'minLength' => 1,
206
+ ),
207
+ 'Tags' => array(
208
+ 'type' => 'array',
209
+ 'location' => 'aws.query',
210
+ 'sentAs' => 'Tags.member',
211
+ 'items' => array(
212
+ 'name' => 'Tag',
213
+ 'type' => 'object',
214
+ 'properties' => array(
215
+ 'Key' => array(
216
+ 'type' => 'string',
217
+ ),
218
+ 'Value' => array(
219
+ 'type' => 'string',
220
+ ),
221
+ ),
222
+ ),
223
+ ),
224
+ ),
225
+ 'errorResponses' => array(
226
+ array(
227
+ 'reason' => 'Quota for the resource has already been reached.',
228
+ 'class' => 'LimitExceededException',
229
+ ),
230
+ array(
231
+ 'reason' => 'Resource with the name requested already exists.',
232
+ 'class' => 'AlreadyExistsException',
233
+ ),
234
+ array(
235
+ 'reason' => 'The template contains resources with capabilities that were not specified in the Capabilities parameter.',
236
+ 'class' => 'InsufficientCapabilitiesException',
237
+ ),
238
+ ),
239
+ ),
240
+ 'DeleteStack' => array(
241
+ 'httpMethod' => 'POST',
242
+ 'uri' => '/',
243
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
244
+ 'responseClass' => 'EmptyOutput',
245
+ 'responseType' => 'model',
246
+ 'parameters' => array(
247
+ 'Action' => array(
248
+ 'static' => true,
249
+ 'location' => 'aws.query',
250
+ 'default' => 'DeleteStack',
251
+ ),
252
+ 'Version' => array(
253
+ 'static' => true,
254
+ 'location' => 'aws.query',
255
+ 'default' => '2010-05-15',
256
+ ),
257
+ 'StackName' => array(
258
+ 'required' => true,
259
+ 'type' => 'string',
260
+ 'location' => 'aws.query',
261
+ ),
262
+ ),
263
+ ),
264
+ 'DescribeAccountLimits' => array(
265
+ 'httpMethod' => 'POST',
266
+ 'uri' => '/',
267
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
268
+ 'responseClass' => 'DescribeAccountLimitsOutput',
269
+ 'responseType' => 'model',
270
+ 'parameters' => array(
271
+ 'Action' => array(
272
+ 'static' => true,
273
+ 'location' => 'aws.query',
274
+ 'default' => 'DescribeAccountLimits',
275
+ ),
276
+ 'Version' => array(
277
+ 'static' => true,
278
+ 'location' => 'aws.query',
279
+ 'default' => '2010-05-15',
280
+ ),
281
+ 'NextToken' => array(
282
+ 'type' => 'string',
283
+ 'location' => 'aws.query',
284
+ 'minLength' => 1,
285
+ ),
286
+ ),
287
+ ),
288
+ 'DescribeStackEvents' => array(
289
+ 'httpMethod' => 'POST',
290
+ 'uri' => '/',
291
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
292
+ 'responseClass' => 'DescribeStackEventsOutput',
293
+ 'responseType' => 'model',
294
+ 'parameters' => array(
295
+ 'Action' => array(
296
+ 'static' => true,
297
+ 'location' => 'aws.query',
298
+ 'default' => 'DescribeStackEvents',
299
+ ),
300
+ 'Version' => array(
301
+ 'static' => true,
302
+ 'location' => 'aws.query',
303
+ 'default' => '2010-05-15',
304
+ ),
305
+ 'StackName' => array(
306
+ 'type' => 'string',
307
+ 'location' => 'aws.query',
308
+ ),
309
+ 'NextToken' => array(
310
+ 'type' => 'string',
311
+ 'location' => 'aws.query',
312
+ 'minLength' => 1,
313
+ ),
314
+ ),
315
+ ),
316
+ 'DescribeStackResource' => array(
317
+ 'httpMethod' => 'POST',
318
+ 'uri' => '/',
319
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
320
+ 'responseClass' => 'DescribeStackResourceOutput',
321
+ 'responseType' => 'model',
322
+ 'parameters' => array(
323
+ 'Action' => array(
324
+ 'static' => true,
325
+ 'location' => 'aws.query',
326
+ 'default' => 'DescribeStackResource',
327
+ ),
328
+ 'Version' => array(
329
+ 'static' => true,
330
+ 'location' => 'aws.query',
331
+ 'default' => '2010-05-15',
332
+ ),
333
+ 'StackName' => array(
334
+ 'required' => true,
335
+ 'type' => 'string',
336
+ 'location' => 'aws.query',
337
+ ),
338
+ 'LogicalResourceId' => array(
339
+ 'required' => true,
340
+ 'type' => 'string',
341
+ 'location' => 'aws.query',
342
+ ),
343
+ ),
344
+ ),
345
+ 'DescribeStackResources' => array(
346
+ 'httpMethod' => 'POST',
347
+ 'uri' => '/',
348
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
349
+ 'responseClass' => 'DescribeStackResourcesOutput',
350
+ 'responseType' => 'model',
351
+ 'parameters' => array(
352
+ 'Action' => array(
353
+ 'static' => true,
354
+ 'location' => 'aws.query',
355
+ 'default' => 'DescribeStackResources',
356
+ ),
357
+ 'Version' => array(
358
+ 'static' => true,
359
+ 'location' => 'aws.query',
360
+ 'default' => '2010-05-15',
361
+ ),
362
+ 'StackName' => array(
363
+ 'type' => 'string',
364
+ 'location' => 'aws.query',
365
+ ),
366
+ 'LogicalResourceId' => array(
367
+ 'type' => 'string',
368
+ 'location' => 'aws.query',
369
+ ),
370
+ 'PhysicalResourceId' => array(
371
+ 'type' => 'string',
372
+ 'location' => 'aws.query',
373
+ ),
374
+ ),
375
+ ),
376
+ 'DescribeStacks' => array(
377
+ 'httpMethod' => 'POST',
378
+ 'uri' => '/',
379
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
380
+ 'responseClass' => 'DescribeStacksOutput',
381
+ 'responseType' => 'model',
382
+ 'parameters' => array(
383
+ 'Action' => array(
384
+ 'static' => true,
385
+ 'location' => 'aws.query',
386
+ 'default' => 'DescribeStacks',
387
+ ),
388
+ 'Version' => array(
389
+ 'static' => true,
390
+ 'location' => 'aws.query',
391
+ 'default' => '2010-05-15',
392
+ ),
393
+ 'StackName' => array(
394
+ 'type' => 'string',
395
+ 'location' => 'aws.query',
396
+ ),
397
+ 'NextToken' => array(
398
+ 'type' => 'string',
399
+ 'location' => 'aws.query',
400
+ 'minLength' => 1,
401
+ ),
402
+ ),
403
+ ),
404
+ 'EstimateTemplateCost' => array(
405
+ 'httpMethod' => 'POST',
406
+ 'uri' => '/',
407
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
408
+ 'responseClass' => 'EstimateTemplateCostOutput',
409
+ 'responseType' => 'model',
410
+ 'parameters' => array(
411
+ 'Action' => array(
412
+ 'static' => true,
413
+ 'location' => 'aws.query',
414
+ 'default' => 'EstimateTemplateCost',
415
+ ),
416
+ 'Version' => array(
417
+ 'static' => true,
418
+ 'location' => 'aws.query',
419
+ 'default' => '2010-05-15',
420
+ ),
421
+ 'TemplateBody' => array(
422
+ 'type' => 'string',
423
+ 'location' => 'aws.query',
424
+ 'minLength' => 1,
425
+ ),
426
+ 'TemplateURL' => array(
427
+ 'type' => 'string',
428
+ 'location' => 'aws.query',
429
+ 'minLength' => 1,
430
+ ),
431
+ 'Parameters' => array(
432
+ 'type' => 'array',
433
+ 'location' => 'aws.query',
434
+ 'sentAs' => 'Parameters.member',
435
+ 'items' => array(
436
+ 'name' => 'Parameter',
437
+ 'type' => 'object',
438
+ 'properties' => array(
439
+ 'ParameterKey' => array(
440
+ 'type' => 'string',
441
+ ),
442
+ 'ParameterValue' => array(
443
+ 'type' => 'string',
444
+ ),
445
+ 'UsePreviousValue' => array(
446
+ 'type' => 'boolean',
447
+ 'format' => 'boolean-string',
448
+ ),
449
+ ),
450
+ ),
451
+ ),
452
+ ),
453
+ ),
454
+ 'GetStackPolicy' => array(
455
+ 'httpMethod' => 'POST',
456
+ 'uri' => '/',
457
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
458
+ 'responseClass' => 'GetStackPolicyOutput',
459
+ 'responseType' => 'model',
460
+ 'parameters' => array(
461
+ 'Action' => array(
462
+ 'static' => true,
463
+ 'location' => 'aws.query',
464
+ 'default' => 'GetStackPolicy',
465
+ ),
466
+ 'Version' => array(
467
+ 'static' => true,
468
+ 'location' => 'aws.query',
469
+ 'default' => '2010-05-15',
470
+ ),
471
+ 'StackName' => array(
472
+ 'required' => true,
473
+ 'type' => 'string',
474
+ 'location' => 'aws.query',
475
+ ),
476
+ ),
477
+ ),
478
+ 'GetTemplate' => array(
479
+ 'httpMethod' => 'POST',
480
+ 'uri' => '/',
481
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
482
+ 'responseClass' => 'GetTemplateOutput',
483
+ 'responseType' => 'model',
484
+ 'parameters' => array(
485
+ 'Action' => array(
486
+ 'static' => true,
487
+ 'location' => 'aws.query',
488
+ 'default' => 'GetTemplate',
489
+ ),
490
+ 'Version' => array(
491
+ 'static' => true,
492
+ 'location' => 'aws.query',
493
+ 'default' => '2010-05-15',
494
+ ),
495
+ 'StackName' => array(
496
+ 'required' => true,
497
+ 'type' => 'string',
498
+ 'location' => 'aws.query',
499
+ ),
500
+ ),
501
+ ),
502
+ 'GetTemplateSummary' => array(
503
+ 'httpMethod' => 'POST',
504
+ 'uri' => '/',
505
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
506
+ 'responseClass' => 'GetTemplateSummaryOutput',
507
+ 'responseType' => 'model',
508
+ 'parameters' => array(
509
+ 'Action' => array(
510
+ 'static' => true,
511
+ 'location' => 'aws.query',
512
+ 'default' => 'GetTemplateSummary',
513
+ ),
514
+ 'Version' => array(
515
+ 'static' => true,
516
+ 'location' => 'aws.query',
517
+ 'default' => '2010-05-15',
518
+ ),
519
+ 'TemplateBody' => array(
520
+ 'type' => 'string',
521
+ 'location' => 'aws.query',
522
+ 'minLength' => 1,
523
+ ),
524
+ 'TemplateURL' => array(
525
+ 'type' => 'string',
526
+ 'location' => 'aws.query',
527
+ 'minLength' => 1,
528
+ ),
529
+ 'StackName' => array(
530
+ 'type' => 'string',
531
+ 'location' => 'aws.query',
532
+ 'minLength' => 1,
533
+ ),
534
+ ),
535
+ ),
536
+ 'ListStackResources' => array(
537
+ 'httpMethod' => 'POST',
538
+ 'uri' => '/',
539
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
540
+ 'responseClass' => 'ListStackResourcesOutput',
541
+ 'responseType' => 'model',
542
+ 'parameters' => array(
543
+ 'Action' => array(
544
+ 'static' => true,
545
+ 'location' => 'aws.query',
546
+ 'default' => 'ListStackResources',
547
+ ),
548
+ 'Version' => array(
549
+ 'static' => true,
550
+ 'location' => 'aws.query',
551
+ 'default' => '2010-05-15',
552
+ ),
553
+ 'StackName' => array(
554
+ 'required' => true,
555
+ 'type' => 'string',
556
+ 'location' => 'aws.query',
557
+ ),
558
+ 'NextToken' => array(
559
+ 'type' => 'string',
560
+ 'location' => 'aws.query',
561
+ 'minLength' => 1,
562
+ ),
563
+ ),
564
+ ),
565
+ 'ListStacks' => array(
566
+ 'httpMethod' => 'POST',
567
+ 'uri' => '/',
568
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
569
+ 'responseClass' => 'ListStacksOutput',
570
+ 'responseType' => 'model',
571
+ 'parameters' => array(
572
+ 'Action' => array(
573
+ 'static' => true,
574
+ 'location' => 'aws.query',
575
+ 'default' => 'ListStacks',
576
+ ),
577
+ 'Version' => array(
578
+ 'static' => true,
579
+ 'location' => 'aws.query',
580
+ 'default' => '2010-05-15',
581
+ ),
582
+ 'NextToken' => array(
583
+ 'type' => 'string',
584
+ 'location' => 'aws.query',
585
+ 'minLength' => 1,
586
+ ),
587
+ 'StackStatusFilter' => array(
588
+ 'type' => 'array',
589
+ 'location' => 'aws.query',
590
+ 'sentAs' => 'StackStatusFilter.member',
591
+ 'items' => array(
592
+ 'name' => 'StackStatus',
593
+ 'type' => 'string',
594
+ ),
595
+ ),
596
+ ),
597
+ ),
598
+ 'SetStackPolicy' => array(
599
+ 'httpMethod' => 'POST',
600
+ 'uri' => '/',
601
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
602
+ 'responseClass' => 'EmptyOutput',
603
+ 'responseType' => 'model',
604
+ 'parameters' => array(
605
+ 'Action' => array(
606
+ 'static' => true,
607
+ 'location' => 'aws.query',
608
+ 'default' => 'SetStackPolicy',
609
+ ),
610
+ 'Version' => array(
611
+ 'static' => true,
612
+ 'location' => 'aws.query',
613
+ 'default' => '2010-05-15',
614
+ ),
615
+ 'StackName' => array(
616
+ 'required' => true,
617
+ 'type' => 'string',
618
+ 'location' => 'aws.query',
619
+ ),
620
+ 'StackPolicyBody' => array(
621
+ 'type' => 'string',
622
+ 'location' => 'aws.query',
623
+ 'minLength' => 1,
624
+ ),
625
+ 'StackPolicyURL' => array(
626
+ 'type' => 'string',
627
+ 'location' => 'aws.query',
628
+ 'minLength' => 1,
629
+ ),
630
+ ),
631
+ ),
632
+ 'SignalResource' => array(
633
+ 'httpMethod' => 'POST',
634
+ 'uri' => '/',
635
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
636
+ 'responseClass' => 'EmptyOutput',
637
+ 'responseType' => 'model',
638
+ 'parameters' => array(
639
+ 'Action' => array(
640
+ 'static' => true,
641
+ 'location' => 'aws.query',
642
+ 'default' => 'SignalResource',
643
+ ),
644
+ 'Version' => array(
645
+ 'static' => true,
646
+ 'location' => 'aws.query',
647
+ 'default' => '2010-05-15',
648
+ ),
649
+ 'StackName' => array(
650
+ 'required' => true,
651
+ 'type' => 'string',
652
+ 'location' => 'aws.query',
653
+ 'minLength' => 1,
654
+ ),
655
+ 'LogicalResourceId' => array(
656
+ 'required' => true,
657
+ 'type' => 'string',
658
+ 'location' => 'aws.query',
659
+ ),
660
+ 'UniqueId' => array(
661
+ 'required' => true,
662
+ 'type' => 'string',
663
+ 'location' => 'aws.query',
664
+ 'minLength' => 1,
665
+ ),
666
+ 'Status' => array(
667
+ 'required' => true,
668
+ 'type' => 'string',
669
+ 'location' => 'aws.query',
670
+ ),
671
+ ),
672
+ ),
673
+ 'UpdateStack' => array(
674
+ 'httpMethod' => 'POST',
675
+ 'uri' => '/',
676
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
677
+ 'responseClass' => 'UpdateStackOutput',
678
+ 'responseType' => 'model',
679
+ 'parameters' => array(
680
+ 'Action' => array(
681
+ 'static' => true,
682
+ 'location' => 'aws.query',
683
+ 'default' => 'UpdateStack',
684
+ ),
685
+ 'Version' => array(
686
+ 'static' => true,
687
+ 'location' => 'aws.query',
688
+ 'default' => '2010-05-15',
689
+ ),
690
+ 'StackName' => array(
691
+ 'required' => true,
692
+ 'type' => 'string',
693
+ 'location' => 'aws.query',
694
+ ),
695
+ 'TemplateBody' => array(
696
+ 'type' => 'string',
697
+ 'location' => 'aws.query',
698
+ 'minLength' => 1,
699
+ ),
700
+ 'TemplateURL' => array(
701
+ 'type' => 'string',
702
+ 'location' => 'aws.query',
703
+ 'minLength' => 1,
704
+ ),
705
+ 'UsePreviousTemplate' => array(
706
+ 'type' => 'boolean',
707
+ 'format' => 'boolean-string',
708
+ 'location' => 'aws.query',
709
+ ),
710
+ 'StackPolicyDuringUpdateBody' => array(
711
+ 'type' => 'string',
712
+ 'location' => 'aws.query',
713
+ 'minLength' => 1,
714
+ ),
715
+ 'StackPolicyDuringUpdateURL' => array(
716
+ 'type' => 'string',
717
+ 'location' => 'aws.query',
718
+ 'minLength' => 1,
719
+ ),
720
+ 'Parameters' => array(
721
+ 'type' => 'array',
722
+ 'location' => 'aws.query',
723
+ 'sentAs' => 'Parameters.member',
724
+ 'items' => array(
725
+ 'name' => 'Parameter',
726
+ 'type' => 'object',
727
+ 'properties' => array(
728
+ 'ParameterKey' => array(
729
+ 'type' => 'string',
730
+ ),
731
+ 'ParameterValue' => array(
732
+ 'type' => 'string',
733
+ ),
734
+ 'UsePreviousValue' => array(
735
+ 'type' => 'boolean',
736
+ 'format' => 'boolean-string',
737
+ ),
738
+ ),
739
+ ),
740
+ ),
741
+ 'Capabilities' => array(
742
+ 'type' => 'array',
743
+ 'location' => 'aws.query',
744
+ 'sentAs' => 'Capabilities.member',
745
+ 'items' => array(
746
+ 'name' => 'Capability',
747
+ 'type' => 'string',
748
+ ),
749
+ ),
750
+ 'ResourceTypes' => array(
751
+ 'type' => 'array',
752
+ 'location' => 'aws.query',
753
+ 'sentAs' => 'ResourceTypes.member',
754
+ 'items' => array(
755
+ 'name' => 'ResourceType',
756
+ 'type' => 'string',
757
+ ),
758
+ ),
759
+ 'StackPolicyBody' => array(
760
+ 'type' => 'string',
761
+ 'location' => 'aws.query',
762
+ 'minLength' => 1,
763
+ ),
764
+ 'StackPolicyURL' => array(
765
+ 'type' => 'string',
766
+ 'location' => 'aws.query',
767
+ 'minLength' => 1,
768
+ ),
769
+ 'NotificationARNs' => array(
770
+ 'type' => 'array',
771
+ 'location' => 'aws.query',
772
+ 'sentAs' => 'NotificationARNs.member',
773
+ 'maxItems' => 5,
774
+ 'items' => array(
775
+ 'name' => 'NotificationARN',
776
+ 'type' => 'string',
777
+ ),
778
+ ),
779
+ ),
780
+ 'errorResponses' => array(
781
+ array(
782
+ 'reason' => 'The template contains resources with capabilities that were not specified in the Capabilities parameter.',
783
+ 'class' => 'InsufficientCapabilitiesException',
784
+ ),
785
+ ),
786
+ ),
787
+ 'ValidateTemplate' => array(
788
+ 'httpMethod' => 'POST',
789
+ 'uri' => '/',
790
+ 'class' => 'Aws\\Common\\Command\\QueryCommand',
791
+ 'responseClass' => 'ValidateTemplateOutput',
792
+ 'responseType' => 'model',
793
+ 'parameters' => array(
794
+ 'Action' => array(
795
+ 'static' => true,
796
+ 'location' => 'aws.query',
797
+ 'default' => 'ValidateTemplate',
798
+ ),
799
+ 'Version' => array(
800
+ 'static' => true,
801
+ 'location' => 'aws.query',
802
+ 'default' => '2010-05-15',
803
+ ),
804
+ 'TemplateBody' => array(
805
+ 'type' => 'string',
806
+ 'location' => 'aws.query',
807
+ 'minLength' => 1,
808
+ ),
809
+ 'TemplateURL' => array(
810
+ 'type' => 'string',
811
+ 'location' => 'aws.query',
812
+ 'minLength' => 1,
813
+ ),
814
+ ),
815
+ ),
816
+ ),
817
+ 'models' => array(
818
+ 'EmptyOutput' => array(
819
+ 'type' => 'object',
820
+ 'additionalProperties' => true,
821
+ ),
822
+ 'CreateStackOutput' => array(
823
+ 'type' => 'object',
824
+ 'additionalProperties' => true,
825
+ 'properties' => array(
826
+ 'StackId' => array(
827
+ 'type' => 'string',
828
+ 'location' => 'xml',
829
+ ),
830
+ ),
831
+ ),
832
+ 'DescribeAccountLimitsOutput' => array(
833
+ 'type' => 'object',
834
+ 'additionalProperties' => true,
835
+ 'properties' => array(
836
+ 'AccountLimits' => array(
837
+ 'type' => 'array',
838
+ 'location' => 'xml',
839
+ 'items' => array(
840
+ 'name' => 'AccountLimit',
841
+ 'type' => 'object',
842
+ 'sentAs' => 'member',
843
+ 'properties' => array(
844
+ 'Name' => array(
845
+ 'type' => 'string',
846
+ ),
847
+ 'Value' => array(
848
+ 'type' => 'numeric',
849
+ ),
850
+ ),
851
+ ),
852
+ ),
853
+ 'NextToken' => array(
854
+ 'type' => 'string',
855
+ 'location' => 'xml',
856
+ ),
857
+ ),
858
+ ),
859
+ 'DescribeStackEventsOutput' => array(
860
+ 'type' => 'object',
861
+ 'additionalProperties' => true,
862
+ 'properties' => array(
863
+ 'StackEvents' => array(
864
+ 'type' => 'array',
865
+ 'location' => 'xml',
866
+ 'items' => array(
867
+ 'name' => 'StackEvent',
868
+ 'type' => 'object',
869
+ 'sentAs' => 'member',
870
+ 'properties' => array(
871
+ 'StackId' => array(
872
+ 'type' => 'string',
873
+ ),
874
+ 'EventId' => array(
875
+ 'type' => 'string',
876
+ ),
877
+ 'StackName' => array(
878
+ 'type' => 'string',
879
+ ),
880
+ 'LogicalResourceId' => array(
881
+ 'type' => 'string',
882
+ ),
883
+ 'PhysicalResourceId' => array(
884
+ 'type' => 'string',
885
+ ),
886
+ 'ResourceType' => array(
887
+ 'type' => 'string',
888
+ ),
889
+ 'Timestamp' => array(
890
+ 'type' => 'string',
891
+ ),
892
+ 'ResourceStatus' => array(
893
+ 'type' => 'string',
894
+ ),
895
+ 'ResourceStatusReason' => array(
896
+ 'type' => 'string',
897
+ ),
898
+ 'ResourceProperties' => array(
899
+ 'type' => 'string',
900
+ ),
901
+ ),
902
+ ),
903
+ ),
904
+ 'NextToken' => array(
905
+ 'type' => 'string',
906
+ 'location' => 'xml',
907
+ ),
908
+ ),
909
+ ),
910
+ 'DescribeStackResourceOutput' => array(
911
+ 'type' => 'object',
912
+ 'additionalProperties' => true,
913
+ 'properties' => array(
914
+ 'StackResourceDetail' => array(
915
+ 'type' => 'object',
916
+ 'location' => 'xml',
917
+ 'properties' => array(
918
+ 'StackName' => array(
919
+ 'type' => 'string',
920
+ ),
921
+ 'StackId' => array(
922
+ 'type' => 'string',
923
+ ),
924
+ 'LogicalResourceId' => array(
925
+ 'type' => 'string',
926
+ ),
927
+ 'PhysicalResourceId' => array(
928
+ 'type' => 'string',
929
+ ),
930
+ 'ResourceType' => array(
931
+ 'type' => 'string',
932
+ ),
933
+ 'LastUpdatedTimestamp' => array(
934
+ 'type' => 'string',
935
+ ),
936
+ 'ResourceStatus' => array(
937
+ 'type' => 'string',
938
+ ),
939
+ 'ResourceStatusReason' => array(
940
+ 'type' => 'string',
941
+ ),
942
+ 'Description' => array(
943
+ 'type' => 'string',
944
+ ),
945
+ 'Metadata' => array(
946
+ 'type' => 'string',
947
+ ),
948
+ ),
949
+ ),
950
+ ),
951
+ ),
952
+ 'DescribeStackResourcesOutput' => array(
953
+ 'type' => 'object',
954
+ 'additionalProperties' => true,
955
+ 'properties' => array(
956
+ 'StackResources' => array(
957
+ 'type' => 'array',
958
+ 'location' => 'xml',
959
+ 'items' => array(
960
+ 'name' => 'StackResource',
961
+ 'type' => 'object',
962
+ 'sentAs' => 'member',
963
+ 'properties' => array(
964
+ 'StackName' => array(
965
+ 'type' => 'string',
966
+ ),
967
+ 'StackId' => array(
968
+ 'type' => 'string',
969
+ ),
970
+ 'LogicalResourceId' => array(
971
+ 'type' => 'string',
972
+ ),
973
+ 'PhysicalResourceId' => array(
974
+ 'type' => 'string',
975
+ ),
976
+ 'ResourceType' => array(
977
+ 'type' => 'string',
978
+ ),
979
+ 'Timestamp' => array(
980
+ 'type' => 'string',
981
+ ),
982
+ 'ResourceStatus' => array(
983
+ 'type' => 'string',
984
+ ),
985
+ 'ResourceStatusReason' => array(
986
+ 'type' => 'string',
987
+ ),
988
+ 'Description' => array(
989
+ 'type' => 'string',
990
+ ),
991
+ ),
992
+ ),
993
+ ),
994
+ ),
995
+ ),
996
+ 'DescribeStacksOutput' => array(
997
+ 'type' => 'object',
998
+ 'additionalProperties' => true,
999
+ 'properties' => array(
1000
+ 'Stacks' => array(
1001
+ 'type' => 'array',
1002
+ 'location' => 'xml',
1003
+ 'items' => array(
1004
+ 'name' => 'Stack',
1005
+ 'type' => 'object',
1006
+ 'sentAs' => 'member',
1007
+ 'properties' => array(
1008
+ 'StackId' => array(
1009
+ 'type' => 'string',
1010
+ ),
1011
+ 'StackName' => array(
1012
+ 'type' => 'string',
1013
+ ),
1014
+ 'Description' => array(
1015
+ 'type' => 'string',
1016
+ ),
1017
+ 'Parameters' => array(
1018
+ 'type' => 'array',
1019
+ 'items' => array(
1020
+ 'name' => 'Parameter',
1021
+ 'type' => 'object',
1022
+ 'sentAs' => 'member',
1023
+ 'properties' => array(
1024
+ 'ParameterKey' => array(
1025
+ 'type' => 'string',
1026
+ ),
1027
+ 'ParameterValue' => array(
1028
+ 'type' => 'string',
1029
+ ),
1030
+ 'UsePreviousValue' => array(
1031
+ 'type' => 'boolean',
1032
+ ),
1033
+ ),
1034
+ ),
1035
+ ),
1036
+ 'CreationTime' => array(
1037
+ 'type' => 'string',
1038
+ ),
1039
+ 'LastUpdatedTime' => array(
1040
+ 'type' => 'string',
1041
+ ),
1042
+ 'StackStatus' => array(
1043
+ 'type' => 'string',
1044
+ ),
1045
+ 'StackStatusReason' => array(
1046
+ 'type' => 'string',
1047
+ ),
1048
+ 'DisableRollback' => array(
1049
+ 'type' => 'boolean',
1050
+ ),
1051
+ 'NotificationARNs' => array(
1052
+ 'type' => 'array',
1053
+ 'items' => array(
1054
+ 'name' => 'NotificationARN',
1055
+ 'type' => 'string',
1056
+ 'sentAs' => 'member',
1057
+ ),
1058
+ ),
1059
+ 'TimeoutInMinutes' => array(
1060
+ 'type' => 'numeric',
1061
+ ),
1062
+ 'Capabilities' => array(
1063
+ 'type' => 'array',
1064
+ 'items' => array(
1065
+ 'name' => 'Capability',
1066
+ 'type' => 'string',
1067
+ 'sentAs' => 'member',
1068
+ ),
1069
+ ),
1070
+ 'Outputs' => array(
1071
+ 'type' => 'array',
1072
+ 'items' => array(
1073
+ 'name' => 'Output',
1074
+ 'type' => 'object',
1075
+ 'sentAs' => 'member',
1076
+ 'properties' => array(
1077
+ 'OutputKey' => array(
1078
+ 'type' => 'string',
1079
+ ),
1080
+ 'OutputValue' => array(
1081
+ 'type' => 'string',
1082
+ ),
1083
+ 'Description' => array(
1084
+ 'type' => 'string',
1085
+ ),
1086
+ ),
1087
+ ),
1088
+ ),
1089
+ 'Tags' => array(
1090
+ 'type' => 'array',
1091
+ 'items' => array(
1092
+ 'name' => 'Tag',
1093
+ 'type' => 'object',
1094
+ 'sentAs' => 'member',
1095
+ 'properties' => array(
1096
+ 'Key' => array(
1097
+ 'type' => 'string',
1098
+ ),
1099
+ 'Value' => array(
1100
+ 'type' => 'string',
1101
+ ),
1102
+ ),
1103
+ ),
1104
+ ),
1105
+ ),
1106
+ ),
1107
+ ),
1108
+ 'NextToken' => array(
1109
+ 'type' => 'string',
1110
+ 'location' => 'xml',
1111
+ ),
1112
+ ),
1113
+ ),
1114
+ 'EstimateTemplateCostOutput' => array(
1115
+ 'type' => 'object',
1116
+ 'additionalProperties' => true,
1117
+ 'properties' => array(
1118
+ 'Url' => array(
1119
+ 'type' => 'string',
1120
+ 'location' => 'xml',
1121
+ ),
1122
+ ),
1123
+ ),
1124
+ 'GetStackPolicyOutput' => array(
1125
+ 'type' => 'object',
1126
+ 'additionalProperties' => true,
1127
+ 'properties' => array(
1128
+ 'StackPolicyBody' => array(
1129
+ 'type' => 'string',
1130
+ 'location' => 'xml',
1131
+ ),
1132
+ ),
1133
+ ),
1134
+ 'GetTemplateOutput' => array(
1135
+ 'type' => 'object',
1136
+ 'additionalProperties' => true,
1137
+ 'properties' => array(
1138
+ 'TemplateBody' => array(
1139
+ 'type' => 'string',
1140
+ 'location' => 'xml',
1141
+ ),
1142
+ ),
1143
+ ),
1144
+ 'GetTemplateSummaryOutput' => array(
1145
+ 'type' => 'object',
1146
+ 'additionalProperties' => true,
1147
+ 'properties' => array(
1148
+ 'Parameters' => array(
1149
+ 'type' => 'array',
1150
+ 'location' => 'xml',
1151
+ 'items' => array(
1152
+ 'name' => 'ParameterDeclaration',
1153
+ 'type' => 'object',
1154
+ 'sentAs' => 'member',
1155
+ 'properties' => array(
1156
+ 'ParameterKey' => array(
1157
+ 'type' => 'string',
1158
+ ),
1159
+ 'DefaultValue' => array(
1160
+ 'type' => 'string',
1161
+ ),
1162
+ 'ParameterType' => array(
1163
+ 'type' => 'string',
1164
+ ),
1165
+ 'NoEcho' => array(
1166
+ 'type' => 'boolean',
1167
+ ),
1168
+ 'Description' => array(
1169
+ 'type' => 'string',
1170
+ ),
1171
+ 'ParameterConstraints' => array(
1172
+ 'type' => 'object',
1173
+ 'properties' => array(
1174
+ 'AllowedValues' => array(
1175
+ 'type' => 'array',
1176
+ 'items' => array(
1177
+ 'name' => 'AllowedValue',
1178
+ 'type' => 'string',
1179
+ 'sentAs' => 'member',
1180
+ ),
1181
+ ),
1182
+ ),
1183
+ ),
1184
+ ),
1185
+ ),
1186
+ ),
1187
+ 'Description' => array(
1188
+ 'type' => 'string',
1189
+ 'location' => 'xml',
1190
+ ),
1191
+ 'Capabilities' => array(
1192
+ 'type' => 'array',
1193
+ 'location' => 'xml',
1194
+ 'items' => array(
1195
+ 'name' => 'Capability',
1196
+ 'type' => 'string',
1197
+ 'sentAs' => 'member',
1198
+ ),
1199
+ ),
1200
+ 'CapabilitiesReason' => array(
1201
+ 'type' => 'string',
1202
+ 'location' => 'xml',
1203
+ ),
1204
+ 'ResourceTypes' => array(
1205
+ 'type' => 'array',
1206
+ 'location' => 'xml',
1207
+ 'items' => array(
1208
+ 'name' => 'ResourceType',
1209
+ 'type' => 'string',
1210
+ 'sentAs' => 'member',
1211
+ ),
1212
+ ),
1213
+ 'Version' => array(
1214
+ 'type' => 'string',
1215
+ 'location' => 'xml',
1216
+ ),
1217
+ 'Metadata' => array(
1218
+ 'type' => 'string',
1219
+ 'location' => 'xml',
1220
+ ),
1221
+ ),
1222
+ ),
1223
+ 'ListStackResourcesOutput' => array(
1224
+ 'type' => 'object',
1225
+ 'additionalProperties' => true,
1226
+ 'properties' => array(
1227
+ 'StackResourceSummaries' => array(
1228
+ 'type' => 'array',
1229
+ 'location' => 'xml',
1230
+ 'items' => array(
1231
+ 'name' => 'StackResourceSummary',
1232
+ 'type' => 'object',
1233
+ 'sentAs' => 'member',
1234
+ 'properties' => array(
1235
+ 'LogicalResourceId' => array(
1236
+ 'type' => 'string',
1237
+ ),
1238
+ 'PhysicalResourceId' => array(
1239
+ 'type' => 'string',
1240
+ ),
1241
+ 'ResourceType' => array(
1242
+ 'type' => 'string',
1243
+ ),
1244
+ 'LastUpdatedTimestamp' => array(
1245
+ 'type' => 'string',
1246
+ ),
1247
+ 'ResourceStatus' => array(
1248
+ 'type' => 'string',
1249
+ ),
1250
+ 'ResourceStatusReason' => array(
1251
+ 'type' => 'string',
1252
+ ),
1253
+ ),
1254
+ ),
1255
+ ),
1256
+ 'NextToken' => array(
1257
+ 'type' => 'string',
1258
+ 'location' => 'xml',
1259
+ ),
1260
+ ),
1261
+ ),
1262
+ 'ListStacksOutput' => array(
1263
+ 'type' => 'object',
1264
+ 'additionalProperties' => true,
1265
+ 'properties' => array(
1266
+ 'StackSummaries' => array(
1267
+ 'type' => 'array',
1268
+ 'location' => 'xml',
1269
+ 'items' => array(
1270
+ 'name' => 'StackSummary',
1271
+ 'type' => 'object',
1272
+ 'sentAs' => 'member',
1273
+ 'properties' => array(
1274
+ 'StackId' => array(
1275
+ 'type' => 'string',
1276
+ ),
1277
+ 'StackName' => array(
1278
+ 'type' => 'string',
1279
+ ),
1280
+ 'TemplateDescription' => array(
1281
+ 'type' => 'string',
1282
+ ),
1283
+ 'CreationTime' => array(
1284
+ 'type' => 'string',
1285
+ ),
1286
+ 'LastUpdatedTime' => array(
1287
+ 'type' => 'string',
1288
+ ),
1289
+ 'DeletionTime' => array(
1290
+ 'type' => 'string',
1291
+ ),
1292
+ 'StackStatus' => array(
1293
+ 'type' => 'string',
1294
+ ),
1295
+ 'StackStatusReason' => array(
1296
+ 'type' => 'string',
1297
+ ),
1298
+ ),
1299
+ ),
1300
+ ),
1301
+ 'NextToken' => array(
1302
+ 'type' => 'string',
1303
+ 'location' => 'xml',
1304
+ ),
1305
+ ),
1306
+ ),
1307
+ 'UpdateStackOutput' => array(
1308
+ 'type' => 'object',
1309
+ 'additionalProperties' => true,
1310
+ 'properties' => array(
1311
+ 'StackId' => array(
1312
+ 'type' => 'string',
1313
+ 'location' => 'xml',
1314
+ ),
1315
+ ),
1316
+ ),
1317
+ 'ValidateTemplateOutput' => array(
1318
+ 'type' => 'object',
1319
+ 'additionalProperties' => true,
1320
+ 'properties' => array(
1321
+ 'Parameters' => array(
1322
+ 'type' => 'array',
1323
+ 'location' => 'xml',
1324
+ 'items' => array(
1325
+ 'name' => 'TemplateParameter',
1326
+ 'type' => 'object',
1327
+ 'sentAs' => 'member',
1328
+ 'properties' => array(
1329
+ 'ParameterKey' => array(
1330
+ 'type' => 'string',
1331
+ ),
1332
+ 'DefaultValue' => array(
1333
+ 'type' => 'string',
1334
+ ),
1335
+ 'NoEcho' => array(
1336
+ 'type' => 'boolean',
1337
+ ),
1338
+ 'Description' => array(
1339
+ 'type' => 'string',
1340
+ ),
1341
+ ),
1342
+ ),
1343
+ ),
1344
+ 'Description' => array(
1345
+ 'type' => 'string',
1346
+ 'location' => 'xml',
1347
+ ),
1348
+ 'Capabilities' => array(
1349
+ 'type' => 'array',
1350
+ 'location' => 'xml',
1351
+ 'items' => array(
1352
+ 'name' => 'Capability',
1353
+ 'type' => 'string',
1354
+ 'sentAs' => 'member',
1355
+ ),
1356
+ ),
1357
+ 'CapabilitiesReason' => array(
1358
+ 'type' => 'string',
1359
+ 'location' => 'xml',
1360
+ ),
1361
+ ),
1362
+ ),
1363
+ ),
1364
+ 'iterators' => array(
1365
+ 'DescribeStackEvents' => array(
1366
+ 'input_token' => 'NextToken',
1367
+ 'output_token' => 'NextToken',
1368
+ 'result_key' => 'StackEvents',
1369
+ ),
1370
+ 'DescribeStackResources' => array(
1371
+ 'result_key' => 'StackResources',
1372
+ ),
1373
+ 'DescribeStacks' => array(
1374
+ 'input_token' => 'NextToken',
1375
+ 'output_token' => 'NextToken',
1376
+ 'result_key' => 'Stacks',
1377
+ ),
1378
+ 'ListStackResources' => array(
1379
+ 'input_token' => 'NextToken',
1380
+ 'output_token' => 'NextToken',
1381
+ 'result_key' => 'StackResourceSummaries',
1382
+ ),
1383
+ 'ListStacks' => array(
1384
+ 'input_token' => 'NextToken',
1385
+ 'output_token' => 'NextToken',
1386
+ 'result_key' => 'StackSummaries',
1387
+ ),
1388
+ ),
1389
+ );
lib/aws-sdk-php/Aws/CloudFront/CloudFrontClient.php CHANGED
@@ -1,99 +1,235 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  namespace Aws\CloudFront;
3
 
4
- use Aws\AwsClient;
 
 
 
 
 
 
 
 
 
5
 
6
  /**
7
- * This client is used to interact with the **Amazon CloudFront** service.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  *
9
- * @method \Aws\Result createCloudFrontOriginAccessIdentity(array $args = [])
10
- * @method \GuzzleHttp\Promise\Promise createCloudFrontOriginAccessIdentityAsync(array $args = [])
11
- * @method \Aws\Result createDistribution(array $args = [])
12
- * @method \GuzzleHttp\Promise\Promise createDistributionAsync(array $args = [])
13
- * @method \Aws\Result createInvalidation(array $args = [])
14
- * @method \GuzzleHttp\Promise\Promise createInvalidationAsync(array $args = [])
15
- * @method \Aws\Result createStreamingDistribution(array $args = [])
16
- * @method \GuzzleHttp\Promise\Promise createStreamingDistributionAsync(array $args = [])
17
- * @method \Aws\Result deleteCloudFrontOriginAccessIdentity(array $args = [])
18
- * @method \GuzzleHttp\Promise\Promise deleteCloudFrontOriginAccessIdentityAsync(array $args = [])
19
- * @method \Aws\Result deleteDistribution(array $args = [])
20
- * @method \GuzzleHttp\Promise\Promise deleteDistributionAsync(array $args = [])
21
- * @method \Aws\Result deleteStreamingDistribution(array $args = [])
22
- * @method \GuzzleHttp\Promise\Promise deleteStreamingDistributionAsync(array $args = [])
23
- * @method \Aws\Result getCloudFrontOriginAccessIdentity(array $args = [])
24
- * @method \GuzzleHttp\Promise\Promise getCloudFrontOriginAccessIdentityAsync(array $args = [])
25
- * @method \Aws\Result getCloudFrontOriginAccessIdentityConfig(array $args = [])
26
- * @method \GuzzleHttp\Promise\Promise getCloudFrontOriginAccessIdentityConfigAsync(array $args = [])
27
- * @method \Aws\Result getDistribution(array $args = [])
28
- * @method \GuzzleHttp\Promise\Promise getDistributionAsync(array $args = [])
29
- * @method \Aws\Result getDistributionConfig(array $args = [])
30
- * @method \GuzzleHttp\Promise\Promise getDistributionConfigAsync(array $args = [])
31
- * @method \Aws\Result getInvalidation(array $args = [])
32
- * @method \GuzzleHttp\Promise\Promise getInvalidationAsync(array $args = [])
33
- * @method \Aws\Result getStreamingDistribution(array $args = [])
34
- * @method \GuzzleHttp\Promise\Promise getStreamingDistributionAsync(array $args = [])
35
- * @method \Aws\Result getStreamingDistributionConfig(array $args = [])
36
- * @method \GuzzleHttp\Promise\Promise getStreamingDistributionConfigAsync(array $args = [])
37
- * @method \Aws\Result listCloudFrontOriginAccessIdentities(array $args = [])
38
- * @method \GuzzleHttp\Promise\Promise listCloudFrontOriginAccessIdentitiesAsync(array $args = [])
39
- * @method \Aws\Result listDistributions(array $args = [])
40
- * @method \GuzzleHttp\Promise\Promise listDistributionsAsync(array $args = [])
41
- * @method \Aws\Result listDistributionsByWebACLId(array $args = [])
42
- * @method \GuzzleHttp\Promise\Promise listDistributionsByWebACLIdAsync(array $args = [])
43
- * @method \Aws\Result listInvalidations(array $args = [])
44
- * @method \GuzzleHttp\Promise\Promise listInvalidationsAsync(array $args = [])
45
- * @method \Aws\Result listStreamingDistributions(array $args = [])
46
- * @method \GuzzleHttp\Promise\Promise listStreamingDistributionsAsync(array $args = [])
47
- * @method \Aws\Result updateCloudFrontOriginAccessIdentity(array $args = [])
48
- * @method \GuzzleHttp\Promise\Promise updateCloudFrontOriginAccessIdentityAsync(array $args = [])
49
- * @method \Aws\Result updateDistribution(array $args = [])
50
- * @method \GuzzleHttp\Promise\Promise updateDistributionAsync(array $args = [])
51
- * @method \Aws\Result updateStreamingDistribution(array $args = [])
52
- * @method \GuzzleHttp\Promise\Promise updateStreamingDistributionAsync(array $args = [])
53
  */
54
- class CloudFrontClient extends AwsClient
55
  {
 
 
56
  /**
57
- * Create a signed Amazon CloudFront URL.
58
  *
59
- * This method accepts an array of configuration options:
 
 
60
  *
61
- * - url: (string) URL of the resource being signed (can include query
62
- * string and wildcards). For example: rtmp://s5c39gqb8ow64r.cloudfront.net/videos/mp3_name.mp3
63
- * http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
64
- * - policy: (string) JSON policy. Use this option when creating a signed
65
- * URL for a custom policy.
66
- * - expires: (int) UTC Unix timestamp used when signing with a canned
67
- * policy. Not required when passing a custom 'policy' option.
68
- * - key_pair_id: (string) The ID of the key pair used to sign CloudFront
69
- * URLs for private distributions.
70
- * - private_key: (string) The filepath ot the private key used to sign
71
- * CloudFront URLs for private distributions.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  *
73
  * @param array $options Array of configuration options used when signing
74
  *
75
- * @return string Signed URL with authentication parameters
76
- * @throws \InvalidArgumentException if url, key_pair_id, or private_key
77
- * were not specified.
78
- * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html
79
  */
80
  public function getSignedUrl(array $options)
81
  {
82
- foreach (['url', 'key_pair_id', 'private_key'] as $required) {
83
- if (!isset($options[$required])) {
84
- throw new \InvalidArgumentException("$required is required");
85
- }
86
  }
87
 
88
- $UrlSigner = new UrlSigner(
89
- $options['key_pair_id'],
90
- $options['private_key']
91
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
 
93
- return $UrlSigner->getSignedUrl(
94
- $options['url'],
95
- isset($options['expires']) ? $options['expires'] : null,
96
- isset($options['policy']) ? $options['policy'] : null
97
  );
98
  }
99
  }
1
  <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
  namespace Aws\CloudFront;
18
 
19
+ use Aws\Common\Client\AbstractClient;
20
+ use Aws\Common\Client\ClientBuilder;
21
+ use Aws\Common\Enum\ClientOptions as Options;
22
+ use Aws\Common\Exception\InvalidArgumentException;
23
+ use Aws\Common\Exception\Parser\DefaultXmlExceptionParser;
24
+ use Aws\Common\Exception\RequiredExtensionNotLoadedException;
25
+ use Guzzle\Common\Collection;
26
+ use Guzzle\Http\Url;
27
+ use Guzzle\Service\Resource\Model;
28
+ use Guzzle\Service\Resource\ResourceIteratorInterface;
29
 
30
  /**
31
+ * Client to interact with Amazon CloudFront
32
+ *
33
+ * @method Model createDistribution(array $args = array()) {@command CloudFront CreateDistribution}
34
+ * @method Model deleteDistribution(array $args = array()) {@command CloudFront DeleteDistribution}
35
+ * @method Model getDistribution(array $args = array()) {@command CloudFront GetDistribution}
36
+ * @method Model updateDistribution(array $args = array()) {@command CloudFront UpdateDistribution}
37
+ * @method Model getDistributionConfig(array $args = array()) {@command CloudFront GetDistributionConfig}
38
+ * @method Model listDistributions(array $args = array()) {@command CloudFront ListDistributions}
39
+ * @method Model listDistributionsByWebACLId(array $args = array()) {@command CloudFront ListDistributionsByWebACLId}
40
+ * @method Model createCloudFrontOriginAccessIdentity(array $args = array()) {@command CloudFront CreateCloudFrontOriginAccessIdentity}
41
+ * @method Model deleteCloudFrontOriginAccessIdentity(array $args = array()) {@command CloudFront DeleteCloudFrontOriginAccessIdentity}
42
+ * @method Model getCloudFrontOriginAccessIdentity(array $args = array()) {@command CloudFront GetCloudFrontOriginAccessIdentity}
43
+ * @method Model getCloudFrontOriginAccessIdentityConfig(array $args = array()) {@command CloudFront GetCloudFrontOriginAccessIdentityConfig}
44
+ * @method Model updateCloudFrontOriginAccessIdentity(array $args = array()) {@command CloudFront UpdateCloudFrontOriginAccessIdentity}
45
+ * @method Model listCloudFrontOriginAccessIdentities(array $args = array()) {@command CloudFront ListCloudFrontOriginAccessIdentities}
46
+ * @method Model createStreamingDistribution(array $args = array()) {@command CloudFront CreateStreamingDistribution}
47
+ * @method Model deleteStreamingDistribution(array $args = array()) {@command CloudFront DeleteStreamingDistribution}
48
+ * @method Model getStreamingDistribution(array $args = array()) {@command CloudFront GetStreamingDistribution}
49
+ * @method Model updateStreamingDistribution(array $args = array()) {@command CloudFront UpdateStreamingDistribution}
50
+ * @method Model getStreamingDistributionConfig(array $args = array()) {@command CloudFront GetStreamingDistributionConfig}
51
+ * @method Model listStreamingDistributions(array $args = array()) {@command CloudFront ListStreamingDistributions}
52
+ * @method Model createInvalidation(array $args = array()) {@command CloudFront CreateInvalidation}
53
+ * @method Model getInvalidation(array $args = array()) {@command CloudFront GetInvalidation}
54
+ * @method Model listInvalidations(array $args = array()) {@command CloudFront ListInvalidations}
55
+ * @method waitUntilStreamingDistributionDeployed(array $input) The input array uses the parameters of the GetStreamingDistribution operation and waiter specific settings
56
+ * @method waitUntilDistributionDeployed(array $input) The input array uses the parameters of the GetDistribution operation and waiter specific settings
57
+ * @method waitUntilInvalidationCompleted(array $input) The input array uses the parameters of the GetInvalidation operation and waiter specific settings
58
+ * @method ResourceIteratorInterface getListCloudFrontOriginAccessIdentitiesIterator(array $args = array()) The input array uses the parameters of the ListCloudFrontOriginAccessIdentities operation
59
+ * @method ResourceIteratorInterface getListDistributionsIterator(array $args = array()) The input array uses the parameters of the ListDistributions operation
60
+ * @method ResourceIteratorInterface getListInvalidationsIterator(array $args = array()) The input array uses the parameters of the ListInvalidations operation
61
+ * @method ResourceIteratorInterface getListStreamingDistributionsIterator(array $args = array()) The input array uses the parameters of the ListStreamingDistributions operation
62
  *
63
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-cloudfront.html User guide
64
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/api/class-Aws.CloudFront.CloudFrontClient.html API docs
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  */
66
+ class CloudFrontClient extends AbstractClient
67
  {
68
+ const LATEST_API_VERSION = '2016-01-28';
69
+
70
  /**
71
+ * Factory method to create a new Amazon CloudFront client using an array of configuration options.
72
  *
73
+ * CloudFront specific options (in addition to the default client configuration options):
74
+ * - key_pair_id: The ID of the key pair used to sign CloudFront URLs for private distributions.
75
+ * - private_key: The filepath ot the private key used to sign CloudFront URLs for private distributions.
76
  *
77
+ * @param array|Collection $config Client configuration data
78
+ *
79
+ * @return self
80
+ * @link http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options
81
+ */
82
+ public static function factory($config = array())
83
+ {
84
+ // Decide which signature to use
85
+ if (isset($config[Options::VERSION]) && $config[Options::VERSION] < self::LATEST_API_VERSION) {
86
+ $config[Options::SIGNATURE] = new CloudFrontSignature();
87
+ }
88
+
89
+ // Instantiate the CloudFront client
90
+ return ClientBuilder::factory(__NAMESPACE__)
91
+ ->setConfig($config)
92
+ ->setConfigDefaults(array(
93
+ Options::VERSION => self::LATEST_API_VERSION,
94
+ Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/cloudfront-%s.php',
95
+ ))
96
+ ->setExceptionParser(new DefaultXmlExceptionParser())
97
+ ->build();
98
+ }
99
+
100
+ /**
101
+ * Create a signed URL. Keep in mind that URLs meant for use in media/flash players may have different requirements
102
+ * for URL formats (e.g. some require that the extension be removed, some require the file name to be prefixed -
103
+ * mp4:<path>, some require you to add "/cfx/st" into your URL). See
104
+ * http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html for
105
+ * additional details and help.
106
+ *
107
+ * This method accepts an array of configuration options:
108
+ * - url: (string) URL of the resource being signed (can include query string and wildcards). For example:
109
+ * rtmp://s5c39gqb8ow64r.cloudfront.net/videos/mp3_name.mp3
110
+ * http://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes
111
+ * - policy: (string) JSON policy. Use this option when creating a signed URL for a custom policy.
112
+ * - expires: (int) UTC Unix timestamp used when signing with a canned policy. Not required when passing a
113
+ * custom 'policy' option.
114
+ * - key_pair_id: (string) The ID of the key pair used to sign CloudFront URLs for private distributions.
115
+ * - private_key: (string) The filepath ot the private key used to sign CloudFront URLs for private distributions.
116
  *
117
  * @param array $options Array of configuration options used when signing
118
  *
119
+ * @return string The file URL with authentication parameters
120
+ * @throws InvalidArgumentException if key_pair_id and private_key have not been configured on the client
121
+ * @throws RequiredExtensionNotLoadedException if the openssl extension is not installed
122
+ * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithStreamingDistributions.html
123
  */
124
  public function getSignedUrl(array $options)
125
  {
126
+ if (!extension_loaded('openssl')) {
127
+ //@codeCoverageIgnoreStart
128
+ throw new RequiredExtensionNotLoadedException('The openssl extension is required to sign CloudFront urls.');
129
+ //@codeCoverageIgnoreEnd
130
  }
131
 
132
+ // Initialize the configuration data and ensure that the url was specified
133
+ $options = Collection::fromConfig($options, array_filter(array(
134
+ 'key_pair_id' => $this->getConfig('key_pair_id'),
135
+ 'private_key' => $this->getConfig('private_key'),
136
+ )), array('url', 'key_pair_id', 'private_key'));
137
+
138
+ // Determine the scheme of the url
139
+ $urlSections = explode('://', $options['url']);
140
+ if (count($urlSections) < 2) {
141
+ throw new InvalidArgumentException('Invalid URL: ' . $options['url']);
142
+ }
143
+
144
+ // Get the real scheme by removing wildcards from the scheme
145
+ $scheme = str_replace('*', '', $urlSections[0]);
146
+ $policy = $options['policy'] ?: $this->createCannedPolicy($scheme, $options['url'], $options['expires']);
147
+ // Strip whitespace from the policy
148
+ $policy = str_replace(' ', '', $policy);
149
+
150
+ $url = Url::factory($scheme . '://' . $urlSections[1]);
151
+ if ($options['policy']) {
152
+ // Custom policies require that the encoded policy be specified in the URL
153
+ $url->getQuery()->set('Policy', strtr(base64_encode($policy), '+=/', '-_~'));
154
+ } else {
155
+ // Canned policies require that the Expires parameter be set in the URL
156
+ $url->getQuery()->set('Expires', $options['expires']);
157
+ }
158
+
159
+ // Sign the policy using the CloudFront private key
160
+ $signedPolicy = $this->rsaSha1Sign($policy, $options['private_key']);
161
+ // Remove whitespace, base64 encode the policy, and replace special characters
162
+ $signedPolicy = strtr(base64_encode($signedPolicy), '+=/', '-_~');
163
+
164
+ $url->getQuery()
165
+ ->set('Signature', $signedPolicy)
166
+ ->set('Key-Pair-Id', $options['key_pair_id']);
167
+
168
+ if ($scheme != 'rtmp') {
169
+ // HTTP and HTTPS signed URLs include the full URL
170
+ return (string) $url;
171
+ } else {
172
+ // Use a relative URL when creating Flash player URLs
173
+ $url->getQuery()->useUrlEncoding(false);
174
+ $url->setScheme(null)->setHost(null);
175
+ return substr($url, 1);
176
+ }
177
+ }
178
+
179
+ /**
180
+ * Sign a policy string using OpenSSL RSA SHA1
181
+ *
182
+ * @param string $policy Policy to sign
183
+ * @param string $privateKeyFilename File containing the OpenSSL private key
184
+ *
185
+ * @return string
186
+ */
187
+ protected function rsaSha1Sign($policy, $privateKeyFilename)
188
+ {
189
+ $signature = '';
190
+ openssl_sign($policy, $signature, file_get_contents($privateKeyFilename));
191
+
192
+ return $signature;
193
+ }
194
+
195
+ /**
196
+ * Create a canned policy for a particular URL and expiration
197
+ *
198
+ * @param string $scheme Parsed scheme without wildcards
199
+ * @param string $url URL that is being signed
200
+ * @param int $expires Time in which the signature expires
201
+ *
202
+ * @return string
203
+ * @throws InvalidArgumentException if the expiration is not set
204
+ */
205
+ protected function createCannedPolicy($scheme, $url, $expires)
206
+ {
207
+ if (!$expires) {
208
+ throw new InvalidArgumentException('An expires option is required when using a canned policy');
209
+ }
210
+
211
+ // Generate a canned policy
212
+ if ($scheme == 'http' || $scheme == 'https') {
213
+ $resource = $url;
214
+ } elseif ($scheme == 'rtmp') {
215
+ $parts = parse_url($url);
216
+ $pathParts = pathinfo($parts['path']);
217
+ // Add path leading to file, strip file extension, and add a query
218
+ // string if present.
219
+ $resource = ltrim($pathParts['dirname']
220
+ . '/'
221
+ . $pathParts['basename'], '/\\');
222
+ if (isset($parts['query'])) {
223
+ $resource .= "?{$parts['query']}";
224
+ }
225
+ } else {
226
+ throw new InvalidArgumentException("Invalid URI scheme: {$scheme}. Must be one of http or rtmp.");
227
+ }
228
 
229
+ return sprintf(
230
+ '{"Statement":[{"Resource":"%s","Condition":{"DateLessThan":{"AWS:EpochTime":%d}}}]}',
231
+ $resource,
232
+ $expires
233
  );
234
  }
235
  }
lib/aws-sdk-php/Aws/CloudFront/CloudFrontSignature.php ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront;
18
+
19
+ use Aws\Common\Credentials\CredentialsInterface;
20
+ use Aws\Common\Enum\DateFormat;
21
+ use Aws\Common\Signature\AbstractSignature;
22
+ use Guzzle\Http\Message\RequestInterface;
23
+
24
+ /**
25
+ * Amazon CloudFront signature implementation
26
+ * @link http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RESTAuthentication.html
27
+ */
28
+ class CloudFrontSignature extends AbstractSignature
29
+ {
30
+ /**
31
+ * {@inheritdoc}
32
+ */
33
+ public function signRequest(RequestInterface $request, CredentialsInterface $credentials)
34
+ {
35
+ // Add a date header if one is not set
36
+ if (!$request->hasHeader('date') && !$request->hasHeader('x-amz-date')) {
37
+ $request->setHeader('Date', gmdate(DateFormat::RFC2822));
38
+ }
39
+
40
+ $stringToSign = (string) $request->getHeader('Date') ?: (string) $request->getHeader('x-amz-date');
41
+ $request->getParams()->set('aws.string_to_sign', $stringToSign);
42
+
43
+ $request->setHeader(
44
+ 'Authorization',
45
+ 'AWS ' . $credentials->getAccessKeyId() . ':' . $this->signString($stringToSign, $credentials)
46
+ );
47
+ }
48
+
49
+ /**
50
+ * Sign a signature string by applying SHA-1 HMAC hashing.
51
+ *
52
+ * @param string $string The signature string to hash.
53
+ * @param CredentialsInterface $credentials Signing credentials.
54
+ *
55
+ * @return string The hashed signature string.
56
+ */
57
+ public function signString($string, CredentialsInterface $credentials)
58
+ {
59
+ return base64_encode(hash_hmac('sha1', $string, $credentials->getSecretKey(), true));
60
+ }
61
+ }
lib/aws-sdk-php/Aws/CloudFront/Enum/GeoRestrictionType.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable GeoRestrictionType values
23
+ */
24
+ class GeoRestrictionType extends Enum
25
+ {
26
+ const BLACKLIST = 'blacklist';
27
+ const WHITELIST = 'whitelist';
28
+ const NONE = 'none';
29
+ }
lib/aws-sdk-php/Aws/CloudFront/Enum/ItemSelection.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable ItemSelection values
23
+ */
24
+ class ItemSelection extends Enum
25
+ {
26
+ const NONE = 'none';
27
+ const WHITELIST = 'whitelist';
28
+ const ALL = 'all';
29
+ }
lib/aws-sdk-php/Aws/CloudFront/Enum/Method.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable Method values
23
+ */
24
+ class Method extends Enum
25
+ {
26
+ const GET = 'GET';
27
+ const HEAD = 'HEAD';
28
+ const POST = 'POST';
29
+ const PUT = 'PUT';
30
+ const PATCH = 'PATCH';
31
+ const OPTIONS = 'OPTIONS';
32
+ const DELETE = 'DELETE';
33
+ }
lib/aws-sdk-php/Aws/CloudFront/Enum/OriginProtocolPolicy.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable OriginProtocolPolicy values
23
+ */
24
+ class OriginProtocolPolicy extends Enum
25
+ {
26
+ const HTTP_ONLY = 'http-only';
27
+ const MATCH_VIEWER = 'match-viewer';
28
+ }
lib/aws-sdk-php/Aws/CloudFront/Enum/PriceClass.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable PriceClass values
23
+ */
24
+ class PriceClass extends Enum
25
+ {
26
+ const PRICE_CLASS_100 = 'PriceClass_100';
27
+ const PRICE_CLASS_200 = 'PriceClass_200';
28
+ const PRICE_CLASS_ALL = 'PriceClass_All';
29
+ }
lib/aws-sdk-php/Aws/CloudFront/Enum/SSLSupportMethod.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable SSLSupportMethod values
23
+ */
24
+ class SSLSupportMethod extends Enum
25
+ {
26
+ const SNI_ONLY = 'sni-only';
27
+ const VIP = 'vip';
28
+ }
lib/aws-sdk-php/Aws/CloudFront/Enum/ViewerProtocolPolicy.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Enum;
18
+
19
+ use Aws\Common\Enum;
20
+
21
+ /**
22
+ * Contains enumerable ViewerProtocolPolicy values
23
+ */
24
+ class ViewerProtocolPolicy extends Enum
25
+ {
26
+ const ALLOW_ALL = 'allow-all';
27
+ const HTTPS_ONLY = 'https-only';
28
+ const REDIRECT_TO_HTTPS = 'redirect-to-https';
29
+ }
lib/aws-sdk-php/Aws/CloudFront/Exception/AccessDeniedException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Access denied.
21
+ */
22
+ class AccessDeniedException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/BatchTooLargeException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a BatchTooLargeException error is encountered
21
+ */
22
+ class BatchTooLargeException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/CNAMEAlreadyExistsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a CNAMEAlreadyExistsException error is encountered
21
+ */
22
+ class CNAMEAlreadyExistsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/CloudFrontException.php CHANGED
@@ -1,9 +1,24 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  namespace Aws\CloudFront\Exception;
3
 
4
- use Aws\Exception\AwsException;
5
 
6
  /**
7
- * Represents an error interacting with the Amazon CloudFront service.
8
  */
9
- class CloudFrontException extends AwsException {}
1
  <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
  namespace Aws\CloudFront\Exception;
18
 
19
+ use Aws\Common\Exception\ServiceResponseException;
20
 
21
  /**
22
+ * Default service exception class
23
  */
24
+ class CloudFrontException extends ServiceResponseException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/CloudFrontOriginAccessIdentityAlreadyExistsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.
21
+ */
22
+ class CloudFrontOriginAccessIdentityAlreadyExistsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/CloudFrontOriginAccessIdentityInUseException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a CloudFrontOriginAccessIdentityInUseException error is encountered
21
+ */
22
+ class CloudFrontOriginAccessIdentityInUseException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/DistributionAlreadyExistsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The caller reference you attempted to create the distribution with is associated with another distribution.
21
+ */
22
+ class DistributionAlreadyExistsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/DistributionNotDisabledException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a DistributionNotDisabledException error is encountered
21
+ */
22
+ class DistributionNotDisabledException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/Exception.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ use Aws\Common\Exception\ServiceResponseException;
20
+
21
+ /**
22
+ * Default service exception class
23
+ */
24
+ class Exception extends ServiceResponseException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/IllegalUpdateException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Origin and CallerReference cannot be updated.
21
+ */
22
+ class IllegalUpdateException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InconsistentQuantitiesException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The value of Quantity and the size of Items do not match.
21
+ */
22
+ class InconsistentQuantitiesException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidArgumentException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The argument is invalid.
21
+ */
22
+ class InvalidArgumentException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidDefaultRootObjectException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The default root object file name is too big or contains an invalid character.
21
+ */
22
+ class InvalidDefaultRootObjectException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidErrorCodeException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a InvalidErrorCodeException error is encountered
21
+ */
22
+ class InvalidErrorCodeException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidForwardCookiesException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Your request contains forward cookies option which doesn't match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.
21
+ */
22
+ class InvalidForwardCookiesException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidGeoRestrictionParameterException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a InvalidGeoRestrictionParameterException error is encountered
21
+ */
22
+ class InvalidGeoRestrictionParameterException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidIfMatchVersionException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The If-Match version is missing or not valid for the distribution.
21
+ */
22
+ class InvalidIfMatchVersionException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidLocationCodeException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a InvalidLocationCodeException error is encountered
21
+ */
22
+ class InvalidLocationCodeException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidOriginAccessIdentityException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The origin access identity is not valid or doesn't exist.
21
+ */
22
+ class InvalidOriginAccessIdentityException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidOriginException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
21
+ */
22
+ class InvalidOriginException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidRelativePathException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
21
+ */
22
+ class InvalidRelativePathException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidRequiredProtocolException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.
21
+ */
22
+ class InvalidRequiredProtocolException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidResponseCodeException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a InvalidResponseCodeException error is encountered
21
+ */
22
+ class InvalidResponseCodeException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/InvalidViewerCertificateException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a InvalidViewerCertificateException error is encountered
21
+ */
22
+ class InvalidViewerCertificateException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/MissingBodyException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * This operation requires a body. Ensure that the body is present and the Content-Type header is set.
21
+ */
22
+ class MissingBodyException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchCloudFrontOriginAccessIdentityException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The specified origin access identity does not exist.
21
+ */
22
+ class NoSuchCloudFrontOriginAccessIdentityException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchDistributionException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The specified distribution does not exist.
21
+ */
22
+ class NoSuchDistributionException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchInvalidationException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The specified invalidation does not exist.
21
+ */
22
+ class NoSuchInvalidationException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchOriginException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * No origin exists with the specified Origin Id.
21
+ */
22
+ class NoSuchOriginException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/NoSuchStreamingDistributionException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The specified streaming distribution does not exist.
21
+ */
22
+ class NoSuchStreamingDistributionException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/PreconditionFailedException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * The precondition given in one or more of the request-header fields evaluated to false.
21
+ */
22
+ class PreconditionFailedException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/StreamingDistributionAlreadyExistsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a StreamingDistributionAlreadyExistsException error is encountered
21
+ */
22
+ class StreamingDistributionAlreadyExistsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/StreamingDistributionNotDisabledException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a StreamingDistributionNotDisabledException error is encountered
21
+ */
22
+ class StreamingDistributionNotDisabledException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCacheBehaviorsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * You cannot create anymore cache behaviors for the distribution.
21
+ */
22
+ class TooManyCacheBehaviorsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCertificatesException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * You cannot create anymore custom ssl certificates.
21
+ */
22
+ class TooManyCertificatesException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCloudFrontOriginAccessIdentitiesException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Processing your request would cause you to exceed the maximum number of origin access identities allowed.
21
+ */
22
+ class TooManyCloudFrontOriginAccessIdentitiesException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyCookieNamesInWhiteListException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Your request contains more cookie names in the whitelist than are allowed per cache behavior.
21
+ */
22
+ class TooManyCookieNamesInWhiteListException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyDistributionCNAMEsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Your request contains more CNAMEs than are allowed per distribution.
21
+ */
22
+ class TooManyDistributionCNAMEsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyDistributionsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Processing your request would cause you to exceed the maximum number of distributions allowed.
21
+ */
22
+ class TooManyDistributionsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyInvalidationsInProgressException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.
21
+ */
22
+ class TooManyInvalidationsInProgressException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyOriginsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * You cannot create anymore origins for the distribution.
21
+ */
22
+ class TooManyOriginsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyStreamingDistributionCNAMEsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Exception that occurs when a TooManyStreamingDistributionCNAMEsException error is encountered
21
+ */
22
+ class TooManyStreamingDistributionCNAMEsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyStreamingDistributionsException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Processing your request would cause you to exceed the maximum number of streaming distributions allowed.
21
+ */
22
+ class TooManyStreamingDistributionsException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TooManyTrustedSignersException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * Your request contains more trusted signers than are allowed per distribution.
21
+ */
22
+ class TooManyTrustedSignersException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Exception/TrustedSignerDoesNotExistException.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ namespace Aws\CloudFront\Exception;
18
+
19
+ /**
20
+ * One or more of your trusted signers do not exist.
21
+ */
22
+ class TrustedSignerDoesNotExistException extends CloudFrontException {}
lib/aws-sdk-php/Aws/CloudFront/Resources/cloudfront-2012-05-05.php ADDED
@@ -0,0 +1,4609 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ return array (
18
+ 'apiVersion' => '2012-05-05',
19
+ 'endpointPrefix' => 'cloudfront',
20
+ 'serviceFullName' => 'Amazon CloudFront',
21
+ 'serviceAbbreviation' => 'CloudFront',
22
+ 'serviceType' => 'rest-xml',
23
+ 'globalEndpoint' => 'cloudfront.amazonaws.com',
24
+ 'signatureVersion' => 'cloudfront',
25
+ 'namespace' => 'CloudFront',
26
+ 'regions' => array(
27
+ 'us-east-1' => array(
28
+ 'http' => true,
29
+ 'https' => true,
30
+ 'hostname' => 'cloudfront.amazonaws.com',
31
+ ),
32
+ 'us-west-1' => array(
33
+ 'http' => true,
34
+ 'https' => true,
35
+ 'hostname' => 'cloudfront.amazonaws.com',
36
+ ),
37
+ 'us-west-2' => array(
38
+ 'http' => true,
39
+ 'https' => true,
40
+ 'hostname' => 'cloudfront.amazonaws.com',
41
+ ),
42
+ 'eu-west-1' => array(
43
+ 'http' => true,
44
+ 'https' => true,
45
+ 'hostname' => 'cloudfront.amazonaws.com',
46
+ ),
47
+ 'ap-northeast-1' => array(
48
+ 'http' => true,
49
+ 'https' => true,
50
+ 'hostname' => 'cloudfront.amazonaws.com',
51
+ ),
52
+ 'ap-southeast-1' => array(
53
+ 'http' => true,
54
+ 'https' => true,
55
+ 'hostname' => 'cloudfront.amazonaws.com',
56
+ ),
57
+ 'ap-southeast-2' => array(
58
+ 'http' => true,
59
+ 'https' => true,
60
+ 'hostname' => 'cloudfront.amazonaws.com',
61
+ ),
62
+ 'sa-east-1' => array(
63
+ 'http' => true,
64
+ 'https' => true,
65
+ 'hostname' => 'cloudfront.amazonaws.com',
66
+ ),
67
+ ),
68
+ 'operations' => array(
69
+ 'CreateCloudFrontOriginAccessIdentity' => array(
70
+ 'httpMethod' => 'POST',
71
+ 'uri' => '/2012-05-05/origin-access-identity/cloudfront',
72
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
73
+ 'responseClass' => 'CreateCloudFrontOriginAccessIdentityResult',
74
+ 'responseType' => 'model',
75
+ 'summary' => 'Create a new origin access identity.',
76
+ 'data' => array(
77
+ 'xmlRoot' => array(
78
+ 'name' => 'CloudFrontOriginAccessIdentityConfig',
79
+ 'namespaces' => array(
80
+ 'http://cloudfront.amazonaws.com/doc/2012-05-05/',
81
+ ),
82
+ ),
83
+ ),
84
+ 'parameters' => array(
85
+ 'CallerReference' => array(
86
+ 'required' => true,
87
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
88
+ 'type' => 'string',
89
+ 'location' => 'xml',
90
+ ),
91
+ 'Comment' => array(
92
+ 'required' => true,
93
+ 'description' => 'Any comments you want to include about the origin access identity.',
94
+ 'type' => 'string',
95
+ 'location' => 'xml',
96
+ ),
97
+ 'command.expects' => array(
98
+ 'static' => true,
99
+ 'default' => 'application/xml',
100
+ ),
101
+ ),
102
+ 'errorResponses' => array(
103
+ array(
104
+ 'class' => 'CloudFrontOriginAccessIdentityAlreadyExistsException',
105
+ ),
106
+ array(
107
+ 'class' => 'MissingBodyException',
108
+ ),
109
+ array(
110
+ 'class' => 'TooManyCloudFrontOriginAccessIdentitiesException',
111
+ ),
112
+ array(
113
+ 'class' => 'InvalidArgumentException',
114
+ ),
115
+ array(
116
+ 'class' => 'InconsistentQuantitiesException',
117
+ ),
118
+ ),
119
+ ),
120
+ 'CreateDistribution' => array(
121
+ 'httpMethod' => 'POST',
122
+ 'uri' => '/2012-05-05/distribution',
123
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
124
+ 'responseClass' => 'CreateDistributionResult',
125
+ 'responseType' => 'model',
126
+ 'summary' => 'Create a new distribution.',
127
+ 'data' => array(
128
+ 'xmlRoot' => array(
129
+ 'name' => 'DistributionConfig',
130
+ 'namespaces' => array(
131
+ 'http://cloudfront.amazonaws.com/doc/2012-05-05/',
132
+ ),
133
+ ),
134
+ ),
135
+ 'parameters' => array(
136
+ 'CallerReference' => array(
137
+ 'required' => true,
138
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
139
+ 'type' => 'string',
140
+ 'location' => 'xml',
141
+ ),
142
+ 'Aliases' => array(
143
+ 'required' => true,
144
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
145
+ 'type' => 'object',
146
+ 'location' => 'xml',
147
+ 'properties' => array(
148
+ 'Quantity' => array(
149
+ 'required' => true,
150
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
151
+ 'type' => 'numeric',
152
+ ),
153
+ 'Items' => array(
154
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
155
+ 'type' => 'array',
156
+ 'items' => array(
157
+ 'name' => 'CNAME',
158
+ 'type' => 'string',
159
+ ),
160
+ ),
161
+ ),
162
+ ),
163
+ 'DefaultRootObject' => array(
164
+ 'required' => true,
165
+ 'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
166
+ 'type' => 'string',
167
+ 'location' => 'xml',
168
+ ),
169
+ 'Origins' => array(
170
+ 'required' => true,
171
+ 'description' => 'A complex type that contains information about origins for this distribution.',
172
+ 'type' => 'object',
173
+ 'location' => 'xml',
174
+ 'properties' => array(
175
+ 'Quantity' => array(
176
+ 'required' => true,
177
+ 'description' => 'The number of origins for this distribution.',
178
+ 'type' => 'numeric',
179
+ ),
180
+ 'Items' => array(
181
+ 'description' => 'A complex type that contains origins for this distribution.',
182
+ 'type' => 'array',
183
+ 'minItems' => 1,
184
+ 'items' => array(
185
+ 'name' => 'Origin',
186
+ 'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
187
+ 'type' => 'object',
188
+ 'properties' => array(
189
+ 'Id' => array(
190
+ 'required' => true,
191
+ 'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
192
+ 'type' => 'string',
193
+ ),
194
+ 'DomainName' => array(
195
+ 'required' => true,
196
+ 'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
197
+ 'type' => 'string',
198
+ ),
199
+ 'S3OriginConfig' => array(
200
+ 'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
201
+ 'type' => 'object',
202
+ 'properties' => array(
203
+ 'OriginAccessIdentity' => array(
204
+ 'required' => true,
205
+ 'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
206
+ 'type' => 'string',
207
+ ),
208
+ ),
209
+ ),
210
+ 'CustomOriginConfig' => array(
211
+ 'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
212
+ 'type' => 'object',
213
+ 'properties' => array(
214
+ 'HTTPPort' => array(
215
+ 'required' => true,
216
+ 'description' => 'The HTTP port the custom origin listens on.',
217
+ 'type' => 'numeric',
218
+ ),
219
+ 'HTTPSPort' => array(
220
+ 'required' => true,
221
+ 'description' => 'The HTTPS port the custom origin listens on.',
222
+ 'type' => 'numeric',
223
+ ),
224
+ 'OriginProtocolPolicy' => array(
225
+ 'required' => true,
226
+ 'description' => 'The origin protocol policy to apply to your origin.',
227
+ 'type' => 'string',
228
+ 'enum' => array(
229
+ 'http-only',
230
+ 'match-viewer',
231
+ ),
232
+ ),
233
+ ),
234
+ ),
235
+ ),
236
+ ),
237
+ ),
238
+ ),
239
+ ),
240
+ 'DefaultCacheBehavior' => array(
241
+ 'required' => true,
242
+ 'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
243
+ 'type' => 'object',
244
+ 'location' => 'xml',
245
+ 'properties' => array(
246
+ 'TargetOriginId' => array(
247
+ 'required' => true,
248
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
249
+ 'type' => 'string',
250
+ ),
251
+ 'ForwardedValues' => array(
252
+ 'required' => true,
253
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
254
+ 'type' => 'object',
255
+ 'properties' => array(
256
+ 'QueryString' => array(
257
+ 'required' => true,
258
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
259
+ 'type' => 'boolean',
260
+ 'format' => 'boolean-string',
261
+ ),
262
+ ),
263
+ ),
264
+ 'TrustedSigners' => array(
265
+ 'required' => true,
266
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
267
+ 'type' => 'object',
268
+ 'properties' => array(
269
+ 'Enabled' => array(
270
+ 'required' => true,
271
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
272
+ 'type' => 'boolean',
273
+ 'format' => 'boolean-string',
274
+ ),
275
+ 'Quantity' => array(
276
+ 'required' => true,
277
+ 'description' => 'The number of trusted signers for this cache behavior.',
278
+ 'type' => 'numeric',
279
+ ),
280
+ 'Items' => array(
281
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
282
+ 'type' => 'array',
283
+ 'items' => array(
284
+ 'name' => 'AwsAccountNumber',
285
+ 'type' => 'string',
286
+ ),
287
+ ),
288
+ ),
289
+ ),
290
+ 'ViewerProtocolPolicy' => array(
291
+ 'required' => true,
292
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
293
+ 'type' => 'string',
294
+ 'enum' => array(
295
+ 'allow-all',
296
+ 'https-only',
297
+ ),
298
+ ),
299
+ 'MinTTL' => array(
300
+ 'required' => true,
301
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
302
+ 'type' => 'numeric',
303
+ ),
304
+ ),
305
+ ),
306
+ 'CacheBehaviors' => array(
307
+ 'required' => true,
308
+ 'description' => 'A complex type that contains zero or more CacheBehavior elements.',
309
+ 'type' => 'object',
310
+ 'location' => 'xml',
311
+ 'properties' => array(
312
+ 'Quantity' => array(
313
+ 'required' => true,
314
+ 'description' => 'The number of cache behaviors for this distribution.',
315
+ 'type' => 'numeric',
316
+ ),
317
+ 'Items' => array(
318
+ 'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
319
+ 'type' => 'array',
320
+ 'items' => array(
321
+ 'name' => 'CacheBehavior',
322
+ 'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
323
+ 'type' => 'object',
324
+ 'properties' => array(
325
+ 'PathPattern' => array(
326
+ 'required' => true,
327
+ 'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
328
+ 'type' => 'string',
329
+ ),
330
+ 'TargetOriginId' => array(
331
+ 'required' => true,
332
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
333
+ 'type' => 'string',
334
+ ),
335
+ 'ForwardedValues' => array(
336
+ 'required' => true,
337
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
338
+ 'type' => 'object',
339
+ 'properties' => array(
340
+ 'QueryString' => array(
341
+ 'required' => true,
342
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
343
+ 'type' => 'boolean',
344
+ 'format' => 'boolean-string',
345
+ ),
346
+ ),
347
+ ),
348
+ 'TrustedSigners' => array(
349
+ 'required' => true,
350
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
351
+ 'type' => 'object',
352
+ 'properties' => array(
353
+ 'Enabled' => array(
354
+ 'required' => true,
355
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
356
+ 'type' => 'boolean',
357
+ 'format' => 'boolean-string',
358
+ ),
359
+ 'Quantity' => array(
360
+ 'required' => true,
361
+ 'description' => 'The number of trusted signers for this cache behavior.',
362
+ 'type' => 'numeric',
363
+ ),
364
+ 'Items' => array(
365
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
366
+ 'type' => 'array',
367
+ 'items' => array(
368
+ 'name' => 'AwsAccountNumber',
369
+ 'type' => 'string',
370
+ ),
371
+ ),
372
+ ),
373
+ ),
374
+ 'ViewerProtocolPolicy' => array(
375
+ 'required' => true,
376
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
377
+ 'type' => 'string',
378
+ 'enum' => array(
379
+ 'allow-all',
380
+ 'https-only',
381
+ ),
382
+ ),
383
+ 'MinTTL' => array(
384
+ 'required' => true,
385
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
386
+ 'type' => 'numeric',
387
+ ),
388
+ ),
389
+ ),
390
+ ),
391
+ ),
392
+ ),
393
+ 'Comment' => array(
394
+ 'required' => true,
395
+ 'description' => 'Any comments you want to include about the distribution.',
396
+ 'type' => 'string',
397
+ 'location' => 'xml',
398
+ ),
399
+ 'Logging' => array(
400
+ 'required' => true,
401
+ 'description' => 'A complex type that controls whether access logs are written for the distribution.',
402
+ 'type' => 'object',
403
+ 'location' => 'xml',
404
+ 'properties' => array(
405
+ 'Enabled' => array(
406
+ 'required' => true,
407
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
408
+ 'type' => 'boolean',
409
+ 'format' => 'boolean-string',
410
+ ),
411
+ 'Bucket' => array(
412
+ 'required' => true,
413
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
414
+ 'type' => 'string',
415
+ ),
416
+ 'Prefix' => array(
417
+ 'required' => true,
418
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
419
+ 'type' => 'string',
420
+ ),
421
+ ),
422
+ ),
423
+ 'Enabled' => array(
424
+ 'required' => true,
425
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
426
+ 'type' => 'boolean',
427
+ 'format' => 'boolean-string',
428
+ 'location' => 'xml',
429
+ ),
430
+ 'command.expects' => array(
431
+ 'static' => true,
432
+ 'default' => 'application/xml',
433
+ ),
434
+ ),
435
+ 'errorResponses' => array(
436
+ array(
437
+ 'class' => 'CNAMEAlreadyExistsException',
438
+ ),
439
+ array(
440
+ 'class' => 'DistributionAlreadyExistsException',
441
+ ),
442
+ array(
443
+ 'class' => 'InvalidOriginException',
444
+ ),
445
+ array(
446
+ 'class' => 'InvalidOriginAccessIdentityException',
447
+ ),
448
+ array(
449
+ 'class' => 'AccessDeniedException',
450
+ ),
451
+ array(
452
+ 'class' => 'TooManyTrustedSignersException',
453
+ ),
454
+ array(
455
+ 'class' => 'TrustedSignerDoesNotExistException',
456
+ ),
457
+ array(
458
+ 'class' => 'MissingBodyException',
459
+ ),
460
+ array(
461
+ 'class' => 'TooManyDistributionCNAMEsException',
462
+ ),
463
+ array(
464
+ 'class' => 'TooManyDistributionsException',
465
+ ),
466
+ array(
467
+ 'class' => 'InvalidDefaultRootObjectException',
468
+ ),
469
+ array(
470
+ 'class' => 'InvalidArgumentException',
471
+ ),
472
+ array(
473
+ 'class' => 'InvalidRequiredProtocolException',
474
+ ),
475
+ array(
476
+ 'class' => 'NoSuchOriginException',
477
+ ),
478
+ array(
479
+ 'class' => 'TooManyOriginsException',
480
+ ),
481
+ array(
482
+ 'class' => 'TooManyCacheBehaviorsException',
483
+ ),
484
+ array(
485
+ 'class' => 'InconsistentQuantitiesException',
486
+ ),
487
+ ),
488
+ ),
489
+ 'CreateInvalidation' => array(
490
+ 'httpMethod' => 'POST',
491
+ 'uri' => '/2012-05-05/distribution/{DistributionId}/invalidation',
492
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
493
+ 'responseClass' => 'CreateInvalidationResult',
494
+ 'responseType' => 'model',
495
+ 'summary' => 'Create a new invalidation.',
496
+ 'data' => array(
497
+ 'xmlRoot' => array(
498
+ 'name' => 'InvalidationBatch',
499
+ 'namespaces' => array(
500
+ 'http://cloudfront.amazonaws.com/doc/2012-05-05/',
501
+ ),
502
+ ),
503
+ ),
504
+ 'parameters' => array(
505
+ 'DistributionId' => array(
506
+ 'required' => true,
507
+ 'description' => 'The distribution\'s id.',
508
+ 'type' => 'string',
509
+ 'location' => 'uri',
510
+ ),
511
+ 'Paths' => array(
512
+ 'required' => true,
513
+ 'description' => 'The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.',
514
+ 'type' => 'object',
515
+ 'location' => 'xml',
516
+ 'properties' => array(
517
+ 'Quantity' => array(
518
+ 'required' => true,
519
+ 'description' => 'The number of objects that you want to invalidate.',
520
+ 'type' => 'numeric',
521
+ ),
522
+ 'Items' => array(
523
+ 'description' => 'A complex type that contains a list of the objects that you want to invalidate.',
524
+ 'type' => 'array',
525
+ 'items' => array(
526
+ 'name' => 'Path',
527
+ 'type' => 'string',
528
+ ),
529
+ ),
530
+ ),
531
+ ),
532
+ 'CallerReference' => array(
533
+ 'required' => true,
534
+ 'description' => 'A unique name that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.',
535
+ 'type' => 'string',
536
+ 'location' => 'xml',
537
+ ),
538
+ 'command.expects' => array(
539
+ 'static' => true,
540
+ 'default' => 'application/xml',
541
+ ),
542
+ ),
543
+ 'errorResponses' => array(
544
+ array(
545
+ 'class' => 'AccessDeniedException',
546
+ ),
547
+ array(
548
+ 'class' => 'MissingBodyException',
549
+ ),
550
+ array(
551
+ 'class' => 'InvalidArgumentException',
552
+ ),
553
+ array(
554
+ 'class' => 'NoSuchDistributionException',
555
+ ),
556
+ array(
557
+ 'class' => 'BatchTooLargeException',
558
+ ),
559
+ array(
560
+ 'class' => 'TooManyInvalidationsInProgressException',
561
+ ),
562
+ array(
563
+ 'class' => 'InconsistentQuantitiesException',
564
+ ),
565
+ ),
566
+ ),
567
+ 'CreateStreamingDistribution' => array(
568
+ 'httpMethod' => 'POST',
569
+ 'uri' => '/2012-05-05/streaming-distribution',
570
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
571
+ 'responseClass' => 'CreateStreamingDistributionResult',
572
+ 'responseType' => 'model',
573
+ 'summary' => 'Create a new streaming distribution.',
574
+ 'data' => array(
575
+ 'xmlRoot' => array(
576
+ 'name' => 'StreamingDistributionConfig',
577
+ 'namespaces' => array(
578
+ 'http://cloudfront.amazonaws.com/doc/2012-05-05/',
579
+ ),
580
+ ),
581
+ ),
582
+ 'parameters' => array(
583
+ 'CallerReference' => array(
584
+ 'required' => true,
585
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
586
+ 'type' => 'string',
587
+ 'location' => 'xml',
588
+ ),
589
+ 'S3Origin' => array(
590
+ 'required' => true,
591
+ 'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
592
+ 'type' => 'object',
593
+ 'location' => 'xml',
594
+ 'properties' => array(
595
+ 'DomainName' => array(
596
+ 'required' => true,
597
+ 'description' => 'The DNS name of the S3 origin.',
598
+ 'type' => 'string',
599
+ ),
600
+ 'OriginAccessIdentity' => array(
601
+ 'required' => true,
602
+ 'description' => 'Your S3 origin\'s origin access identity.',
603
+ 'type' => 'string',
604
+ ),
605
+ ),
606
+ ),
607
+ 'Aliases' => array(
608
+ 'required' => true,
609
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
610
+ 'type' => 'object',
611
+ 'location' => 'xml',
612
+ 'properties' => array(
613
+ 'Quantity' => array(
614
+ 'required' => true,
615
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
616
+ 'type' => 'numeric',
617
+ ),
618
+ 'Items' => array(
619
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
620
+ 'type' => 'array',
621
+ 'items' => array(
622
+ 'name' => 'CNAME',
623
+ 'type' => 'string',
624
+ ),
625
+ ),
626
+ ),
627
+ ),
628
+ 'Comment' => array(
629
+ 'required' => true,
630
+ 'description' => 'Any comments you want to include about the streaming distribution.',
631
+ 'type' => 'string',
632
+ 'location' => 'xml',
633
+ ),
634
+ 'Logging' => array(
635
+ 'required' => true,
636
+ 'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
637
+ 'type' => 'object',
638
+ 'location' => 'xml',
639
+ 'properties' => array(
640
+ 'Enabled' => array(
641
+ 'required' => true,
642
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
643
+ 'type' => 'boolean',
644
+ 'format' => 'boolean-string',
645
+ ),
646
+ 'Bucket' => array(
647
+ 'required' => true,
648
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
649
+ 'type' => 'string',
650
+ ),
651
+ 'Prefix' => array(
652
+ 'required' => true,
653
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
654
+ 'type' => 'string',
655
+ ),
656
+ ),
657
+ ),
658
+ 'TrustedSigners' => array(
659
+ 'required' => true,
660
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
661
+ 'type' => 'object',
662
+ 'location' => 'xml',
663
+ 'properties' => array(
664
+ 'Enabled' => array(
665
+ 'required' => true,
666
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
667
+ 'type' => 'boolean',
668
+ 'format' => 'boolean-string',
669
+ ),
670
+ 'Quantity' => array(
671
+ 'required' => true,
672
+ 'description' => 'The number of trusted signers for this cache behavior.',
673
+ 'type' => 'numeric',
674
+ ),
675
+ 'Items' => array(
676
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
677
+ 'type' => 'array',
678
+ 'items' => array(
679
+ 'name' => 'AwsAccountNumber',
680
+ 'type' => 'string',
681
+ ),
682
+ ),
683
+ ),
684
+ ),
685
+ 'Enabled' => array(
686
+ 'required' => true,
687
+ 'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
688
+ 'type' => 'boolean',
689
+ 'format' => 'boolean-string',
690
+ 'location' => 'xml',
691
+ ),
692
+ 'command.expects' => array(
693
+ 'static' => true,
694
+ 'default' => 'application/xml',
695
+ ),
696
+ ),
697
+ 'errorResponses' => array(
698
+ array(
699
+ 'class' => 'CNAMEAlreadyExistsException',
700
+ ),
701
+ array(
702
+ 'class' => 'StreamingDistributionAlreadyExistsException',
703
+ ),
704
+ array(
705
+ 'class' => 'InvalidOriginException',
706
+ ),
707
+ array(
708
+ 'class' => 'InvalidOriginAccessIdentityException',
709
+ ),
710
+ array(
711
+ 'class' => 'AccessDeniedException',
712
+ ),
713
+ array(
714
+ 'class' => 'TooManyTrustedSignersException',
715
+ ),
716
+ array(
717
+ 'class' => 'TrustedSignerDoesNotExistException',
718
+ ),
719
+ array(
720
+ 'class' => 'MissingBodyException',
721
+ ),
722
+ array(
723
+ 'class' => 'TooManyStreamingDistributionCNAMEsException',
724
+ ),
725
+ array(
726
+ 'class' => 'TooManyStreamingDistributionsException',
727
+ ),
728
+ array(
729
+ 'class' => 'InvalidArgumentException',
730
+ ),
731
+ array(
732
+ 'class' => 'InconsistentQuantitiesException',
733
+ ),
734
+ ),
735
+ ),
736
+ 'DeleteCloudFrontOriginAccessIdentity' => array(
737
+ 'httpMethod' => 'DELETE',
738
+ 'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}',
739
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
740
+ 'responseClass' => 'DeleteCloudFrontOriginAccessIdentity2012_05_05Output',
741
+ 'responseType' => 'model',
742
+ 'summary' => 'Delete an origin access identity.',
743
+ 'parameters' => array(
744
+ 'Id' => array(
745
+ 'required' => true,
746
+ 'description' => 'The origin access identity\'s id.',
747
+ 'type' => 'string',
748
+ 'location' => 'uri',
749
+ ),
750
+ 'IfMatch' => array(
751
+ 'description' => 'The value of the ETag header you received from a previous GET or PUT request. For example: E2QWRUHAPOMQZL.',
752
+ 'type' => 'string',
753
+ 'location' => 'header',
754
+ 'sentAs' => 'If-Match',
755
+ ),
756
+ ),
757
+ 'errorResponses' => array(
758
+ array(
759
+ 'class' => 'AccessDeniedException',
760
+ ),
761
+ array(
762
+ 'class' => 'InvalidIfMatchVersionException',
763
+ ),
764
+ array(
765
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
766
+ ),
767
+ array(
768
+ 'class' => 'PreconditionFailedException',
769
+ ),
770
+ array(
771
+ 'class' => 'CloudFrontOriginAccessIdentityInUseException',
772
+ ),
773
+ ),
774
+ ),
775
+ 'DeleteDistribution' => array(
776
+ 'httpMethod' => 'DELETE',
777
+ 'uri' => '/2012-05-05/distribution/{Id}',
778
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
779
+ 'responseClass' => 'DeleteDistribution2012_05_05Output',
780
+ 'responseType' => 'model',
781
+ 'summary' => 'Delete a distribution.',
782
+ 'parameters' => array(
783
+ 'Id' => array(
784
+ 'required' => true,
785
+ 'description' => 'The distribution id.',
786
+ 'type' => 'string',
787
+ 'location' => 'uri',
788
+ ),
789
+ 'IfMatch' => array(
790
+ 'description' => 'The value of the ETag header you received when you disabled the distribution. For example: E2QWRUHAPOMQZL.',
791
+ 'type' => 'string',
792
+ 'location' => 'header',
793
+ 'sentAs' => 'If-Match',
794
+ ),
795
+ ),
796
+ 'errorResponses' => array(
797
+ array(
798
+ 'class' => 'AccessDeniedException',
799
+ ),
800
+ array(
801
+ 'class' => 'DistributionNotDisabledException',
802
+ ),
803
+ array(
804
+ 'class' => 'InvalidIfMatchVersionException',
805
+ ),
806
+ array(
807
+ 'class' => 'NoSuchDistributionException',
808
+ ),
809
+ array(
810
+ 'class' => 'PreconditionFailedException',
811
+ ),
812
+ ),
813
+ ),
814
+ 'DeleteStreamingDistribution' => array(
815
+ 'httpMethod' => 'DELETE',
816
+ 'uri' => '/2012-05-05/streaming-distribution/{Id}',
817
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
818
+ 'responseClass' => 'DeleteStreamingDistribution2012_05_05Output',
819
+ 'responseType' => 'model',
820
+ 'summary' => 'Delete a streaming distribution.',
821
+ 'parameters' => array(
822
+ 'Id' => array(
823
+ 'required' => true,
824
+ 'description' => 'The distribution id.',
825
+ 'type' => 'string',
826
+ 'location' => 'uri',
827
+ ),
828
+ 'IfMatch' => array(
829
+ 'description' => 'The value of the ETag header you received when you disabled the streaming distribution. For example: E2QWRUHAPOMQZL.',
830
+ 'type' => 'string',
831
+ 'location' => 'header',
832
+ 'sentAs' => 'If-Match',
833
+ ),
834
+ ),
835
+ 'errorResponses' => array(
836
+ array(
837
+ 'class' => 'AccessDeniedException',
838
+ ),
839
+ array(
840
+ 'class' => 'StreamingDistributionNotDisabledException',
841
+ ),
842
+ array(
843
+ 'class' => 'InvalidIfMatchVersionException',
844
+ ),
845
+ array(
846
+ 'class' => 'NoSuchStreamingDistributionException',
847
+ ),
848
+ array(
849
+ 'class' => 'PreconditionFailedException',
850
+ ),
851
+ ),
852
+ ),
853
+ 'GetCloudFrontOriginAccessIdentity' => array(
854
+ 'httpMethod' => 'GET',
855
+ 'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}',
856
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
857
+ 'responseClass' => 'GetCloudFrontOriginAccessIdentityResult',
858
+ 'responseType' => 'model',
859
+ 'summary' => 'Get the information about an origin access identity.',
860
+ 'parameters' => array(
861
+ 'Id' => array(
862
+ 'required' => true,
863
+ 'description' => 'The identity\'s id.',
864
+ 'type' => 'string',
865
+ 'location' => 'uri',
866
+ ),
867
+ 'command.expects' => array(
868
+ 'static' => true,
869
+ 'default' => 'application/xml',
870
+ ),
871
+ ),
872
+ 'errorResponses' => array(
873
+ array(
874
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
875
+ ),
876
+ array(
877
+ 'class' => 'AccessDeniedException',
878
+ ),
879
+ ),
880
+ ),
881
+ 'GetCloudFrontOriginAccessIdentityConfig' => array(
882
+ 'httpMethod' => 'GET',
883
+ 'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}/config',
884
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
885
+ 'responseClass' => 'GetCloudFrontOriginAccessIdentityConfigResult',
886
+ 'responseType' => 'model',
887
+ 'summary' => 'Get the configuration information about an origin access identity.',
888
+ 'parameters' => array(
889
+ 'Id' => array(
890
+ 'required' => true,
891
+ 'description' => 'The identity\'s id.',
892
+ 'type' => 'string',
893
+ 'location' => 'uri',
894
+ ),
895
+ 'command.expects' => array(
896
+ 'static' => true,
897
+ 'default' => 'application/xml',
898
+ ),
899
+ ),
900
+ 'errorResponses' => array(
901
+ array(
902
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
903
+ ),
904
+ array(
905
+ 'class' => 'AccessDeniedException',
906
+ ),
907
+ ),
908
+ ),
909
+ 'GetDistribution' => array(
910
+ 'httpMethod' => 'GET',
911
+ 'uri' => '/2012-05-05/distribution/{Id}',
912
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
913
+ 'responseClass' => 'GetDistributionResult',
914
+ 'responseType' => 'model',
915
+ 'summary' => 'Get the information about a distribution.',
916
+ 'parameters' => array(
917
+ 'Id' => array(
918
+ 'required' => true,
919
+ 'description' => 'The distribution\'s id.',
920
+ 'type' => 'string',
921
+ 'location' => 'uri',
922
+ ),
923
+ 'command.expects' => array(
924
+ 'static' => true,
925
+ 'default' => 'application/xml',
926
+ ),
927
+ ),
928
+ 'errorResponses' => array(
929
+ array(
930
+ 'class' => 'NoSuchDistributionException',
931
+ ),
932
+ array(
933
+ 'class' => 'AccessDeniedException',
934
+ ),
935
+ ),
936
+ ),
937
+ 'GetDistributionConfig' => array(
938
+ 'httpMethod' => 'GET',
939
+ 'uri' => '/2012-05-05/distribution/{Id}/config',
940
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
941
+ 'responseClass' => 'GetDistributionConfigResult',
942
+ 'responseType' => 'model',
943
+ 'summary' => 'Get the configuration information about a distribution.',
944
+ 'parameters' => array(
945
+ 'Id' => array(
946
+ 'required' => true,
947
+ 'description' => 'The distribution\'s id.',
948
+ 'type' => 'string',
949
+ 'location' => 'uri',
950
+ ),
951
+ 'command.expects' => array(
952
+ 'static' => true,
953
+ 'default' => 'application/xml',
954
+ ),
955
+ ),
956
+ 'errorResponses' => array(
957
+ array(
958
+ 'class' => 'NoSuchDistributionException',
959
+ ),
960
+ array(
961
+ 'class' => 'AccessDeniedException',
962
+ ),
963
+ ),
964
+ ),
965
+ 'GetInvalidation' => array(
966
+ 'httpMethod' => 'GET',
967
+ 'uri' => '/2012-05-05/distribution/{DistributionId}/invalidation/{Id}',
968
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
969
+ 'responseClass' => 'GetInvalidationResult',
970
+ 'responseType' => 'model',
971
+ 'summary' => 'Get the information about an invalidation.',
972
+ 'parameters' => array(
973
+ 'DistributionId' => array(
974
+ 'required' => true,
975
+ 'description' => 'The distribution\'s id.',
976
+ 'type' => 'string',
977
+ 'location' => 'uri',
978
+ ),
979
+ 'Id' => array(
980
+ 'required' => true,
981
+ 'description' => 'The invalidation\'s id.',
982
+ 'type' => 'string',
983
+ 'location' => 'uri',
984
+ ),
985
+ 'command.expects' => array(
986
+ 'static' => true,
987
+ 'default' => 'application/xml',
988
+ ),
989
+ ),
990
+ 'errorResponses' => array(
991
+ array(
992
+ 'class' => 'NoSuchInvalidationException',
993
+ ),
994
+ array(
995
+ 'class' => 'NoSuchDistributionException',
996
+ ),
997
+ array(
998
+ 'class' => 'AccessDeniedException',
999
+ ),
1000
+ ),
1001
+ ),
1002
+ 'GetStreamingDistribution' => array(
1003
+ 'httpMethod' => 'GET',
1004
+ 'uri' => '/2012-05-05/streaming-distribution/{Id}',
1005
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1006
+ 'responseClass' => 'GetStreamingDistributionResult',
1007
+ 'responseType' => 'model',
1008
+ 'summary' => 'Get the information about a streaming distribution.',
1009
+ 'parameters' => array(
1010
+ 'Id' => array(
1011
+ 'required' => true,
1012
+ 'description' => 'The streaming distribution\'s id.',
1013
+ 'type' => 'string',
1014
+ 'location' => 'uri',
1015
+ ),
1016
+ 'command.expects' => array(
1017
+ 'static' => true,
1018
+ 'default' => 'application/xml',
1019
+ ),
1020
+ ),
1021
+ 'errorResponses' => array(
1022
+ array(
1023
+ 'class' => 'NoSuchStreamingDistributionException',
1024
+ ),
1025
+ array(
1026
+ 'class' => 'AccessDeniedException',
1027
+ ),
1028
+ ),
1029
+ ),
1030
+ 'GetStreamingDistributionConfig' => array(
1031
+ 'httpMethod' => 'GET',
1032
+ 'uri' => '/2012-05-05/streaming-distribution/{Id}/config',
1033
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1034
+ 'responseClass' => 'GetStreamingDistributionConfigResult',
1035
+ 'responseType' => 'model',
1036
+ 'summary' => 'Get the configuration information about a streaming distribution.',
1037
+ 'parameters' => array(
1038
+ 'Id' => array(
1039
+ 'required' => true,
1040
+ 'description' => 'The streaming distribution\'s id.',
1041
+ 'type' => 'string',
1042
+ 'location' => 'uri',
1043
+ ),
1044
+ 'command.expects' => array(
1045
+ 'static' => true,
1046
+ 'default' => 'application/xml',
1047
+ ),
1048
+ ),
1049
+ 'errorResponses' => array(
1050
+ array(
1051
+ 'class' => 'NoSuchStreamingDistributionException',
1052
+ ),
1053
+ array(
1054
+ 'class' => 'AccessDeniedException',
1055
+ ),
1056
+ ),
1057
+ ),
1058
+ 'ListCloudFrontOriginAccessIdentities' => array(
1059
+ 'httpMethod' => 'GET',
1060
+ 'uri' => '/2012-05-05/origin-access-identity/cloudfront',
1061
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1062
+ 'responseClass' => 'ListCloudFrontOriginAccessIdentitiesResult',
1063
+ 'responseType' => 'model',
1064
+ 'summary' => 'List origin access identities.',
1065
+ 'parameters' => array(
1066
+ 'Marker' => array(
1067
+ 'description' => 'Use this when paginating results to indicate where to begin in your list of origin access identities. The results include identities in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response (which is also the ID of the last identity on that page).',
1068
+ 'type' => 'string',
1069
+ 'location' => 'query',
1070
+ ),
1071
+ 'MaxItems' => array(
1072
+ 'description' => 'The maximum number of origin access identities you want in the response body.',
1073
+ 'type' => 'string',
1074
+ 'location' => 'query',
1075
+ ),
1076
+ 'command.expects' => array(
1077
+ 'static' => true,
1078
+ 'default' => 'application/xml',
1079
+ ),
1080
+ ),
1081
+ 'errorResponses' => array(
1082
+ array(
1083
+ 'class' => 'InvalidArgumentException',
1084
+ ),
1085
+ ),
1086
+ ),
1087
+ 'ListDistributions' => array(
1088
+ 'httpMethod' => 'GET',
1089
+ 'uri' => '/2012-05-05/distribution',
1090
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1091
+ 'responseClass' => 'ListDistributionsResult',
1092
+ 'responseType' => 'model',
1093
+ 'summary' => 'List distributions.',
1094
+ 'parameters' => array(
1095
+ 'Marker' => array(
1096
+ 'description' => 'Use this when paginating results to indicate where to begin in your list of distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response (which is also the ID of the last distribution on that page).',
1097
+ 'type' => 'string',
1098
+ 'location' => 'query',
1099
+ ),
1100
+ 'MaxItems' => array(
1101
+ 'description' => 'The maximum number of distributions you want in the response body.',
1102
+ 'type' => 'string',
1103
+ 'location' => 'query',
1104
+ ),
1105
+ 'command.expects' => array(
1106
+ 'static' => true,
1107
+ 'default' => 'application/xml',
1108
+ ),
1109
+ ),
1110
+ 'errorResponses' => array(
1111
+ array(
1112
+ 'class' => 'InvalidArgumentException',
1113
+ ),
1114
+ ),
1115
+ ),
1116
+ 'ListInvalidations' => array(
1117
+ 'httpMethod' => 'GET',
1118
+ 'uri' => '/2012-05-05/distribution/{DistributionId}/invalidation',
1119
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1120
+ 'responseClass' => 'ListInvalidationsResult',
1121
+ 'responseType' => 'model',
1122
+ 'summary' => 'List invalidation batches.',
1123
+ 'parameters' => array(
1124
+ 'DistributionId' => array(
1125
+ 'required' => true,
1126
+ 'description' => 'The distribution\'s id.',
1127
+ 'type' => 'string',
1128
+ 'location' => 'uri',
1129
+ ),
1130
+ 'Marker' => array(
1131
+ 'description' => 'Use this parameter when paginating results to indicate where to begin in your list of invalidation batches. Because the results are returned in decreasing order from most recent to oldest, the most recent results are on the first page, the second page will contain earlier results, and so on. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response. This value is the same as the ID of the last invalidation batch on that page.',
1132
+ 'type' => 'string',
1133
+ 'location' => 'query',
1134
+ ),
1135
+ 'MaxItems' => array(
1136
+ 'description' => 'The maximum number of invalidation batches you want in the response body.',
1137
+ 'type' => 'string',
1138
+ 'location' => 'query',
1139
+ ),
1140
+ 'command.expects' => array(
1141
+ 'static' => true,
1142
+ 'default' => 'application/xml',
1143
+ ),
1144
+ ),
1145
+ 'errorResponses' => array(
1146
+ array(
1147
+ 'class' => 'InvalidArgumentException',
1148
+ ),
1149
+ array(
1150
+ 'class' => 'NoSuchDistributionException',
1151
+ ),
1152
+ ),
1153
+ ),
1154
+ 'ListStreamingDistributions' => array(
1155
+ 'httpMethod' => 'GET',
1156
+ 'uri' => '/2012-05-05/streaming-distribution',
1157
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1158
+ 'responseClass' => 'ListStreamingDistributionsResult',
1159
+ 'responseType' => 'model',
1160
+ 'summary' => 'List streaming distributions.',
1161
+ 'parameters' => array(
1162
+ 'Marker' => array(
1163
+ 'description' => 'Use this when paginating results to indicate where to begin in your list of streaming distributions. The results include distributions in the list that occur after the marker. To get the next page of results, set the Marker to the value of the NextMarker from the current page\'s response (which is also the ID of the last distribution on that page).',
1164
+ 'type' => 'string',
1165
+ 'location' => 'query',
1166
+ ),
1167
+ 'MaxItems' => array(
1168
+ 'description' => 'The maximum number of streaming distributions you want in the response body.',
1169
+ 'type' => 'string',
1170
+ 'location' => 'query',
1171
+ ),
1172
+ 'command.expects' => array(
1173
+ 'static' => true,
1174
+ 'default' => 'application/xml',
1175
+ ),
1176
+ ),
1177
+ 'errorResponses' => array(
1178
+ array(
1179
+ 'class' => 'InvalidArgumentException',
1180
+ ),
1181
+ ),
1182
+ ),
1183
+ 'UpdateCloudFrontOriginAccessIdentity' => array(
1184
+ 'httpMethod' => 'PUT',
1185
+ 'uri' => '/2012-05-05/origin-access-identity/cloudfront/{Id}/config',
1186
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1187
+ 'responseClass' => 'UpdateCloudFrontOriginAccessIdentityResult',
1188
+ 'responseType' => 'model',
1189
+ 'summary' => 'Update an origin access identity.',
1190
+ 'data' => array(
1191
+ 'xmlRoot' => array(
1192
+ 'name' => 'CloudFrontOriginAccessIdentityConfig',
1193
+ 'namespaces' => array(
1194
+ 'http://cloudfront.amazonaws.com/doc/2012-05-05/',
1195
+ ),
1196
+ ),
1197
+ ),
1198
+ 'parameters' => array(
1199
+ 'CallerReference' => array(
1200
+ 'required' => true,
1201
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
1202
+ 'type' => 'string',
1203
+ 'location' => 'xml',
1204
+ ),
1205
+ 'Comment' => array(
1206
+ 'required' => true,
1207
+ 'description' => 'Any comments you want to include about the origin access identity.',
1208
+ 'type' => 'string',
1209
+ 'location' => 'xml',
1210
+ ),
1211
+ 'Id' => array(
1212
+ 'required' => true,
1213
+ 'description' => 'The identity\'s id.',
1214
+ 'type' => 'string',
1215
+ 'location' => 'uri',
1216
+ ),
1217
+ 'IfMatch' => array(
1218
+ 'description' => 'The value of the ETag header you received when retrieving the identity\'s configuration. For example: E2QWRUHAPOMQZL.',
1219
+ 'type' => 'string',
1220
+ 'location' => 'header',
1221
+ 'sentAs' => 'If-Match',
1222
+ ),
1223
+ 'command.expects' => array(
1224
+ 'static' => true,
1225
+ 'default' => 'application/xml',
1226
+ ),
1227
+ ),
1228
+ 'errorResponses' => array(
1229
+ array(
1230
+ 'class' => 'AccessDeniedException',
1231
+ ),
1232
+ array(
1233
+ 'class' => 'IllegalUpdateException',
1234
+ ),
1235
+ array(
1236
+ 'class' => 'InvalidIfMatchVersionException',
1237
+ ),
1238
+ array(
1239
+ 'class' => 'MissingBodyException',
1240
+ ),
1241
+ array(
1242
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
1243
+ ),
1244
+ array(
1245
+ 'class' => 'PreconditionFailedException',
1246
+ ),
1247
+ array(
1248
+ 'class' => 'InvalidArgumentException',
1249
+ ),
1250
+ array(
1251
+ 'class' => 'InconsistentQuantitiesException',
1252
+ ),
1253
+ ),
1254
+ ),
1255
+ 'UpdateDistribution' => array(
1256
+ 'httpMethod' => 'PUT',
1257
+ 'uri' => '/2012-05-05/distribution/{Id}/config',
1258
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1259
+ 'responseClass' => 'UpdateDistributionResult',
1260
+ 'responseType' => 'model',
1261
+ 'summary' => 'Update a distribution.',
1262
+ 'data' => array(
1263
+ 'xmlRoot' => array(
1264
+ 'name' => 'DistributionConfig',
1265
+ 'namespaces' => array(
1266
+ 'http://cloudfront.amazonaws.com/doc/2012-05-05/',
1267
+ ),
1268
+ ),
1269
+ ),
1270
+ 'parameters' => array(
1271
+ 'CallerReference' => array(
1272
+ 'required' => true,
1273
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
1274
+ 'type' => 'string',
1275
+ 'location' => 'xml',
1276
+ ),
1277
+ 'Aliases' => array(
1278
+ 'required' => true,
1279
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
1280
+ 'type' => 'object',
1281
+ 'location' => 'xml',
1282
+ 'properties' => array(
1283
+ 'Quantity' => array(
1284
+ 'required' => true,
1285
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
1286
+ 'type' => 'numeric',
1287
+ ),
1288
+ 'Items' => array(
1289
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
1290
+ 'type' => 'array',
1291
+ 'items' => array(
1292
+ 'name' => 'CNAME',
1293
+ 'type' => 'string',
1294
+ ),
1295
+ ),
1296
+ ),
1297
+ ),
1298
+ 'DefaultRootObject' => array(
1299
+ 'required' => true,
1300
+ 'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
1301
+ 'type' => 'string',
1302
+ 'location' => 'xml',
1303
+ ),
1304
+ 'Origins' => array(
1305
+ 'required' => true,
1306
+ 'description' => 'A complex type that contains information about origins for this distribution.',
1307
+ 'type' => 'object',
1308
+ 'location' => 'xml',
1309
+ 'properties' => array(
1310
+ 'Quantity' => array(
1311
+ 'required' => true,
1312
+ 'description' => 'The number of origins for this distribution.',
1313
+ 'type' => 'numeric',
1314
+ ),
1315
+ 'Items' => array(
1316
+ 'description' => 'A complex type that contains origins for this distribution.',
1317
+ 'type' => 'array',
1318
+ 'minItems' => 1,
1319
+ 'items' => array(
1320
+ 'name' => 'Origin',
1321
+ 'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
1322
+ 'type' => 'object',
1323
+ 'properties' => array(
1324
+ 'Id' => array(
1325
+ 'required' => true,
1326
+ 'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
1327
+ 'type' => 'string',
1328
+ ),
1329
+ 'DomainName' => array(
1330
+ 'required' => true,
1331
+ 'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
1332
+ 'type' => 'string',
1333
+ ),
1334
+ 'S3OriginConfig' => array(
1335
+ 'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
1336
+ 'type' => 'object',
1337
+ 'properties' => array(
1338
+ 'OriginAccessIdentity' => array(
1339
+ 'required' => true,
1340
+ 'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
1341
+ 'type' => 'string',
1342
+ ),
1343
+ ),
1344
+ ),
1345
+ 'CustomOriginConfig' => array(
1346
+ 'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
1347
+ 'type' => 'object',
1348
+ 'properties' => array(
1349
+ 'HTTPPort' => array(
1350
+ 'required' => true,
1351
+ 'description' => 'The HTTP port the custom origin listens on.',
1352
+ 'type' => 'numeric',
1353
+ ),
1354
+ 'HTTPSPort' => array(
1355
+ 'required' => true,
1356
+ 'description' => 'The HTTPS port the custom origin listens on.',
1357
+ 'type' => 'numeric',
1358
+ ),
1359
+ 'OriginProtocolPolicy' => array(
1360
+ 'required' => true,
1361
+ 'description' => 'The origin protocol policy to apply to your origin.',
1362
+ 'type' => 'string',
1363
+ 'enum' => array(
1364
+ 'http-only',
1365
+ 'match-viewer',
1366
+ ),
1367
+ ),
1368
+ ),
1369
+ ),
1370
+ ),
1371
+ ),
1372
+ ),
1373
+ ),
1374
+ ),
1375
+ 'DefaultCacheBehavior' => array(
1376
+ 'required' => true,
1377
+ 'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
1378
+ 'type' => 'object',
1379
+ 'location' => 'xml',
1380
+ 'properties' => array(
1381
+ 'TargetOriginId' => array(
1382
+ 'required' => true,
1383
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
1384
+ 'type' => 'string',
1385
+ ),
1386
+ 'ForwardedValues' => array(
1387
+ 'required' => true,
1388
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
1389
+ 'type' => 'object',
1390
+ 'properties' => array(
1391
+ 'QueryString' => array(
1392
+ 'required' => true,
1393
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
1394
+ 'type' => 'boolean',
1395
+ 'format' => 'boolean-string',
1396
+ ),
1397
+ ),
1398
+ ),
1399
+ 'TrustedSigners' => array(
1400
+ 'required' => true,
1401
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
1402
+ 'type' => 'object',
1403
+ 'properties' => array(
1404
+ 'Enabled' => array(
1405
+ 'required' => true,
1406
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
1407
+ 'type' => 'boolean',
1408
+ 'format' => 'boolean-string',
1409
+ ),
1410
+ 'Quantity' => array(
1411
+ 'required' => true,
1412
+ 'description' => 'The number of trusted signers for this cache behavior.',
1413
+ 'type' => 'numeric',
1414
+ ),
1415
+ 'Items' => array(
1416
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
1417
+ 'type' => 'array',
1418
+ 'items' => array(
1419
+ 'name' => 'AwsAccountNumber',
1420
+ 'type' => 'string',
1421
+ ),
1422
+ ),
1423
+ ),
1424
+ ),
1425
+ 'ViewerProtocolPolicy' => array(
1426
+ 'required' => true,
1427
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
1428
+ 'type' => 'string',
1429
+ 'enum' => array(
1430
+ 'allow-all',
1431
+ 'https-only',
1432
+ ),
1433
+ ),
1434
+ 'MinTTL' => array(
1435
+ 'required' => true,
1436
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
1437
+ 'type' => 'numeric',
1438
+ ),
1439
+ ),
1440
+ ),
1441
+ 'CacheBehaviors' => array(
1442
+ 'required' => true,
1443
+ 'description' => 'A complex type that contains zero or more CacheBehavior elements.',
1444
+ 'type' => 'object',
1445
+ 'location' => 'xml',
1446
+ 'properties' => array(
1447
+ 'Quantity' => array(
1448
+ 'required' => true,
1449
+ 'description' => 'The number of cache behaviors for this distribution.',
1450
+ 'type' => 'numeric',
1451
+ ),
1452
+ 'Items' => array(
1453
+ 'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
1454
+ 'type' => 'array',
1455
+ 'items' => array(
1456
+ 'name' => 'CacheBehavior',
1457
+ 'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
1458
+ 'type' => 'object',
1459
+ 'properties' => array(
1460
+ 'PathPattern' => array(
1461
+ 'required' => true,
1462
+ 'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
1463
+ 'type' => 'string',
1464
+ ),
1465
+ 'TargetOriginId' => array(
1466
+ 'required' => true,
1467
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
1468
+ 'type' => 'string',
1469
+ ),
1470
+ 'ForwardedValues' => array(
1471
+ 'required' => true,
1472
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
1473
+ 'type' => 'object',
1474
+ 'properties' => array(
1475
+ 'QueryString' => array(
1476
+ 'required' => true,
1477
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
1478
+ 'type' => 'boolean',
1479
+ 'format' => 'boolean-string',
1480
+ ),
1481
+ ),
1482
+ ),
1483
+ 'TrustedSigners' => array(
1484
+ 'required' => true,
1485
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
1486
+ 'type' => 'object',
1487
+ 'properties' => array(
1488
+ 'Enabled' => array(
1489
+ 'required' => true,
1490
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
1491
+ 'type' => 'boolean',
1492
+ 'format' => 'boolean-string',
1493
+ ),
1494
+ 'Quantity' => array(
1495
+ 'required' => true,
1496
+ 'description' => 'The number of trusted signers for this cache behavior.',
1497
+ 'type' => 'numeric',
1498
+ ),
1499
+ 'Items' => array(
1500
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
1501
+ 'type' => 'array',
1502
+ 'items' => array(
1503
+ 'name' => 'AwsAccountNumber',
1504
+ 'type' => 'string',
1505
+ ),
1506
+ ),
1507
+ ),
1508
+ ),
1509
+ 'ViewerProtocolPolicy' => array(
1510
+ 'required' => true,
1511
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
1512
+ 'type' => 'string',
1513
+ 'enum' => array(
1514
+ 'allow-all',
1515
+ 'https-only',
1516
+ ),
1517
+ ),
1518
+ 'MinTTL' => array(
1519
+ 'required' => true,
1520
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
1521
+ 'type' => 'numeric',
1522
+ ),
1523
+ ),
1524
+ ),
1525
+ ),
1526
+ ),
1527
+ ),
1528
+ 'Comment' => array(
1529
+ 'required' => true,
1530
+ 'description' => 'Any comments you want to include about the distribution.',
1531
+ 'type' => 'string',
1532
+ 'location' => 'xml',
1533
+ ),
1534
+ 'Logging' => array(
1535
+ 'required' => true,
1536
+ 'description' => 'A complex type that controls whether access logs are written for the distribution.',
1537
+ 'type' => 'object',
1538
+ 'location' => 'xml',
1539
+ 'properties' => array(
1540
+ 'Enabled' => array(
1541
+ 'required' => true,
1542
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
1543
+ 'type' => 'boolean',
1544
+ 'format' => 'boolean-string',
1545
+ ),
1546
+ 'Bucket' => array(
1547
+ 'required' => true,
1548
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
1549
+ 'type' => 'string',
1550
+ ),
1551
+ 'Prefix' => array(
1552
+ 'required' => true,
1553
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
1554
+ 'type' => 'string',
1555
+ ),
1556
+ ),
1557
+ ),
1558
+ 'Enabled' => array(
1559
+ 'required' => true,
1560
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
1561
+ 'type' => 'boolean',
1562
+ 'format' => 'boolean-string',
1563
+ 'location' => 'xml',
1564
+ ),
1565
+ 'Id' => array(
1566
+ 'required' => true,
1567
+ 'description' => 'The distribution\'s id.',
1568
+ 'type' => 'string',
1569
+ 'location' => 'uri',
1570
+ ),
1571
+ 'IfMatch' => array(
1572
+ 'description' => 'The value of the ETag header you received when retrieving the distribution\'s configuration. For example: E2QWRUHAPOMQZL.',
1573
+ 'type' => 'string',
1574
+ 'location' => 'header',
1575
+ 'sentAs' => 'If-Match',
1576
+ ),
1577
+ 'command.expects' => array(
1578
+ 'static' => true,
1579
+ 'default' => 'application/xml',
1580
+ ),
1581
+ ),
1582
+ 'errorResponses' => array(
1583
+ array(
1584
+ 'class' => 'AccessDeniedException',
1585
+ ),
1586
+ array(
1587
+ 'class' => 'CNAMEAlreadyExistsException',
1588
+ ),
1589
+ array(
1590
+ 'class' => 'IllegalUpdateException',
1591
+ ),
1592
+ array(
1593
+ 'class' => 'InvalidIfMatchVersionException',
1594
+ ),
1595
+ array(
1596
+ 'class' => 'MissingBodyException',
1597
+ ),
1598
+ array(
1599
+ 'class' => 'NoSuchDistributionException',
1600
+ ),
1601
+ array(
1602
+ 'class' => 'PreconditionFailedException',
1603
+ ),
1604
+ array(
1605
+ 'class' => 'TooManyDistributionCNAMEsException',
1606
+ ),
1607
+ array(
1608
+ 'class' => 'InvalidDefaultRootObjectException',
1609
+ ),
1610
+ array(
1611
+ 'class' => 'InvalidArgumentException',
1612
+ ),
1613
+ array(
1614
+ 'class' => 'InvalidOriginAccessIdentityException',
1615
+ ),
1616
+ array(
1617
+ 'class' => 'TooManyTrustedSignersException',
1618
+ ),
1619
+ array(
1620
+ 'class' => 'TrustedSignerDoesNotExistException',
1621
+ ),
1622
+ array(
1623
+ 'class' => 'InvalidRequiredProtocolException',
1624
+ ),
1625
+ array(
1626
+ 'class' => 'NoSuchOriginException',
1627
+ ),
1628
+ array(
1629
+ 'class' => 'TooManyOriginsException',
1630
+ ),
1631
+ array(
1632
+ 'class' => 'TooManyCacheBehaviorsException',
1633
+ ),
1634
+ array(
1635
+ 'class' => 'InconsistentQuantitiesException',
1636
+ ),
1637
+ ),
1638
+ ),
1639
+ 'UpdateStreamingDistribution' => array(
1640
+ 'httpMethod' => 'PUT',
1641
+ 'uri' => '/2012-05-05/streaming-distribution/{Id}/config',
1642
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1643
+ 'responseClass' => 'UpdateStreamingDistributionResult',
1644
+ 'responseType' => 'model',
1645
+ 'summary' => 'Update a streaming distribution.',
1646
+ 'data' => array(
1647
+ 'xmlRoot' => array(
1648
+ 'name' => 'StreamingDistributionConfig',
1649
+ 'namespaces' => array(
1650
+ 'http://cloudfront.amazonaws.com/doc/2012-05-05/',
1651
+ ),
1652
+ ),
1653
+ ),
1654
+ 'parameters' => array(
1655
+ 'CallerReference' => array(
1656
+ 'required' => true,
1657
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
1658
+ 'type' => 'string',
1659
+ 'location' => 'xml',
1660
+ ),
1661
+ 'S3Origin' => array(
1662
+ 'required' => true,
1663
+ 'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
1664
+ 'type' => 'object',
1665
+ 'location' => 'xml',
1666
+ 'properties' => array(
1667
+ 'DomainName' => array(
1668
+ 'required' => true,
1669
+ 'description' => 'The DNS name of the S3 origin.',
1670
+ 'type' => 'string',
1671
+ ),
1672
+ 'OriginAccessIdentity' => array(
1673
+ 'required' => true,
1674
+ 'description' => 'Your S3 origin\'s origin access identity.',
1675
+ 'type' => 'string',
1676
+ ),
1677
+ ),
1678
+ ),
1679
+ 'Aliases' => array(
1680
+ 'required' => true,
1681
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
1682
+ 'type' => 'object',
1683
+ 'location' => 'xml',
1684
+ 'properties' => array(
1685
+ 'Quantity' => array(
1686
+ 'required' => true,
1687
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
1688
+ 'type' => 'numeric',
1689
+ ),
1690
+ 'Items' => array(
1691
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
1692
+ 'type' => 'array',
1693
+ 'items' => array(
1694
+ 'name' => 'CNAME',
1695
+ 'type' => 'string',
1696
+ ),
1697
+ ),
1698
+ ),
1699
+ ),
1700
+ 'Comment' => array(
1701
+ 'required' => true,
1702
+ 'description' => 'Any comments you want to include about the streaming distribution.',
1703
+ 'type' => 'string',
1704
+ 'location' => 'xml',
1705
+ ),
1706
+ 'Logging' => array(
1707
+ 'required' => true,
1708
+ 'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
1709
+ 'type' => 'object',
1710
+ 'location' => 'xml',
1711
+ 'properties' => array(
1712
+ 'Enabled' => array(
1713
+ 'required' => true,
1714
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
1715
+ 'type' => 'boolean',
1716
+ 'format' => 'boolean-string',
1717
+ ),
1718
+ 'Bucket' => array(
1719
+ 'required' => true,
1720
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
1721
+ 'type' => 'string',
1722
+ ),
1723
+ 'Prefix' => array(
1724
+ 'required' => true,
1725
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
1726
+ 'type' => 'string',
1727
+ ),
1728
+ ),
1729
+ ),
1730
+ 'TrustedSigners' => array(
1731
+ 'required' => true,
1732
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
1733
+ 'type' => 'object',
1734
+ 'location' => 'xml',
1735
+ 'properties' => array(
1736
+ 'Enabled' => array(
1737
+ 'required' => true,
1738
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
1739
+ 'type' => 'boolean',
1740
+ 'format' => 'boolean-string',
1741
+ ),
1742
+ 'Quantity' => array(
1743
+ 'required' => true,
1744
+ 'description' => 'The number of trusted signers for this cache behavior.',
1745
+ 'type' => 'numeric',
1746
+ ),
1747
+ 'Items' => array(
1748
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
1749
+ 'type' => 'array',
1750
+ 'items' => array(
1751
+ 'name' => 'AwsAccountNumber',
1752
+ 'type' => 'string',
1753
+ ),
1754
+ ),
1755
+ ),
1756
+ ),
1757
+ 'Enabled' => array(
1758
+ 'required' => true,
1759
+ 'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
1760
+ 'type' => 'boolean',
1761
+ 'format' => 'boolean-string',
1762
+ 'location' => 'xml',
1763
+ ),
1764
+ 'Id' => array(
1765
+ 'required' => true,
1766
+ 'description' => 'The streaming distribution\'s id.',
1767
+ 'type' => 'string',
1768
+ 'location' => 'uri',
1769
+ ),
1770
+ 'IfMatch' => array(
1771
+ 'description' => 'The value of the ETag header you received when retrieving the streaming distribution\'s configuration. For example: E2QWRUHAPOMQZL.',
1772
+ 'type' => 'string',
1773
+ 'location' => 'header',
1774
+ 'sentAs' => 'If-Match',
1775
+ ),
1776
+ 'command.expects' => array(
1777
+ 'static' => true,
1778
+ 'default' => 'application/xml',
1779
+ ),
1780
+ ),
1781
+ 'errorResponses' => array(
1782
+ array(
1783
+ 'class' => 'AccessDeniedException',
1784
+ ),
1785
+ array(
1786
+ 'class' => 'CNAMEAlreadyExistsException',
1787
+ ),
1788
+ array(
1789
+ 'class' => 'IllegalUpdateException',
1790
+ ),
1791
+ array(
1792
+ 'class' => 'InvalidIfMatchVersionException',
1793
+ ),
1794
+ array(
1795
+ 'class' => 'MissingBodyException',
1796
+ ),
1797
+ array(
1798
+ 'class' => 'NoSuchStreamingDistributionException',
1799
+ ),
1800
+ array(
1801
+ 'class' => 'PreconditionFailedException',
1802
+ ),
1803
+ array(
1804
+ 'class' => 'TooManyStreamingDistributionCNAMEsException',
1805
+ ),
1806
+ array(
1807
+ 'class' => 'InvalidArgumentException',
1808
+ ),
1809
+ array(
1810
+ 'class' => 'InvalidOriginAccessIdentityException',
1811
+ ),
1812
+ array(
1813
+ 'class' => 'TooManyTrustedSignersException',
1814
+ ),
1815
+ array(
1816
+ 'class' => 'TrustedSignerDoesNotExistException',
1817
+ ),
1818
+ array(
1819
+ 'class' => 'InconsistentQuantitiesException',
1820
+ ),
1821
+ ),
1822
+ ),
1823
+ ),
1824
+ 'models' => array(
1825
+ 'CreateCloudFrontOriginAccessIdentityResult' => array(
1826
+ 'type' => 'object',
1827
+ 'additionalProperties' => true,
1828
+ 'properties' => array(
1829
+ 'Id' => array(
1830
+ 'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
1831
+ 'type' => 'string',
1832
+ 'location' => 'xml',
1833
+ ),
1834
+ 'S3CanonicalUserId' => array(
1835
+ 'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
1836
+ 'type' => 'string',
1837
+ 'location' => 'xml',
1838
+ ),
1839
+ 'CloudFrontOriginAccessIdentityConfig' => array(
1840
+ 'description' => 'The current configuration information for the identity.',
1841
+ 'type' => 'object',
1842
+ 'location' => 'xml',
1843
+ 'properties' => array(
1844
+ 'CallerReference' => array(
1845
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
1846
+ 'type' => 'string',
1847
+ ),
1848
+ 'Comment' => array(
1849
+ 'description' => 'Any comments you want to include about the origin access identity.',
1850
+ 'type' => 'string',
1851
+ ),
1852
+ ),
1853
+ ),
1854
+ 'Location' => array(
1855
+ 'description' => 'The fully qualified URI of the new origin access identity just created. For example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A.',
1856
+ 'type' => 'string',
1857
+ 'location' => 'header',
1858
+ ),
1859
+ 'ETag' => array(
1860
+ 'description' => 'The current version of the origin access identity created.',
1861
+ 'type' => 'string',
1862
+ 'location' => 'header',
1863
+ ),
1864
+ 'RequestId' => array(
1865
+ 'description' => 'Request ID of the operation',
1866
+ 'location' => 'header',
1867
+ 'sentAs' => 'x-amz-request-id',
1868
+ ),
1869
+ ),
1870
+ ),
1871
+ 'CreateDistributionResult' => array(
1872
+ 'type' => 'object',
1873
+ 'additionalProperties' => true,
1874
+ 'properties' => array(
1875
+ 'Id' => array(
1876
+ 'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
1877
+ 'type' => 'string',
1878
+ 'location' => 'xml',
1879
+ ),
1880
+ 'Status' => array(
1881
+ 'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
1882
+ 'type' => 'string',
1883
+ 'location' => 'xml',
1884
+ ),
1885
+ 'LastModifiedTime' => array(
1886
+ 'description' => 'The date and time the distribution was last modified.',
1887
+ 'type' => 'string',
1888
+ 'location' => 'xml',
1889
+ ),
1890
+ 'InProgressInvalidationBatches' => array(
1891
+ 'description' => 'The number of invalidation batches currently in progress.',
1892
+ 'type' => 'numeric',
1893
+ 'location' => 'xml',
1894
+ ),
1895
+ 'DomainName' => array(
1896
+ 'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
1897
+ 'type' => 'string',
1898
+ 'location' => 'xml',
1899
+ ),
1900
+ 'ActiveTrustedSigners' => array(
1901
+ 'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
1902
+ 'type' => 'object',
1903
+ 'location' => 'xml',
1904
+ 'properties' => array(
1905
+ 'Enabled' => array(
1906
+ 'description' => 'Each active trusted signer.',
1907
+ 'type' => 'boolean',
1908
+ ),
1909
+ 'Quantity' => array(
1910
+ 'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
1911
+ 'type' => 'numeric',
1912
+ ),
1913
+ 'Items' => array(
1914
+ 'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
1915
+ 'type' => 'array',
1916
+ 'items' => array(
1917
+ 'name' => 'Signer',
1918
+ 'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
1919
+ 'type' => 'object',
1920
+ 'sentAs' => 'Signer',
1921
+ 'properties' => array(
1922
+ 'AwsAccountNumber' => array(
1923
+ 'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
1924
+ 'type' => 'string',
1925
+ ),
1926
+ 'KeyPairIds' => array(
1927
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
1928
+ 'type' => 'object',
1929
+ 'properties' => array(
1930
+ 'Quantity' => array(
1931
+ 'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
1932
+ 'type' => 'numeric',
1933
+ ),
1934
+ 'Items' => array(
1935
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
1936
+ 'type' => 'array',
1937
+ 'items' => array(
1938
+ 'name' => 'KeyPairId',
1939
+ 'type' => 'string',
1940
+ 'sentAs' => 'KeyPairId',
1941
+ ),
1942
+ ),
1943
+ ),
1944
+ ),
1945
+ ),
1946
+ ),
1947
+ ),
1948
+ ),
1949
+ ),
1950
+ 'DistributionConfig' => array(
1951
+ 'description' => 'The current configuration information for the distribution.',
1952
+ 'type' => 'object',
1953
+ 'location' => 'xml',
1954
+ 'properties' => array(
1955
+ 'CallerReference' => array(
1956
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
1957
+ 'type' => 'string',
1958
+ ),
1959
+ 'Aliases' => array(
1960
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
1961
+ 'type' => 'object',
1962
+ 'properties' => array(
1963
+ 'Quantity' => array(
1964
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
1965
+ 'type' => 'numeric',
1966
+ ),
1967
+ 'Items' => array(
1968
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
1969
+ 'type' => 'array',
1970
+ 'items' => array(
1971
+ 'name' => 'CNAME',
1972
+ 'type' => 'string',
1973
+ 'sentAs' => 'CNAME',
1974
+ ),
1975
+ ),
1976
+ ),
1977
+ ),
1978
+ 'DefaultRootObject' => array(
1979
+ 'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
1980
+ 'type' => 'string',
1981
+ ),
1982
+ 'Origins' => array(
1983
+ 'description' => 'A complex type that contains information about origins for this distribution.',
1984
+ 'type' => 'object',
1985
+ 'properties' => array(
1986
+ 'Quantity' => array(
1987
+ 'description' => 'The number of origins for this distribution.',
1988
+ 'type' => 'numeric',
1989
+ ),
1990
+ 'Items' => array(
1991
+ 'description' => 'A complex type that contains origins for this distribution.',
1992
+ 'type' => 'array',
1993
+ 'items' => array(
1994
+ 'name' => 'Origin',
1995
+ 'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
1996
+ 'type' => 'object',
1997
+ 'sentAs' => 'Origin',
1998
+ 'properties' => array(
1999
+ 'Id' => array(
2000
+ 'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
2001
+ 'type' => 'string',
2002
+ ),
2003
+ 'DomainName' => array(
2004
+ 'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
2005
+ 'type' => 'string',
2006
+ ),
2007
+ 'S3OriginConfig' => array(
2008
+ 'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
2009
+ 'type' => 'object',
2010
+ 'properties' => array(
2011
+ 'OriginAccessIdentity' => array(
2012
+ 'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
2013
+ 'type' => 'string',
2014
+ ),
2015
+ ),
2016
+ ),
2017
+ 'CustomOriginConfig' => array(
2018
+ 'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
2019
+ 'type' => 'object',
2020
+ 'properties' => array(
2021
+ 'HTTPPort' => array(
2022
+ 'description' => 'The HTTP port the custom origin listens on.',
2023
+ 'type' => 'numeric',
2024
+ ),
2025
+ 'HTTPSPort' => array(
2026
+ 'description' => 'The HTTPS port the custom origin listens on.',
2027
+ 'type' => 'numeric',
2028
+ ),
2029
+ 'OriginProtocolPolicy' => array(
2030
+ 'description' => 'The origin protocol policy to apply to your origin.',
2031
+ 'type' => 'string',
2032
+ ),
2033
+ ),
2034
+ ),
2035
+ ),
2036
+ ),
2037
+ ),
2038
+ ),
2039
+ ),
2040
+ 'DefaultCacheBehavior' => array(
2041
+ 'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
2042
+ 'type' => 'object',
2043
+ 'properties' => array(
2044
+ 'TargetOriginId' => array(
2045
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
2046
+ 'type' => 'string',
2047
+ ),
2048
+ 'ForwardedValues' => array(
2049
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
2050
+ 'type' => 'object',
2051
+ 'properties' => array(
2052
+ 'QueryString' => array(
2053
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
2054
+ 'type' => 'boolean',
2055
+ ),
2056
+ ),
2057
+ ),
2058
+ 'TrustedSigners' => array(
2059
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
2060
+ 'type' => 'object',
2061
+ 'properties' => array(
2062
+ 'Enabled' => array(
2063
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
2064
+ 'type' => 'boolean',
2065
+ ),
2066
+ 'Quantity' => array(
2067
+ 'description' => 'The number of trusted signers for this cache behavior.',
2068
+ 'type' => 'numeric',
2069
+ ),
2070
+ 'Items' => array(
2071
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
2072
+ 'type' => 'array',
2073
+ 'items' => array(
2074
+ 'name' => 'AwsAccountNumber',
2075
+ 'type' => 'string',
2076
+ 'sentAs' => 'AwsAccountNumber',
2077
+ ),
2078
+ ),
2079
+ ),
2080
+ ),
2081
+ 'ViewerProtocolPolicy' => array(
2082
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
2083
+ 'type' => 'string',
2084
+ ),
2085
+ 'MinTTL' => array(
2086
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
2087
+ 'type' => 'numeric',
2088
+ ),
2089
+ ),
2090
+ ),
2091
+ 'CacheBehaviors' => array(
2092
+ 'description' => 'A complex type that contains zero or more CacheBehavior elements.',
2093
+ 'type' => 'object',
2094
+ 'properties' => array(
2095
+ 'Quantity' => array(
2096
+ 'description' => 'The number of cache behaviors for this distribution.',
2097
+ 'type' => 'numeric',
2098
+ ),
2099
+ 'Items' => array(
2100
+ 'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
2101
+ 'type' => 'array',
2102
+ 'items' => array(
2103
+ 'name' => 'CacheBehavior',
2104
+ 'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
2105
+ 'type' => 'object',
2106
+ 'sentAs' => 'CacheBehavior',
2107
+ 'properties' => array(
2108
+ 'PathPattern' => array(
2109
+ 'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
2110
+ 'type' => 'string',
2111
+ ),
2112
+ 'TargetOriginId' => array(
2113
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
2114
+ 'type' => 'string',
2115
+ ),
2116
+ 'ForwardedValues' => array(
2117
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
2118
+ 'type' => 'object',
2119
+ 'properties' => array(
2120
+ 'QueryString' => array(
2121
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
2122
+ 'type' => 'boolean',
2123
+ ),
2124
+ ),
2125
+ ),
2126
+ 'TrustedSigners' => array(
2127
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
2128
+ 'type' => 'object',
2129
+ 'properties' => array(
2130
+ 'Enabled' => array(
2131
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
2132
+ 'type' => 'boolean',
2133
+ ),
2134
+ 'Quantity' => array(
2135
+ 'description' => 'The number of trusted signers for this cache behavior.',
2136
+ 'type' => 'numeric',
2137
+ ),
2138
+ 'Items' => array(
2139
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
2140
+ 'type' => 'array',
2141
+ 'items' => array(
2142
+ 'name' => 'AwsAccountNumber',
2143
+ 'type' => 'string',
2144
+ 'sentAs' => 'AwsAccountNumber',
2145
+ ),
2146
+ ),
2147
+ ),
2148
+ ),
2149
+ 'ViewerProtocolPolicy' => array(
2150
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
2151
+ 'type' => 'string',
2152
+ ),
2153
+ 'MinTTL' => array(
2154
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
2155
+ 'type' => 'numeric',
2156
+ ),
2157
+ ),
2158
+ ),
2159
+ ),
2160
+ ),
2161
+ ),
2162
+ 'Comment' => array(
2163
+ 'description' => 'Any comments you want to include about the distribution.',
2164
+ 'type' => 'string',
2165
+ ),
2166
+ 'Logging' => array(
2167
+ 'description' => 'A complex type that controls whether access logs are written for the distribution.',
2168
+ 'type' => 'object',
2169
+ 'properties' => array(
2170
+ 'Enabled' => array(
2171
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
2172
+ 'type' => 'boolean',
2173
+ ),
2174
+ 'Bucket' => array(
2175
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
2176
+ 'type' => 'string',
2177
+ ),
2178
+ 'Prefix' => array(
2179
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
2180
+ 'type' => 'string',
2181
+ ),
2182
+ ),
2183
+ ),
2184
+ 'Enabled' => array(
2185
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
2186
+ 'type' => 'boolean',
2187
+ ),
2188
+ ),
2189
+ ),
2190
+ 'Location' => array(
2191
+ 'description' => 'The fully qualified URI of the new distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5.',
2192
+ 'type' => 'string',
2193
+ 'location' => 'header',
2194
+ ),
2195
+ 'ETag' => array(
2196
+ 'description' => 'The current version of the distribution created.',
2197
+ 'type' => 'string',
2198
+ 'location' => 'header',
2199
+ ),
2200
+ 'RequestId' => array(
2201
+ 'description' => 'Request ID of the operation',
2202
+ 'location' => 'header',
2203
+ 'sentAs' => 'x-amz-request-id',
2204
+ ),
2205
+ ),
2206
+ ),
2207
+ 'CreateInvalidationResult' => array(
2208
+ 'type' => 'object',
2209
+ 'additionalProperties' => true,
2210
+ 'properties' => array(
2211
+ 'Location' => array(
2212
+ 'description' => 'The fully qualified URI of the distribution and invalidation batch request, including the Invalidation ID.',
2213
+ 'type' => 'string',
2214
+ 'location' => 'header',
2215
+ ),
2216
+ 'Id' => array(
2217
+ 'description' => 'The identifier for the invalidation request. For example: IDFDVBD632BHDS5.',
2218
+ 'type' => 'string',
2219
+ 'location' => 'xml',
2220
+ ),
2221
+ 'Status' => array(
2222
+ 'description' => 'The status of the invalidation request. When the invalidation batch is finished, the status is Completed.',
2223
+ 'type' => 'string',
2224
+ 'location' => 'xml',
2225
+ ),
2226
+ 'CreateTime' => array(
2227
+ 'description' => 'The date and time the invalidation request was first made.',
2228
+ 'type' => 'string',
2229
+ 'location' => 'xml',
2230
+ ),
2231
+ 'InvalidationBatch' => array(
2232
+ 'description' => 'The current invalidation information for the batch request.',
2233
+ 'type' => 'object',
2234
+ 'location' => 'xml',
2235
+ 'properties' => array(
2236
+ 'Paths' => array(
2237
+ 'description' => 'The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.',
2238
+ 'type' => 'object',
2239
+ 'properties' => array(
2240
+ 'Quantity' => array(
2241
+ 'description' => 'The number of objects that you want to invalidate.',
2242
+ 'type' => 'numeric',
2243
+ ),
2244
+ 'Items' => array(
2245
+ 'description' => 'A complex type that contains a list of the objects that you want to invalidate.',
2246
+ 'type' => 'array',
2247
+ 'items' => array(
2248
+ 'name' => 'Path',
2249
+ 'type' => 'string',
2250
+ 'sentAs' => 'Path',
2251
+ ),
2252
+ ),
2253
+ ),
2254
+ ),
2255
+ 'CallerReference' => array(
2256
+ 'description' => 'A unique name that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.',
2257
+ 'type' => 'string',
2258
+ ),
2259
+ ),
2260
+ ),
2261
+ 'RequestId' => array(
2262
+ 'description' => 'Request ID of the operation',
2263
+ 'location' => 'header',
2264
+ 'sentAs' => 'x-amz-request-id',
2265
+ ),
2266
+ ),
2267
+ ),
2268
+ 'CreateStreamingDistributionResult' => array(
2269
+ 'type' => 'object',
2270
+ 'additionalProperties' => true,
2271
+ 'properties' => array(
2272
+ 'Id' => array(
2273
+ 'description' => 'The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.',
2274
+ 'type' => 'string',
2275
+ 'location' => 'xml',
2276
+ ),
2277
+ 'Status' => array(
2278
+ 'description' => 'The current status of the streaming distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
2279
+ 'type' => 'string',
2280
+ 'location' => 'xml',
2281
+ ),
2282
+ 'LastModifiedTime' => array(
2283
+ 'description' => 'The date and time the distribution was last modified.',
2284
+ 'type' => 'string',
2285
+ 'location' => 'xml',
2286
+ ),
2287
+ 'DomainName' => array(
2288
+ 'description' => 'The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.',
2289
+ 'type' => 'string',
2290
+ 'location' => 'xml',
2291
+ ),
2292
+ 'ActiveTrustedSigners' => array(
2293
+ 'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
2294
+ 'type' => 'object',
2295
+ 'location' => 'xml',
2296
+ 'properties' => array(
2297
+ 'Enabled' => array(
2298
+ 'description' => 'Each active trusted signer.',
2299
+ 'type' => 'boolean',
2300
+ ),
2301
+ 'Quantity' => array(
2302
+ 'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
2303
+ 'type' => 'numeric',
2304
+ ),
2305
+ 'Items' => array(
2306
+ 'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
2307
+ 'type' => 'array',
2308
+ 'items' => array(
2309
+ 'name' => 'Signer',
2310
+ 'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
2311
+ 'type' => 'object',
2312
+ 'sentAs' => 'Signer',
2313
+ 'properties' => array(
2314
+ 'AwsAccountNumber' => array(
2315
+ 'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
2316
+ 'type' => 'string',
2317
+ ),
2318
+ 'KeyPairIds' => array(
2319
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
2320
+ 'type' => 'object',
2321
+ 'properties' => array(
2322
+ 'Quantity' => array(
2323
+ 'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
2324
+ 'type' => 'numeric',
2325
+ ),
2326
+ 'Items' => array(
2327
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
2328
+ 'type' => 'array',
2329
+ 'items' => array(
2330
+ 'name' => 'KeyPairId',
2331
+ 'type' => 'string',
2332
+ 'sentAs' => 'KeyPairId',
2333
+ ),
2334
+ ),
2335
+ ),
2336
+ ),
2337
+ ),
2338
+ ),
2339
+ ),
2340
+ ),
2341
+ ),
2342
+ 'StreamingDistributionConfig' => array(
2343
+ 'description' => 'The current configuration information for the streaming distribution.',
2344
+ 'type' => 'object',
2345
+ 'location' => 'xml',
2346
+ 'properties' => array(
2347
+ 'CallerReference' => array(
2348
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
2349
+ 'type' => 'string',
2350
+ ),
2351
+ 'S3Origin' => array(
2352
+ 'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
2353
+ 'type' => 'object',
2354
+ 'properties' => array(
2355
+ 'DomainName' => array(
2356
+ 'description' => 'The DNS name of the S3 origin.',
2357
+ 'type' => 'string',
2358
+ ),
2359
+ 'OriginAccessIdentity' => array(
2360
+ 'description' => 'Your S3 origin\'s origin access identity.',
2361
+ 'type' => 'string',
2362
+ ),
2363
+ ),
2364
+ ),
2365
+ 'Aliases' => array(
2366
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
2367
+ 'type' => 'object',
2368
+ 'properties' => array(
2369
+ 'Quantity' => array(
2370
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
2371
+ 'type' => 'numeric',
2372
+ ),
2373
+ 'Items' => array(
2374
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
2375
+ 'type' => 'array',
2376
+ 'items' => array(
2377
+ 'name' => 'CNAME',
2378
+ 'type' => 'string',
2379
+ 'sentAs' => 'CNAME',
2380
+ ),
2381
+ ),
2382
+ ),
2383
+ ),
2384
+ 'Comment' => array(
2385
+ 'description' => 'Any comments you want to include about the streaming distribution.',
2386
+ 'type' => 'string',
2387
+ ),
2388
+ 'Logging' => array(
2389
+ 'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
2390
+ 'type' => 'object',
2391
+ 'properties' => array(
2392
+ 'Enabled' => array(
2393
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
2394
+ 'type' => 'boolean',
2395
+ ),
2396
+ 'Bucket' => array(
2397
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
2398
+ 'type' => 'string',
2399
+ ),
2400
+ 'Prefix' => array(
2401
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
2402
+ 'type' => 'string',
2403
+ ),
2404
+ ),
2405
+ ),
2406
+ 'TrustedSigners' => array(
2407
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
2408
+ 'type' => 'object',
2409
+ 'properties' => array(
2410
+ 'Enabled' => array(
2411
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
2412
+ 'type' => 'boolean',
2413
+ ),
2414
+ 'Quantity' => array(
2415
+ 'description' => 'The number of trusted signers for this cache behavior.',
2416
+ 'type' => 'numeric',
2417
+ ),
2418
+ 'Items' => array(
2419
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
2420
+ 'type' => 'array',
2421
+ 'items' => array(
2422
+ 'name' => 'AwsAccountNumber',
2423
+ 'type' => 'string',
2424
+ 'sentAs' => 'AwsAccountNumber',
2425
+ ),
2426
+ ),
2427
+ ),
2428
+ ),
2429
+ 'Enabled' => array(
2430
+ 'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
2431
+ 'type' => 'boolean',
2432
+ ),
2433
+ ),
2434
+ ),
2435
+ 'Location' => array(
2436
+ 'description' => 'The fully qualified URI of the new streaming distribution resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8.',
2437
+ 'type' => 'string',
2438
+ 'location' => 'header',
2439
+ ),
2440
+ 'ETag' => array(
2441
+ 'description' => 'The current version of the streaming distribution created.',
2442
+ 'type' => 'string',
2443
+ 'location' => 'header',
2444
+ ),
2445
+ 'RequestId' => array(
2446
+ 'description' => 'Request ID of the operation',
2447
+ 'location' => 'header',
2448
+ 'sentAs' => 'x-amz-request-id',
2449
+ ),
2450
+ ),
2451
+ ),
2452
+ 'DeleteCloudFrontOriginAccessIdentity2012_05_05Output' => array(
2453
+ 'type' => 'object',
2454
+ 'additionalProperties' => true,
2455
+ 'properties' => array(
2456
+ 'RequestId' => array(
2457
+ 'description' => 'Request ID of the operation',
2458
+ 'location' => 'header',
2459
+ 'sentAs' => 'x-amz-request-id',
2460
+ ),
2461
+ ),
2462
+ ),
2463
+ 'DeleteDistribution2012_05_05Output' => array(
2464
+ 'type' => 'object',
2465
+ 'additionalProperties' => true,
2466
+ 'properties' => array(
2467
+ 'RequestId' => array(
2468
+ 'description' => 'Request ID of the operation',
2469
+ 'location' => 'header',
2470
+ 'sentAs' => 'x-amz-request-id',
2471
+ ),
2472
+ ),
2473
+ ),
2474
+ 'DeleteStreamingDistribution2012_05_05Output' => array(
2475
+ 'type' => 'object',
2476
+ 'additionalProperties' => true,
2477
+ 'properties' => array(
2478
+ 'RequestId' => array(
2479
+ 'description' => 'Request ID of the operation',
2480
+ 'location' => 'header',
2481
+ 'sentAs' => 'x-amz-request-id',
2482
+ ),
2483
+ ),
2484
+ ),
2485
+ 'GetCloudFrontOriginAccessIdentityResult' => array(
2486
+ 'type' => 'object',
2487
+ 'additionalProperties' => true,
2488
+ 'properties' => array(
2489
+ 'Id' => array(
2490
+ 'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
2491
+ 'type' => 'string',
2492
+ 'location' => 'xml',
2493
+ ),
2494
+ 'S3CanonicalUserId' => array(
2495
+ 'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
2496
+ 'type' => 'string',
2497
+ 'location' => 'xml',
2498
+ ),
2499
+ 'CloudFrontOriginAccessIdentityConfig' => array(
2500
+ 'description' => 'The current configuration information for the identity.',
2501
+ 'type' => 'object',
2502
+ 'location' => 'xml',
2503
+ 'properties' => array(
2504
+ 'CallerReference' => array(
2505
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
2506
+ 'type' => 'string',
2507
+ ),
2508
+ 'Comment' => array(
2509
+ 'description' => 'Any comments you want to include about the origin access identity.',
2510
+ 'type' => 'string',
2511
+ ),
2512
+ ),
2513
+ ),
2514
+ 'ETag' => array(
2515
+ 'description' => 'The current version of the origin access identity\'s information. For example: E2QWRUHAPOMQZL.',
2516
+ 'type' => 'string',
2517
+ 'location' => 'header',
2518
+ ),
2519
+ 'RequestId' => array(
2520
+ 'description' => 'Request ID of the operation',
2521
+ 'location' => 'header',
2522
+ 'sentAs' => 'x-amz-request-id',
2523
+ ),
2524
+ ),
2525
+ ),
2526
+ 'GetCloudFrontOriginAccessIdentityConfigResult' => array(
2527
+ 'type' => 'object',
2528
+ 'additionalProperties' => true,
2529
+ 'properties' => array(
2530
+ 'CallerReference' => array(
2531
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
2532
+ 'type' => 'string',
2533
+ 'location' => 'xml',
2534
+ ),
2535
+ 'Comment' => array(
2536
+ 'description' => 'Any comments you want to include about the origin access identity.',
2537
+ 'type' => 'string',
2538
+ 'location' => 'xml',
2539
+ ),
2540
+ 'ETag' => array(
2541
+ 'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
2542
+ 'type' => 'string',
2543
+ 'location' => 'header',
2544
+ ),
2545
+ 'RequestId' => array(
2546
+ 'description' => 'Request ID of the operation',
2547
+ 'location' => 'header',
2548
+ 'sentAs' => 'x-amz-request-id',
2549
+ ),
2550
+ ),
2551
+ ),
2552
+ 'GetDistributionResult' => array(
2553
+ 'type' => 'object',
2554
+ 'additionalProperties' => true,
2555
+ 'properties' => array(
2556
+ 'Id' => array(
2557
+ 'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
2558
+ 'type' => 'string',
2559
+ 'location' => 'xml',
2560
+ ),
2561
+ 'Status' => array(
2562
+ 'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
2563
+ 'type' => 'string',
2564
+ 'location' => 'xml',
2565
+ ),
2566
+ 'LastModifiedTime' => array(
2567
+ 'description' => 'The date and time the distribution was last modified.',
2568
+ 'type' => 'string',
2569
+ 'location' => 'xml',
2570
+ ),
2571
+ 'InProgressInvalidationBatches' => array(
2572
+ 'description' => 'The number of invalidation batches currently in progress.',
2573
+ 'type' => 'numeric',
2574
+ 'location' => 'xml',
2575
+ ),
2576
+ 'DomainName' => array(
2577
+ 'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
2578
+ 'type' => 'string',
2579
+ 'location' => 'xml',
2580
+ ),
2581
+ 'ActiveTrustedSigners' => array(
2582
+ 'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
2583
+ 'type' => 'object',
2584
+ 'location' => 'xml',
2585
+ 'properties' => array(
2586
+ 'Enabled' => array(
2587
+ 'description' => 'Each active trusted signer.',
2588
+ 'type' => 'boolean',
2589
+ ),
2590
+ 'Quantity' => array(
2591
+ 'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
2592
+ 'type' => 'numeric',
2593
+ ),
2594
+ 'Items' => array(
2595
+ 'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
2596
+ 'type' => 'array',
2597
+ 'items' => array(
2598
+ 'name' => 'Signer',
2599
+ 'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
2600
+ 'type' => 'object',
2601
+ 'sentAs' => 'Signer',
2602
+ 'properties' => array(
2603
+ 'AwsAccountNumber' => array(
2604
+ 'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
2605
+ 'type' => 'string',
2606
+ ),
2607
+ 'KeyPairIds' => array(
2608
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
2609
+ 'type' => 'object',
2610
+ 'properties' => array(
2611
+ 'Quantity' => array(
2612
+ 'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
2613
+ 'type' => 'numeric',
2614
+ ),
2615
+ 'Items' => array(
2616
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
2617
+ 'type' => 'array',
2618
+ 'items' => array(
2619
+ 'name' => 'KeyPairId',
2620
+ 'type' => 'string',
2621
+ 'sentAs' => 'KeyPairId',
2622
+ ),
2623
+ ),
2624
+ ),
2625
+ ),
2626
+ ),
2627
+ ),
2628
+ ),
2629
+ ),
2630
+ ),
2631
+ 'DistributionConfig' => array(
2632
+ 'description' => 'The current configuration information for the distribution.',
2633
+ 'type' => 'object',
2634
+ 'location' => 'xml',
2635
+ 'properties' => array(
2636
+ 'CallerReference' => array(
2637
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
2638
+ 'type' => 'string',
2639
+ ),
2640
+ 'Aliases' => array(
2641
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
2642
+ 'type' => 'object',
2643
+ 'properties' => array(
2644
+ 'Quantity' => array(
2645
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
2646
+ 'type' => 'numeric',
2647
+ ),
2648
+ 'Items' => array(
2649
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
2650
+ 'type' => 'array',
2651
+ 'items' => array(
2652
+ 'name' => 'CNAME',
2653
+ 'type' => 'string',
2654
+ 'sentAs' => 'CNAME',
2655
+ ),
2656
+ ),
2657
+ ),
2658
+ ),
2659
+ 'DefaultRootObject' => array(
2660
+ 'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
2661
+ 'type' => 'string',
2662
+ ),
2663
+ 'Origins' => array(
2664
+ 'description' => 'A complex type that contains information about origins for this distribution.',
2665
+ 'type' => 'object',
2666
+ 'properties' => array(
2667
+ 'Quantity' => array(
2668
+ 'description' => 'The number of origins for this distribution.',
2669
+ 'type' => 'numeric',
2670
+ ),
2671
+ 'Items' => array(
2672
+ 'description' => 'A complex type that contains origins for this distribution.',
2673
+ 'type' => 'array',
2674
+ 'items' => array(
2675
+ 'name' => 'Origin',
2676
+ 'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
2677
+ 'type' => 'object',
2678
+ 'sentAs' => 'Origin',
2679
+ 'properties' => array(
2680
+ 'Id' => array(
2681
+ 'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
2682
+ 'type' => 'string',
2683
+ ),
2684
+ 'DomainName' => array(
2685
+ 'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
2686
+ 'type' => 'string',
2687
+ ),
2688
+ 'S3OriginConfig' => array(
2689
+ 'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
2690
+ 'type' => 'object',
2691
+ 'properties' => array(
2692
+ 'OriginAccessIdentity' => array(
2693
+ 'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
2694
+ 'type' => 'string',
2695
+ ),
2696
+ ),
2697
+ ),
2698
+ 'CustomOriginConfig' => array(
2699
+ 'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
2700
+ 'type' => 'object',
2701
+ 'properties' => array(
2702
+ 'HTTPPort' => array(
2703
+ 'description' => 'The HTTP port the custom origin listens on.',
2704
+ 'type' => 'numeric',
2705
+ ),
2706
+ 'HTTPSPort' => array(
2707
+ 'description' => 'The HTTPS port the custom origin listens on.',
2708
+ 'type' => 'numeric',
2709
+ ),
2710
+ 'OriginProtocolPolicy' => array(
2711
+ 'description' => 'The origin protocol policy to apply to your origin.',
2712
+ 'type' => 'string',
2713
+ ),
2714
+ ),
2715
+ ),
2716
+ ),
2717
+ ),
2718
+ ),
2719
+ ),
2720
+ ),
2721
+ 'DefaultCacheBehavior' => array(
2722
+ 'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
2723
+ 'type' => 'object',
2724
+ 'properties' => array(
2725
+ 'TargetOriginId' => array(
2726
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
2727
+ 'type' => 'string',
2728
+ ),
2729
+ 'ForwardedValues' => array(
2730
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
2731
+ 'type' => 'object',
2732
+ 'properties' => array(
2733
+ 'QueryString' => array(
2734
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
2735
+ 'type' => 'boolean',
2736
+ ),
2737
+ ),
2738
+ ),
2739
+ 'TrustedSigners' => array(
2740
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
2741
+ 'type' => 'object',
2742
+ 'properties' => array(
2743
+ 'Enabled' => array(
2744
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
2745
+ 'type' => 'boolean',
2746
+ ),
2747
+ 'Quantity' => array(
2748
+ 'description' => 'The number of trusted signers for this cache behavior.',
2749
+ 'type' => 'numeric',
2750
+ ),
2751
+ 'Items' => array(
2752
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
2753
+ 'type' => 'array',
2754
+ 'items' => array(
2755
+ 'name' => 'AwsAccountNumber',
2756
+ 'type' => 'string',
2757
+ 'sentAs' => 'AwsAccountNumber',
2758
+ ),
2759
+ ),
2760
+ ),
2761
+ ),
2762
+ 'ViewerProtocolPolicy' => array(
2763
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
2764
+ 'type' => 'string',
2765
+ ),
2766
+ 'MinTTL' => array(
2767
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
2768
+ 'type' => 'numeric',
2769
+ ),
2770
+ ),
2771
+ ),
2772
+ 'CacheBehaviors' => array(
2773
+ 'description' => 'A complex type that contains zero or more CacheBehavior elements.',
2774
+ 'type' => 'object',
2775
+ 'properties' => array(
2776
+ 'Quantity' => array(
2777
+ 'description' => 'The number of cache behaviors for this distribution.',
2778
+ 'type' => 'numeric',
2779
+ ),
2780
+ 'Items' => array(
2781
+ 'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
2782
+ 'type' => 'array',
2783
+ 'items' => array(
2784
+ 'name' => 'CacheBehavior',
2785
+ 'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
2786
+ 'type' => 'object',
2787
+ 'sentAs' => 'CacheBehavior',
2788
+ 'properties' => array(
2789
+ 'PathPattern' => array(
2790
+ 'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
2791
+ 'type' => 'string',
2792
+ ),
2793
+ 'TargetOriginId' => array(
2794
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
2795
+ 'type' => 'string',
2796
+ ),
2797
+ 'ForwardedValues' => array(
2798
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
2799
+ 'type' => 'object',
2800
+ 'properties' => array(
2801
+ 'QueryString' => array(
2802
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
2803
+ 'type' => 'boolean',
2804
+ ),
2805
+ ),
2806
+ ),
2807
+ 'TrustedSigners' => array(
2808
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
2809
+ 'type' => 'object',
2810
+ 'properties' => array(
2811
+ 'Enabled' => array(
2812
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
2813
+ 'type' => 'boolean',
2814
+ ),
2815
+ 'Quantity' => array(
2816
+ 'description' => 'The number of trusted signers for this cache behavior.',
2817
+ 'type' => 'numeric',
2818
+ ),
2819
+ 'Items' => array(
2820
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
2821
+ 'type' => 'array',
2822
+ 'items' => array(
2823
+ 'name' => 'AwsAccountNumber',
2824
+ 'type' => 'string',
2825
+ 'sentAs' => 'AwsAccountNumber',
2826
+ ),
2827
+ ),
2828
+ ),
2829
+ ),
2830
+ 'ViewerProtocolPolicy' => array(
2831
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
2832
+ 'type' => 'string',
2833
+ ),
2834
+ 'MinTTL' => array(
2835
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
2836
+ 'type' => 'numeric',
2837
+ ),
2838
+ ),
2839
+ ),
2840
+ ),
2841
+ ),
2842
+ ),
2843
+ 'Comment' => array(
2844
+ 'description' => 'Any comments you want to include about the distribution.',
2845
+ 'type' => 'string',
2846
+ ),
2847
+ 'Logging' => array(
2848
+ 'description' => 'A complex type that controls whether access logs are written for the distribution.',
2849
+ 'type' => 'object',
2850
+ 'properties' => array(
2851
+ 'Enabled' => array(
2852
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
2853
+ 'type' => 'boolean',
2854
+ ),
2855
+ 'Bucket' => array(
2856
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
2857
+ 'type' => 'string',
2858
+ ),
2859
+ 'Prefix' => array(
2860
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
2861
+ 'type' => 'string',
2862
+ ),
2863
+ ),
2864
+ ),
2865
+ 'Enabled' => array(
2866
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
2867
+ 'type' => 'boolean',
2868
+ ),
2869
+ ),
2870
+ ),
2871
+ 'ETag' => array(
2872
+ 'description' => 'The current version of the distribution\'s information. For example: E2QWRUHAPOMQZL.',
2873
+ 'type' => 'string',
2874
+ 'location' => 'header',
2875
+ ),
2876
+ 'RequestId' => array(
2877
+ 'description' => 'Request ID of the operation',
2878
+ 'location' => 'header',
2879
+ 'sentAs' => 'x-amz-request-id',
2880
+ ),
2881
+ ),
2882
+ ),
2883
+ 'GetDistributionConfigResult' => array(
2884
+ 'type' => 'object',
2885
+ 'additionalProperties' => true,
2886
+ 'properties' => array(
2887
+ 'CallerReference' => array(
2888
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
2889
+ 'type' => 'string',
2890
+ 'location' => 'xml',
2891
+ ),
2892
+ 'Aliases' => array(
2893
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
2894
+ 'type' => 'object',
2895
+ 'location' => 'xml',
2896
+ 'properties' => array(
2897
+ 'Quantity' => array(
2898
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
2899
+ 'type' => 'numeric',
2900
+ ),
2901
+ 'Items' => array(
2902
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
2903
+ 'type' => 'array',
2904
+ 'items' => array(
2905
+ 'name' => 'CNAME',
2906
+ 'type' => 'string',
2907
+ 'sentAs' => 'CNAME',
2908
+ ),
2909
+ ),
2910
+ ),
2911
+ ),
2912
+ 'DefaultRootObject' => array(
2913
+ 'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
2914
+ 'type' => 'string',
2915
+ 'location' => 'xml',
2916
+ ),
2917
+ 'Origins' => array(
2918
+ 'description' => 'A complex type that contains information about origins for this distribution.',
2919
+ 'type' => 'object',
2920
+ 'location' => 'xml',
2921
+ 'properties' => array(
2922
+ 'Quantity' => array(
2923
+ 'description' => 'The number of origins for this distribution.',
2924
+ 'type' => 'numeric',
2925
+ ),
2926
+ 'Items' => array(
2927
+ 'description' => 'A complex type that contains origins for this distribution.',
2928
+ 'type' => 'array',
2929
+ 'items' => array(
2930
+ 'name' => 'Origin',
2931
+ 'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
2932
+ 'type' => 'object',
2933
+ 'sentAs' => 'Origin',
2934
+ 'properties' => array(
2935
+ 'Id' => array(
2936
+ 'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
2937
+ 'type' => 'string',
2938
+ ),
2939
+ 'DomainName' => array(
2940
+ 'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
2941
+ 'type' => 'string',
2942
+ ),
2943
+ 'S3OriginConfig' => array(
2944
+ 'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
2945
+ 'type' => 'object',
2946
+ 'properties' => array(
2947
+ 'OriginAccessIdentity' => array(
2948
+ 'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
2949
+ 'type' => 'string',
2950
+ ),
2951
+ ),
2952
+ ),
2953
+ 'CustomOriginConfig' => array(
2954
+ 'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
2955
+ 'type' => 'object',
2956
+ 'properties' => array(
2957
+ 'HTTPPort' => array(
2958
+ 'description' => 'The HTTP port the custom origin listens on.',
2959
+ 'type' => 'numeric',
2960
+ ),
2961
+ 'HTTPSPort' => array(
2962
+ 'description' => 'The HTTPS port the custom origin listens on.',
2963
+ 'type' => 'numeric',
2964
+ ),
2965
+ 'OriginProtocolPolicy' => array(
2966
+ 'description' => 'The origin protocol policy to apply to your origin.',
2967
+ 'type' => 'string',
2968
+ ),
2969
+ ),
2970
+ ),
2971
+ ),
2972
+ ),
2973
+ ),
2974
+ ),
2975
+ ),
2976
+ 'DefaultCacheBehavior' => array(
2977
+ 'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
2978
+ 'type' => 'object',
2979
+ 'location' => 'xml',
2980
+ 'properties' => array(
2981
+ 'TargetOriginId' => array(
2982
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
2983
+ 'type' => 'string',
2984
+ ),
2985
+ 'ForwardedValues' => array(
2986
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
2987
+ 'type' => 'object',
2988
+ 'properties' => array(
2989
+ 'QueryString' => array(
2990
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
2991
+ 'type' => 'boolean',
2992
+ ),
2993
+ ),
2994
+ ),
2995
+ 'TrustedSigners' => array(
2996
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
2997
+ 'type' => 'object',
2998
+ 'properties' => array(
2999
+ 'Enabled' => array(
3000
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
3001
+ 'type' => 'boolean',
3002
+ ),
3003
+ 'Quantity' => array(
3004
+ 'description' => 'The number of trusted signers for this cache behavior.',
3005
+ 'type' => 'numeric',
3006
+ ),
3007
+ 'Items' => array(
3008
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
3009
+ 'type' => 'array',
3010
+ 'items' => array(
3011
+ 'name' => 'AwsAccountNumber',
3012
+ 'type' => 'string',
3013
+ 'sentAs' => 'AwsAccountNumber',
3014
+ ),
3015
+ ),
3016
+ ),
3017
+ ),
3018
+ 'ViewerProtocolPolicy' => array(
3019
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
3020
+ 'type' => 'string',
3021
+ ),
3022
+ 'MinTTL' => array(
3023
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
3024
+ 'type' => 'numeric',
3025
+ ),
3026
+ ),
3027
+ ),
3028
+ 'CacheBehaviors' => array(
3029
+ 'description' => 'A complex type that contains zero or more CacheBehavior elements.',
3030
+ 'type' => 'object',
3031
+ 'location' => 'xml',
3032
+ 'properties' => array(
3033
+ 'Quantity' => array(
3034
+ 'description' => 'The number of cache behaviors for this distribution.',
3035
+ 'type' => 'numeric',
3036
+ ),
3037
+ 'Items' => array(
3038
+ 'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
3039
+ 'type' => 'array',
3040
+ 'items' => array(
3041
+ 'name' => 'CacheBehavior',
3042
+ 'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
3043
+ 'type' => 'object',
3044
+ 'sentAs' => 'CacheBehavior',
3045
+ 'properties' => array(
3046
+ 'PathPattern' => array(
3047
+ 'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
3048
+ 'type' => 'string',
3049
+ ),
3050
+ 'TargetOriginId' => array(
3051
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
3052
+ 'type' => 'string',
3053
+ ),
3054
+ 'ForwardedValues' => array(
3055
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
3056
+ 'type' => 'object',
3057
+ 'properties' => array(
3058
+ 'QueryString' => array(
3059
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
3060
+ 'type' => 'boolean',
3061
+ ),
3062
+ ),
3063
+ ),
3064
+ 'TrustedSigners' => array(
3065
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
3066
+ 'type' => 'object',
3067
+ 'properties' => array(
3068
+ 'Enabled' => array(
3069
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
3070
+ 'type' => 'boolean',
3071
+ ),
3072
+ 'Quantity' => array(
3073
+ 'description' => 'The number of trusted signers for this cache behavior.',
3074
+ 'type' => 'numeric',
3075
+ ),
3076
+ 'Items' => array(
3077
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
3078
+ 'type' => 'array',
3079
+ 'items' => array(
3080
+ 'name' => 'AwsAccountNumber',
3081
+ 'type' => 'string',
3082
+ 'sentAs' => 'AwsAccountNumber',
3083
+ ),
3084
+ ),
3085
+ ),
3086
+ ),
3087
+ 'ViewerProtocolPolicy' => array(
3088
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
3089
+ 'type' => 'string',
3090
+ ),
3091
+ 'MinTTL' => array(
3092
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
3093
+ 'type' => 'numeric',
3094
+ ),
3095
+ ),
3096
+ ),
3097
+ ),
3098
+ ),
3099
+ ),
3100
+ 'Comment' => array(
3101
+ 'description' => 'Any comments you want to include about the distribution.',
3102
+ 'type' => 'string',
3103
+ 'location' => 'xml',
3104
+ ),
3105
+ 'Logging' => array(
3106
+ 'description' => 'A complex type that controls whether access logs are written for the distribution.',
3107
+ 'type' => 'object',
3108
+ 'location' => 'xml',
3109
+ 'properties' => array(
3110
+ 'Enabled' => array(
3111
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
3112
+ 'type' => 'boolean',
3113
+ ),
3114
+ 'Bucket' => array(
3115
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
3116
+ 'type' => 'string',
3117
+ ),
3118
+ 'Prefix' => array(
3119
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
3120
+ 'type' => 'string',
3121
+ ),
3122
+ ),
3123
+ ),
3124
+ 'Enabled' => array(
3125
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
3126
+ 'type' => 'boolean',
3127
+ 'location' => 'xml',
3128
+ ),
3129
+ 'ETag' => array(
3130
+ 'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
3131
+ 'type' => 'string',
3132
+ 'location' => 'header',
3133
+ ),
3134
+ 'RequestId' => array(
3135
+ 'description' => 'Request ID of the operation',
3136
+ 'location' => 'header',
3137
+ 'sentAs' => 'x-amz-request-id',
3138
+ ),
3139
+ ),
3140
+ ),
3141
+ 'GetInvalidationResult' => array(
3142
+ 'type' => 'object',
3143
+ 'additionalProperties' => true,
3144
+ 'properties' => array(
3145
+ 'Id' => array(
3146
+ 'description' => 'The identifier for the invalidation request. For example: IDFDVBD632BHDS5.',
3147
+ 'type' => 'string',
3148
+ 'location' => 'xml',
3149
+ ),
3150
+ 'Status' => array(
3151
+ 'description' => 'The status of the invalidation request. When the invalidation batch is finished, the status is Completed.',
3152
+ 'type' => 'string',
3153
+ 'location' => 'xml',
3154
+ ),
3155
+ 'CreateTime' => array(
3156
+ 'description' => 'The date and time the invalidation request was first made.',
3157
+ 'type' => 'string',
3158
+ 'location' => 'xml',
3159
+ ),
3160
+ 'InvalidationBatch' => array(
3161
+ 'description' => 'The current invalidation information for the batch request.',
3162
+ 'type' => 'object',
3163
+ 'location' => 'xml',
3164
+ 'properties' => array(
3165
+ 'Paths' => array(
3166
+ 'description' => 'The path of the object to invalidate. The path is relative to the distribution and must begin with a slash (/). You must enclose each invalidation object with the Path element tags. If the path includes non-ASCII characters or unsafe characters as defined in RFC 1783 (http://www.ietf.org/rfc/rfc1738.txt), URL encode those characters. Do not URL encode any other characters in the path, or CloudFront will not invalidate the old version of the updated object.',
3167
+ 'type' => 'object',
3168
+ 'properties' => array(
3169
+ 'Quantity' => array(
3170
+ 'description' => 'The number of objects that you want to invalidate.',
3171
+ 'type' => 'numeric',
3172
+ ),
3173
+ 'Items' => array(
3174
+ 'description' => 'A complex type that contains a list of the objects that you want to invalidate.',
3175
+ 'type' => 'array',
3176
+ 'items' => array(
3177
+ 'name' => 'Path',
3178
+ 'type' => 'string',
3179
+ 'sentAs' => 'Path',
3180
+ ),
3181
+ ),
3182
+ ),
3183
+ ),
3184
+ 'CallerReference' => array(
3185
+ 'description' => 'A unique name that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the Path object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create an invalidation batch, and the content of each Path element is identical to the original request, the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of any Path is different from the original request, CloudFront returns an InvalidationBatchAlreadyExists error.',
3186
+ 'type' => 'string',
3187
+ ),
3188
+ ),
3189
+ ),
3190
+ 'RequestId' => array(
3191
+ 'description' => 'Request ID of the operation',
3192
+ 'location' => 'header',
3193
+ 'sentAs' => 'x-amz-request-id',
3194
+ ),
3195
+ ),
3196
+ ),
3197
+ 'GetStreamingDistributionResult' => array(
3198
+ 'type' => 'object',
3199
+ 'additionalProperties' => true,
3200
+ 'properties' => array(
3201
+ 'Id' => array(
3202
+ 'description' => 'The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.',
3203
+ 'type' => 'string',
3204
+ 'location' => 'xml',
3205
+ ),
3206
+ 'Status' => array(
3207
+ 'description' => 'The current status of the streaming distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
3208
+ 'type' => 'string',
3209
+ 'location' => 'xml',
3210
+ ),
3211
+ 'LastModifiedTime' => array(
3212
+ 'description' => 'The date and time the distribution was last modified.',
3213
+ 'type' => 'string',
3214
+ 'location' => 'xml',
3215
+ ),
3216
+ 'DomainName' => array(
3217
+ 'description' => 'The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.',
3218
+ 'type' => 'string',
3219
+ 'location' => 'xml',
3220
+ ),
3221
+ 'ActiveTrustedSigners' => array(
3222
+ 'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
3223
+ 'type' => 'object',
3224
+ 'location' => 'xml',
3225
+ 'properties' => array(
3226
+ 'Enabled' => array(
3227
+ 'description' => 'Each active trusted signer.',
3228
+ 'type' => 'boolean',
3229
+ ),
3230
+ 'Quantity' => array(
3231
+ 'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
3232
+ 'type' => 'numeric',
3233
+ ),
3234
+ 'Items' => array(
3235
+ 'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
3236
+ 'type' => 'array',
3237
+ 'items' => array(
3238
+ 'name' => 'Signer',
3239
+ 'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
3240
+ 'type' => 'object',
3241
+ 'sentAs' => 'Signer',
3242
+ 'properties' => array(
3243
+ 'AwsAccountNumber' => array(
3244
+ 'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
3245
+ 'type' => 'string',
3246
+ ),
3247
+ 'KeyPairIds' => array(
3248
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
3249
+ 'type' => 'object',
3250
+ 'properties' => array(
3251
+ 'Quantity' => array(
3252
+ 'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
3253
+ 'type' => 'numeric',
3254
+ ),
3255
+ 'Items' => array(
3256
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
3257
+ 'type' => 'array',
3258
+ 'items' => array(
3259
+ 'name' => 'KeyPairId',
3260
+ 'type' => 'string',
3261
+ 'sentAs' => 'KeyPairId',
3262
+ ),
3263
+ ),
3264
+ ),
3265
+ ),
3266
+ ),
3267
+ ),
3268
+ ),
3269
+ ),
3270
+ ),
3271
+ 'StreamingDistributionConfig' => array(
3272
+ 'description' => 'The current configuration information for the streaming distribution.',
3273
+ 'type' => 'object',
3274
+ 'location' => 'xml',
3275
+ 'properties' => array(
3276
+ 'CallerReference' => array(
3277
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
3278
+ 'type' => 'string',
3279
+ ),
3280
+ 'S3Origin' => array(
3281
+ 'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
3282
+ 'type' => 'object',
3283
+ 'properties' => array(
3284
+ 'DomainName' => array(
3285
+ 'description' => 'The DNS name of the S3 origin.',
3286
+ 'type' => 'string',
3287
+ ),
3288
+ 'OriginAccessIdentity' => array(
3289
+ 'description' => 'Your S3 origin\'s origin access identity.',
3290
+ 'type' => 'string',
3291
+ ),
3292
+ ),
3293
+ ),
3294
+ 'Aliases' => array(
3295
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
3296
+ 'type' => 'object',
3297
+ 'properties' => array(
3298
+ 'Quantity' => array(
3299
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
3300
+ 'type' => 'numeric',
3301
+ ),
3302
+ 'Items' => array(
3303
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
3304
+ 'type' => 'array',
3305
+ 'items' => array(
3306
+ 'name' => 'CNAME',
3307
+ 'type' => 'string',
3308
+ 'sentAs' => 'CNAME',
3309
+ ),
3310
+ ),
3311
+ ),
3312
+ ),
3313
+ 'Comment' => array(
3314
+ 'description' => 'Any comments you want to include about the streaming distribution.',
3315
+ 'type' => 'string',
3316
+ ),
3317
+ 'Logging' => array(
3318
+ 'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
3319
+ 'type' => 'object',
3320
+ 'properties' => array(
3321
+ 'Enabled' => array(
3322
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
3323
+ 'type' => 'boolean',
3324
+ ),
3325
+ 'Bucket' => array(
3326
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
3327
+ 'type' => 'string',
3328
+ ),
3329
+ 'Prefix' => array(
3330
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
3331
+ 'type' => 'string',
3332
+ ),
3333
+ ),
3334
+ ),
3335
+ 'TrustedSigners' => array(
3336
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
3337
+ 'type' => 'object',
3338
+ 'properties' => array(
3339
+ 'Enabled' => array(
3340
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
3341
+ 'type' => 'boolean',
3342
+ ),
3343
+ 'Quantity' => array(
3344
+ 'description' => 'The number of trusted signers for this cache behavior.',
3345
+ 'type' => 'numeric',
3346
+ ),
3347
+ 'Items' => array(
3348
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
3349
+ 'type' => 'array',
3350
+ 'items' => array(
3351
+ 'name' => 'AwsAccountNumber',
3352
+ 'type' => 'string',
3353
+ 'sentAs' => 'AwsAccountNumber',
3354
+ ),
3355
+ ),
3356
+ ),
3357
+ ),
3358
+ 'Enabled' => array(
3359
+ 'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
3360
+ 'type' => 'boolean',
3361
+ ),
3362
+ ),
3363
+ ),
3364
+ 'ETag' => array(
3365
+ 'description' => 'The current version of the streaming distribution\'s information. For example: E2QWRUHAPOMQZL.',
3366
+ 'type' => 'string',
3367
+ 'location' => 'header',
3368
+ ),
3369
+ 'RequestId' => array(
3370
+ 'description' => 'Request ID of the operation',
3371
+ 'location' => 'header',
3372
+ 'sentAs' => 'x-amz-request-id',
3373
+ ),
3374
+ ),
3375
+ ),
3376
+ 'GetStreamingDistributionConfigResult' => array(
3377
+ 'type' => 'object',
3378
+ 'additionalProperties' => true,
3379
+ 'properties' => array(
3380
+ 'CallerReference' => array(
3381
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
3382
+ 'type' => 'string',
3383
+ 'location' => 'xml',
3384
+ ),
3385
+ 'S3Origin' => array(
3386
+ 'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
3387
+ 'type' => 'object',
3388
+ 'location' => 'xml',
3389
+ 'properties' => array(
3390
+ 'DomainName' => array(
3391
+ 'description' => 'The DNS name of the S3 origin.',
3392
+ 'type' => 'string',
3393
+ ),
3394
+ 'OriginAccessIdentity' => array(
3395
+ 'description' => 'Your S3 origin\'s origin access identity.',
3396
+ 'type' => 'string',
3397
+ ),
3398
+ ),
3399
+ ),
3400
+ 'Aliases' => array(
3401
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
3402
+ 'type' => 'object',
3403
+ 'location' => 'xml',
3404
+ 'properties' => array(
3405
+ 'Quantity' => array(
3406
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
3407
+ 'type' => 'numeric',
3408
+ ),
3409
+ 'Items' => array(
3410
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
3411
+ 'type' => 'array',
3412
+ 'items' => array(
3413
+ 'name' => 'CNAME',
3414
+ 'type' => 'string',
3415
+ 'sentAs' => 'CNAME',
3416
+ ),
3417
+ ),
3418
+ ),
3419
+ ),
3420
+ 'Comment' => array(
3421
+ 'description' => 'Any comments you want to include about the streaming distribution.',
3422
+ 'type' => 'string',
3423
+ 'location' => 'xml',
3424
+ ),
3425
+ 'Logging' => array(
3426
+ 'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
3427
+ 'type' => 'object',
3428
+ 'location' => 'xml',
3429
+ 'properties' => array(
3430
+ 'Enabled' => array(
3431
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
3432
+ 'type' => 'boolean',
3433
+ ),
3434
+ 'Bucket' => array(
3435
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
3436
+ 'type' => 'string',
3437
+ ),
3438
+ 'Prefix' => array(
3439
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
3440
+ 'type' => 'string',
3441
+ ),
3442
+ ),
3443
+ ),
3444
+ 'TrustedSigners' => array(
3445
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
3446
+ 'type' => 'object',
3447
+ 'location' => 'xml',
3448
+ 'properties' => array(
3449
+ 'Enabled' => array(
3450
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
3451
+ 'type' => 'boolean',
3452
+ ),
3453
+ 'Quantity' => array(
3454
+ 'description' => 'The number of trusted signers for this cache behavior.',
3455
+ 'type' => 'numeric',
3456
+ ),
3457
+ 'Items' => array(
3458
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
3459
+ 'type' => 'array',
3460
+ 'items' => array(
3461
+ 'name' => 'AwsAccountNumber',
3462
+ 'type' => 'string',
3463
+ 'sentAs' => 'AwsAccountNumber',
3464
+ ),
3465
+ ),
3466
+ ),
3467
+ ),
3468
+ 'Enabled' => array(
3469
+ 'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
3470
+ 'type' => 'boolean',
3471
+ 'location' => 'xml',
3472
+ ),
3473
+ 'ETag' => array(
3474
+ 'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
3475
+ 'type' => 'string',
3476
+ 'location' => 'header',
3477
+ ),
3478
+ 'RequestId' => array(
3479
+ 'description' => 'Request ID of the operation',
3480
+ 'location' => 'header',
3481
+ 'sentAs' => 'x-amz-request-id',
3482
+ ),
3483
+ ),
3484
+ ),
3485
+ 'ListCloudFrontOriginAccessIdentitiesResult' => array(
3486
+ 'type' => 'object',
3487
+ 'additionalProperties' => true,
3488
+ 'properties' => array(
3489
+ 'Marker' => array(
3490
+ 'description' => 'The value you provided for the Marker request parameter.',
3491
+ 'type' => 'string',
3492
+ 'location' => 'xml',
3493
+ ),
3494
+ 'NextMarker' => array(
3495
+ 'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your origin access identities where they left off.',
3496
+ 'type' => 'string',
3497
+ 'location' => 'xml',
3498
+ ),
3499
+ 'MaxItems' => array(
3500
+ 'description' => 'The value you provided for the MaxItems request parameter.',
3501
+ 'type' => 'numeric',
3502
+ 'location' => 'xml',
3503
+ ),
3504
+ 'IsTruncated' => array(
3505
+ 'description' => 'A flag that indicates whether more origin access identities remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more items in the list.',
3506
+ 'type' => 'boolean',
3507
+ 'location' => 'xml',
3508
+ ),
3509
+ 'Quantity' => array(
3510
+ 'description' => 'The number of CloudFront origin access identities that were created by the current AWS account.',
3511
+ 'type' => 'numeric',
3512
+ 'location' => 'xml',
3513
+ ),
3514
+ 'Items' => array(
3515
+ 'description' => 'A complex type that contains one CloudFrontOriginAccessIdentitySummary element for each origin access identity that was created by the current AWS account.',
3516
+ 'type' => 'array',
3517
+ 'location' => 'xml',
3518
+ 'items' => array(
3519
+ 'name' => 'CloudFrontOriginAccessIdentitySummary',
3520
+ 'description' => 'Summary of the information about a CloudFront origin access identity.',
3521
+ 'type' => 'object',
3522
+ 'sentAs' => 'CloudFrontOriginAccessIdentitySummary',
3523
+ 'properties' => array(
3524
+ 'Id' => array(
3525
+ 'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
3526
+ 'type' => 'string',
3527
+ ),
3528
+ 'S3CanonicalUserId' => array(
3529
+ 'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
3530
+ 'type' => 'string',
3531
+ ),
3532
+ 'Comment' => array(
3533
+ 'description' => 'The comment for this origin access identity, as originally specified when created.',
3534
+ 'type' => 'string',
3535
+ ),
3536
+ ),
3537
+ ),
3538
+ ),
3539
+ 'RequestId' => array(
3540
+ 'description' => 'Request ID of the operation',
3541
+ 'location' => 'header',
3542
+ 'sentAs' => 'x-amz-request-id',
3543
+ ),
3544
+ ),
3545
+ ),
3546
+ 'ListDistributionsResult' => array(
3547
+ 'type' => 'object',
3548
+ 'additionalProperties' => true,
3549
+ 'properties' => array(
3550
+ 'Marker' => array(
3551
+ 'description' => 'The value you provided for the Marker request parameter.',
3552
+ 'type' => 'string',
3553
+ 'location' => 'xml',
3554
+ ),
3555
+ 'NextMarker' => array(
3556
+ 'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your distributions where they left off.',
3557
+ 'type' => 'string',
3558
+ 'location' => 'xml',
3559
+ ),
3560
+ 'MaxItems' => array(
3561
+ 'description' => 'The value you provided for the MaxItems request parameter.',
3562
+ 'type' => 'numeric',
3563
+ 'location' => 'xml',
3564
+ ),
3565
+ 'IsTruncated' => array(
3566
+ 'description' => 'A flag that indicates whether more distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.',
3567
+ 'type' => 'boolean',
3568
+ 'location' => 'xml',
3569
+ ),
3570
+ 'Quantity' => array(
3571
+ 'description' => 'The number of distributions that were created by the current AWS account.',
3572
+ 'type' => 'numeric',
3573
+ 'location' => 'xml',
3574
+ ),
3575
+ 'Items' => array(
3576
+ 'description' => 'A complex type that contains one DistributionSummary element for each distribution that was created by the current AWS account.',
3577
+ 'type' => 'array',
3578
+ 'location' => 'xml',
3579
+ 'items' => array(
3580
+ 'name' => 'DistributionSummary',
3581
+ 'description' => 'A summary of the information for an Amazon CloudFront distribution.',
3582
+ 'type' => 'object',
3583
+ 'sentAs' => 'DistributionSummary',
3584
+ 'properties' => array(
3585
+ 'Id' => array(
3586
+ 'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
3587
+ 'type' => 'string',
3588
+ ),
3589
+ 'Status' => array(
3590
+ 'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
3591
+ 'type' => 'string',
3592
+ ),
3593
+ 'LastModifiedTime' => array(
3594
+ 'description' => 'The date and time the distribution was last modified.',
3595
+ 'type' => 'string',
3596
+ ),
3597
+ 'DomainName' => array(
3598
+ 'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
3599
+ 'type' => 'string',
3600
+ ),
3601
+ 'Aliases' => array(
3602
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
3603
+ 'type' => 'object',
3604
+ 'properties' => array(
3605
+ 'Quantity' => array(
3606
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
3607
+ 'type' => 'numeric',
3608
+ ),
3609
+ 'Items' => array(
3610
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
3611
+ 'type' => 'array',
3612
+ 'items' => array(
3613
+ 'name' => 'CNAME',
3614
+ 'type' => 'string',
3615
+ 'sentAs' => 'CNAME',
3616
+ ),
3617
+ ),
3618
+ ),
3619
+ ),
3620
+ 'Origins' => array(
3621
+ 'description' => 'A complex type that contains information about origins for this distribution.',
3622
+ 'type' => 'object',
3623
+ 'properties' => array(
3624
+ 'Quantity' => array(
3625
+ 'description' => 'The number of origins for this distribution.',
3626
+ 'type' => 'numeric',
3627
+ ),
3628
+ 'Items' => array(
3629
+ 'description' => 'A complex type that contains origins for this distribution.',
3630
+ 'type' => 'array',
3631
+ 'items' => array(
3632
+ 'name' => 'Origin',
3633
+ 'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
3634
+ 'type' => 'object',
3635
+ 'sentAs' => 'Origin',
3636
+ 'properties' => array(
3637
+ 'Id' => array(
3638
+ 'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
3639
+ 'type' => 'string',
3640
+ ),
3641
+ 'DomainName' => array(
3642
+ 'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
3643
+ 'type' => 'string',
3644
+ ),
3645
+ 'S3OriginConfig' => array(
3646
+ 'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
3647
+ 'type' => 'object',
3648
+ 'properties' => array(
3649
+ 'OriginAccessIdentity' => array(
3650
+ 'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
3651
+ 'type' => 'string',
3652
+ ),
3653
+ ),
3654
+ ),
3655
+ 'CustomOriginConfig' => array(
3656
+ 'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
3657
+ 'type' => 'object',
3658
+ 'properties' => array(
3659
+ 'HTTPPort' => array(
3660
+ 'description' => 'The HTTP port the custom origin listens on.',
3661
+ 'type' => 'numeric',
3662
+ ),
3663
+ 'HTTPSPort' => array(
3664
+ 'description' => 'The HTTPS port the custom origin listens on.',
3665
+ 'type' => 'numeric',
3666
+ ),
3667
+ 'OriginProtocolPolicy' => array(
3668
+ 'description' => 'The origin protocol policy to apply to your origin.',
3669
+ 'type' => 'string',
3670
+ ),
3671
+ ),
3672
+ ),
3673
+ ),
3674
+ ),
3675
+ ),
3676
+ ),
3677
+ ),
3678
+ 'DefaultCacheBehavior' => array(
3679
+ 'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
3680
+ 'type' => 'object',
3681
+ 'properties' => array(
3682
+ 'TargetOriginId' => array(
3683
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
3684
+ 'type' => 'string',
3685
+ ),
3686
+ 'ForwardedValues' => array(
3687
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
3688
+ 'type' => 'object',
3689
+ 'properties' => array(
3690
+ 'QueryString' => array(
3691
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
3692
+ 'type' => 'boolean',
3693
+ ),
3694
+ ),
3695
+ ),
3696
+ 'TrustedSigners' => array(
3697
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
3698
+ 'type' => 'object',
3699
+ 'properties' => array(
3700
+ 'Enabled' => array(
3701
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
3702
+ 'type' => 'boolean',
3703
+ ),
3704
+ 'Quantity' => array(
3705
+ 'description' => 'The number of trusted signers for this cache behavior.',
3706
+ 'type' => 'numeric',
3707
+ ),
3708
+ 'Items' => array(
3709
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
3710
+ 'type' => 'array',
3711
+ 'items' => array(
3712
+ 'name' => 'AwsAccountNumber',
3713
+ 'type' => 'string',
3714
+ 'sentAs' => 'AwsAccountNumber',
3715
+ ),
3716
+ ),
3717
+ ),
3718
+ ),
3719
+ 'ViewerProtocolPolicy' => array(
3720
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
3721
+ 'type' => 'string',
3722
+ ),
3723
+ 'MinTTL' => array(
3724
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
3725
+ 'type' => 'numeric',
3726
+ ),
3727
+ ),
3728
+ ),
3729
+ 'CacheBehaviors' => array(
3730
+ 'description' => 'A complex type that contains zero or more CacheBehavior elements.',
3731
+ 'type' => 'object',
3732
+ 'properties' => array(
3733
+ 'Quantity' => array(
3734
+ 'description' => 'The number of cache behaviors for this distribution.',
3735
+ 'type' => 'numeric',
3736
+ ),
3737
+ 'Items' => array(
3738
+ 'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
3739
+ 'type' => 'array',
3740
+ 'items' => array(
3741
+ 'name' => 'CacheBehavior',
3742
+ 'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
3743
+ 'type' => 'object',
3744
+ 'sentAs' => 'CacheBehavior',
3745
+ 'properties' => array(
3746
+ 'PathPattern' => array(
3747
+ 'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
3748
+ 'type' => 'string',
3749
+ ),
3750
+ 'TargetOriginId' => array(
3751
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
3752
+ 'type' => 'string',
3753
+ ),
3754
+ 'ForwardedValues' => array(
3755
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
3756
+ 'type' => 'object',
3757
+ 'properties' => array(
3758
+ 'QueryString' => array(
3759
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
3760
+ 'type' => 'boolean',
3761
+ ),
3762
+ ),
3763
+ ),
3764
+ 'TrustedSigners' => array(
3765
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
3766
+ 'type' => 'object',
3767
+ 'properties' => array(
3768
+ 'Enabled' => array(
3769
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
3770
+ 'type' => 'boolean',
3771
+ ),
3772
+ 'Quantity' => array(
3773
+ 'description' => 'The number of trusted signers for this cache behavior.',
3774
+ 'type' => 'numeric',
3775
+ ),
3776
+ 'Items' => array(
3777
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
3778
+ 'type' => 'array',
3779
+ 'items' => array(
3780
+ 'name' => 'AwsAccountNumber',
3781
+ 'type' => 'string',
3782
+ 'sentAs' => 'AwsAccountNumber',
3783
+ ),
3784
+ ),
3785
+ ),
3786
+ ),
3787
+ 'ViewerProtocolPolicy' => array(
3788
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
3789
+ 'type' => 'string',
3790
+ ),
3791
+ 'MinTTL' => array(
3792
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
3793
+ 'type' => 'numeric',
3794
+ ),
3795
+ ),
3796
+ ),
3797
+ ),
3798
+ ),
3799
+ ),
3800
+ 'Comment' => array(
3801
+ 'description' => 'The comment originally specified when this distribution was created.',
3802
+ 'type' => 'string',
3803
+ ),
3804
+ 'Enabled' => array(
3805
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
3806
+ 'type' => 'boolean',
3807
+ ),
3808
+ ),
3809
+ ),
3810
+ ),
3811
+ 'RequestId' => array(
3812
+ 'description' => 'Request ID of the operation',
3813
+ 'location' => 'header',
3814
+ 'sentAs' => 'x-amz-request-id',
3815
+ ),
3816
+ ),
3817
+ ),
3818
+ 'ListInvalidationsResult' => array(
3819
+ 'type' => 'object',
3820
+ 'additionalProperties' => true,
3821
+ 'properties' => array(
3822
+ 'Marker' => array(
3823
+ 'description' => 'The value you provided for the Marker request parameter.',
3824
+ 'type' => 'string',
3825
+ 'location' => 'xml',
3826
+ ),
3827
+ 'NextMarker' => array(
3828
+ 'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your invalidation batches where they left off.',
3829
+ 'type' => 'string',
3830
+ 'location' => 'xml',
3831
+ ),
3832
+ 'MaxItems' => array(
3833
+ 'description' => 'The value you provided for the MaxItems request parameter.',
3834
+ 'type' => 'numeric',
3835
+ 'location' => 'xml',
3836
+ ),
3837
+ 'IsTruncated' => array(
3838
+ 'description' => 'A flag that indicates whether more invalidation batch requests remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more invalidation batches in the list.',
3839
+ 'type' => 'boolean',
3840
+ 'location' => 'xml',
3841
+ ),
3842
+ 'Quantity' => array(
3843
+ 'description' => 'The number of invalidation batches that were created by the current AWS account.',
3844
+ 'type' => 'numeric',
3845
+ 'location' => 'xml',
3846
+ ),
3847
+ 'Items' => array(
3848
+ 'description' => 'A complex type that contains one InvalidationSummary element for each invalidation batch that was created by the current AWS account.',
3849
+ 'type' => 'array',
3850
+ 'location' => 'xml',
3851
+ 'items' => array(
3852
+ 'name' => 'InvalidationSummary',
3853
+ 'description' => 'Summary of an invalidation request.',
3854
+ 'type' => 'object',
3855
+ 'sentAs' => 'InvalidationSummary',
3856
+ 'properties' => array(
3857
+ 'Id' => array(
3858
+ 'description' => 'The unique ID for an invalidation request.',
3859
+ 'type' => 'string',
3860
+ ),
3861
+ 'Status' => array(
3862
+ 'description' => 'The status of an invalidation request.',
3863
+ 'type' => 'string',
3864
+ ),
3865
+ ),
3866
+ ),
3867
+ ),
3868
+ 'RequestId' => array(
3869
+ 'description' => 'Request ID of the operation',
3870
+ 'location' => 'header',
3871
+ 'sentAs' => 'x-amz-request-id',
3872
+ ),
3873
+ ),
3874
+ ),
3875
+ 'ListStreamingDistributionsResult' => array(
3876
+ 'type' => 'object',
3877
+ 'additionalProperties' => true,
3878
+ 'properties' => array(
3879
+ 'Marker' => array(
3880
+ 'description' => 'The value you provided for the Marker request parameter.',
3881
+ 'type' => 'string',
3882
+ 'location' => 'xml',
3883
+ ),
3884
+ 'NextMarker' => array(
3885
+ 'description' => 'If IsTruncated is true, this element is present and contains the value you can use for the Marker request parameter to continue listing your streaming distributions where they left off.',
3886
+ 'type' => 'string',
3887
+ 'location' => 'xml',
3888
+ ),
3889
+ 'MaxItems' => array(
3890
+ 'description' => 'The value you provided for the MaxItems request parameter.',
3891
+ 'type' => 'numeric',
3892
+ 'location' => 'xml',
3893
+ ),
3894
+ 'IsTruncated' => array(
3895
+ 'description' => 'A flag that indicates whether more streaming distributions remain to be listed. If your results were truncated, you can make a follow-up pagination request using the Marker request parameter to retrieve more distributions in the list.',
3896
+ 'type' => 'boolean',
3897
+ 'location' => 'xml',
3898
+ ),
3899
+ 'Quantity' => array(
3900
+ 'description' => 'The number of streaming distributions that were created by the current AWS account.',
3901
+ 'type' => 'numeric',
3902
+ 'location' => 'xml',
3903
+ ),
3904
+ 'Items' => array(
3905
+ 'description' => 'A complex type that contains one StreamingDistributionSummary element for each distribution that was created by the current AWS account.',
3906
+ 'type' => 'array',
3907
+ 'location' => 'xml',
3908
+ 'items' => array(
3909
+ 'name' => 'StreamingDistributionSummary',
3910
+ 'description' => 'A summary of the information for an Amazon CloudFront streaming distribution.',
3911
+ 'type' => 'object',
3912
+ 'sentAs' => 'StreamingDistributionSummary',
3913
+ 'properties' => array(
3914
+ 'Id' => array(
3915
+ 'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
3916
+ 'type' => 'string',
3917
+ ),
3918
+ 'Status' => array(
3919
+ 'description' => 'Indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
3920
+ 'type' => 'string',
3921
+ ),
3922
+ 'LastModifiedTime' => array(
3923
+ 'description' => 'The date and time the distribution was last modified.',
3924
+ 'type' => 'string',
3925
+ ),
3926
+ 'DomainName' => array(
3927
+ 'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
3928
+ 'type' => 'string',
3929
+ ),
3930
+ 'S3Origin' => array(
3931
+ 'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
3932
+ 'type' => 'object',
3933
+ 'properties' => array(
3934
+ 'DomainName' => array(
3935
+ 'description' => 'The DNS name of the S3 origin.',
3936
+ 'type' => 'string',
3937
+ ),
3938
+ 'OriginAccessIdentity' => array(
3939
+ 'description' => 'Your S3 origin\'s origin access identity.',
3940
+ 'type' => 'string',
3941
+ ),
3942
+ ),
3943
+ ),
3944
+ 'Aliases' => array(
3945
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
3946
+ 'type' => 'object',
3947
+ 'properties' => array(
3948
+ 'Quantity' => array(
3949
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
3950
+ 'type' => 'numeric',
3951
+ ),
3952
+ 'Items' => array(
3953
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
3954
+ 'type' => 'array',
3955
+ 'items' => array(
3956
+ 'name' => 'CNAME',
3957
+ 'type' => 'string',
3958
+ 'sentAs' => 'CNAME',
3959
+ ),
3960
+ ),
3961
+ ),
3962
+ ),
3963
+ 'TrustedSigners' => array(
3964
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
3965
+ 'type' => 'object',
3966
+ 'properties' => array(
3967
+ 'Enabled' => array(
3968
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
3969
+ 'type' => 'boolean',
3970
+ ),
3971
+ 'Quantity' => array(
3972
+ 'description' => 'The number of trusted signers for this cache behavior.',
3973
+ 'type' => 'numeric',
3974
+ ),
3975
+ 'Items' => array(
3976
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
3977
+ 'type' => 'array',
3978
+ 'items' => array(
3979
+ 'name' => 'AwsAccountNumber',
3980
+ 'type' => 'string',
3981
+ 'sentAs' => 'AwsAccountNumber',
3982
+ ),
3983
+ ),
3984
+ ),
3985
+ ),
3986
+ 'Comment' => array(
3987
+ 'description' => 'The comment originally specified when this distribution was created.',
3988
+ 'type' => 'string',
3989
+ ),
3990
+ 'Enabled' => array(
3991
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
3992
+ 'type' => 'boolean',
3993
+ ),
3994
+ ),
3995
+ ),
3996
+ ),
3997
+ 'RequestId' => array(
3998
+ 'description' => 'Request ID of the operation',
3999
+ 'location' => 'header',
4000
+ 'sentAs' => 'x-amz-request-id',
4001
+ ),
4002
+ ),
4003
+ ),
4004
+ 'UpdateCloudFrontOriginAccessIdentityResult' => array(
4005
+ 'type' => 'object',
4006
+ 'additionalProperties' => true,
4007
+ 'properties' => array(
4008
+ 'Id' => array(
4009
+ 'description' => 'The ID for the origin access identity. For example: E74FTE3AJFJ256A.',
4010
+ 'type' => 'string',
4011
+ 'location' => 'xml',
4012
+ ),
4013
+ 'S3CanonicalUserId' => array(
4014
+ 'description' => 'The Amazon S3 canonical user ID for the origin access identity, which you use when giving the origin access identity read permission to an object in Amazon S3.',
4015
+ 'type' => 'string',
4016
+ 'location' => 'xml',
4017
+ ),
4018
+ 'CloudFrontOriginAccessIdentityConfig' => array(
4019
+ 'description' => 'The current configuration information for the identity.',
4020
+ 'type' => 'object',
4021
+ 'location' => 'xml',
4022
+ 'properties' => array(
4023
+ 'CallerReference' => array(
4024
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the CloudFrontOriginAccessIdentityConfig object), a new origin access identity is created. If the CallerReference is a value you already sent in a previous request to create an identity, and the content of the CloudFrontOriginAccessIdentityConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
4025
+ 'type' => 'string',
4026
+ ),
4027
+ 'Comment' => array(
4028
+ 'description' => 'Any comments you want to include about the origin access identity.',
4029
+ 'type' => 'string',
4030
+ ),
4031
+ ),
4032
+ ),
4033
+ 'ETag' => array(
4034
+ 'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
4035
+ 'type' => 'string',
4036
+ 'location' => 'header',
4037
+ ),
4038
+ 'RequestId' => array(
4039
+ 'description' => 'Request ID of the operation',
4040
+ 'location' => 'header',
4041
+ 'sentAs' => 'x-amz-request-id',
4042
+ ),
4043
+ ),
4044
+ ),
4045
+ 'UpdateDistributionResult' => array(
4046
+ 'type' => 'object',
4047
+ 'additionalProperties' => true,
4048
+ 'properties' => array(
4049
+ 'Id' => array(
4050
+ 'description' => 'The identifier for the distribution. For example: EDFDVBD632BHDS5.',
4051
+ 'type' => 'string',
4052
+ 'location' => 'xml',
4053
+ ),
4054
+ 'Status' => array(
4055
+ 'description' => 'This response element indicates the current status of the distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
4056
+ 'type' => 'string',
4057
+ 'location' => 'xml',
4058
+ ),
4059
+ 'LastModifiedTime' => array(
4060
+ 'description' => 'The date and time the distribution was last modified.',
4061
+ 'type' => 'string',
4062
+ 'location' => 'xml',
4063
+ ),
4064
+ 'InProgressInvalidationBatches' => array(
4065
+ 'description' => 'The number of invalidation batches currently in progress.',
4066
+ 'type' => 'numeric',
4067
+ 'location' => 'xml',
4068
+ ),
4069
+ 'DomainName' => array(
4070
+ 'description' => 'The domain name corresponding to the distribution. For example: d604721fxaaqy9.cloudfront.net.',
4071
+ 'type' => 'string',
4072
+ 'location' => 'xml',
4073
+ ),
4074
+ 'ActiveTrustedSigners' => array(
4075
+ 'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
4076
+ 'type' => 'object',
4077
+ 'location' => 'xml',
4078
+ 'properties' => array(
4079
+ 'Enabled' => array(
4080
+ 'description' => 'Each active trusted signer.',
4081
+ 'type' => 'boolean',
4082
+ ),
4083
+ 'Quantity' => array(
4084
+ 'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
4085
+ 'type' => 'numeric',
4086
+ ),
4087
+ 'Items' => array(
4088
+ 'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
4089
+ 'type' => 'array',
4090
+ 'items' => array(
4091
+ 'name' => 'Signer',
4092
+ 'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
4093
+ 'type' => 'object',
4094
+ 'sentAs' => 'Signer',
4095
+ 'properties' => array(
4096
+ 'AwsAccountNumber' => array(
4097
+ 'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
4098
+ 'type' => 'string',
4099
+ ),
4100
+ 'KeyPairIds' => array(
4101
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
4102
+ 'type' => 'object',
4103
+ 'properties' => array(
4104
+ 'Quantity' => array(
4105
+ 'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
4106
+ 'type' => 'numeric',
4107
+ ),
4108
+ 'Items' => array(
4109
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
4110
+ 'type' => 'array',
4111
+ 'items' => array(
4112
+ 'name' => 'KeyPairId',
4113
+ 'type' => 'string',
4114
+ 'sentAs' => 'KeyPairId',
4115
+ ),
4116
+ ),
4117
+ ),
4118
+ ),
4119
+ ),
4120
+ ),
4121
+ ),
4122
+ ),
4123
+ ),
4124
+ 'DistributionConfig' => array(
4125
+ 'description' => 'The current configuration information for the distribution.',
4126
+ 'type' => 'object',
4127
+ 'location' => 'xml',
4128
+ 'properties' => array(
4129
+ 'CallerReference' => array(
4130
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the DistributionConfig object), a new distribution is created. If the CallerReference is a value you already sent in a previous request to create a distribution, and the content of the DistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a distribution but the content of the DistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
4131
+ 'type' => 'string',
4132
+ ),
4133
+ 'Aliases' => array(
4134
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution.',
4135
+ 'type' => 'object',
4136
+ 'properties' => array(
4137
+ 'Quantity' => array(
4138
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
4139
+ 'type' => 'numeric',
4140
+ ),
4141
+ 'Items' => array(
4142
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
4143
+ 'type' => 'array',
4144
+ 'items' => array(
4145
+ 'name' => 'CNAME',
4146
+ 'type' => 'string',
4147
+ 'sentAs' => 'CNAME',
4148
+ ),
4149
+ ),
4150
+ ),
4151
+ ),
4152
+ 'DefaultRootObject' => array(
4153
+ 'description' => 'The object that you want CloudFront to return (for example, index.html) when an end user requests the root URL for your distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/index.html). Specifying a default root object avoids exposing the contents of your distribution. If you don\'t want to specify a default root object when you create a distribution, include an empty DefaultRootObject element. To delete the default root object from an existing distribution, update the distribution configuration and include an empty DefaultRootObject element. To replace the default root object, update the distribution configuration and specify the new object.',
4154
+ 'type' => 'string',
4155
+ ),
4156
+ 'Origins' => array(
4157
+ 'description' => 'A complex type that contains information about origins for this distribution.',
4158
+ 'type' => 'object',
4159
+ 'properties' => array(
4160
+ 'Quantity' => array(
4161
+ 'description' => 'The number of origins for this distribution.',
4162
+ 'type' => 'numeric',
4163
+ ),
4164
+ 'Items' => array(
4165
+ 'description' => 'A complex type that contains origins for this distribution.',
4166
+ 'type' => 'array',
4167
+ 'items' => array(
4168
+ 'name' => 'Origin',
4169
+ 'description' => 'A complex type that describes the Amazon S3 bucket or the HTTP server (for example, a web server) from which CloudFront gets your files.You must create at least one origin.',
4170
+ 'type' => 'object',
4171
+ 'sentAs' => 'Origin',
4172
+ 'properties' => array(
4173
+ 'Id' => array(
4174
+ 'description' => 'A unique identifier for the origin. The value of Id must be unique within the distribution. You use the value of Id when you create a cache behavior. The Id identifies the origin that CloudFront routes a request to when the request matches the path pattern for that cache behavior.',
4175
+ 'type' => 'string',
4176
+ ),
4177
+ 'DomainName' => array(
4178
+ 'description' => 'Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. Custom origins: The DNS domain name for the HTTP server from which you want CloudFront to get objects for this origin, for example, www.example.com.',
4179
+ 'type' => 'string',
4180
+ ),
4181
+ 'S3OriginConfig' => array(
4182
+ 'description' => 'A complex type that contains information about the Amazon S3 origin. If the origin is a custom origin, use the CustomOriginConfig element instead.',
4183
+ 'type' => 'object',
4184
+ 'properties' => array(
4185
+ 'OriginAccessIdentity' => array(
4186
+ 'description' => 'The CloudFront origin access identity to associate with the origin. Use an origin access identity to configure the origin so that end users can only access objects in an Amazon S3 bucket through CloudFront. If you want end users to be able to access objects using either the CloudFront URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. To delete the origin access identity from an existing distribution, update the distribution configuration and include an empty OriginAccessIdentity element. To replace the origin access identity, update the distribution configuration and specify the new origin access identity.',
4187
+ 'type' => 'string',
4188
+ ),
4189
+ ),
4190
+ ),
4191
+ 'CustomOriginConfig' => array(
4192
+ 'description' => 'A complex type that contains information about a custom origin. If the origin is an Amazon S3 bucket, use the S3OriginConfig element instead.',
4193
+ 'type' => 'object',
4194
+ 'properties' => array(
4195
+ 'HTTPPort' => array(
4196
+ 'description' => 'The HTTP port the custom origin listens on.',
4197
+ 'type' => 'numeric',
4198
+ ),
4199
+ 'HTTPSPort' => array(
4200
+ 'description' => 'The HTTPS port the custom origin listens on.',
4201
+ 'type' => 'numeric',
4202
+ ),
4203
+ 'OriginProtocolPolicy' => array(
4204
+ 'description' => 'The origin protocol policy to apply to your origin.',
4205
+ 'type' => 'string',
4206
+ ),
4207
+ ),
4208
+ ),
4209
+ ),
4210
+ ),
4211
+ ),
4212
+ ),
4213
+ ),
4214
+ 'DefaultCacheBehavior' => array(
4215
+ 'description' => 'A complex type that describes the default cache behavior if you do not specify a CacheBehavior element or if files don\'t match any of the values of PathPattern in CacheBehavior elements.You must create exactly one default cache behavior.',
4216
+ 'type' => 'object',
4217
+ 'properties' => array(
4218
+ 'TargetOriginId' => array(
4219
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
4220
+ 'type' => 'string',
4221
+ ),
4222
+ 'ForwardedValues' => array(
4223
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
4224
+ 'type' => 'object',
4225
+ 'properties' => array(
4226
+ 'QueryString' => array(
4227
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
4228
+ 'type' => 'boolean',
4229
+ ),
4230
+ ),
4231
+ ),
4232
+ 'TrustedSigners' => array(
4233
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
4234
+ 'type' => 'object',
4235
+ 'properties' => array(
4236
+ 'Enabled' => array(
4237
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
4238
+ 'type' => 'boolean',
4239
+ ),
4240
+ 'Quantity' => array(
4241
+ 'description' => 'The number of trusted signers for this cache behavior.',
4242
+ 'type' => 'numeric',
4243
+ ),
4244
+ 'Items' => array(
4245
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
4246
+ 'type' => 'array',
4247
+ 'items' => array(
4248
+ 'name' => 'AwsAccountNumber',
4249
+ 'type' => 'string',
4250
+ 'sentAs' => 'AwsAccountNumber',
4251
+ ),
4252
+ ),
4253
+ ),
4254
+ ),
4255
+ 'ViewerProtocolPolicy' => array(
4256
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
4257
+ 'type' => 'string',
4258
+ ),
4259
+ 'MinTTL' => array(
4260
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
4261
+ 'type' => 'numeric',
4262
+ ),
4263
+ ),
4264
+ ),
4265
+ 'CacheBehaviors' => array(
4266
+ 'description' => 'A complex type that contains zero or more CacheBehavior elements.',
4267
+ 'type' => 'object',
4268
+ 'properties' => array(
4269
+ 'Quantity' => array(
4270
+ 'description' => 'The number of cache behaviors for this distribution.',
4271
+ 'type' => 'numeric',
4272
+ ),
4273
+ 'Items' => array(
4274
+ 'description' => 'Optional: A complex type that contains cache behaviors for this distribution. If Quantity is 0, you can omit Items.',
4275
+ 'type' => 'array',
4276
+ 'items' => array(
4277
+ 'name' => 'CacheBehavior',
4278
+ 'description' => 'A complex type that describes how CloudFront processes requests. You can create up to 10 cache behaviors.You must create at least as many cache behaviors (including the default cache behavior) as you have origins if you want CloudFront to distribute objects from all of the origins. Each cache behavior specifies the one origin from which you want CloudFront to get objects. If you have two origins and only the default cache behavior, the default cache behavior will cause CloudFront to get objects from one of the origins, but the other origin will never be used. If you don\'t want to specify any cache behaviors, include only an empty CacheBehaviors element. Don\'t include an empty CacheBehavior element, or CloudFront returns a MalformedXML error. To delete all cache behaviors in an existing distribution, update the distribution configuration and include only an empty CacheBehaviors element. To add, change, or remove one or more cache behaviors, update the distribution configuration and specify all of the cache behaviors that you want to include in the updated distribution.',
4279
+ 'type' => 'object',
4280
+ 'sentAs' => 'CacheBehavior',
4281
+ 'properties' => array(
4282
+ 'PathPattern' => array(
4283
+ 'description' => 'The pattern (for example, images/*.jpg) that specifies which requests you want this cache behavior to apply to. When CloudFront receives an end-user request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution. The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.',
4284
+ 'type' => 'string',
4285
+ ),
4286
+ 'TargetOriginId' => array(
4287
+ 'description' => 'The value of ID for the origin that you want CloudFront to route requests to when a request matches the path pattern either for a cache behavior or for the default cache behavior.',
4288
+ 'type' => 'string',
4289
+ ),
4290
+ 'ForwardedValues' => array(
4291
+ 'description' => 'A complex type that specifies how CloudFront handles query strings.',
4292
+ 'type' => 'object',
4293
+ 'properties' => array(
4294
+ 'QueryString' => array(
4295
+ 'description' => 'Indicates whether you want CloudFront to forward query strings to the origin that is associated with this cache behavior. If so, specify true; if not, specify false.',
4296
+ 'type' => 'boolean',
4297
+ ),
4298
+ ),
4299
+ ),
4300
+ 'TrustedSigners' => array(
4301
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
4302
+ 'type' => 'object',
4303
+ 'properties' => array(
4304
+ 'Enabled' => array(
4305
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
4306
+ 'type' => 'boolean',
4307
+ ),
4308
+ 'Quantity' => array(
4309
+ 'description' => 'The number of trusted signers for this cache behavior.',
4310
+ 'type' => 'numeric',
4311
+ ),
4312
+ 'Items' => array(
4313
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
4314
+ 'type' => 'array',
4315
+ 'items' => array(
4316
+ 'name' => 'AwsAccountNumber',
4317
+ 'type' => 'string',
4318
+ 'sentAs' => 'AwsAccountNumber',
4319
+ ),
4320
+ ),
4321
+ ),
4322
+ ),
4323
+ 'ViewerProtocolPolicy' => array(
4324
+ 'description' => 'Use this element to specify the protocol that users can use to access the files in the origin specified by TargetOriginId when a request matches the path pattern in PathPattern. If you want CloudFront to allow end users to use any available protocol, specify allow-all. If you want CloudFront to require HTTPS, specify https.',
4325
+ 'type' => 'string',
4326
+ ),
4327
+ 'MinTTL' => array(
4328
+ 'description' => 'The minimum amount of time that you want objects to stay in CloudFront caches before CloudFront queries your origin to see whether the object has been updated.You can specify a value from 0 to 3,153,600,000 seconds (100 years).',
4329
+ 'type' => 'numeric',
4330
+ ),
4331
+ ),
4332
+ ),
4333
+ ),
4334
+ ),
4335
+ ),
4336
+ 'Comment' => array(
4337
+ 'description' => 'Any comments you want to include about the distribution.',
4338
+ 'type' => 'string',
4339
+ ),
4340
+ 'Logging' => array(
4341
+ 'description' => 'A complex type that controls whether access logs are written for the distribution.',
4342
+ 'type' => 'object',
4343
+ 'properties' => array(
4344
+ 'Enabled' => array(
4345
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
4346
+ 'type' => 'boolean',
4347
+ ),
4348
+ 'Bucket' => array(
4349
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
4350
+ 'type' => 'string',
4351
+ ),
4352
+ 'Prefix' => array(
4353
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
4354
+ 'type' => 'string',
4355
+ ),
4356
+ ),
4357
+ ),
4358
+ 'Enabled' => array(
4359
+ 'description' => 'Whether the distribution is enabled to accept end user requests for content.',
4360
+ 'type' => 'boolean',
4361
+ ),
4362
+ ),
4363
+ ),
4364
+ 'ETag' => array(
4365
+ 'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
4366
+ 'type' => 'string',
4367
+ 'location' => 'header',
4368
+ ),
4369
+ 'RequestId' => array(
4370
+ 'description' => 'Request ID of the operation',
4371
+ 'location' => 'header',
4372
+ 'sentAs' => 'x-amz-request-id',
4373
+ ),
4374
+ ),
4375
+ ),
4376
+ 'UpdateStreamingDistributionResult' => array(
4377
+ 'type' => 'object',
4378
+ 'additionalProperties' => true,
4379
+ 'properties' => array(
4380
+ 'Id' => array(
4381
+ 'description' => 'The identifier for the streaming distribution. For example: EGTXBD79H29TRA8.',
4382
+ 'type' => 'string',
4383
+ 'location' => 'xml',
4384
+ ),
4385
+ 'Status' => array(
4386
+ 'description' => 'The current status of the streaming distribution. When the status is Deployed, the distribution\'s information is fully propagated throughout the Amazon CloudFront system.',
4387
+ 'type' => 'string',
4388
+ 'location' => 'xml',
4389
+ ),
4390
+ 'LastModifiedTime' => array(
4391
+ 'description' => 'The date and time the distribution was last modified.',
4392
+ 'type' => 'string',
4393
+ 'location' => 'xml',
4394
+ ),
4395
+ 'DomainName' => array(
4396
+ 'description' => 'The domain name corresponding to the streaming distribution. For example: s5c39gqb8ow64r.cloudfront.net.',
4397
+ 'type' => 'string',
4398
+ 'location' => 'xml',
4399
+ ),
4400
+ 'ActiveTrustedSigners' => array(
4401
+ 'description' => 'CloudFront automatically adds this element to the response only if you\'ve set up the distribution to serve private content with signed URLs. The element lists the key pair IDs that CloudFront is aware of for each trusted signer. The Signer child element lists the AWS account number of the trusted signer (or an empty Self element if the signer is you). The Signer element also includes the IDs of any active key pairs associated with the trusted signer\'s AWS account. If no KeyPairId element appears for a Signer, that signer can\'t create working signed URLs.',
4402
+ 'type' => 'object',
4403
+ 'location' => 'xml',
4404
+ 'properties' => array(
4405
+ 'Enabled' => array(
4406
+ 'description' => 'Each active trusted signer.',
4407
+ 'type' => 'boolean',
4408
+ ),
4409
+ 'Quantity' => array(
4410
+ 'description' => 'The number of unique trusted signers included in all cache behaviors. For example, if three cache behaviors all list the same three AWS accounts, the value of Quantity for ActiveTrustedSigners will be 3.',
4411
+ 'type' => 'numeric',
4412
+ ),
4413
+ 'Items' => array(
4414
+ 'description' => 'A complex type that contains one Signer complex type for each unique trusted signer that is specified in the TrustedSigners complex type, including trusted signers in the default cache behavior and in all of the other cache behaviors.',
4415
+ 'type' => 'array',
4416
+ 'items' => array(
4417
+ 'name' => 'Signer',
4418
+ 'description' => 'A complex type that lists the AWS accounts that were included in the TrustedSigners complex type, as well as their active CloudFront key pair IDs, if any.',
4419
+ 'type' => 'object',
4420
+ 'sentAs' => 'Signer',
4421
+ 'properties' => array(
4422
+ 'AwsAccountNumber' => array(
4423
+ 'description' => 'Specifies an AWS account that can create signed URLs. Values: self, which indicates that the AWS account that was used to create the distribution can created signed URLs, or an AWS account number. Omit the dashes in the account number.',
4424
+ 'type' => 'string',
4425
+ ),
4426
+ 'KeyPairIds' => array(
4427
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
4428
+ 'type' => 'object',
4429
+ 'properties' => array(
4430
+ 'Quantity' => array(
4431
+ 'description' => 'The number of active CloudFront key pairs for AwsAccountNumber.',
4432
+ 'type' => 'numeric',
4433
+ ),
4434
+ 'Items' => array(
4435
+ 'description' => 'A complex type that lists the active CloudFront key pairs, if any, that are associated with AwsAccountNumber.',
4436
+ 'type' => 'array',
4437
+ 'items' => array(
4438
+ 'name' => 'KeyPairId',
4439
+ 'type' => 'string',
4440
+ 'sentAs' => 'KeyPairId',
4441
+ ),
4442
+ ),
4443
+ ),
4444
+ ),
4445
+ ),
4446
+ ),
4447
+ ),
4448
+ ),
4449
+ ),
4450
+ 'StreamingDistributionConfig' => array(
4451
+ 'description' => 'The current configuration information for the streaming distribution.',
4452
+ 'type' => 'object',
4453
+ 'location' => 'xml',
4454
+ 'properties' => array(
4455
+ 'CallerReference' => array(
4456
+ 'description' => 'A unique number that ensures the request can\'t be replayed. If the CallerReference is new (no matter the content of the StreamingDistributionConfig object), a new streaming distribution is created. If the CallerReference is a value you already sent in a previous request to create a streaming distribution, and the content of the StreamingDistributionConfig is identical to the original request (ignoring white space), the response includes the same information returned to the original request. If the CallerReference is a value you already sent in a previous request to create a streaming distribution but the content of the StreamingDistributionConfig is different from the original request, CloudFront returns a DistributionAlreadyExists error.',
4457
+ 'type' => 'string',
4458
+ ),
4459
+ 'S3Origin' => array(
4460
+ 'description' => 'A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.',
4461
+ 'type' => 'object',
4462
+ 'properties' => array(
4463
+ 'DomainName' => array(
4464
+ 'description' => 'The DNS name of the S3 origin.',
4465
+ 'type' => 'string',
4466
+ ),
4467
+ 'OriginAccessIdentity' => array(
4468
+ 'description' => 'Your S3 origin\'s origin access identity.',
4469
+ 'type' => 'string',
4470
+ ),
4471
+ ),
4472
+ ),
4473
+ 'Aliases' => array(
4474
+ 'description' => 'A complex type that contains information about CNAMEs (alternate domain names), if any, for this streaming distribution.',
4475
+ 'type' => 'object',
4476
+ 'properties' => array(
4477
+ 'Quantity' => array(
4478
+ 'description' => 'The number of CNAMEs, if any, for this distribution.',
4479
+ 'type' => 'numeric',
4480
+ ),
4481
+ 'Items' => array(
4482
+ 'description' => 'Optional: A complex type that contains CNAME elements, if any, for this distribution. If Quantity is 0, you can omit Items.',
4483
+ 'type' => 'array',
4484
+ 'items' => array(
4485
+ 'name' => 'CNAME',
4486
+ 'type' => 'string',
4487
+ 'sentAs' => 'CNAME',
4488
+ ),
4489
+ ),
4490
+ ),
4491
+ ),
4492
+ 'Comment' => array(
4493
+ 'description' => 'Any comments you want to include about the streaming distribution.',
4494
+ 'type' => 'string',
4495
+ ),
4496
+ 'Logging' => array(
4497
+ 'description' => 'A complex type that controls whether access logs are written for the streaming distribution.',
4498
+ 'type' => 'object',
4499
+ 'properties' => array(
4500
+ 'Enabled' => array(
4501
+ 'description' => 'Specifies whether you want CloudFront to save access logs to an Amazon S3 bucket. If you do not want to enable logging when you create a distribution or if you want to disable logging for an existing distribution, specify false for Enabled, and specify empty Bucket and Prefix elements. If you specify false for Enabled but you specify values for Bucket and Prefix, the values are automatically deleted.',
4502
+ 'type' => 'boolean',
4503
+ ),
4504
+ 'Bucket' => array(
4505
+ 'description' => 'The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com.',
4506
+ 'type' => 'string',
4507
+ ),
4508
+ 'Prefix' => array(
4509
+ 'description' => 'An optional string that you want CloudFront to prefix to the access log filenames for this distribution, for example, myprefix/. If you want to enable logging, but you do not want to specify a prefix, you still must include an empty Prefix element in the Logging element.',
4510
+ 'type' => 'string',
4511
+ ),
4512
+ ),
4513
+ ),
4514
+ 'TrustedSigners' => array(
4515
+ 'description' => 'A complex type that specifies the AWS accounts, if any, that you want to allow to create signed URLs for private content. If you want to require signed URLs in requests for objects in the target origin that match the PathPattern for this cache behavior, specify true for Enabled, and specify the applicable values for Quantity and Items. For more information, go to Using a Signed URL to Serve Private Content in the Amazon CloudFront Developer Guide. If you don\'t want to require signed URLs in requests for objects that match PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. To add, change, or remove one or more trusted signers, change Enabled to true (if it\'s currently false), change Quantity as applicable, and specify all of the trusted signers that you want to include in the updated distribution.',
4516
+ 'type' => 'object',
4517
+ 'properties' => array(
4518
+ 'Enabled' => array(
4519
+ 'description' => 'Specifies whether you want to require end users to use signed URLs to access the files specified by PathPattern and TargetOriginId.',
4520
+ 'type' => 'boolean',
4521
+ ),
4522
+ 'Quantity' => array(
4523
+ 'description' => 'The number of trusted signers for this cache behavior.',
4524
+ 'type' => 'numeric',
4525
+ ),
4526
+ 'Items' => array(
4527
+ 'description' => 'Optional: A complex type that contains trusted signers for this cache behavior. If Quantity is 0, you can omit Items.',
4528
+ 'type' => 'array',
4529
+ 'items' => array(
4530
+ 'name' => 'AwsAccountNumber',
4531
+ 'type' => 'string',
4532
+ 'sentAs' => 'AwsAccountNumber',
4533
+ ),
4534
+ ),
4535
+ ),
4536
+ ),
4537
+ 'Enabled' => array(
4538
+ 'description' => 'Whether the streaming distribution is enabled to accept end user requests for content.',
4539
+ 'type' => 'boolean',
4540
+ ),
4541
+ ),
4542
+ ),
4543
+ 'ETag' => array(
4544
+ 'description' => 'The current version of the configuration. For example: E2QWRUHAPOMQZL.',
4545
+ 'type' => 'string',
4546
+ 'location' => 'header',
4547
+ ),
4548
+ 'RequestId' => array(
4549
+ 'description' => 'Request ID of the operation',
4550
+ 'location' => 'header',
4551
+ 'sentAs' => 'x-amz-request-id',
4552
+ ),
4553
+ ),
4554
+ ),
4555
+ ),
4556
+ 'iterators' => array(
4557
+ 'ListCloudFrontOriginAccessIdentities' => array(
4558
+ 'input_token' => 'Marker',
4559
+ 'output_token' => 'NextMarker',
4560
+ 'more_results' => 'IsTruncated',
4561
+ 'result_key' => 'Items',
4562
+ ),
4563
+ 'ListDistributions' => array(
4564
+ 'input_token' => 'Marker',
4565
+ 'output_token' => 'NextMarker',
4566
+ 'more_results' => 'IsTruncated',
4567
+ 'result_key' => 'Items',
4568
+ ),
4569
+ 'ListInvalidations' => array(
4570
+ 'input_token' => 'Marker',
4571
+ 'output_token' => 'NextMarker',
4572
+ 'more_results' => 'IsTruncated',
4573
+ 'result_key' => 'Items',
4574
+ ),
4575
+ 'ListStreamingDistributions' => array(
4576
+ 'input_token' => 'Marker',
4577
+ 'output_token' => 'NextMarker',
4578
+ 'more_results' => 'IsTruncated',
4579
+ 'result_key' => 'Items',
4580
+ ),
4581
+ ),
4582
+ 'waiters' => array(
4583
+ '__default__' => array(
4584
+ 'success.type' => 'output',
4585
+ 'success.path' => 'Status',
4586
+ ),
4587
+ 'StreamingDistributionDeployed' => array(
4588
+ 'operation' => 'GetStreamingDistribution',
4589
+ 'description' => 'Wait until a streaming distribution is deployed.',
4590
+ 'interval' => 60,
4591
+ 'max_attempts' => 25,
4592
+ 'success.value' => 'Deployed',
4593
+ ),
4594
+ 'DistributionDeployed' => array(
4595
+ 'operation' => 'GetDistribution',
4596
+ 'description' => 'Wait until a distribution is deployed.',
4597
+ 'interval' => 60,
4598
+ 'max_attempts' => 25,
4599
+ 'success.value' => 'Deployed',
4600
+ ),
4601
+ 'InvalidationCompleted' => array(
4602
+ 'operation' => 'GetInvalidation',
4603
+ 'description' => 'Wait until an invalidation has completed.',
4604
+ 'interval' => 20,
4605
+ 'max_attempts' => 30,
4606
+ 'success.value' => 'Completed',
4607
+ ),
4608
+ ),
4609
+ );
lib/aws-sdk-php/Aws/CloudFront/Resources/cloudfront-2015-04-17.php ADDED
@@ -0,0 +1,5840 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright 2010-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License").
6
+ * You may not use this file except in compliance with the License.
7
+ * A copy of the License is located at
8
+ *
9
+ * http://aws.amazon.com/apache2.0
10
+ *
11
+ * or in the "license" file accompanying this file. This file is distributed
12
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13
+ * express or implied. See the License for the specific language governing
14
+ * permissions and limitations under the License.
15
+ */
16
+
17
+ return array (
18
+ 'apiVersion' => '2015-04-17',
19
+ 'endpointPrefix' => 'cloudfront',
20
+ 'serviceFullName' => 'Amazon CloudFront',
21
+ 'serviceAbbreviation' => 'CloudFront',
22
+ 'serviceType' => 'rest-xml',
23
+ 'globalEndpoint' => 'cloudfront.amazonaws.com',
24
+ 'signatureVersion' => 'v4',
25
+ 'namespace' => 'CloudFront',
26
+ 'regions' => array(
27
+ 'us-east-1' => array(
28
+ 'http' => true,
29
+ 'https' => true,
30
+ 'hostname' => 'cloudfront.amazonaws.com',
31
+ ),
32
+ 'us-west-1' => array(
33
+ 'http' => true,
34
+ 'https' => true,
35
+ 'hostname' => 'cloudfront.amazonaws.com',
36
+ ),
37
+ 'us-west-2' => array(
38
+ 'http' => true,
39
+ 'https' => true,
40
+ 'hostname' => 'cloudfront.amazonaws.com',
41
+ ),
42
+ 'eu-west-1' => array(
43
+ 'http' => true,
44
+ 'https' => true,
45
+ 'hostname' => 'cloudfront.amazonaws.com',
46
+ ),
47
+ 'ap-northeast-1' => array(
48
+ 'http' => true,
49
+ 'https' => true,
50
+ 'hostname' => 'cloudfront.amazonaws.com',
51
+ ),
52
+ 'ap-southeast-1' => array(
53
+ 'http' => true,
54
+ 'https' => true,
55
+ 'hostname' => 'cloudfront.amazonaws.com',
56
+ ),
57
+ 'ap-southeast-2' => array(
58
+ 'http' => true,
59
+ 'https' => true,
60
+ 'hostname' => 'cloudfront.amazonaws.com',
61
+ ),
62
+ 'sa-east-1' => array(
63
+ 'http' => true,
64
+ 'https' => true,
65
+ 'hostname' => 'cloudfront.amazonaws.com',
66
+ ),
67
+ ),
68
+ 'operations' => array(
69
+ 'CreateCloudFrontOriginAccessIdentity' => array(
70
+ 'httpMethod' => 'POST',
71
+ 'uri' => '/2015-04-17/origin-access-identity/cloudfront',
72
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
73
+ 'responseClass' => 'CreateCloudFrontOriginAccessIdentityResult',
74
+ 'responseType' => 'model',
75
+ 'data' => array(
76
+ 'xmlRoot' => array(
77
+ 'name' => 'CloudFrontOriginAccessIdentityConfig',
78
+ 'namespaces' => array(
79
+ 'http://cloudfront.amazonaws.com/doc/2015-04-17/',
80
+ ),
81
+ ),
82
+ ),
83
+ 'parameters' => array(
84
+ 'CallerReference' => array(
85
+ 'required' => true,
86
+ 'type' => 'string',
87
+ 'location' => 'xml',
88
+ ),
89
+ 'Comment' => array(
90
+ 'required' => true,
91
+ 'type' => 'string',
92
+ 'location' => 'xml',
93
+ ),
94
+ 'command.expects' => array(
95
+ 'static' => true,
96
+ 'default' => 'application/xml',
97
+ ),
98
+ ),
99
+ 'errorResponses' => array(
100
+ array(
101
+ 'reason' => 'If the CallerReference is a value you already sent in a previous request to create an identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error.',
102
+ 'class' => 'CloudFrontOriginAccessIdentityAlreadyExistsException',
103
+ ),
104
+ array(
105
+ 'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
106
+ 'class' => 'MissingBodyException',
107
+ ),
108
+ array(
109
+ 'reason' => 'Processing your request would cause you to exceed the maximum number of origin access identities allowed.',
110
+ 'class' => 'TooManyCloudFrontOriginAccessIdentitiesException',
111
+ ),
112
+ array(
113
+ 'reason' => 'The argument is invalid.',
114
+ 'class' => 'InvalidArgumentException',
115
+ ),
116
+ array(
117
+ 'reason' => 'The value of Quantity and the size of Items do not match.',
118
+ 'class' => 'InconsistentQuantitiesException',
119
+ ),
120
+ ),
121
+ ),
122
+ 'CreateDistribution' => array(
123
+ 'httpMethod' => 'POST',
124
+ 'uri' => '/2015-04-17/distribution',
125
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
126
+ 'responseClass' => 'CreateDistributionResult',
127
+ 'responseType' => 'model',
128
+ 'data' => array(
129
+ 'xmlRoot' => array(
130
+ 'name' => 'DistributionConfig',
131
+ 'namespaces' => array(
132
+ 'http://cloudfront.amazonaws.com/doc/2015-04-17/',
133
+ ),
134
+ ),
135
+ ),
136
+ 'parameters' => array(
137
+ 'CallerReference' => array(
138
+ 'required' => true,
139
+ 'type' => 'string',
140
+ 'location' => 'xml',
141
+ ),
142
+ 'Aliases' => array(
143
+ 'type' => 'object',
144
+ 'location' => 'xml',
145
+ 'properties' => array(
146
+ 'Quantity' => array(
147
+ 'required' => true,
148
+ 'type' => 'numeric',
149
+ ),
150
+ 'Items' => array(
151
+ 'type' => 'array',
152
+ 'items' => array(
153
+ 'name' => 'CNAME',
154
+ 'type' => 'string',
155
+ ),
156
+ ),
157
+ ),
158
+ ),
159
+ 'DefaultRootObject' => array(
160
+ 'type' => 'string',
161
+ 'location' => 'xml',
162
+ ),
163
+ 'Origins' => array(
164
+ 'required' => true,
165
+ 'type' => 'object',
166
+ 'location' => 'xml',
167
+ 'properties' => array(
168
+ 'Quantity' => array(
169
+ 'required' => true,
170
+ 'type' => 'numeric',
171
+ ),
172
+ 'Items' => array(
173
+ 'type' => 'array',
174
+ 'minItems' => 1,
175
+ 'items' => array(
176
+ 'name' => 'Origin',
177
+ 'type' => 'object',
178
+ 'properties' => array(
179
+ 'Id' => array(
180
+ 'required' => true,
181
+ 'type' => 'string',
182
+ ),
183
+ 'DomainName' => array(
184
+ 'required' => true,
185
+ 'type' => 'string',
186
+ ),
187
+ 'OriginPath' => array(
188
+ 'type' => 'string',
189
+ ),
190
+ 'S3OriginConfig' => array(
191
+ 'type' => 'object',
192
+ 'properties' => array(
193
+ 'OriginAccessIdentity' => array(
194
+ 'required' => true,
195
+ 'type' => 'string',
196
+ ),
197
+ ),
198
+ ),
199
+ 'CustomOriginConfig' => array(
200
+ 'type' => 'object',
201
+ 'properties' => array(
202
+ 'HTTPPort' => array(
203
+ 'required' => true,
204
+ 'type' => 'numeric',
205
+ ),
206
+ 'HTTPSPort' => array(
207
+ 'required' => true,
208
+ 'type' => 'numeric',
209
+ ),
210
+ 'OriginProtocolPolicy' => array(
211
+ 'required' => true,
212
+ 'type' => 'string',
213
+ ),
214
+ ),
215
+ ),
216
+ ),
217
+ ),
218
+ ),
219
+ ),
220
+ ),
221
+ 'DefaultCacheBehavior' => array(
222
+ 'required' => true,
223
+ 'type' => 'object',
224
+ 'location' => 'xml',
225
+ 'properties' => array(
226
+ 'TargetOriginId' => array(
227
+ 'required' => true,
228
+ 'type' => 'string',
229
+ ),
230
+ 'ForwardedValues' => array(
231
+ 'required' => true,
232
+ 'type' => 'object',
233
+ 'properties' => array(
234
+ 'QueryString' => array(
235
+ 'required' => true,
236
+ 'type' => 'boolean',
237
+ 'format' => 'boolean-string',
238
+ ),
239
+ 'Cookies' => array(
240
+ 'required' => true,
241
+ 'type' => 'object',
242
+ 'properties' => array(
243
+ 'Forward' => array(
244
+ 'required' => true,
245
+ 'type' => 'string',
246
+ ),
247
+ 'WhitelistedNames' => array(
248
+ 'type' => 'object',
249
+ 'properties' => array(
250
+ 'Quantity' => array(
251
+ 'required' => true,
252
+ 'type' => 'numeric',
253
+ ),
254
+ 'Items' => array(
255
+ 'type' => 'array',
256
+ 'items' => array(
257
+ 'name' => 'Name',
258
+ 'type' => 'string',
259
+ ),
260
+ ),
261
+ ),
262
+ ),
263
+ ),
264
+ ),
265
+ 'Headers' => array(
266
+ 'type' => 'object',
267
+ 'properties' => array(
268
+ 'Quantity' => array(
269
+ 'required' => true,
270
+ 'type' => 'numeric',
271
+ ),
272
+ 'Items' => array(
273
+ 'type' => 'array',
274
+ 'items' => array(
275
+ 'name' => 'Name',
276
+ 'type' => 'string',
277
+ ),
278
+ ),
279
+ ),
280
+ ),
281
+ ),
282
+ ),
283
+ 'TrustedSigners' => array(
284
+ 'required' => true,
285
+ 'type' => 'object',
286
+ 'properties' => array(
287
+ 'Enabled' => array(
288
+ 'required' => true,
289
+ 'type' => 'boolean',
290
+ 'format' => 'boolean-string',
291
+ ),
292
+ 'Quantity' => array(
293
+ 'required' => true,
294
+ 'type' => 'numeric',
295
+ ),
296
+ 'Items' => array(
297
+ 'type' => 'array',
298
+ 'items' => array(
299
+ 'name' => 'AwsAccountNumber',
300
+ 'type' => 'string',
301
+ ),
302
+ ),
303
+ ),
304
+ ),
305
+ 'ViewerProtocolPolicy' => array(
306
+ 'required' => true,
307
+ 'type' => 'string',
308
+ ),
309
+ 'MinTTL' => array(
310
+ 'required' => true,
311
+ 'type' => 'numeric',
312
+ ),
313
+ 'AllowedMethods' => array(
314
+ 'type' => 'object',
315
+ 'properties' => array(
316
+ 'Quantity' => array(
317
+ 'required' => true,
318
+ 'type' => 'numeric',
319
+ ),
320
+ 'Items' => array(
321
+ 'required' => true,
322
+ 'type' => 'array',
323
+ 'items' => array(
324
+ 'name' => 'Method',
325
+ 'type' => 'string',
326
+ ),
327
+ ),
328
+ 'CachedMethods' => array(
329
+ 'type' => 'object',
330
+ 'properties' => array(
331
+ 'Quantity' => array(
332
+ 'required' => true,
333
+ 'type' => 'numeric',
334
+ ),
335
+ 'Items' => array(
336
+ 'required' => true,
337
+ 'type' => 'array',
338
+ 'items' => array(
339
+ 'name' => 'Method',
340
+ 'type' => 'string',
341
+ ),
342
+ ),
343
+ ),
344
+ ),
345
+ ),
346
+ ),
347
+ 'SmoothStreaming' => array(
348
+ 'type' => 'boolean',
349
+ 'format' => 'boolean-string',
350
+ ),
351
+ 'DefaultTTL' => array(
352
+ 'type' => 'numeric',
353
+ ),
354
+ 'MaxTTL' => array(
355
+ 'type' => 'numeric',
356
+ ),
357
+ ),
358
+ ),
359
+ 'CacheBehaviors' => array(
360
+ 'type' => 'object',
361
+ 'location' => 'xml',
362
+ 'properties' => array(
363
+ 'Quantity' => array(
364
+ 'required' => true,
365
+ 'type' => 'numeric',
366
+ ),
367
+ 'Items' => array(
368
+ 'type' => 'array',
369
+ 'items' => array(
370
+ 'name' => 'CacheBehavior',
371
+ 'type' => 'object',
372
+ 'properties' => array(
373
+ 'PathPattern' => array(
374
+ 'required' => true,
375
+ 'type' => 'string',
376
+ ),
377
+ 'TargetOriginId' => array(
378
+ 'required' => true,
379
+ 'type' => 'string',
380
+ ),
381
+ 'ForwardedValues' => array(
382
+ 'required' => true,
383
+ 'type' => 'object',
384
+ 'properties' => array(
385
+ 'QueryString' => array(
386
+ 'required' => true,
387
+ 'type' => 'boolean',
388
+ 'format' => 'boolean-string',
389
+ ),
390
+ 'Cookies' => array(
391
+ 'required' => true,
392
+ 'type' => 'object',
393
+ 'properties' => array(
394
+ 'Forward' => array(
395
+ 'required' => true,
396
+ 'type' => 'string',
397
+ ),
398
+ 'WhitelistedNames' => array(
399
+ 'type' => 'object',
400
+ 'properties' => array(
401
+ 'Quantity' => array(
402
+ 'required' => true,
403
+ 'type' => 'numeric',
404
+ ),
405
+ 'Items' => array(
406
+ 'type' => 'array',
407
+ 'items' => array(
408
+ 'name' => 'Name',
409
+ 'type' => 'string',
410
+ ),
411
+ ),
412
+ ),
413
+ ),
414
+ ),
415
+ ),
416
+ 'Headers' => array(
417
+ 'type' => 'object',
418
+ 'properties' => array(
419
+ 'Quantity' => array(
420
+ 'required' => true,
421
+ 'type' => 'numeric',
422
+ ),
423
+ 'Items' => array(
424
+ 'type' => 'array',
425
+ 'items' => array(
426
+ 'name' => 'Name',
427
+ 'type' => 'string',
428
+ ),
429
+ ),
430
+ ),
431
+ ),
432
+ ),
433
+ ),
434
+ 'TrustedSigners' => array(
435
+ 'required' => true,
436
+ 'type' => 'object',
437
+ 'properties' => array(
438
+ 'Enabled' => array(
439
+ 'required' => true,
440
+ 'type' => 'boolean',
441
+ 'format' => 'boolean-string',
442
+ ),
443
+ 'Quantity' => array(
444
+ 'required' => true,
445
+ 'type' => 'numeric',
446
+ ),
447
+ 'Items' => array(
448
+ 'type' => 'array',
449
+ 'items' => array(
450
+ 'name' => 'AwsAccountNumber',
451
+ 'type' => 'string',
452
+ ),
453
+ ),
454
+ ),
455
+ ),
456
+ 'ViewerProtocolPolicy' => array(
457
+ 'required' => true,
458
+ 'type' => 'string',
459
+ ),
460
+ 'MinTTL' => array(
461
+ 'required' => true,
462
+ 'type' => 'numeric',
463
+ ),
464
+ 'AllowedMethods' => array(
465
+ 'type' => 'object',
466
+ 'properties' => array(
467
+ 'Quantity' => array(
468
+ 'required' => true,
469
+ 'type' => 'numeric',
470
+ ),
471
+ 'Items' => array(
472
+ 'required' => true,
473
+ 'type' => 'array',
474
+ 'items' => array(
475
+ 'name' => 'Method',
476
+ 'type' => 'string',
477
+ ),
478
+ ),
479
+ 'CachedMethods' => array(
480
+ 'type' => 'object',
481
+ 'properties' => array(
482
+ 'Quantity' => array(
483
+ 'required' => true,
484
+ 'type' => 'numeric',
485
+ ),
486
+ 'Items' => array(
487
+ 'required' => true,
488
+ 'type' => 'array',
489
+ 'items' => array(
490
+ 'name' => 'Method',
491
+ 'type' => 'string',
492
+ ),
493
+ ),
494
+ ),
495
+ ),
496
+ ),
497
+ ),
498
+ 'SmoothStreaming' => array(
499
+ 'type' => 'boolean',
500
+ 'format' => 'boolean-string',
501
+ ),
502
+ 'DefaultTTL' => array(
503
+ 'type' => 'numeric',
504
+ ),
505
+ 'MaxTTL' => array(
506
+ 'type' => 'numeric',
507
+ ),
508
+ ),
509
+ ),
510
+ ),
511
+ ),
512
+ ),
513
+ 'CustomErrorResponses' => array(
514
+ 'type' => 'object',
515
+ 'location' => 'xml',
516
+ 'properties' => array(
517
+ 'Quantity' => array(
518
+ 'required' => true,
519
+ 'type' => 'numeric',
520
+ ),
521
+ 'Items' => array(
522
+ 'type' => 'array',
523
+ 'items' => array(
524
+ 'name' => 'CustomErrorResponse',
525
+ 'type' => 'object',
526
+ 'properties' => array(
527
+ 'ErrorCode' => array(
528
+ 'required' => true,
529
+ 'type' => 'numeric',
530
+ ),
531
+ 'ResponsePagePath' => array(
532
+ 'type' => 'string',
533
+ ),
534
+ 'ResponseCode' => array(
535
+ 'type' => 'string',
536
+ ),
537
+ 'ErrorCachingMinTTL' => array(
538
+ 'type' => 'numeric',
539
+ ),
540
+ ),
541
+ ),
542
+ ),
543
+ ),
544
+ ),
545
+ 'Comment' => array(
546
+ 'required' => true,
547
+ 'type' => 'string',
548
+ 'location' => 'xml',
549
+ ),
550
+ 'Logging' => array(
551
+ 'type' => 'object',
552
+ 'location' => 'xml',
553
+ 'properties' => array(
554
+ 'Enabled' => array(
555
+ 'required' => true,
556
+ 'type' => 'boolean',
557
+ 'format' => 'boolean-string',
558
+ ),
559
+ 'IncludeCookies' => array(
560
+ 'required' => true,
561
+ 'type' => 'boolean',
562
+ 'format' => 'boolean-string',
563
+ ),
564
+ 'Bucket' => array(
565
+ 'required' => true,
566
+ 'type' => 'string',
567
+ ),
568
+ 'Prefix' => array(
569
+ 'required' => true,
570
+ 'type' => 'string',
571
+ ),
572
+ ),
573
+ ),
574
+ 'PriceClass' => array(
575
+ 'type' => 'string',
576
+ 'location' => 'xml',
577
+ ),
578
+ 'Enabled' => array(
579
+ 'required' => true,
580
+ 'type' => 'boolean',
581
+ 'format' => 'boolean-string',
582
+ 'location' => 'xml',
583
+ ),
584
+ 'ViewerCertificate' => array(
585
+ 'type' => 'object',
586
+ 'location' => 'xml',
587
+ 'properties' => array(
588
+ 'IAMCertificateId' => array(
589
+ 'type' => 'string',
590
+ ),
591
+ 'CloudFrontDefaultCertificate' => array(
592
+ 'type' => 'boolean',
593
+ 'format' => 'boolean-string',
594
+ ),
595
+ 'SSLSupportMethod' => array(
596
+ 'type' => 'string',
597
+ ),
598
+ 'MinimumProtocolVersion' => array(
599
+ 'type' => 'string',
600
+ ),
601
+ ),
602
+ ),
603
+ 'Restrictions' => array(
604
+ 'type' => 'object',
605
+ 'location' => 'xml',
606
+ 'properties' => array(
607
+ 'GeoRestriction' => array(
608
+ 'required' => true,
609
+ 'type' => 'object',
610
+ 'properties' => array(
611
+ 'RestrictionType' => array(
612
+ 'required' => true,
613
+ 'type' => 'string',
614
+ ),
615
+ 'Quantity' => array(
616
+ 'required' => true,
617
+ 'type' => 'numeric',
618
+ ),
619
+ 'Items' => array(
620
+ 'type' => 'array',
621
+ 'items' => array(
622
+ 'name' => 'Location',
623
+ 'type' => 'string',
624
+ ),
625
+ ),
626
+ ),
627
+ ),
628
+ ),
629
+ ),
630
+ 'command.expects' => array(
631
+ 'static' => true,
632
+ 'default' => 'application/xml',
633
+ ),
634
+ ),
635
+ 'errorResponses' => array(
636
+ array(
637
+ 'class' => 'CNAMEAlreadyExistsException',
638
+ ),
639
+ array(
640
+ 'reason' => 'The caller reference you attempted to create the distribution with is associated with another distribution.',
641
+ 'class' => 'DistributionAlreadyExistsException',
642
+ ),
643
+ array(
644
+ 'reason' => 'The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.',
645
+ 'class' => 'InvalidOriginException',
646
+ ),
647
+ array(
648
+ 'reason' => 'The origin access identity is not valid or doesn\'t exist.',
649
+ 'class' => 'InvalidOriginAccessIdentityException',
650
+ ),
651
+ array(
652
+ 'reason' => 'Access denied.',
653
+ 'class' => 'AccessDeniedException',
654
+ ),
655
+ array(
656
+ 'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
657
+ 'class' => 'TooManyTrustedSignersException',
658
+ ),
659
+ array(
660
+ 'reason' => 'One or more of your trusted signers do not exist.',
661
+ 'class' => 'TrustedSignerDoesNotExistException',
662
+ ),
663
+ array(
664
+ 'class' => 'InvalidViewerCertificateException',
665
+ ),
666
+ array(
667
+ 'class' => 'InvalidMinimumProtocolVersionException',
668
+ ),
669
+ array(
670
+ 'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
671
+ 'class' => 'MissingBodyException',
672
+ ),
673
+ array(
674
+ 'reason' => 'Your request contains more CNAMEs than are allowed per distribution.',
675
+ 'class' => 'TooManyDistributionCNAMEsException',
676
+ ),
677
+ array(
678
+ 'reason' => 'Processing your request would cause you to exceed the maximum number of distributions allowed.',
679
+ 'class' => 'TooManyDistributionsException',
680
+ ),
681
+ array(
682
+ 'reason' => 'The default root object file name is too big or contains an invalid character.',
683
+ 'class' => 'InvalidDefaultRootObjectException',
684
+ ),
685
+ array(
686
+ 'reason' => 'The relative path is too big, is not URL-encoded, or does not begin with a slash (/).',
687
+ 'class' => 'InvalidRelativePathException',
688
+ ),
689
+ array(
690
+ 'class' => 'InvalidErrorCodeException',
691
+ ),
692
+ array(
693
+ 'class' => 'InvalidResponseCodeException',
694
+ ),
695
+ array(
696
+ 'reason' => 'The argument is invalid.',
697
+ 'class' => 'InvalidArgumentException',
698
+ ),
699
+ array(
700
+ 'reason' => 'This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.',
701
+ 'class' => 'InvalidRequiredProtocolException',
702
+ ),
703
+ array(
704
+ 'reason' => 'No origin exists with the specified Origin Id.',
705
+ 'class' => 'NoSuchOriginException',
706
+ ),
707
+ array(
708
+ 'reason' => 'You cannot create anymore origins for the distribution.',
709
+ 'class' => 'TooManyOriginsException',
710
+ ),
711
+ array(
712
+ 'reason' => 'You cannot create anymore cache behaviors for the distribution.',
713
+ 'class' => 'TooManyCacheBehaviorsException',
714
+ ),
715
+ array(
716
+ 'reason' => 'Your request contains more cookie names in the whitelist than are allowed per cache behavior.',
717
+ 'class' => 'TooManyCookieNamesInWhiteListException',
718
+ ),
719
+ array(
720
+ 'reason' => 'Your request contains forward cookies option which doesn\'t match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.',
721
+ 'class' => 'InvalidForwardCookiesException',
722
+ ),
723
+ array(
724
+ 'class' => 'TooManyHeadersInForwardedValuesException',
725
+ ),
726
+ array(
727
+ 'class' => 'InvalidHeadersForS3OriginException',
728
+ ),
729
+ array(
730
+ 'reason' => 'The value of Quantity and the size of Items do not match.',
731
+ 'class' => 'InconsistentQuantitiesException',
732
+ ),
733
+ array(
734
+ 'reason' => 'You cannot create anymore custom ssl certificates.',
735
+ 'class' => 'TooManyCertificatesException',
736
+ ),
737
+ array(
738
+ 'class' => 'InvalidLocationCodeException',
739
+ ),
740
+ array(
741
+ 'class' => 'InvalidGeoRestrictionParameterException',
742
+ ),
743
+ array(
744
+ 'reason' => 'You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that Support Server Name Indication (SNI).',
745
+ 'class' => 'InvalidProtocolSettingsException',
746
+ ),
747
+ array(
748
+ 'class' => 'InvalidTTLOrderException',
749
+ ),
750
+ ),
751
+ ),
752
+ 'CreateInvalidation' => array(
753
+ 'httpMethod' => 'POST',
754
+ 'uri' => '/2015-04-17/distribution/{DistributionId}/invalidation',
755
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
756
+ 'responseClass' => 'CreateInvalidationResult',
757
+ 'responseType' => 'model',
758
+ 'data' => array(
759
+ 'xmlRoot' => array(
760
+ 'name' => 'InvalidationBatch',
761
+ 'namespaces' => array(
762
+ 'http://cloudfront.amazonaws.com/doc/2015-04-17/',
763
+ ),
764
+ ),
765
+ ),
766
+ 'parameters' => array(
767
+ 'DistributionId' => array(
768
+ 'required' => true,
769
+ 'type' => 'string',
770
+ 'location' => 'uri',
771
+ ),
772
+ 'Paths' => array(
773
+ 'required' => true,
774
+ 'type' => 'object',
775
+ 'location' => 'xml',
776
+ 'properties' => array(
777
+ 'Quantity' => array(
778
+ 'required' => true,
779
+ 'type' => 'numeric',
780
+ ),
781
+ 'Items' => array(
782
+ 'type' => 'array',
783
+ 'items' => array(
784
+ 'name' => 'Path',
785
+ 'type' => 'string',
786
+ ),
787
+ ),
788
+ ),
789
+ ),
790
+ 'CallerReference' => array(
791
+ 'required' => true,
792
+ 'type' => 'string',
793
+ 'location' => 'xml',
794
+ ),
795
+ 'command.expects' => array(
796
+ 'static' => true,
797
+ 'default' => 'application/xml',
798
+ ),
799
+ ),
800
+ 'errorResponses' => array(
801
+ array(
802
+ 'reason' => 'Access denied.',
803
+ 'class' => 'AccessDeniedException',
804
+ ),
805
+ array(
806
+ 'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
807
+ 'class' => 'MissingBodyException',
808
+ ),
809
+ array(
810
+ 'reason' => 'The argument is invalid.',
811
+ 'class' => 'InvalidArgumentException',
812
+ ),
813
+ array(
814
+ 'reason' => 'The specified distribution does not exist.',
815
+ 'class' => 'NoSuchDistributionException',
816
+ ),
817
+ array(
818
+ 'class' => 'BatchTooLargeException',
819
+ ),
820
+ array(
821
+ 'reason' => 'You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.',
822
+ 'class' => 'TooManyInvalidationsInProgressException',
823
+ ),
824
+ array(
825
+ 'reason' => 'The value of Quantity and the size of Items do not match.',
826
+ 'class' => 'InconsistentQuantitiesException',
827
+ ),
828
+ ),
829
+ ),
830
+ 'CreateStreamingDistribution' => array(
831
+ 'httpMethod' => 'POST',
832
+ 'uri' => '/2015-04-17/streaming-distribution',
833
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
834
+ 'responseClass' => 'CreateStreamingDistributionResult',
835
+ 'responseType' => 'model',
836
+ 'data' => array(
837
+ 'xmlRoot' => array(
838
+ 'name' => 'StreamingDistributionConfig',
839
+ 'namespaces' => array(
840
+ 'http://cloudfront.amazonaws.com/doc/2015-04-17/',
841
+ ),
842
+ ),
843
+ ),
844
+ 'parameters' => array(
845
+ 'CallerReference' => array(
846
+ 'required' => true,
847
+ 'type' => 'string',
848
+ 'location' => 'xml',
849
+ ),
850
+ 'S3Origin' => array(
851
+ 'required' => true,
852
+ 'type' => 'object',
853
+ 'location' => 'xml',
854
+ 'properties' => array(
855
+ 'DomainName' => array(
856
+ 'required' => true,
857
+ 'type' => 'string',
858
+ ),
859
+ 'OriginAccessIdentity' => array(
860
+ 'required' => true,
861
+ 'type' => 'string',
862
+ ),
863
+ ),
864
+ ),
865
+ 'Aliases' => array(
866
+ 'type' => 'object',
867
+ 'location' => 'xml',
868
+ 'properties' => array(
869
+ 'Quantity' => array(
870
+ 'required' => true,
871
+ 'type' => 'numeric',
872
+ ),
873
+ 'Items' => array(
874
+ 'type' => 'array',
875
+ 'items' => array(
876
+ 'name' => 'CNAME',
877
+ 'type' => 'string',
878
+ ),
879
+ ),
880
+ ),
881
+ ),
882
+ 'Comment' => array(
883
+ 'required' => true,
884
+ 'type' => 'string',
885
+ 'location' => 'xml',
886
+ ),
887
+ 'Logging' => array(
888
+ 'type' => 'object',
889
+ 'location' => 'xml',
890
+ 'properties' => array(
891
+ 'Enabled' => array(
892
+ 'required' => true,
893
+ 'type' => 'boolean',
894
+ 'format' => 'boolean-string',
895
+ ),
896
+ 'Bucket' => array(
897
+ 'required' => true,
898
+ 'type' => 'string',
899
+ ),
900
+ 'Prefix' => array(
901
+ 'required' => true,
902
+ 'type' => 'string',
903
+ ),
904
+ ),
905
+ ),
906
+ 'TrustedSigners' => array(
907
+ 'required' => true,
908
+ 'type' => 'object',
909
+ 'location' => 'xml',
910
+ 'properties' => array(
911
+ 'Enabled' => array(
912
+ 'required' => true,
913
+ 'type' => 'boolean',
914
+ 'format' => 'boolean-string',
915
+ ),
916
+ 'Quantity' => array(
917
+ 'required' => true,
918
+ 'type' => 'numeric',
919
+ ),
920
+ 'Items' => array(
921
+ 'type' => 'array',
922
+ 'items' => array(
923
+ 'name' => 'AwsAccountNumber',
924
+ 'type' => 'string',
925
+ ),
926
+ ),
927
+ ),
928
+ ),
929
+ 'PriceClass' => array(
930
+ 'type' => 'string',
931
+ 'location' => 'xml',
932
+ ),
933
+ 'Enabled' => array(
934
+ 'required' => true,
935
+ 'type' => 'boolean',
936
+ 'format' => 'boolean-string',
937
+ 'location' => 'xml',
938
+ ),
939
+ 'command.expects' => array(
940
+ 'static' => true,
941
+ 'default' => 'application/xml',
942
+ ),
943
+ ),
944
+ 'errorResponses' => array(
945
+ array(
946
+ 'class' => 'CNAMEAlreadyExistsException',
947
+ ),
948
+ array(
949
+ 'class' => 'StreamingDistributionAlreadyExistsException',
950
+ ),
951
+ array(
952
+ 'reason' => 'The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.',
953
+ 'class' => 'InvalidOriginException',
954
+ ),
955
+ array(
956
+ 'reason' => 'The origin access identity is not valid or doesn\'t exist.',
957
+ 'class' => 'InvalidOriginAccessIdentityException',
958
+ ),
959
+ array(
960
+ 'reason' => 'Access denied.',
961
+ 'class' => 'AccessDeniedException',
962
+ ),
963
+ array(
964
+ 'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
965
+ 'class' => 'TooManyTrustedSignersException',
966
+ ),
967
+ array(
968
+ 'reason' => 'One or more of your trusted signers do not exist.',
969
+ 'class' => 'TrustedSignerDoesNotExistException',
970
+ ),
971
+ array(
972
+ 'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
973
+ 'class' => 'MissingBodyException',
974
+ ),
975
+ array(
976
+ 'class' => 'TooManyStreamingDistributionCNAMEsException',
977
+ ),
978
+ array(
979
+ 'reason' => 'Processing your request would cause you to exceed the maximum number of streaming distributions allowed.',
980
+ 'class' => 'TooManyStreamingDistributionsException',
981
+ ),
982
+ array(
983
+ 'reason' => 'The argument is invalid.',
984
+ 'class' => 'InvalidArgumentException',
985
+ ),
986
+ array(
987
+ 'reason' => 'The value of Quantity and the size of Items do not match.',
988
+ 'class' => 'InconsistentQuantitiesException',
989
+ ),
990
+ ),
991
+ ),
992
+ 'DeleteCloudFrontOriginAccessIdentity' => array(
993
+ 'httpMethod' => 'DELETE',
994
+ 'uri' => '/2015-04-17/origin-access-identity/cloudfront/{Id}',
995
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
996
+ 'responseClass' => 'DeleteCloudFrontOriginAccessIdentity2015_04_17Output',
997
+ 'responseType' => 'model',
998
+ 'parameters' => array(
999
+ 'Id' => array(
1000
+ 'required' => true,
1001
+ 'type' => 'string',
1002
+ 'location' => 'uri',
1003
+ ),
1004
+ 'IfMatch' => array(
1005
+ 'type' => 'string',
1006
+ 'location' => 'header',
1007
+ 'sentAs' => 'If-Match',
1008
+ ),
1009
+ ),
1010
+ 'errorResponses' => array(
1011
+ array(
1012
+ 'reason' => 'Access denied.',
1013
+ 'class' => 'AccessDeniedException',
1014
+ ),
1015
+ array(
1016
+ 'reason' => 'The If-Match version is missing or not valid for the distribution.',
1017
+ 'class' => 'InvalidIfMatchVersionException',
1018
+ ),
1019
+ array(
1020
+ 'reason' => 'The specified origin access identity does not exist.',
1021
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
1022
+ ),
1023
+ array(
1024
+ 'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
1025
+ 'class' => 'PreconditionFailedException',
1026
+ ),
1027
+ array(
1028
+ 'class' => 'CloudFrontOriginAccessIdentityInUseException',
1029
+ ),
1030
+ ),
1031
+ ),
1032
+ 'DeleteDistribution' => array(
1033
+ 'httpMethod' => 'DELETE',
1034
+ 'uri' => '/2015-04-17/distribution/{Id}',
1035
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1036
+ 'responseClass' => 'DeleteDistribution2015_04_17Output',
1037
+ 'responseType' => 'model',
1038
+ 'parameters' => array(
1039
+ 'Id' => array(
1040
+ 'required' => true,
1041
+ 'type' => 'string',
1042
+ 'location' => 'uri',
1043
+ ),
1044
+ 'IfMatch' => array(
1045
+ 'type' => 'string',
1046
+ 'location' => 'header',
1047
+ 'sentAs' => 'If-Match',
1048
+ ),
1049
+ ),
1050
+ 'errorResponses' => array(
1051
+ array(
1052
+ 'reason' => 'Access denied.',
1053
+ 'class' => 'AccessDeniedException',
1054
+ ),
1055
+ array(
1056
+ 'class' => 'DistributionNotDisabledException',
1057
+ ),
1058
+ array(
1059
+ 'reason' => 'The If-Match version is missing or not valid for the distribution.',
1060
+ 'class' => 'InvalidIfMatchVersionException',
1061
+ ),
1062
+ array(
1063
+ 'reason' => 'The specified distribution does not exist.',
1064
+ 'class' => 'NoSuchDistributionException',
1065
+ ),
1066
+ array(
1067
+ 'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
1068
+ 'class' => 'PreconditionFailedException',
1069
+ ),
1070
+ ),
1071
+ ),
1072
+ 'DeleteStreamingDistribution' => array(
1073
+ 'httpMethod' => 'DELETE',
1074
+ 'uri' => '/2015-04-17/streaming-distribution/{Id}',
1075
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1076
+ 'responseClass' => 'DeleteStreamingDistribution2015_04_17Output',
1077
+ 'responseType' => 'model',
1078
+ 'parameters' => array(
1079
+ 'Id' => array(
1080
+ 'required' => true,
1081
+ 'type' => 'string',
1082
+ 'location' => 'uri',
1083
+ ),
1084
+ 'IfMatch' => array(
1085
+ 'type' => 'string',
1086
+ 'location' => 'header',
1087
+ 'sentAs' => 'If-Match',
1088
+ ),
1089
+ ),
1090
+ 'errorResponses' => array(
1091
+ array(
1092
+ 'reason' => 'Access denied.',
1093
+ 'class' => 'AccessDeniedException',
1094
+ ),
1095
+ array(
1096
+ 'class' => 'StreamingDistributionNotDisabledException',
1097
+ ),
1098
+ array(
1099
+ 'reason' => 'The If-Match version is missing or not valid for the distribution.',
1100
+ 'class' => 'InvalidIfMatchVersionException',
1101
+ ),
1102
+ array(
1103
+ 'reason' => 'The specified streaming distribution does not exist.',
1104
+ 'class' => 'NoSuchStreamingDistributionException',
1105
+ ),
1106
+ array(
1107
+ 'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
1108
+ 'class' => 'PreconditionFailedException',
1109
+ ),
1110
+ ),
1111
+ ),
1112
+ 'GetCloudFrontOriginAccessIdentity' => array(
1113
+ 'httpMethod' => 'GET',
1114
+ 'uri' => '/2015-04-17/origin-access-identity/cloudfront/{Id}',
1115
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1116
+ 'responseClass' => 'GetCloudFrontOriginAccessIdentityResult',
1117
+ 'responseType' => 'model',
1118
+ 'parameters' => array(
1119
+ 'Id' => array(
1120
+ 'required' => true,
1121
+ 'type' => 'string',
1122
+ 'location' => 'uri',
1123
+ ),
1124
+ 'command.expects' => array(
1125
+ 'static' => true,
1126
+ 'default' => 'application/xml',
1127
+ ),
1128
+ ),
1129
+ 'errorResponses' => array(
1130
+ array(
1131
+ 'reason' => 'The specified origin access identity does not exist.',
1132
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
1133
+ ),
1134
+ array(
1135
+ 'reason' => 'Access denied.',
1136
+ 'class' => 'AccessDeniedException',
1137
+ ),
1138
+ ),
1139
+ ),
1140
+ 'GetCloudFrontOriginAccessIdentityConfig' => array(
1141
+ 'httpMethod' => 'GET',
1142
+ 'uri' => '/2015-04-17/origin-access-identity/cloudfront/{Id}/config',
1143
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1144
+ 'responseClass' => 'GetCloudFrontOriginAccessIdentityConfigResult',
1145
+ 'responseType' => 'model',
1146
+ 'parameters' => array(
1147
+ 'Id' => array(
1148
+ 'required' => true,
1149
+ 'type' => 'string',
1150
+ 'location' => 'uri',
1151
+ ),
1152
+ 'command.expects' => array(
1153
+ 'static' => true,
1154
+ 'default' => 'application/xml',
1155
+ ),
1156
+ ),
1157
+ 'errorResponses' => array(
1158
+ array(
1159
+ 'reason' => 'The specified origin access identity does not exist.',
1160
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
1161
+ ),
1162
+ array(
1163
+ 'reason' => 'Access denied.',
1164
+ 'class' => 'AccessDeniedException',
1165
+ ),
1166
+ ),
1167
+ ),
1168
+ 'GetDistribution' => array(
1169
+ 'httpMethod' => 'GET',
1170
+ 'uri' => '/2015-04-17/distribution/{Id}',
1171
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1172
+ 'responseClass' => 'GetDistributionResult',
1173
+ 'responseType' => 'model',
1174
+ 'parameters' => array(
1175
+ 'Id' => array(
1176
+ 'required' => true,
1177
+ 'type' => 'string',
1178
+ 'location' => 'uri',
1179
+ ),
1180
+ 'command.expects' => array(
1181
+ 'static' => true,
1182
+ 'default' => 'application/xml',
1183
+ ),
1184
+ ),
1185
+ 'errorResponses' => array(
1186
+ array(
1187
+ 'reason' => 'The specified distribution does not exist.',
1188
+ 'class' => 'NoSuchDistributionException',
1189
+ ),
1190
+ array(
1191
+ 'reason' => 'Access denied.',
1192
+ 'class' => 'AccessDeniedException',
1193
+ ),
1194
+ ),
1195
+ ),
1196
+ 'GetDistributionConfig' => array(
1197
+ 'httpMethod' => 'GET',
1198
+ 'uri' => '/2015-04-17/distribution/{Id}/config',
1199
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1200
+ 'responseClass' => 'GetDistributionConfigResult',
1201
+ 'responseType' => 'model',
1202
+ 'parameters' => array(
1203
+ 'Id' => array(
1204
+ 'required' => true,
1205
+ 'type' => 'string',
1206
+ 'location' => 'uri',
1207
+ ),
1208
+ 'command.expects' => array(
1209
+ 'static' => true,
1210
+ 'default' => 'application/xml',
1211
+ ),
1212
+ ),
1213
+ 'errorResponses' => array(
1214
+ array(
1215
+ 'reason' => 'The specified distribution does not exist.',
1216
+ 'class' => 'NoSuchDistributionException',
1217
+ ),
1218
+ array(
1219
+ 'reason' => 'Access denied.',
1220
+ 'class' => 'AccessDeniedException',
1221
+ ),
1222
+ ),
1223
+ ),
1224
+ 'GetInvalidation' => array(
1225
+ 'httpMethod' => 'GET',
1226
+ 'uri' => '/2015-04-17/distribution/{DistributionId}/invalidation/{Id}',
1227
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1228
+ 'responseClass' => 'GetInvalidationResult',
1229
+ 'responseType' => 'model',
1230
+ 'parameters' => array(
1231
+ 'DistributionId' => array(
1232
+ 'required' => true,
1233
+ 'type' => 'string',
1234
+ 'location' => 'uri',
1235
+ ),
1236
+ 'Id' => array(
1237
+ 'required' => true,
1238
+ 'type' => 'string',
1239
+ 'location' => 'uri',
1240
+ ),
1241
+ 'command.expects' => array(
1242
+ 'static' => true,
1243
+ 'default' => 'application/xml',
1244
+ ),
1245
+ ),
1246
+ 'errorResponses' => array(
1247
+ array(
1248
+ 'reason' => 'The specified invalidation does not exist.',
1249
+ 'class' => 'NoSuchInvalidationException',
1250
+ ),
1251
+ array(
1252
+ 'reason' => 'The specified distribution does not exist.',
1253
+ 'class' => 'NoSuchDistributionException',
1254
+ ),
1255
+ array(
1256
+ 'reason' => 'Access denied.',
1257
+ 'class' => 'AccessDeniedException',
1258
+ ),
1259
+ ),
1260
+ ),
1261
+ 'GetStreamingDistribution' => array(
1262
+ 'httpMethod' => 'GET',
1263
+ 'uri' => '/2015-04-17/streaming-distribution/{Id}',
1264
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1265
+ 'responseClass' => 'GetStreamingDistributionResult',
1266
+ 'responseType' => 'model',
1267
+ 'parameters' => array(
1268
+ 'Id' => array(
1269
+ 'required' => true,
1270
+ 'type' => 'string',
1271
+ 'location' => 'uri',
1272
+ ),
1273
+ 'command.expects' => array(
1274
+ 'static' => true,
1275
+ 'default' => 'application/xml',
1276
+ ),
1277
+ ),
1278
+ 'errorResponses' => array(
1279
+ array(
1280
+ 'reason' => 'The specified streaming distribution does not exist.',
1281
+ 'class' => 'NoSuchStreamingDistributionException',
1282
+ ),
1283
+ array(
1284
+ 'reason' => 'Access denied.',
1285
+ 'class' => 'AccessDeniedException',
1286
+ ),
1287
+ ),
1288
+ ),
1289
+ 'GetStreamingDistributionConfig' => array(
1290
+ 'httpMethod' => 'GET',
1291
+ 'uri' => '/2015-04-17/streaming-distribution/{Id}/config',
1292
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1293
+ 'responseClass' => 'GetStreamingDistributionConfigResult',
1294
+ 'responseType' => 'model',
1295
+ 'parameters' => array(
1296
+ 'Id' => array(
1297
+ 'required' => true,
1298
+ 'type' => 'string',
1299
+ 'location' => 'uri',
1300
+ ),
1301
+ 'command.expects' => array(
1302
+ 'static' => true,
1303
+ 'default' => 'application/xml',
1304
+ ),
1305
+ ),
1306
+ 'errorResponses' => array(
1307
+ array(
1308
+ 'reason' => 'The specified streaming distribution does not exist.',
1309
+ 'class' => 'NoSuchStreamingDistributionException',
1310
+ ),
1311
+ array(
1312
+ 'reason' => 'Access denied.',
1313
+ 'class' => 'AccessDeniedException',
1314
+ ),
1315
+ ),
1316
+ ),
1317
+ 'ListCloudFrontOriginAccessIdentities' => array(
1318
+ 'httpMethod' => 'GET',
1319
+ 'uri' => '/2015-04-17/origin-access-identity/cloudfront',
1320
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1321
+ 'responseClass' => 'ListCloudFrontOriginAccessIdentitiesResult',
1322
+ 'responseType' => 'model',
1323
+ 'parameters' => array(
1324
+ 'Marker' => array(
1325
+ 'type' => 'string',
1326
+ 'location' => 'query',
1327
+ ),
1328
+ 'MaxItems' => array(
1329
+ 'type' => 'string',
1330
+ 'location' => 'query',
1331
+ ),
1332
+ 'command.expects' => array(
1333
+ 'static' => true,
1334
+ 'default' => 'application/xml',
1335
+ ),
1336
+ ),
1337
+ 'errorResponses' => array(
1338
+ array(
1339
+ 'reason' => 'The argument is invalid.',
1340
+ 'class' => 'InvalidArgumentException',
1341
+ ),
1342
+ ),
1343
+ ),
1344
+ 'ListDistributions' => array(
1345
+ 'httpMethod' => 'GET',
1346
+ 'uri' => '/2015-04-17/distribution',
1347
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1348
+ 'responseClass' => 'ListDistributionsResult',
1349
+ 'responseType' => 'model',
1350
+ 'parameters' => array(
1351
+ 'Marker' => array(
1352
+ 'type' => 'string',
1353
+ 'location' => 'query',
1354
+ ),
1355
+ 'MaxItems' => array(
1356
+ 'type' => 'string',
1357
+ 'location' => 'query',
1358
+ ),
1359
+ 'command.expects' => array(
1360
+ 'static' => true,
1361
+ 'default' => 'application/xml',
1362
+ ),
1363
+ ),
1364
+ 'errorResponses' => array(
1365
+ array(
1366
+ 'reason' => 'The argument is invalid.',
1367
+ 'class' => 'InvalidArgumentException',
1368
+ ),
1369
+ ),
1370
+ ),
1371
+ 'ListInvalidations' => array(
1372
+ 'httpMethod' => 'GET',
1373
+ 'uri' => '/2015-04-17/distribution/{DistributionId}/invalidation',
1374
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1375
+ 'responseClass' => 'ListInvalidationsResult',
1376
+ 'responseType' => 'model',
1377
+ 'parameters' => array(
1378
+ 'DistributionId' => array(
1379
+ 'required' => true,
1380
+ 'type' => 'string',
1381
+ 'location' => 'uri',
1382
+ ),
1383
+ 'Marker' => array(
1384
+ 'type' => 'string',
1385
+ 'location' => 'query',
1386
+ ),
1387
+ 'MaxItems' => array(
1388
+ 'type' => 'string',
1389
+ 'location' => 'query',
1390
+ ),
1391
+ 'command.expects' => array(
1392
+ 'static' => true,
1393
+ 'default' => 'application/xml',
1394
+ ),
1395
+ ),
1396
+ 'errorResponses' => array(
1397
+ array(
1398
+ 'reason' => 'The argument is invalid.',
1399
+ 'class' => 'InvalidArgumentException',
1400
+ ),
1401
+ array(
1402
+ 'reason' => 'The specified distribution does not exist.',
1403
+ 'class' => 'NoSuchDistributionException',
1404
+ ),
1405
+ array(
1406
+ 'reason' => 'Access denied.',
1407
+ 'class' => 'AccessDeniedException',
1408
+ ),
1409
+ ),
1410
+ ),
1411
+ 'ListStreamingDistributions' => array(
1412
+ 'httpMethod' => 'GET',
1413
+ 'uri' => '/2015-04-17/streaming-distribution',
1414
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1415
+ 'responseClass' => 'ListStreamingDistributionsResult',
1416
+ 'responseType' => 'model',
1417
+ 'parameters' => array(
1418
+ 'Marker' => array(
1419
+ 'type' => 'string',
1420
+ 'location' => 'query',
1421
+ ),
1422
+ 'MaxItems' => array(
1423
+ 'type' => 'string',
1424
+ 'location' => 'query',
1425
+ ),
1426
+ 'command.expects' => array(
1427
+ 'static' => true,
1428
+ 'default' => 'application/xml',
1429
+ ),
1430
+ ),
1431
+ 'errorResponses' => array(
1432
+ array(
1433
+ 'reason' => 'The argument is invalid.',
1434
+ 'class' => 'InvalidArgumentException',
1435
+ ),
1436
+ ),
1437
+ ),
1438
+ 'UpdateCloudFrontOriginAccessIdentity' => array(
1439
+ 'httpMethod' => 'PUT',
1440
+ 'uri' => '/2015-04-17/origin-access-identity/cloudfront/{Id}/config',
1441
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1442
+ 'responseClass' => 'UpdateCloudFrontOriginAccessIdentityResult',
1443
+ 'responseType' => 'model',
1444
+ 'data' => array(
1445
+ 'xmlRoot' => array(
1446
+ 'name' => 'CloudFrontOriginAccessIdentityConfig',
1447
+ 'namespaces' => array(
1448
+ 'http://cloudfront.amazonaws.com/doc/2015-04-17/',
1449
+ ),
1450
+ ),
1451
+ ),
1452
+ 'parameters' => array(
1453
+ 'CallerReference' => array(
1454
+ 'required' => true,
1455
+ 'type' => 'string',
1456
+ 'location' => 'xml',
1457
+ ),
1458
+ 'Comment' => array(
1459
+ 'required' => true,
1460
+ 'type' => 'string',
1461
+ 'location' => 'xml',
1462
+ ),
1463
+ 'Id' => array(
1464
+ 'required' => true,
1465
+ 'type' => 'string',
1466
+ 'location' => 'uri',
1467
+ ),
1468
+ 'IfMatch' => array(
1469
+ 'type' => 'string',
1470
+ 'location' => 'header',
1471
+ 'sentAs' => 'If-Match',
1472
+ ),
1473
+ 'command.expects' => array(
1474
+ 'static' => true,
1475
+ 'default' => 'application/xml',
1476
+ ),
1477
+ ),
1478
+ 'errorResponses' => array(
1479
+ array(
1480
+ 'reason' => 'Access denied.',
1481
+ 'class' => 'AccessDeniedException',
1482
+ ),
1483
+ array(
1484
+ 'reason' => 'Origin and CallerReference cannot be updated.',
1485
+ 'class' => 'IllegalUpdateException',
1486
+ ),
1487
+ array(
1488
+ 'reason' => 'The If-Match version is missing or not valid for the distribution.',
1489
+ 'class' => 'InvalidIfMatchVersionException',
1490
+ ),
1491
+ array(
1492
+ 'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
1493
+ 'class' => 'MissingBodyException',
1494
+ ),
1495
+ array(
1496
+ 'reason' => 'The specified origin access identity does not exist.',
1497
+ 'class' => 'NoSuchCloudFrontOriginAccessIdentityException',
1498
+ ),
1499
+ array(
1500
+ 'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
1501
+ 'class' => 'PreconditionFailedException',
1502
+ ),
1503
+ array(
1504
+ 'reason' => 'The argument is invalid.',
1505
+ 'class' => 'InvalidArgumentException',
1506
+ ),
1507
+ array(
1508
+ 'reason' => 'The value of Quantity and the size of Items do not match.',
1509
+ 'class' => 'InconsistentQuantitiesException',
1510
+ ),
1511
+ ),
1512
+ ),
1513
+ 'UpdateDistribution' => array(
1514
+ 'httpMethod' => 'PUT',
1515
+ 'uri' => '/2015-04-17/distribution/{Id}/config',
1516
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
1517
+ 'responseClass' => 'UpdateDistributionResult',
1518
+ 'responseType' => 'model',
1519
+ 'data' => array(
1520
+ 'xmlRoot' => array(
1521
+ 'name' => 'DistributionConfig',
1522
+ 'namespaces' => array(
1523
+ 'http://cloudfront.amazonaws.com/doc/2015-04-17/',
1524
+ ),
1525
+ ),
1526
+ ),
1527
+ 'parameters' => array(
1528
+ 'CallerReference' => array(
1529
+ 'required' => true,
1530
+ 'type' => 'string',
1531
+ 'location' => 'xml',
1532
+ ),
1533
+ 'Aliases' => array(
1534
+ 'type' => 'object',
1535
+ 'location' => 'xml',
1536
+ 'properties' => array(
1537
+ 'Quantity' => array(
1538
+ 'required' => true,
1539
+ 'type' => 'numeric',
1540
+ ),
1541
+ 'Items' => array(
1542
+ 'type' => 'array',
1543
+ 'items' => array(
1544
+ 'name' => 'CNAME',
1545
+ 'type' => 'string',
1546
+ ),
1547
+ ),
1548
+ ),
1549
+ ),
1550
+ 'DefaultRootObject' => array(
1551
+ 'type' => 'string',
1552
+ 'location' => 'xml',
1553
+ ),
1554
+ 'Origins' => array(
1555
+ 'required' => true,
1556
+ 'type' => 'object',
1557
+ 'location' => 'xml',
1558
+ 'properties' => array(
1559
+ 'Quantity' => array(
1560
+ 'required' => true,
1561
+ 'type' => 'numeric',
1562
+ ),
1563
+ 'Items' => array(
1564
+ 'type' => 'array',
1565
+ 'minItems' => 1,
1566
+ 'items' => array(
1567
+ 'name' => 'Origin',
1568
+ 'type' => 'object',
1569
+ 'properties' => array(
1570
+ 'Id' => array(
1571
+ 'required' => true,
1572
+ 'type' => 'string',
1573
+ ),
1574
+ 'DomainName' => array(
1575
+ 'required' => true,
1576
+ 'type' => 'string',
1577
+ ),
1578
+ 'OriginPath' => array(
1579
+ 'type' => 'string',
1580
+ ),
1581
+ 'S3OriginConfig' => array(
1582
+ 'type' => 'object',
1583
+ 'properties' => array(
1584
+ 'OriginAccessIdentity' => array(
1585
+ 'required' => true,
1586
+ 'type' => 'string',
1587
+ ),
1588
+ ),
1589
+ ),
1590
+ 'CustomOriginConfig' => array(
1591
+ 'type' => 'object',
1592
+ 'properties' => array(
1593
+ 'HTTPPort' => array(
1594
+ 'required' => true,
1595
+ 'type' => 'numeric',
1596
+ ),
1597
+ 'HTTPSPort' => array(
1598
+ 'required' => true,
1599
+ 'type' => 'numeric',
1600
+ ),
1601
+ 'OriginProtocolPolicy' => array(
1602
+ 'required' => true,
1603
+ 'type' => 'string',
1604
+ ),
1605
+ ),
1606
+ ),
1607
+ ),
1608
+ ),
1609
+ ),
1610
+ ),
1611
+ ),
1612
+ 'DefaultCacheBehavior' => array(
1613
+ 'required' => true,
1614
+ 'type' => 'object',
1615
+ 'location' => 'xml',
1616
+ 'properties' => array(
1617
+ 'TargetOriginId' => array(
1618
+ 'required' => true,
1619
+ 'type' => 'string',
1620
+ ),
1621
+ 'ForwardedValues' => array(
1622
+ 'required' => true,
1623
+ 'type' => 'object',
1624
+ 'properties' => array(
1625
+ 'QueryString' => array(
1626
+ 'required' => true,
1627
+ 'type' => 'boolean',
1628
+ 'format' => 'boolean-string',
1629
+ ),
1630
+ 'Cookies' => array(
1631
+ 'required' => true,
1632
+ 'type' => 'object',
1633
+ 'properties' => array(
1634
+ 'Forward' => array(
1635
+ 'required' => true,
1636
+ 'type' => 'string',
1637
+ ),
1638
+ 'WhitelistedNames' => array(
1639
+ 'type' => 'object',
1640
+ 'properties' => array(
1641
+ 'Quantity' => array(
1642
+ 'required' => true,
1643
+ 'type' => 'numeric',
1644
+ ),
1645
+ 'Items' => array(
1646
+ 'type' => 'array',
1647
+ 'items' => array(
1648
+ 'name' => 'Name',
1649
+ 'type' => 'string',
1650
+ ),
1651
+ ),
1652
+ ),
1653
+ ),
1654
+ ),
1655
+ ),
1656
+ 'Headers' => array(
1657
+ 'type' => 'object',
1658
+ 'properties' => array(
1659
+ 'Quantity' => array(
1660
+ 'required' => true,
1661
+ 'type' => 'numeric',
1662
+ ),
1663
+ 'Items' => array(
1664
+ 'type' => 'array',
1665
+ 'items' => array(
1666
+ 'name' => 'Name',
1667
+ 'type' => 'string',
1668
+ ),
1669
+ ),
1670
+ ),
1671
+ ),
1672
+ ),
1673
+ ),
1674
+ 'TrustedSigners' => array(
1675
+ 'required' => true,
1676
+ 'type' => 'object',
1677
+ 'properties' => array(
1678
+ 'Enabled' => array(
1679
+ 'required' => true,
1680
+ 'type' => 'boolean',
1681
+ 'format' => 'boolean-string',
1682
+ ),
1683
+ 'Quantity' => array(
1684
+ 'required' => true,
1685
+ 'type' => 'numeric',
1686
+ ),
1687
+ 'Items' => array(
1688
+ 'type' => 'array',
1689
+ 'items' => array(
1690
+ 'name' => 'AwsAccountNumber',
1691
+ 'type' => 'string',
1692
+ ),
1693
+ ),
1694
+ ),
1695
+ ),
1696
+ 'ViewerProtocolPolicy' => array(
1697
+ 'required' => true,
1698
+ 'type' => 'string',
1699
+ ),
1700
+ 'MinTTL' => array(
1701
+ 'required' => true,
1702
+ 'type' => 'numeric',
1703
+ ),
1704
+ 'AllowedMethods' => array(
1705
+ 'type' => 'object',
1706
+ 'properties' => array(
1707
+ 'Quantity' => array(
1708
+ 'required' => true,
1709
+ 'type' => 'numeric',
1710
+ ),
1711
+ 'Items' => array(
1712
+ 'required' => true,
1713
+ 'type' => 'array',
1714
+ 'items' => array(
1715
+ 'name' => 'Method',
1716
+ 'type' => 'string',
1717
+ ),
1718
+ ),
1719
+ 'CachedMethods' => array(
1720
+ 'type' => 'object',
1721
+ 'properties' => array(
1722
+ 'Quantity' => array(
1723
+ 'required' => true,
1724
+ 'type' => 'numeric',
1725
+ ),
1726
+ 'Items' => array(
1727
+ 'required' => true,
1728
+ 'type' => 'array',
1729
+ 'items' => array(
1730
+ 'name' => 'Method',
1731
+ 'type' => 'string',
1732
+ ),
1733
+ ),
1734
+ ),
1735
+ ),
1736
+ ),
1737
+ ),
1738
+ 'SmoothStreaming' => array(
1739
+ 'type' => 'boolean',
1740
+ 'format' => 'boolean-string',
1741
+ ),
1742
+ 'DefaultTTL' => array(
1743
+ 'type' => 'numeric',
1744
+ ),
1745
+ 'MaxTTL' => array(
1746
+ 'type' => 'numeric',
1747
+ ),
1748
+ ),
1749
+ ),
1750
+ 'CacheBehaviors' => array(
1751
+ 'type' => 'object',
1752
+ 'location' => 'xml',
1753
+ 'properties' => array(
1754
+ 'Quantity' => array(
1755
+ 'required' => true,
1756
+ 'type' => 'numeric',
1757
+ ),
1758
+ 'Items' => array(
1759
+ 'type' => 'array',
1760
+ 'items' => array(
1761
+ 'name' => 'CacheBehavior',
1762
+ 'type' => 'object',
1763
+ 'properties' => array(
1764
+ 'PathPattern' => array(
1765
+ 'required' => true,
1766
+ 'type' => 'string',
1767
+ ),
1768
+ 'TargetOriginId' => array(
1769
+ 'required' => true,
1770
+ 'type' => 'string',
1771
+ ),
1772
+ 'ForwardedValues' => array(
1773
+ 'required' => true,
1774
+ 'type' => 'object',
1775
+ 'properties' => array(
1776
+ 'QueryString' => array(
1777
+ 'required' => true,
1778
+ 'type' => 'boolean',
1779
+ 'format' => 'boolean-string',
1780
+ ),
1781
+ 'Cookies' => array(
1782
+ 'required' => true,
1783
+ 'type' => 'object',
1784
+ 'properties' => array(
1785
+ 'Forward' => array(
1786
+ 'required' => true,
1787
+ 'type' => 'string',
1788
+ ),
1789
+ 'WhitelistedNames' => array(
1790
+ 'type' => 'object',
1791
+ 'properties' => array(
1792
+ 'Quantity' => array(
1793
+ 'required' => true,
1794
+ 'type' => 'numeric',
1795
+ ),
1796
+ 'Items' => array(
1797
+ 'type' => 'array',
1798
+ 'items' => array(
1799
+ 'name' => 'Name',
1800
+ 'type' => 'string',
1801
+ ),
1802
+ ),
1803
+ ),
1804
+ ),
1805
+ ),
1806
+ ),
1807
+ 'Headers' => array(
1808
+ 'type' => 'object',
1809
+ 'properties' => array(
1810
+ 'Quantity' => array(
1811
+ 'required' => true,
1812
+ 'type' => 'numeric',
1813
+ ),
1814
+ 'Items' => array(
1815
+ 'type' => 'array',
1816
+ 'items' => array(
1817
+ 'name' => 'Name',
1818
+ 'type' => 'string',
1819
+ ),
1820
+ ),
1821
+ ),
1822
+ ),
1823
+ ),
1824
+ ),
1825
+ 'TrustedSigners' => array(
1826
+ 'required' => true,
1827
+ 'type' => 'object',
1828
+ 'properties' => array(
1829
+ 'Enabled' => array(
1830
+ 'required' => true,
1831
+ 'type' => 'boolean',
1832
+ 'format' => 'boolean-string',
1833
+ ),
1834
+ 'Quantity' => array(
1835
+ 'required' => true,
1836
+ 'type' => 'numeric',
1837
+ ),
1838
+ 'Items' => array(
1839
+ 'type' => 'array',
1840
+ 'items' => array(
1841
+ 'name' => 'AwsAccountNumber',
1842
+ 'type' => 'string',
1843
+ ),
1844
+ ),
1845
+ ),
1846
+ ),
1847
+ 'ViewerProtocolPolicy' => array(
1848
+ 'required' => true,
1849
+ 'type' => 'string',
1850
+ ),
1851
+ 'MinTTL' => array(
1852
+ 'required' => true,
1853
+ 'type' => 'numeric',
1854
+ ),
1855
+ 'AllowedMethods' => array(
1856
+ 'type' => 'object',
1857
+ 'properties' => array(
1858
+ 'Quantity' => array(
1859
+ 'required' => true,
1860
+ 'type' => 'numeric',
1861
+ ),
1862
+ 'Items' => array(
1863
+ 'required' => true,
1864
+ 'type' => 'array',
1865
+ 'items' => array(
1866
+ 'name' => 'Method',
1867
+ 'type' => 'string',
1868
+ ),
1869
+ ),
1870
+ 'CachedMethods' => array(
1871
+ 'type' => 'object',
1872
+ 'properties' => array(
1873
+ 'Quantity' => array(
1874
+ 'required' => true,
1875
+ 'type' => 'numeric',
1876
+ ),
1877
+ 'Items' => array(
1878
+ 'required' => true,
1879
+ 'type' => 'array',
1880
+ 'items' => array(
1881
+ 'name' => 'Method',
1882
+ 'type' => 'string',
1883
+ ),
1884
+ ),
1885
+ ),
1886
+ ),
1887
+ ),
1888
+ ),
1889
+ 'SmoothStreaming' => array(
1890
+ 'type' => 'boolean',
1891
+ 'format' => 'boolean-string',
1892
+ ),
1893
+ 'DefaultTTL' => array(
1894
+ 'type' => 'numeric',
1895
+ ),
1896
+ 'MaxTTL' => array(
1897
+ 'type' => 'numeric',
1898
+ ),
1899
+ ),
1900
+ ),
1901
+ ),
1902
+ ),
1903
+ ),
1904
+ 'CustomErrorResponses' => array(
1905
+ 'type' => 'object',
1906
+ 'location' => 'xml',
1907
+ 'properties' => array(
1908
+ 'Quantity' => array(
1909
+ 'required' => true,
1910
+ 'type' => 'numeric',
1911
+ ),
1912
+ 'Items' => array(
1913
+ 'type' => 'array',
1914
+ 'items' => array(
1915
+ 'name' => 'CustomErrorResponse',
1916
+ 'type' => 'object',
1917
+ 'properties' => array(
1918
+ 'ErrorCode' => array(
1919
+ 'required' => true,
1920
+ 'type' => 'numeric',
1921
+ ),
1922
+ 'ResponsePagePath' => array(
1923
+ 'type' => 'string',
1924
+ ),
1925
+ 'ResponseCode' => array(
1926
+ 'type' => 'string',
1927
+ ),
1928
+ 'ErrorCachingMinTTL' => array(
1929
+ 'type' => 'numeric',
1930
+ ),
1931
+ ),
1932
+ ),
1933
+ ),
1934
+ ),
1935
+ ),
1936
+ 'Comment' => array(
1937
+ 'required' => true,
1938
+ 'type' => 'string',
1939
+ 'location' => 'xml',
1940
+ ),
1941
+ 'Logging' => array(
1942
+ 'type' => 'object',
1943
+ 'location' => 'xml',
1944
+ 'properties' => array(
1945
+ 'Enabled' => array(
1946
+ 'required' => true,
1947
+ 'type' => 'boolean',
1948
+ 'format' => 'boolean-string',
1949
+ ),
1950
+ 'IncludeCookies' => array(
1951
+ 'required' => true,
1952
+ 'type' => 'boolean',
1953
+ 'format' => 'boolean-string',
1954
+ ),
1955
+ 'Bucket' => array(
1956
+ 'required' => true,
1957
+ 'type' => 'string',
1958
+ ),
1959
+ 'Prefix' => array(
1960
+ 'required' => true,
1961
+ 'type' => 'string',
1962
+ ),
1963
+ ),
1964
+ ),
1965
+ 'PriceClass' => array(
1966
+ 'type' => 'string',
1967
+ 'location' => 'xml',
1968
+ ),
1969
+ 'Enabled' => array(
1970
+ 'required' => true,
1971
+ 'type' => 'boolean',
1972
+ 'format' => 'boolean-string',
1973
+ 'location' => 'xml',
1974
+ ),
1975
+ 'ViewerCertificate' => array(
1976
+ 'type' => 'object',
1977
+ 'location' => 'xml',
1978
+ 'properties' => array(
1979
+ 'IAMCertificateId' => array(
1980
+ 'type' => 'string',
1981
+ ),
1982
+ 'CloudFrontDefaultCertificate' => array(
1983
+ 'type' => 'boolean',
1984
+ 'format' => 'boolean-string',
1985
+ ),
1986
+ 'SSLSupportMethod' => array(
1987
+ 'type' => 'string',
1988
+ ),
1989
+ 'MinimumProtocolVersion' => array(
1990
+ 'type' => 'string',
1991
+ ),
1992
+ ),
1993
+ ),
1994
+ 'Restrictions' => array(
1995
+ 'type' => 'object',
1996
+ 'location' => 'xml',
1997
+ 'properties' => array(
1998
+ 'GeoRestriction' => array(
1999
+ 'required' => true,
2000
+ 'type' => 'object',
2001
+ 'properties' => array(
2002
+ 'RestrictionType' => array(
2003
+ 'required' => true,
2004
+ 'type' => 'string',
2005
+ ),
2006
+ 'Quantity' => array(
2007
+ 'required' => true,
2008
+ 'type' => 'numeric',
2009
+ ),
2010
+ 'Items' => array(
2011
+ 'type' => 'array',
2012
+ 'items' => array(
2013
+ 'name' => 'Location',
2014
+ 'type' => 'string',
2015
+ ),
2016
+ ),
2017
+ ),
2018
+ ),
2019
+ ),
2020
+ ),
2021
+ 'Id' => array(
2022
+ 'required' => true,
2023
+ 'type' => 'string',
2024
+ 'location' => 'uri',
2025
+ ),
2026
+ 'IfMatch' => array(
2027
+ 'type' => 'string',
2028
+ 'location' => 'header',
2029
+ 'sentAs' => 'If-Match',
2030
+ ),
2031
+ 'command.expects' => array(
2032
+ 'static' => true,
2033
+ 'default' => 'application/xml',
2034
+ ),
2035
+ ),
2036
+ 'errorResponses' => array(
2037
+ array(
2038
+ 'reason' => 'Access denied.',
2039
+ 'class' => 'AccessDeniedException',
2040
+ ),
2041
+ array(
2042
+ 'class' => 'CNAMEAlreadyExistsException',
2043
+ ),
2044
+ array(
2045
+ 'reason' => 'Origin and CallerReference cannot be updated.',
2046
+ 'class' => 'IllegalUpdateException',
2047
+ ),
2048
+ array(
2049
+ 'reason' => 'The If-Match version is missing or not valid for the distribution.',
2050
+ 'class' => 'InvalidIfMatchVersionException',
2051
+ ),
2052
+ array(
2053
+ 'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
2054
+ 'class' => 'MissingBodyException',
2055
+ ),
2056
+ array(
2057
+ 'reason' => 'The specified distribution does not exist.',
2058
+ 'class' => 'NoSuchDistributionException',
2059
+ ),
2060
+ array(
2061
+ 'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
2062
+ 'class' => 'PreconditionFailedException',
2063
+ ),
2064
+ array(
2065
+ 'reason' => 'Your request contains more CNAMEs than are allowed per distribution.',
2066
+ 'class' => 'TooManyDistributionCNAMEsException',
2067
+ ),
2068
+ array(
2069
+ 'reason' => 'The default root object file name is too big or contains an invalid character.',
2070
+ 'class' => 'InvalidDefaultRootObjectException',
2071
+ ),
2072
+ array(
2073
+ 'reason' => 'The relative path is too big, is not URL-encoded, or does not begin with a slash (/).',
2074
+ 'class' => 'InvalidRelativePathException',
2075
+ ),
2076
+ array(
2077
+ 'class' => 'InvalidErrorCodeException',
2078
+ ),
2079
+ array(
2080
+ 'class' => 'InvalidResponseCodeException',
2081
+ ),
2082
+ array(
2083
+ 'reason' => 'The argument is invalid.',
2084
+ 'class' => 'InvalidArgumentException',
2085
+ ),
2086
+ array(
2087
+ 'reason' => 'The origin access identity is not valid or doesn\'t exist.',
2088
+ 'class' => 'InvalidOriginAccessIdentityException',
2089
+ ),
2090
+ array(
2091
+ 'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
2092
+ 'class' => 'TooManyTrustedSignersException',
2093
+ ),
2094
+ array(
2095
+ 'reason' => 'One or more of your trusted signers do not exist.',
2096
+ 'class' => 'TrustedSignerDoesNotExistException',
2097
+ ),
2098
+ array(
2099
+ 'class' => 'InvalidViewerCertificateException',
2100
+ ),
2101
+ array(
2102
+ 'class' => 'InvalidMinimumProtocolVersionException',
2103
+ ),
2104
+ array(
2105
+ 'reason' => 'This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, or omit the RequiredProtocols element from your distribution configuration.',
2106
+ 'class' => 'InvalidRequiredProtocolException',
2107
+ ),
2108
+ array(
2109
+ 'reason' => 'No origin exists with the specified Origin Id.',
2110
+ 'class' => 'NoSuchOriginException',
2111
+ ),
2112
+ array(
2113
+ 'reason' => 'You cannot create anymore origins for the distribution.',
2114
+ 'class' => 'TooManyOriginsException',
2115
+ ),
2116
+ array(
2117
+ 'reason' => 'You cannot create anymore cache behaviors for the distribution.',
2118
+ 'class' => 'TooManyCacheBehaviorsException',
2119
+ ),
2120
+ array(
2121
+ 'reason' => 'Your request contains more cookie names in the whitelist than are allowed per cache behavior.',
2122
+ 'class' => 'TooManyCookieNamesInWhiteListException',
2123
+ ),
2124
+ array(
2125
+ 'reason' => 'Your request contains forward cookies option which doesn\'t match with the expectation for the whitelisted list of cookie names. Either list of cookie names has been specified when not allowed or list of cookie names is missing when expected.',
2126
+ 'class' => 'InvalidForwardCookiesException',
2127
+ ),
2128
+ array(
2129
+ 'class' => 'TooManyHeadersInForwardedValuesException',
2130
+ ),
2131
+ array(
2132
+ 'class' => 'InvalidHeadersForS3OriginException',
2133
+ ),
2134
+ array(
2135
+ 'reason' => 'The value of Quantity and the size of Items do not match.',
2136
+ 'class' => 'InconsistentQuantitiesException',
2137
+ ),
2138
+ array(
2139
+ 'reason' => 'You cannot create anymore custom ssl certificates.',
2140
+ 'class' => 'TooManyCertificatesException',
2141
+ ),
2142
+ array(
2143
+ 'class' => 'InvalidLocationCodeException',
2144
+ ),
2145
+ array(
2146
+ 'class' => 'InvalidGeoRestrictionParameterException',
2147
+ ),
2148
+ array(
2149
+ 'class' => 'InvalidTTLOrderException',
2150
+ ),
2151
+ ),
2152
+ ),
2153
+ 'UpdateStreamingDistribution' => array(
2154
+ 'httpMethod' => 'PUT',
2155
+ 'uri' => '/2015-04-17/streaming-distribution/{Id}/config',
2156
+ 'class' => 'Guzzle\\Service\\Command\\OperationCommand',
2157
+ 'responseClass' => 'UpdateStreamingDistributionResult',
2158
+ 'responseType' => 'model',
2159
+ 'data' => array(
2160
+ 'xmlRoot' => array(
2161
+ 'name' => 'StreamingDistributionConfig',
2162
+ 'namespaces' => array(
2163
+ 'http://cloudfront.amazonaws.com/doc/2015-04-17/',
2164
+ ),
2165
+ ),
2166
+ ),
2167
+ 'parameters' => array(
2168
+ 'CallerReference' => array(
2169
+ 'required' => true,
2170
+ 'type' => 'string',
2171
+ 'location' => 'xml',
2172
+ ),
2173
+ 'S3Origin' => array(
2174
+ 'required' => true,
2175
+ 'type' => 'object',
2176
+ 'location' => 'xml',
2177
+ 'properties' => array(
2178
+ 'DomainName' => array(
2179
+ 'required' => true,
2180
+ 'type' => 'string',
2181
+ ),
2182
+ 'OriginAccessIdentity' => array(
2183
+ 'required' => true,
2184
+ 'type' => 'string',
2185
+ ),
2186
+ ),
2187
+ ),
2188
+ 'Aliases' => array(
2189
+ 'type' => 'object',
2190
+ 'location' => 'xml',
2191
+ 'properties' => array(
2192
+ 'Quantity' => array(
2193
+ 'required' => true,
2194
+ 'type' => 'numeric',
2195
+ ),
2196
+ 'Items' => array(
2197
+ 'type' => 'array',
2198
+ 'items' => array(
2199
+ 'name' => 'CNAME',
2200
+ 'type' => 'string',
2201
+ ),
2202
+ ),
2203
+ ),
2204
+ ),
2205
+ 'Comment' => array(
2206
+ 'required' => true,
2207
+ 'type' => 'string',
2208
+ 'location' => 'xml',
2209
+ ),
2210
+ 'Logging' => array(
2211
+ 'type' => 'object',
2212
+ 'location' => 'xml',
2213
+ 'properties' => array(
2214
+ 'Enabled' => array(
2215
+ 'required' => true,
2216
+ 'type' => 'boolean',
2217
+ 'format' => 'boolean-string',
2218
+ ),
2219
+ 'Bucket' => array(
2220
+ 'required' => true,
2221
+ 'type' => 'string',
2222
+ ),
2223
+ 'Prefix' => array(
2224
+ 'required' => true,
2225
+ 'type' => 'string',
2226
+ ),
2227
+ ),
2228
+ ),
2229
+ 'TrustedSigners' => array(
2230
+ 'required' => true,
2231
+ 'type' => 'object',
2232
+ 'location' => 'xml',
2233
+ 'properties' => array(
2234
+ 'Enabled' => array(
2235
+ 'required' => true,
2236
+ 'type' => 'boolean',
2237
+ 'format' => 'boolean-string',
2238
+ ),
2239
+ 'Quantity' => array(
2240
+ 'required' => true,
2241
+ 'type' => 'numeric',
2242
+ ),
2243
+ 'Items' => array(
2244
+ 'type' => 'array',
2245
+ 'items' => array(
2246
+ 'name' => 'AwsAccountNumber',
2247
+ 'type' => 'string',
2248
+ ),
2249
+ ),
2250
+ ),
2251
+ ),
2252
+ 'PriceClass' => array(
2253
+ 'type' => 'string',
2254
+ 'location' => 'xml',
2255
+ ),
2256
+ 'Enabled' => array(
2257
+ 'required' => true,
2258
+ 'type' => 'boolean',
2259
+ 'format' => 'boolean-string',
2260
+ 'location' => 'xml',
2261
+ ),
2262
+ 'Id' => array(
2263
+ 'required' => true,
2264
+ 'type' => 'string',
2265
+ 'location' => 'uri',
2266
+ ),
2267
+ 'IfMatch' => array(
2268
+ 'type' => 'string',
2269
+ 'location' => 'header',
2270
+ 'sentAs' => 'If-Match',
2271
+ ),
2272
+ 'command.expects' => array(
2273
+ 'static' => true,
2274
+ 'default' => 'application/xml',
2275
+ ),
2276
+ ),
2277
+ 'errorResponses' => array(
2278
+ array(
2279
+ 'reason' => 'Access denied.',
2280
+ 'class' => 'AccessDeniedException',
2281
+ ),
2282
+ array(
2283
+ 'class' => 'CNAMEAlreadyExistsException',
2284
+ ),
2285
+ array(
2286
+ 'reason' => 'Origin and CallerReference cannot be updated.',
2287
+ 'class' => 'IllegalUpdateException',
2288
+ ),
2289
+ array(
2290
+ 'reason' => 'The If-Match version is missing or not valid for the distribution.',
2291
+ 'class' => 'InvalidIfMatchVersionException',
2292
+ ),
2293
+ array(
2294
+ 'reason' => 'This operation requires a body. Ensure that the body is present and the Content-Type header is set.',
2295
+ 'class' => 'MissingBodyException',
2296
+ ),
2297
+ array(
2298
+ 'reason' => 'The specified streaming distribution does not exist.',
2299
+ 'class' => 'NoSuchStreamingDistributionException',
2300
+ ),
2301
+ array(
2302
+ 'reason' => 'The precondition given in one or more of the request-header fields evaluated to false.',
2303
+ 'class' => 'PreconditionFailedException',
2304
+ ),
2305
+ array(
2306
+ 'class' => 'TooManyStreamingDistributionCNAMEsException',
2307
+ ),
2308
+ array(
2309
+ 'reason' => 'The argument is invalid.',
2310
+ 'class' => 'InvalidArgumentException',
2311
+ ),
2312
+ array(
2313
+ 'reason' => 'The origin access identity is not valid or doesn\'t exist.',
2314
+ 'class' => 'InvalidOriginAccessIdentityException',
2315
+ ),
2316
+ array(
2317
+ 'reason' => 'Your request contains more trusted signers than are allowed per distribution.',
2318
+ 'class' => 'TooManyTrustedSignersException',
2319
+ ),
2320
+ array(
2321
+ 'reason' => 'One or more of your trusted signers do not exist.',
2322
+ 'class' => 'TrustedSignerDoesNotExistException',
2323
+ ),
2324
+ array(
2325
+ 'reason' => 'The value of Quantity and the size of Items do not match.',
2326
+ 'class' => 'InconsistentQuantitiesException',
2327
+ ),
2328
+ ),
2329
+ ),
2330
+ ),
2331
+ 'models' => array(
2332
+ 'CreateCloudFrontOriginAccessIdentityResult' => array(
2333
+ 'type' => 'object',
2334
+ 'additionalProperties' => true,
2335
+ 'properties' => array(
2336
+ 'Id' => array(
2337
+ 'type' => 'string',
2338
+ 'location' => 'xml',
2339
+ ),
2340
+ 'S3CanonicalUserId' => array(
2341
+ 'type' => 'string',
2342
+ 'location' => 'xml',
2343
+ ),
2344
+ 'CloudFrontOriginAccessIdentityConfig' => array(
2345
+ 'type' => 'object',
2346
+ 'location' => 'xml',
2347
+ 'properties' => array(
2348
+ 'CallerReference' => array(
2349
+ 'type' => 'string',
2350
+ ),
2351
+ 'Comment' => array(
2352
+ 'type' => 'string',
2353
+ ),
2354
+ ),
2355
+ ),
2356
+ 'Location' => array(
2357
+ 'type' => 'string',
2358
+ 'location' => 'header',
2359
+ ),
2360
+ 'ETag' => array(
2361
+ 'type' => 'string',
2362
+ 'location' => 'header',
2363
+ ),
2364
+ 'RequestId' => array(
2365
+ 'location' => 'header',
2366
+ 'sentAs' => 'x-amz-request-id',
2367
+ ),
2368
+ ),
2369
+ ),
2370
+ 'CreateDistributionResult' => array(
2371
+ 'type' => 'object',
2372
+ 'additionalProperties' => true,
2373
+ 'properties' => array(
2374
+ 'Id' => array(
2375
+ 'type' => 'string',
2376
+ 'location' => 'xml',
2377
+ ),
2378
+ 'Status' => array(
2379
+ 'type' => 'string',
2380
+ 'location' => 'xml',
2381
+ ),
2382
+ 'LastModifiedTime' => array(
2383
+ 'type' => 'string',
2384
+ 'location' => 'xml',
2385
+ ),
2386
+ 'InProgressInvalidationBatches' => array(
2387
+ 'type' => 'numeric',
2388
+ 'location' => 'xml',
2389
+ ),
2390
+ 'DomainName' => array(
2391
+ 'type' => 'string',
2392
+ 'location' => 'xml',
2393
+ ),
2394
+ 'ActiveTrustedSigners' => array(
2395
+ 'type' => 'object',
2396
+ 'location' => 'xml',
2397
+ 'properties' => array(
2398
+ 'Enabled' => array(
2399
+ 'type' => 'boolean',
2400
+ ),
2401
+ 'Quantity' => array(
2402
+ 'type' => 'numeric',
2403
+ ),
2404
+ 'Items' => array(
2405
+ 'type' => 'array',
2406
+ 'items' => array(
2407
+ 'name' => 'Signer',
2408
+ 'type' => 'object',
2409
+ 'sentAs' => 'Signer',
2410
+ 'properties' => array(
2411
+ 'AwsAccountNumber' => array(
2412
+ 'type' => 'string',
2413
+ ),
2414
+ 'KeyPairIds' => array(
2415
+ 'type' => 'object',
2416
+ 'properties' => array(
2417
+ 'Quantity' => array(
2418
+ 'type' => 'numeric',
2419
+ ),
2420
+ 'Items' => array(
2421
+ 'type' => 'array',
2422
+ 'items' => array(
2423
+ 'name' => 'KeyPairId',
2424
+ 'type' => 'string',
2425
+ 'sentAs' => 'KeyPairId',
2426
+ ),
2427
+ ),
2428
+ ),
2429
+ ),
2430
+ ),
2431
+ ),
2432
+ ),
2433
+ ),
2434
+ ),
2435
+ 'DistributionConfig' => array(
2436
+ 'type' => 'object',
2437
+ 'location' => 'xml',
2438
+ 'properties' => array(
2439
+ 'CallerReference' => array(
2440
+ 'type' => 'string',
2441
+ ),
2442
+ 'Aliases' => array(
2443
+ 'type' => 'object',
2444
+ 'properties' => array(
2445
+ 'Quantity' => array(
2446
+ 'type' => 'numeric',
2447
+ ),
2448
+ 'Items' => array(
2449
+ 'type' => 'array',
2450
+ 'items' => array(
2451
+ 'name' => 'CNAME',
2452
+ 'type' => 'string',
2453
+ 'sentAs' => 'CNAME',
2454
+ ),
2455
+ ),
2456
+ ),
2457
+ ),
2458
+ 'DefaultRootObject' => array(
2459
+ 'type' => 'string',
2460
+ ),
2461
+ 'Origins' => array(
2462
+ 'type' => 'object',
2463
+ 'properties' => array(
2464
+ 'Quantity' => array(
2465
+ 'type' => 'numeric',
2466
+ ),
2467
+ 'Items' => array(
2468
+ 'type' => 'array',
2469
+ 'items' => array(
2470
+ 'name' => 'Origin',
2471
+ 'type' => 'object',
2472
+ 'sentAs' => 'Origin',
2473
+ 'properties' => array(
2474
+ 'Id' => array(
2475
+ 'type' => 'string',
2476
+ ),
2477
+ 'DomainName' => array(
2478
+ 'type' => 'string',
2479
+ ),
2480
+ 'OriginPath' => array(
2481
+ 'type' => 'string',
2482
+ ),
2483
+ 'S3OriginConfig' => array(
2484
+ 'type' => 'object',
2485
+ 'properties' => array(
2486
+ 'OriginAccessIdentity' => array(
2487
+ 'type' => 'string',
2488
+ ),
2489
+ ),
2490
+ ),
2491
+ 'CustomOriginConfig' => array(
2492
+ 'type' => 'object',
2493
+ 'properties' => array(
2494
+ 'HTTPPort' => array(
2495
+ 'type' => 'numeric',
2496
+ ),
2497
+ 'HTTPSPort' => array(
2498
+ 'type' => 'numeric',
2499
+ ),
2500
+ 'OriginProtocolPolicy' => array(
2501
+ 'type' => 'string',
2502
+ ),
2503
+ ),
2504
+ ),
2505
+ ),
2506
+ ),
2507
+ ),
2508
+ ),
2509
+ ),
2510
+ 'DefaultCacheBehavior' => array(
2511
+ 'type' => 'object',
2512
+ 'properties' => array(
2513
+ 'TargetOriginId' => array(
2514
+ 'type' => 'string',
2515
+ ),
2516
+ 'ForwardedValues' => array(
2517
+ 'type' => 'object',
2518
+ 'properties' => array(
2519
+ 'QueryString' => array(
2520
+ 'type' => 'boolean',
2521
+ ),
2522
+ 'Cookies' => array(
2523
+ 'type' => 'object',
2524
+ 'properties' => array(
2525
+ 'Forward' => array(
2526
+ 'type' => 'string',
2527
+ ),
2528
+ 'WhitelistedNames' => array(
2529
+ 'type' => 'object',
2530
+ 'properties' => array(
2531
+ 'Quantity' => array(
2532
+ 'type' => 'numeric',
2533
+ ),
2534
+ 'Items' => array(
2535
+ 'type' => 'array',
2536
+ 'items' => array(
2537
+ 'name' => 'Name',
2538
+ 'type' => 'string',
2539
+ 'sentAs' => 'Name',
2540
+ ),
2541
+ ),
2542
+ ),
2543
+ ),
2544
+ ),
2545
+ ),
2546
+ 'Headers' => array(
2547
+ 'type' => 'object',
2548
+ 'properties' => array(
2549
+ 'Quantity' => array(
2550
+ 'type' => 'numeric',
2551
+ ),
2552
+ 'Items' => array(
2553
+ 'type' => 'array',
2554
+ 'items' => array(
2555
+ 'name' => 'Name',
2556
+ 'type' => 'string',
2557
+ 'sentAs' => 'Name',
2558
+ ),
2559
+ ),
2560
+ ),
2561
+ ),
2562
+ ),
2563
+ ),
2564
+ 'TrustedSigners' => array(
2565
+ 'type' => 'object',
2566
+ 'properties' => array(
2567
+ 'Enabled' => array(
2568
+ 'type' => 'boolean',
2569
+ ),
2570
+ 'Quantity' => array(
2571
+ 'type' => 'numeric',
2572
+ ),
2573
+ 'Items' => array(
2574
+ 'type' => 'array',
2575
+ 'items' => array(
2576
+ 'name' => 'AwsAccountNumber',
2577
+ 'type' => 'string',
2578
+ 'sentAs' => 'AwsAccountNumber',
2579
+ ),
2580
+ ),
2581
+ ),
2582
+ ),
2583
+ 'ViewerProtocolPolicy' => array(
2584
+ 'type' => 'string',
2585
+ ),
2586
+ 'MinTTL' => array(
2587
+ 'type' => 'numeric',
2588
+ ),
2589
+ 'AllowedMethods' => array(
2590
+ 'type' => 'object',
2591
+ 'properties' => array(
2592
+ 'Quantity' => array(
2593
+ 'type' => 'numeric',
2594
+ ),
2595
+ 'Items' => array(
2596
+ 'type' => 'array',
2597
+ 'items' => array(
2598
+ 'name' => 'Method',
2599
+ 'type' => 'string',
2600
+ 'sentAs' => 'Method',
2601
+ ),
2602
+ ),
2603
+ 'CachedMethods' => array(
2604
+ 'type' => 'object',
2605
+ 'properties' => array(
2606
+ 'Quantity' => array(
2607
+ 'type' => 'numeric',
2608
+ ),
2609
+ 'Items' => array(
2610
+ 'type' => 'array',
2611
+ 'items' => array(
2612
+ 'name' => 'Method',
2613
+ 'type' => 'string',
2614
+ 'sentAs' => 'Method',
2615
+ ),
2616
+ ),
2617
+ ),
2618
+ ),
2619
+ ),
2620
+ ),
2621
+ 'SmoothStreaming' => array(
2622
+ 'type' => 'boolean',
2623
+ ),
2624
+ 'DefaultTTL' => array(
2625
+ 'type' => 'numeric',
2626
+ ),
2627
+ 'MaxTTL' => array(
2628
+ 'type' => 'numeric',
2629
+ ),
2630
+ ),
2631
+ ),
2632
+ 'CacheBehaviors' => array(
2633
+ 'type' => 'object',
2634
+ 'properties' => array(
2635
+ 'Quantity' => array(
2636
+ 'type' => 'numeric',
2637
+ ),
2638
+ 'Items' => array(
2639
+ 'type' => 'array',
2640
+ 'items' => array(
2641
+ 'name' => 'CacheBehavior',
2642
+ 'type' => 'object',
2643
+ 'sentAs' => 'CacheBehavior',
2644
+ 'properties' => array(
2645
+ 'PathPattern' => array(
2646
+ 'type' => 'string',
2647
+ ),
2648
+ 'TargetOriginId' => array(
2649
+ 'type' => 'string',
2650
+ ),
2651
+ 'ForwardedValues' => array(
2652
+ 'type' => 'object',
2653
+ 'properties' => array(
2654
+ 'QueryString' => array(
2655
+ 'type' => 'boolean',
2656
+ ),
2657
+ 'Cookies' => array(
2658
+ 'type' => 'object',
2659
+ 'properties' => array(
2660
+ 'Forward' => array(
2661
+ 'type' => 'string',
2662
+ ),
2663
+ 'WhitelistedNames' => array(
2664
+ 'type' => 'object',
2665
+ 'properties' => array(
2666
+ 'Quantity' => array(
2667
+ 'type' => 'numeric',
2668
+ ),
2669
+ 'Items' => array(
2670
+ 'type' => 'array',
2671
+ 'items' => array(
2672
+ 'name' => 'Name',
2673
+ 'type' => 'string',
2674
+ 'sentAs' => 'Name',
2675
+ ),
2676
+ ),
2677
+ ),
2678
+ ),
2679
+ ),
2680
+ ),
2681
+ 'Headers' => array(
2682
+ 'type' => 'object',
2683
+ 'properties' => array(
2684
+ 'Quantity' => array(
2685
+ 'type' => 'numeric',
2686
+ ),
2687
+ 'Items' => array(
2688
+ 'type' => 'array',
2689
+ 'items' => array(
2690
+ 'name' => 'Name',
2691
+ 'type' => 'string',
2692
+ 'sentAs' => 'Name',
2693
+ ),
2694
+ ),
2695
+ ),
2696
+ ),
2697
+ ),
2698
+ ),
2699
+ 'TrustedSigners' => array(
2700
+ 'type' => 'object',
2701
+ 'properties' => array(
2702
+ 'Enabled' => array(
2703
+ 'type' => 'boolean',
2704
+ ),
2705
+ 'Quantity' => array(
2706
+ 'type' => 'numeric',
2707
+ ),
2708
+ 'Items' => array(
2709
+ 'type' => 'array',
2710
+ 'items' => array(
2711
+ 'name' => 'AwsAccountNumber',
2712
+ 'type' => 'string',
2713
+ 'sentAs' => 'AwsAccountNumber',
2714
+ ),
2715
+ ),
2716
+ ),
2717
+ ),
2718
+ 'ViewerProtocolPolicy' => array(
2719
+ 'type' => 'string',
2720
+ ),
2721
+ 'MinTTL' => array(
2722
+ 'type' => 'numeric',
2723
+ ),
2724
+ 'AllowedMethods' => array(
2725
+ 'type' => 'object',
2726
+ 'properties' => array(
2727
+ 'Quantity' => array(
2728
+ 'type' => 'numeric',
2729
+ ),
2730
+ 'Items' => array(
2731
+ 'type' => 'array',
2732
+ 'items' => array(
2733
+ 'name' => 'Method',
2734
+ 'type' => 'string',
2735
+ 'sentAs' => 'Method',
2736
+ ),
2737
+ ),
2738
+ 'CachedMethods' => array(
2739
+ 'type' => 'object',
2740
+ 'properties' => array(
2741
+ 'Quantity' => array(
2742
+ 'type' => 'numeric',
2743
+ ),
2744
+ 'Items' => array(
2745
+ 'type' => 'array',
2746
+ 'items' => array(
2747
+ 'name' => 'Method',
2748
+ 'type' => 'string',
2749
+ 'sentAs' => 'Method',
2750
+ ),
2751
+ ),
2752
+ ),
2753
+ ),
2754
+ ),
2755
+ ),
2756
+ 'SmoothStreaming' => array(
2757
+ 'type' => 'boolean',
2758
+ ),
2759
+ 'DefaultTTL' => array(
2760
+ 'type' => 'numeric',
2761
+ ),
2762
+ 'MaxTTL' => array(
2763
+ 'type' => 'numeric',
2764
+ ),
2765
+ ),
2766
+ ),
2767
+ ),
2768
+ ),
2769
+ ),
2770
+ 'CustomErrorResponses' => array(
2771
+ 'type' => 'object',
2772
+ 'properties' => array(
2773
+ 'Quantity' => array(
2774
+ 'type' => 'numeric',
2775
+ ),
2776
+ 'Items' => array(
2777
+ 'type' => 'array',
2778
+ 'items' => array(
2779
+ 'name' => 'CustomErrorResponse',
2780
+ 'type' => 'object',
2781
+ 'sentAs' => 'CustomErrorResponse',
2782
+ 'properties' => array(
2783
+ 'ErrorCode' => array(
2784
+ 'type' => 'numeric',
2785
+ ),
2786
+ 'ResponsePagePath' => array(
2787
+ 'type' => 'string',
2788
+ ),
2789
+ 'ResponseCode' => array(
2790
+ 'type' => 'string',
2791
+ ),
2792
+ 'ErrorCachingMinTTL' => array(
2793
+ 'type' => 'numeric',
2794
+ ),
2795
+ ),
2796
+ ),
2797
+ ),
2798
+ ),
2799
+ ),
2800
+ 'Comment' => array(
2801
+ 'type' => 'string',
2802
+ ),
2803
+ 'Logging' => array(
2804
+ 'type' => 'object',
2805
+ 'properties' => array(
2806
+ 'Enabled' => array(
2807
+ 'type' => 'boolean',
2808
+ ),
2809
+ 'IncludeCookies' => array(
2810
+ 'type' => 'boolean',
2811
+ ),
2812
+ 'Bucket' => array(
2813
+ 'type' => 'string',
2814
+ ),
2815
+ 'Prefix' => array(
2816
+ 'type' => 'string',
2817
+ ),
2818
+ ),
2819
+ ),
2820
+ 'PriceClass' => array(
2821
+ 'type' => 'string',
2822
+ ),
2823
+ 'Enabled' => array(
2824
+ 'type' => 'boolean',
2825
+ ),
2826
+ 'ViewerCertificate' => array(
2827
+ 'type' => 'object',
2828
+ 'properties' => array(
2829
+ 'IAMCertificateId' => array(
2830
+ 'type' => 'string',
2831
+ ),
2832
+ 'CloudFrontDefaultCertificate' => array(
2833
+ 'type' => 'boolean',
2834
+ ),
2835
+ 'SSLSupportMethod' => array(
2836
+ 'type' => 'string',
2837
+ ),
2838
+ 'MinimumProtocolVersion' => array(
2839
+ 'type' => 'string',
2840
+ ),
2841
+ ),
2842
+ ),
2843
+ 'Restrictions' => array(
2844
+ 'type' => 'object',
2845
+ 'properties' => array(
2846
+ 'GeoRestriction' => array(
2847
+ 'type' => 'object',
2848
+ 'properties' => array(
2849
+ 'RestrictionType' => array(
2850
+ 'type' => 'string',
2851
+ ),
2852
+ 'Quantity' => array(
2853
+ 'type' => 'numeric',
2854
+ ),
2855
+ 'Items' => array(
2856
+ 'type' => 'array',
2857
+ 'items' => array(
2858
+ 'name' => 'Location',
2859
+ 'type' => 'string',
2860
+ 'sentAs' => 'Location',
2861
+ ),
2862
+ ),
2863
+ ),
2864
+ ),
2865
+ ),
2866
+ ),
2867
+ ),
2868
+ ),
2869
+ 'Location' => array(
2870
+ 'type' => 'string',
2871
+ 'location' => 'header',
2872
+ ),
2873
+ 'ETag' => array(
2874
+ 'type' => 'string',
2875
+ 'location' => 'header',
2876
+ ),
2877
+ 'RequestId' => array(
2878
+ 'location' => 'header',
2879
+ 'sentAs' => 'x-amz-request-id',
2880
+ ),
2881
+ ),
2882
+ ),
2883
+ 'CreateInvalidationResult' => array(
2884
+ 'type' => 'object',
2885
+ 'additionalProperties' => true,
2886
+ 'properties' => array(
2887
+ 'Location' => array(
2888
+ 'type' => 'string',
2889
+ 'location' => 'header',
2890
+ ),
2891
+ 'Id' => array(
2892
+ 'type' => 'string',
2893
+ 'location' => 'xml',
2894
+ ),
2895
+ 'Status' => array(
2896
+ 'type' => 'string',
2897
+ 'location' => 'xml',
2898
+ ),
2899
+ 'CreateTime' => array(
2900
+ 'type' => 'string',
2901
+ 'location' => 'xml',
2902
+ ),
2903
+ 'InvalidationBatch' => array(
2904
+ 'type' => 'object',
2905
+ 'location' => 'xml',
2906
+ 'properties' => array(
2907
+ 'Paths' => array(
2908
+ 'type' => 'object',
2909
+ 'properties' => array(
2910
+ 'Quantity' => array(
2911
+ 'type' => 'numeric',
2912
+ ),
2913
+ 'Items' => array(
2914
+ 'type' => 'array',
2915
+ 'items' => array(
2916
+ 'name' => 'Path',
2917
+ 'type' => 'string',
2918
+ 'sentAs' => 'Path',
2919
+ ),
2920
+ ),
2921
+ ),
2922
+ ),
2923
+ 'CallerReference' => array(
2924
+ 'type' => 'string',
2925
+ ),
2926
+ ),
2927
+ ),
2928
+ 'RequestId' => array(
2929
+ 'location' => 'header',
2930
+ 'sentAs' => 'x-amz-request-id',
2931
+ ),
2932
+ ),
2933
+ ),
2934
+ 'CreateStreamingDistributionResult' => array(
2935
+ 'type' => 'object',
2936
+ 'additionalProperties' => true,
2937
+ 'properties' => array(
2938
+ 'Id' => array(
2939
+ 'type' => 'string',
2940
+ 'location' => 'xml',
2941
+ ),
2942
+ 'Status' => array(
2943
+ 'type' => 'string',
2944
+ 'location' => 'xml',
2945
+ ),
2946
+ 'LastModifiedTime' => array(
2947
+ 'type' => 'string',
2948
+ 'location' => 'xml',
2949
+ ),
2950
+ 'DomainName' => array(
2951
+ 'type' => 'string',
2952
+ 'location' => 'xml',
2953
+ ),
2954
+ 'ActiveTrustedSigners' => array(
2955
+ 'type' => 'object',
2956
+ 'location' => 'xml',
2957
+ 'properties' => array(
2958
+ 'Enabled' => array(
2959
+ 'type' => 'boolean',
2960
+ ),
2961
+ 'Quantity' => array(
2962
+ 'type' => 'numeric',
2963
+ ),
2964
+ 'Items' => array(
2965
+ 'type' => 'array',
2966
+ 'items' => array(
2967
+ 'name' => 'Signer',
2968
+ 'type' => 'object',
2969
+ 'sentAs' => 'Signer',
2970
+ 'properties' => array(
2971
+ 'AwsAccountNumber' => array(
2972
+ 'type' => 'string',
2973
+ ),
2974
+ 'KeyPairIds' => array(
2975
+ 'type' => 'object',
2976
+ 'properties' => array(
2977
+ 'Quantity' => array(
2978
+ 'type' => 'numeric',
2979
+ ),
2980
+ 'Items' => array(
2981
+ 'type' => 'array',
2982
+ 'items' => array(
2983
+ 'name' => 'KeyPairId',
2984
+ 'type' => 'string',
2985
+ 'sentAs' => 'KeyPairId',
2986
+ ),
2987
+ ),
2988
+ ),
2989
+ ),
2990
+ ),
2991
+ ),
2992
+ ),
2993
+ ),
2994
+ ),
2995
+ 'StreamingDistributionConfig' => array(
2996
+ 'type' => 'object',
2997
+ 'location' => 'xml',
2998
+ 'properties' => array(
2999
+ 'CallerReference' => array(
3000
+ 'type' => 'string',
3001
+ ),
3002
+ 'S3Origin' => array(
3003
+ 'type' => 'object',
3004
+ 'properties' => array(
3005
+ 'DomainName' => array(
3006
+ 'type' => 'string',
3007
+ ),
3008
+ 'OriginAccessIdentity' => array(
3009
+ 'type' => 'string',
3010
+ ),
3011
+ ),
3012
+ ),
3013
+ 'Aliases' => array(
3014
+ 'type' => 'object',
3015
+ 'properties' => array(
3016
+ 'Quantity' => array(
3017
+ 'type' => 'numeric',
3018
+ ),
3019
+ 'Items' => array(
3020
+ 'type' => 'array',
3021
+ 'items' => array(
3022
+ 'name' => 'CNAME',
3023
+ 'type' => 'string',
3024
+ 'sentAs' => 'CNAME',
3025
+ ),
3026
+ ),
3027
+ ),
3028
+ ),
3029
+ 'Comment' => array(
3030
+ 'type' => 'string',
3031
+ ),
3032
+ 'Logging' => array(
3033
+ 'type' => 'object',
3034
+ 'properties' => array(
3035
+ 'Enabled' => array(
3036
+ 'type' => 'boolean',
3037
+ ),
3038
+ 'Bucket' => array(
3039
+ 'type' => 'string',
3040
+ ),
3041
+ 'Prefix' => array(
3042
+ 'type' => 'string',
3043
+ ),
3044
+ ),
3045
+ ),
3046
+ 'TrustedSigners' => array(
3047
+ 'type' => 'object',
3048
+ 'properties' => array(
3049
+ 'Enabled' => array(
3050
+ 'type' => 'boolean',
3051
+ ),
3052
+ 'Quantity' => array(
3053
+ 'type' => 'numeric',
3054
+ ),
3055
+ 'Items' => array(
3056
+ 'type' => 'array',
3057
+ 'items' => array(
3058
+ 'name' => 'AwsAccountNumber',
3059
+ 'type' => 'string',
3060
+ 'sentAs' => 'AwsAccountNumber',
3061
+ ),
3062
+ ),
3063
+ ),
3064
+ ),
3065
+ 'PriceClass' => array(
3066
+ 'type' => 'string',
3067
+ ),
3068
+ 'Enabled' => array(
3069
+ 'type' => 'boolean',
3070
+ ),
3071
+ ),
3072
+ ),
3073
+ 'Location' => array(
3074
+ 'type' => 'string',
3075
+ 'location' => 'header',
3076
+ ),
3077
+ 'ETag' => array(
3078
+ 'type' => 'string',
3079
+ 'location' => 'header',
3080
+ ),
3081
+ 'RequestId' => array(
3082
+ 'location' => 'header',
3083
+ 'sentAs' => 'x-amz-request-id',
3084
+ ),
3085
+ ),
3086
+ ),
3087
+ 'DeleteCloudFrontOriginAccessIdentity2015_04_17Output' => array(
3088
+ 'type' => 'object',
3089
+ 'additionalProperties' => true,
3090
+ 'properties' => array(
3091
+ 'RequestId' => array(
3092
+ 'location' => 'header',
3093
+ 'sentAs' => 'x-amz-request-id',
3094
+ ),
3095
+ ),
3096
+ ),
3097
+ 'DeleteDistribution2015_04_17Output' => array(
3098
+ 'type' => 'object',
3099
+ 'additionalProperties' => true,
3100
+ 'properties' => array(
3101
+ 'RequestId' => array(
3102
+ 'location' => 'header',
3103
+ 'sentAs' => 'x-amz-request-id',
3104
+ ),
3105
+ ),
3106
+ ),
3107
+ 'DeleteStreamingDistribution2015_04_17Output' => array(
3108
+ 'type' => 'object',
3109
+ 'additionalProperties' => true,
3110
+ 'properties' => array(
3111
+ 'RequestId' => array(
3112
+ 'location' => 'header',
3113
+ 'sentAs' => 'x-amz-request-id',
3114
+ ),
3115
+ ),
3116
+ ),
3117
+ 'GetCloudFrontOriginAccessIdentityResult' => array(
3118
+ 'type' => 'object',
3119
+ 'additionalProperties' => true,
3120
+ 'properties' => array(
3121
+ 'Id' => array(
3122
+ 'type' => 'string',
3123
+ 'location' => 'xml',
3124
+ ),
3125
+ 'S3CanonicalUserId' => array(
3126
+ 'type' => 'string',
3127
+ 'location' => 'xml',
3128
+ ),
3129
+ 'CloudFrontOriginAccessIdentityConfig' => array(
3130
+ 'type' => 'object',
3131
+ 'location' => 'xml',
3132
+ 'properties' => array(
3133
+ 'CallerReference' => array(
3134
+ 'type' => 'string',
3135
+ ),
3136
+ 'Comment' => array(
3137
+ 'type' => 'string',
3138
+ ),
3139
+ ),
3140
+ ),
3141
+ 'ETag' => array(
3142
+ 'type' => 'string',
3143
+ 'location' => 'header',
3144
+ ),
3145
+ 'RequestId' => array(
3146
+ 'location' => 'header',
3147
+ 'sentAs' => 'x-amz-request-id',
3148
+ ),
3149
+ ),
3150
+ ),
3151
+ 'GetCloudFrontOriginAccessIdentityConfigResult' => array(
3152
+ 'type' => 'object',
3153
+ 'additionalProperties' => true,
3154
+ 'properties' => array(
3155
+ 'CallerReference' => array(
3156
+ 'type' => 'string',
3157
+ 'location' => 'xml',
3158
+ ),
3159
+ 'Comment' => array(
3160
+ 'type' => 'string',
3161
+ 'location' => 'xml',
3162
+ ),
3163
+ 'ETag' => array(
3164
+ 'type' => 'string',
3165
+ 'location' => 'header',
3166
+ ),
3167
+ 'RequestId' => array(
3168
+ 'location' => 'header',
3169
+ 'sentAs' => 'x-amz-request-id',
3170
+ ),
3171
+ ),
3172
+ ),
3173
+ 'GetDistributionResult' => array(
3174
+ 'type' => 'object',
3175
+ 'additionalProperties' => true,
3176
+ 'properties' => array(
3177
+ 'Id' => array(
3178
+ 'type' => 'string',
3179
+ 'location' => 'xml',
3180
+ ),
3181
+ 'Status' => array(
3182
+ 'type' => 'string',
3183
+ 'location' => 'xml',
3184
+ ),
3185
+ 'LastModifiedTime' => array(
3186
+ 'type' => 'string',
3187
+ 'location' => 'xml',
3188
+ ),
3189
+ 'InProgressInvalidationBatches' => array(
3190
+ 'type' => 'numeric',
3191
+ 'location' => 'xml',
3192
+ ),
3193
+ 'DomainName' => array(
3194
+ 'type' => 'string',
3195
+ 'location' => 'xml',
3196
+ ),
3197
+ 'ActiveTrustedSigners' => array(
3198
+ 'type' => 'object',
3199
+ 'location' => 'xml',
3200
+ 'properties' => array(
3201
+ 'Enabled' => array(
3202
+ 'type' => 'boolean',
3203
+ ),
3204
+ 'Quantity' => array(
3205
+ 'type' => 'numeric',
3206
+ ),
3207
+ 'Items' => array(
3208
+ 'type' => 'array',
3209
+ 'items' => array(
3210
+ 'name' => 'Signer',
3211
+ 'type' => 'object',
3212
+ 'sentAs' => 'Signer',
3213
+ 'properties' => array(
3214
+ 'AwsAccountNumber' => array(
3215
+ 'type' => 'string',
3216
+ ),
3217
+ 'KeyPairIds' => array(
3218
+ 'type' => 'object',
3219
+ 'properties' => array(
3220
+ 'Quantity' => array(
3221
+ 'type' => 'numeric',
3222
+ ),
3223
+ 'Items' => array(
3224
+ 'type' => 'array',
3225
+ 'items' => array(
3226
+ 'name' => 'KeyPairId',
3227
+ 'type' => 'string',
3228
+ 'sentAs' => 'KeyPairId',
3229
+ ),
3230
+ ),
3231
+ ),
3232
+ ),
3233
+ ),
3234
+ ),
3235
+ ),
3236
+ ),
3237
+ ),
3238
+ 'DistributionConfig' => array(
3239
+ 'type' => 'object',
3240
+ 'location' => 'xml',
3241
+ 'properties' => array(
3242
+ 'CallerReference' => array(
3243
+ 'type' => 'string',
3244
+ ),
3245
+ 'Aliases' => array(
3246
+ 'type' => 'object',
3247
+ 'properties' => array(
3248
+ 'Quantity' => array(
3249
+ 'type' => 'numeric',
3250
+ ),
3251
+ 'Items' => array(
3252
+ 'type' => 'array',
3253
+ 'items' => array(
3254
+ 'name' => 'CNAME',
3255
+ 'type' => 'string',
3256
+ 'sentAs' => 'CNAME',
3257
+ ),
3258
+ ),
3259
+ ),
3260
+ ),
3261
+ 'DefaultRootObject' => array(
3262
+ 'type' => 'string',
3263
+ ),
3264
+ 'Origins' => array(
3265
+ 'type' => 'object',
3266
+ 'properties' => array(
3267
+ 'Quantity' => array(
3268
+ 'type' => 'numeric',
3269
+ ),
3270
+ 'Items' => array(
3271
+ 'type' => 'array',
3272
+ 'items' => array(
3273
+ 'name' => 'Origin',
3274
+ 'type' => 'object',
3275
+ 'sentAs' => 'Origin',
3276
+ 'properties' => array(
3277
+ 'Id' => array(
3278
+ 'type' => 'string',
3279
+ ),
3280
+ 'DomainName' => array(
3281
+ 'type' => 'string',
3282
+ ),
3283
+ 'OriginPath' => array(
3284
+ 'type' => 'string',
3285
+ ),
3286
+ 'S3OriginConfig' => array(
3287
+ 'type' => 'object',
3288
+ 'properties' => array(
3289
+ 'OriginAccessIdentity' => array(
3290
+ 'type' => 'string',
3291
+ ),
3292
+ ),
3293
+ ),
3294
+ 'CustomOriginConfig' => array(
3295
+ 'type' => 'object',
3296
+ 'properties' => array(
3297
+ 'HTTPPort' => array(
3298
+ 'type' => 'numeric',
3299
+ ),
3300
+ 'HTTPSPort' => array(
3301
+ 'type' => 'numeric',
3302
+ ),
3303
+ 'OriginProtocolPolicy' => array(
3304
+ 'type' => 'string',
3305
+ ),
3306
+ ),
3307
+ ),
3308
+ ),
3309
+ ),
3310
+ ),
3311
+ ),
3312
+ ),
3313
+ 'DefaultCacheBehavior' => array(
3314
+ 'type' => 'object',
3315
+ 'properties' => array(
3316
+ 'TargetOriginId' => array(
3317
+ 'type' => 'string',
3318
+ ),
3319
+ 'ForwardedValues' => array(
3320
+ 'type' => 'object',
3321
+ 'properties' => array(
3322
+ 'QueryString' => array(
3323
+ 'type' => 'boolean',
3324
+ ),
3325
+ 'Cookies' => array(
3326
+ 'type' => 'object',
3327
+ 'properties' => array(
3328
+ 'Forward' => array(
3329
+ 'type' => 'string',
3330
+ ),
3331
+ 'WhitelistedNames' => array(
3332
+ 'type' => 'object',
3333
+ 'properties' => array(
3334
+ 'Quantity' => array(
3335
+ 'type' => 'numeric',
3336
+ ),
3337
+ 'Items' => array(
3338
+ 'type' => 'array',
3339
+ 'items' => array(
3340
+ 'name' => 'Name',
3341
+ 'type' => 'string',
3342
+ 'sentAs' => 'Name',
3343
+ ),
3344
+ ),
3345
+ ),
3346
+ ),
3347
+ ),
3348
+ ),
3349
+ 'Headers' => array(
3350
+ 'type' => 'object',
3351
+ 'properties' => array(
3352
+ 'Quantity' => array(
3353
+ 'type' => 'numeric',
3354
+ ),
3355
+ 'Items' => array(
3356
+ 'type' => 'array',
3357
+ 'items' => array(
3358
+ 'name' => 'Name',
3359
+ 'type' => 'string',
3360
+ 'sentAs' => 'Name',
3361
+ ),
3362
+ ),
3363
+ ),
3364
+ ),
3365
+ ),
3366
+ ),
3367
+ 'TrustedSigners' => array(
3368
+ 'type' => 'object',
3369
+ 'properties' => array(
3370
+ 'Enabled' => array(
3371
+ 'type' => 'boolean',
3372
+ ),
3373
+ 'Quantity' => array(
3374
+ 'type' => 'numeric',
3375
+ ),
3376
+ 'Items' => array(
3377
+ 'type' => 'array',
3378
+ 'items' => array(
3379
+ 'name' => 'AwsAccountNumber',
3380
+ 'type' => 'string',
3381
+ 'sentAs' => 'AwsAccountNumber',
3382
+ ),
3383
+ ),
3384
+ ),
3385
+ ),
3386
+ 'ViewerProtocolPolicy' => array(
3387
+ 'type' => 'string',
3388
+ ),
3389
+ 'MinTTL' => array(
3390
+ 'type' => 'numeric',
3391
+ ),
3392
+ 'AllowedMethods' => array(
3393
+ 'type' => 'object',
3394
+ 'properties' => array(
3395
+ 'Quantity' => array(
3396
+ 'type' => 'numeric',
3397
+ ),
3398
+ 'Items' => array(
3399
+ 'type' => 'array',
3400
+ 'items' => array(
3401
+ 'name' => 'Method',
3402
+ 'type' => 'string',
3403
+ 'sentAs' => 'Method',
3404
+ ),
3405
+ ),
3406
+ 'CachedMethods' => array(
3407
+ 'type' => 'object',
3408
+ 'properties' => array(
3409
+ 'Quantity' => array(
3410
+ 'type' => 'numeric',
3411
+ ),
3412
+ 'Items' => array(
3413
+ 'type' => 'array',
3414
+ 'items' => array(
3415
+ 'name' => 'Method',
3416
+ 'type' => 'string',
3417
+ 'sentAs' => 'Method',
3418
+ ),
3419
+ ),
3420
+ ),
3421
+ ),
3422
+ ),
3423
+ ),
3424
+ 'SmoothStreaming' => array(
3425
+ 'type' => 'boolean',
3426
+ ),
3427
+ 'DefaultTTL' => array(
3428
+ 'type' => 'numeric',
3429
+ ),
3430
+ 'MaxTTL' => array(
3431
+ 'type' => 'numeric',
3432
+ ),
3433
+ ),
3434
+ ),
3435
+ 'CacheBehaviors' => array(
3436
+ 'type' => 'object',
3437
+ 'properties' => array(
3438
+ 'Quantity' => array(
3439
+ 'type' => 'numeric',
3440
+ ),
3441
+ 'Items' => array(
3442
+ 'type' => 'array',
3443
+ 'items' => array(
3444
+ 'name' => 'CacheBehavior',
3445
+ 'type' => 'object',
3446
+ 'sentAs' => 'CacheBehavior',
3447
+ 'properties' => array(
3448
+ 'PathPattern' => array(
3449
+ 'type' => 'string',
3450
+ ),
3451
+ 'TargetOriginId' => array(
3452
+ 'type' => 'string',
3453
+ ),
3454
+ 'ForwardedValues' => array(
3455
+ 'type' => 'object',
3456
+ 'properties' => array(
3457
+ 'QueryString' => array(
3458
+ 'type' => 'boolean',
3459
+ ),
3460
+ 'Cookies' => array(
3461
+ 'type' => 'object',
3462
+ 'properties' => array(
3463
+ 'Forward' => array(
3464
+ 'type' => 'string',
3465
+ ),
3466
+ 'WhitelistedNames' => array(
3467
+ 'type' => 'object',
3468
+ 'properties' => array(
3469
+ 'Quantity' => array(
3470
+ 'type' => 'numeric',
3471
+ ),
3472
+ 'Items' => array(
3473
+ 'type' => 'array',
3474
+ 'items' => array(
3475
+ 'name' => 'Name',
3476
+ 'type' => 'string',
3477
+ 'sentAs' => 'Name',
3478
+ ),
3479
+ ),
3480
+ ),
3481
+ ),
3482
+ ),
3483
+ ),
3484
+ 'Headers' => array(
3485
+ 'type' => 'object',
3486
+ 'properties' => array(
3487
+ 'Quantity' => array(
3488
+ 'type' => 'numeric',
3489
+ ),
3490
+ 'Items' => array(
3491
+ 'type' => 'array',
3492
+ 'items' => array(
3493
+ 'name' => 'Name',
3494
+ 'type' => 'string',
3495
+ 'sentAs' => 'Name',
3496
+ ),
3497
+ ),
3498
+ ),
3499
+ ),
3500
+ ),
3501
+ ),
3502
+ 'TrustedSigners' => array(
3503
+ 'type' => 'object',
3504
+ 'properties' => array(
3505
+ 'Enabled' => array(
3506
+ 'type' => 'boolean',
3507
+ ),
3508
+ 'Quantity' => array(
3509
+ 'type' => 'numeric',
3510
+ ),
3511
+ 'Items' => array(
3512
+ 'type' => 'array',
3513
+ 'items' => array(
3514
+ 'name' => 'AwsAccountNumber',
3515
+ 'type' => 'string',
3516
+ 'sentAs' => 'AwsAccountNumber',
3517
+ ),
3518
+ ),
3519
+ ),
3520
+ ),
3521
+ 'ViewerProtocolPolicy' => array(
3522
+ 'type' => 'string',
3523
+ ),
3524
+ 'MinTTL' => array(
3525
+ 'type' => 'numeric',
3526
+ ),
3527
+ 'AllowedMethods' => array(
3528
+ 'type' => 'object',
3529
+ 'properties' => array(
3530
+ 'Quantity' => array(
3531
+ 'type' => 'numeric',
3532
+ ),
3533
+ 'Items' => array(
3534
+ 'type' => 'array',
3535
+ 'items' => array(
3536
+ 'name' => 'Method',
3537
+ 'type' => 'string',
3538
+ 'sentAs' => 'Method',
3539
+ ),
3540
+ ),
3541
+ 'CachedMethods' => array(
3542
+ 'type' => 'object',
3543
+ 'properties' => array(
3544
+ 'Quantity' => array(
3545
+ 'type' => 'numeric',
3546
+ ),
3547
+ 'Items' => array(
3548
+ 'type' => 'array',
3549
+ 'items' => array(
3550
+ 'name' => 'Method',
3551
+ 'type' => 'string',
3552
+ 'sentAs' => 'Method',
3553
+ ),
3554
+ ),
3555
+ ),
3556
+ ),
3557
+ ),
3558
+ ),
3559
+ 'SmoothStreaming' => array(
3560
+ 'type' => 'boolean',
3561
+ ),
3562
+ 'DefaultTTL' => array(
3563
+ 'type' => 'numeric',
3564
+ ),
3565
+ 'MaxTTL' => array(
3566
+ 'type' => 'numeric',
3567
+ ),
3568
+ ),
3569
+ ),
3570
+ ),
3571
+ ),
3572
+ ),
3573
+ 'CustomErrorResponses' => array(
3574
+ 'type' => 'object',
3575
+ 'properties' => array(
3576
+ 'Quantity' => array(
3577
+ 'type' => 'numeric',
3578
+ ),
3579
+ 'Items' => array(
3580
+ 'type' => 'array',
3581
+ 'items' => array(
3582
+ 'name' => 'CustomErrorResponse',
3583
+ 'type' => 'object',
3584
+ 'sentAs' => 'CustomErrorResponse',
3585
+ 'properties' => array(
3586
+ 'ErrorCode' => array(
3587
+ 'type' => 'numeric',
3588
+ ),
3589
+ 'ResponsePagePath' => array(
3590
+ 'type' => 'string',
3591
+ ),
3592
+ 'ResponseCode' => array(
3593
+ 'type' => 'string',
3594
+ ),
3595
+ 'ErrorCachingMinTTL' => array(
3596
+ 'type' => 'numeric',
3597
+ ),
3598
+ ),
3599
+ ),
3600
+ ),
3601
+ ),
3602
+ ),
3603
+ 'Comment' => array(
3604
+ 'type' => 'string',
3605
+ ),
3606
+ 'Logging' => array(
3607
+ 'type' => 'object',
3608
+ 'properties' => array(
3609
+ 'Enabled' => array(
3610
+ 'type' => 'boolean',
3611
+ ),
3612
+ 'IncludeCookies' => array(
3613
+ 'type' => 'boolean',
3614
+ ),
3615
+ 'Bucket' => array(
3616
+ 'type' => 'string',
3617
+ ),
3618
+ 'Prefix' => array(
3619
+ 'type' => 'string',
3620
+ ),
3621
+ ),
3622
+ ),
3623
+ 'PriceClass' => array(
3624
+ 'type' => 'string',
3625
+ ),
3626
+ 'Enabled' => array(
3627
+ 'type' => 'boolean',
3628
+ ),
3629
+ 'ViewerCertificate' => array(
3630
+ 'type' => 'object',
3631
+ 'properties' => array(
3632
+ 'IAMCertificateId' => array(
3633
+ 'type' => 'string',
3634
+ ),
3635
+ 'CloudFrontDefaultCertificate' => array(
3636
+ 'type' => 'boolean',
3637
+ ),
3638
+ 'SSLSupportMethod' => array(
3639
+ 'type' => 'string',
3640
+ ),
3641
+ 'MinimumProtocolVersion' => array(
3642
+ 'type' => 'string',
3643
+ ),
3644
+ ),
3645
+ ),
3646
+ 'Restrictions' => array(
3647
+ 'type' => 'object',
3648
+ 'properties' => array(
3649
+ 'GeoRestriction' => array(
3650
+ 'type' => 'object',
3651
+ 'properties' => array(
3652
+ 'RestrictionType' => array(
3653
+ 'type' => 'string',
3654
+ ),
3655
+ 'Quantity' => array(
3656
+ 'type' => 'numeric',
3657
+ ),
3658
+ 'Items' => array(
3659
+ 'type' => 'array',
3660
+ 'items' => array(
3661
+ 'name' => 'Location',
3662
+ 'type' => 'string',
3663
+ 'sentAs' => 'Location',
3664
+ ),
3665
+ ),
3666
+ ),
3667
+ ),
3668
+ ),
3669
+ ),
3670
+ ),
3671
+ ),
3672
+ 'ETag' => array(
3673
+ 'type' => 'string',
3674
+ 'location' => 'header',
3675
+ ),
3676
+ 'RequestId' => array(
3677
+ 'location' => 'header',
3678
+ 'sentAs' => 'x-amz-request-id',
3679
+ ),
3680
+ ),
3681
+ ),
3682
+ 'GetDistributionConfigResult' => array(
3683
+ 'type' => 'object',
3684
+ 'additionalProperties' => true,
3685
+ 'properties' => array(
3686
+ 'CallerReference' => array(
3687
+ 'type' => 'string',
3688
+ 'location' => 'xml',
3689
+ ),
3690
+ 'Aliases' => array(
3691
+ 'type' => 'object',
3692
+ 'location' => 'xml',
3693
+ 'properties' => array(
3694
+ 'Quantity' => array(
3695
+ 'type' => 'numeric',
3696
+ ),
3697
+ 'Items' => array(
3698
+ 'type' => 'array',
3699
+ 'items' => array(
3700
+ 'name' => 'CNAME',
3701
+ 'type' => 'string',
3702
+ 'sentAs' => 'CNAME',
3703
+ ),
3704
+ ),
3705
+ ),
3706
+ ),
3707
+ 'DefaultRootObject' => array(
3708
+ 'type' => 'string',
3709
+ 'location' => 'xml',
3710
+ ),
3711
+ 'Origins' => array(
3712
+ 'type' => 'object',
3713
+ 'location' => 'xml',
3714
+ 'properties' => array(
3715
+ 'Quantity' => array(
3716
+ 'type' => 'numeric',
3717
+ ),
3718
+ 'Items' => array(
3719
+ 'type' => 'array',
3720
+ 'items' => array(
3721
+ 'name' => 'Origin',
3722
+ 'type' => 'object',
3723
+ 'sentAs' => 'Origin',
3724
+ 'properties' => array(
3725
+ 'Id' => array(
3726
+ 'type' => 'string',
3727
+ ),
3728
+ 'DomainName' => array(
3729
+ 'type' => 'string',
3730
+ ),
3731
+ 'OriginPath' => array(
3732
+ 'type' => 'string',
3733
+ ),
3734
+ 'S3OriginConfig' => array(
3735
+ 'type' => 'object',
3736
+ 'properties' => array(
3737
+ 'OriginAccessIdentity' => array(
3738
+ 'type' => 'string',
3739
+ ),
3740
+ ),
3741
+ ),
3742
+ 'CustomOriginConfig' => array(
3743
+ 'type' => 'object',
3744
+ 'properties' => array(
3745
+ 'HTTPPort' => array(
3746
+ 'type' => 'numeric',
3747
+ ),
3748
+ 'HTTPSPort' => array(
3749
+ 'type' => 'numeric',
3750
+ ),
3751
+ 'OriginProtocolPolicy' => array(
3752
+ 'type' => 'string',
3753
+ ),
3754
+ ),
3755
+ ),
3756
+ ),
3757
+ ),
3758
+ ),
3759
+ ),
3760
+ ),
3761
+ 'DefaultCacheBehavior' => array(
3762
+ 'type' => 'object',
3763
+ 'location' => 'xml',
3764
+ 'properties' => array(
3765
+ 'TargetOriginId' => array(
3766
+ 'type' => 'string',
3767
+ ),
3768
+ 'ForwardedValues' => array(
3769
+ 'type' => 'object',
3770
+ 'properties' => array(
3771
+ 'QueryString' => array(
3772
+ 'type' => 'boolean',
3773
+ ),
3774
+ 'Cookies' => array(
3775
+ 'type' => 'object',
3776
+ 'properties' => array(
3777
+ 'Forward' => array(
3778
+ 'type' => 'string',
3779
+ ),
3780
+ 'WhitelistedNames' => array(
3781
+ 'type' => 'object',
3782
+ 'properties' => array(
3783
+ 'Quantity' => array(
3784
+ 'type' => 'numeric',
3785
+ ),
3786
+ 'Items' => array(
3787
+ 'type' => 'array',
3788
+ 'items' => array(
3789
+ 'name' => 'Name',
3790
+ 'type' => 'string',
3791
+ 'sentAs' => 'Name',
3792
+ ),
3793
+ ),
3794
+ ),
3795
+ ),
3796
+ ),
3797
+ ),
3798
+ 'Headers' => array(
3799
+ 'type' => 'object',
3800
+ 'properties' => array(
3801
+ 'Quantity' => array(
3802
+ 'type' => 'numeric',
3803
+ ),
3804
+ 'Items' => array(
3805
+ 'type' => 'array',
3806
+ 'items' => array(
3807
+ 'name' => 'Name',
3808
+ 'type' => 'string',
3809
+ 'sentAs' => 'Name',
3810
+ ),
3811
+ ),
3812
+ ),
3813
+ ),
3814
+ ),
3815
+ ),
3816
+ 'TrustedSigners' => array(
3817
+ 'type' => 'object',
3818
+ 'properties' => array(
3819
+ 'Enabled' => array(
3820
+ 'type' => 'boolean',
3821
+ ),
3822
+ 'Quantity' => array(
3823
+ 'type' => 'numeric',
3824
+ ),
3825
+ 'Items' => array(
3826
+ 'type' => 'array',
3827
+ 'items' => array(
3828
+ 'name' => 'AwsAccountNumber',
3829
+ 'type' => 'string',
3830
+ 'sentAs' => 'AwsAccountNumber',
3831
+ ),
3832
+ ),
3833
+ ),
3834
+ ),
3835
+ 'ViewerProtocolPolicy' => array(
3836
+ 'type' => 'string',
3837
+ ),
3838
+ 'MinTTL' => array(
3839
+ 'type' => 'numeric',
3840
+ ),
3841
+ 'AllowedMethods' => array(
3842
+ 'type' => 'object',
3843
+ 'properties' => array(
3844
+ 'Quantity' => array(
3845
+ 'type' => 'numeric',
3846
+ ),
3847
+ 'Items' => array(
3848
+ 'type' => 'array',
3849
+ 'items' => array(
3850
+ 'name' => 'Method',
3851
+ 'type' => 'string',
3852
+ 'sentAs' => 'Method',
3853
+ ),
3854
+ ),
3855
+ 'CachedMethods' => array(
3856
+ 'type' => 'object',
3857
+ 'properties' => array(
3858
+ 'Quantity' => array(
3859
+ 'type' => 'numeric',
3860
+ ),
3861
+ 'Items' => array(
3862
+ 'type' => 'array',
3863
+ 'items' => array(
3864
+ 'name' => 'Method',
3865
+ 'type' => 'string',
3866
+ 'sentAs' => 'Method',
3867
+ ),
3868
+ ),
3869
+ ),
3870
+ ),
3871
+ ),
3872
+ ),
3873
+ 'SmoothStreaming' => array(
3874
+ 'type' => 'boolean',
3875
+ ),
3876
+ 'DefaultTTL' => array(
3877
+ 'type' => 'numeric',
3878
+ ),
3879
+ 'MaxTTL' => array(
3880
+ 'type' => 'numeric',
3881
+ ),
3882
+ ),
3883
+ ),
3884
+ 'CacheBehaviors' => array(
3885
+ 'type' => 'object',
3886
+ 'location' => 'xml',
3887
+ 'properties' => array(
3888
+ 'Quantity' => array(
3889
+ 'type' => 'numeric',
3890
+ ),
3891
+ 'Items' => array(
3892
+ 'type' => 'array',
3893
+ 'items' => array(
3894
+ 'name' => 'CacheBehavior',
3895
+ 'type' => 'object',
3896
+ 'sentAs' => 'CacheBehavior',
3897
+ 'properties' => array(
3898
+ 'PathPattern' => array(
3899
+ 'type' => 'string',
3900
+ ),
3901
+ 'TargetOriginId' => array(
3902
+ 'type' => 'string',
3903
+ ),
3904
+ 'ForwardedValues' => array(
3905
+ 'type' => 'object',
3906
+ 'properties' => array(
3907
+ 'QueryString' => array(
3908
+ 'type' => 'boolean',
3909
+ ),
3910
+ 'Cookies' => array(
3911
+ 'type' => 'object',
3912
+ 'properties' => array(
3913
+ 'Forward' => array(
3914
+ 'type' => 'string',
3915
+ ),
3916
+ 'WhitelistedNames' => array(
3917
+ 'type' => 'object',
3918
+ 'properties' => array(
3919
+ 'Quantity' => array(
3920
+ 'type' => 'numeric',
3921
+ ),
3922
+ 'Items' => array(
3923
+ 'type' => 'array',
3924
+ 'items' => array(
3925
+ 'name' => 'Name',
3926
+ 'type' => 'string',
3927
+ 'sentAs' => 'Name',
3928
+ ),
3929
+ ),
3930
+ ),
3931
+ ),
3932
+ ),
3933
+ ),
3934
+ 'Headers' => array(
3935
+ 'type' => 'object',
3936
+ 'properties' => array(
3937
+ 'Quantity' => array(
3938
+ 'type' => 'numeric',
3939
+ ),
3940
+ 'Items' => array(
3941
+ 'type' => 'array',
3942
+ 'items' => array(
3943
+ 'name' => 'Name',
3944
+ 'type' => 'string',
3945
+ 'sentAs' => 'Name',
3946
+ ),
3947
+ ),
3948
+ ),
3949
+ ),
3950
+ ),
3951
+ ),
3952
+ 'TrustedSigners' => array(
3953
+ 'type' => 'object',
3954
+ 'properties' => array(
3955
+ 'Enabled' => array(
3956
+ 'type' => 'boolean',
3957
+ ),
3958
+ 'Quantity' => array(
3959
+ 'type' => 'numeric',
3960
+ ),
3961
+ 'Items' => array(
3962
+ 'type' => 'array',
3963
+ 'items' => array(
3964
+ 'name' => 'AwsAccountNumber',
3965
+ 'type' => 'string',
3966
+ 'sentAs' => 'AwsAccountNumber',
3967
+ ),
3968
+ ),
3969
+ ),
3970
+ ),
3971
+ 'ViewerProtocolPolicy' => array(
3972
+ 'type' => 'string',
3973
+ ),
3974
+ 'MinTTL' => array(
3975
+ 'type' => 'numeric',
3976
+ ),
3977
+ 'AllowedMethods' => array(
3978
+ 'type' => 'object',
3979
+ 'properties' => array(
3980
+ 'Quantity' => array(
3981
+ 'type' => 'numeric',
3982
+ ),
3983
+ 'Items' => array(
3984
+ 'type' => 'array',
3985
+ 'items' => array(
3986
+ 'name' => 'Method',
3987
+ 'type' => 'string',
3988
+ 'sentAs' => 'Method',
3989
+ ),
3990
+ ),
3991
+ 'CachedMethods' => array(
3992
+ 'type' => 'object',
3993
+ 'properties' => array(
3994
+ 'Quantity' => array(
3995
+ 'type' => 'numeric',
3996
+ ),
3997
+ 'Items' => array(
3998
+ 'type' => 'array',
3999
+ 'items' => array(
4000
+ 'name' => 'Method',
4001
+ 'type' => 'string',
4002
+ 'sentAs' => 'Method',
4003
+ ),
4004
+ ),
4005
+ ),
4006
+ ),
4007
+ ),
4008
+ ),
4009
+ 'SmoothStreaming' => array(
4010
+ 'type' => 'boolean',
4011
+ ),
4012
+ 'DefaultTTL' => array(
4013
+ 'type' => 'numeric',
4014
+ ),
4015
+ 'MaxTTL' => array(
4016
+ 'type' => 'numeric',
4017
+ ),
4018
+ ),
4019
+ ),
4020
+ ),
4021
+ ),
4022
+ ),
4023
+ 'CustomErrorResponses' => array(
4024
+ 'type' => 'object',
4025
+ 'location' => 'xml',
4026
+ 'properties' => array(
4027
+ 'Quantity' => array(
4028
+ 'type' => 'numeric',
4029
+ ),
4030
+ 'Items' => array(
4031
+ 'type' => 'array',
4032
+ 'items' => array(
4033
+ 'name' => 'CustomErrorResponse',
4034
+ 'type' => 'object',
4035
+ 'sentAs' => 'CustomErrorResponse',
4036
+ 'properties' => array(
4037
+ 'ErrorCode' => array(
4038
+ 'type' => 'numeric',
4039
+ ),
4040
+ 'ResponsePagePath' => array(
4041
+ 'type' => 'string',
4042
+ ),
4043
+ 'ResponseCode' => array(
4044
+ 'type' => 'string',
4045
+ ),
4046
+ 'ErrorCachingMinTTL' => array(
4047
+ 'type' => 'numeric',
4048
+ ),
4049
+ ),
4050
+ ),
4051
+ ),
4052
+ ),
4053
+ ),
4054
+ 'Comment' => array(
4055
+ 'type' => 'string',
4056
+ 'location' => 'xml',
4057
+ ),
4058
+ 'Logging' => array(
4059
+ 'type' => 'object',
4060
+ 'location' => 'xml',
4061
+ 'properties' => array(
4062
+ 'Enabled' => array(
4063
+ 'type' => 'boolean',
4064
+ ),
4065
+ 'IncludeCookies' => array(
4066
+ 'type' => 'boolean',
4067
+ ),
4068
+ 'Bucket' => array(
4069
+ 'type' => 'string',
4070
+ ),
4071
+ 'Prefix' => array(
4072
+ 'type' => 'string',
4073
+ ),
4074
+ ),
4075
+ ),
4076
+ 'PriceClass' => array(
4077
+ 'type' => 'string',
4078
+ 'location' => 'xml',
4079
+ ),
4080
+ 'Enabled' => array(
4081
+ 'type' => 'boolean',
4082
+ 'location' => 'xml',
4083
+ ),
4084
+ 'ViewerCertificate' => array(
4085
+ 'type' => 'object',
4086
+ 'location' => 'xml',
4087
+ 'properties' => array(
4088
+ 'IAMCertificateId' => array(
4089
+ 'type' => 'string',
4090
+ ),
4091
+ 'CloudFrontDefaultCertificate' => array(
4092
+ 'type' => 'boolean',
4093
+ ),
4094
+ 'SSLSupportMethod' => array(
4095
+ 'type' => 'string',
4096
+ ),
4097
+ 'MinimumProtocolVersion' => array(
4098
+ 'type' => 'string',
4099
+ ),
4100
+ ),
4101
+ ),
4102
+ 'Restrictions' => array(
4103
+ 'type' => 'object',
4104
+ 'location' => 'xml',
4105
+ 'properties' => array(
4106
+ 'GeoRestriction' => array(
4107
+ 'type' => 'object',
4108
+ 'properties' => array(
4109
+ 'RestrictionType' => array(
4110
+ 'type' => 'string',
4111
+ ),
4112
+ 'Quantity' => array(
4113
+ 'type' => 'numeric',
4114
+ ),
4115
+ 'Items' => array(
4116
+ 'type' => 'array',
4117
+ 'items' => array(
4118
+ 'name' => 'Location',
4119
+ 'type' => 'string',
4120
+ 'sentAs' => 'Location',
4121
+ ),
4122
+ ),
4123
+ ),
4124
+ ),
4125
+ ),
4126
+ ),
4127
+ 'ETag' => array(
4128
+ 'type' => 'string',
4129
+ 'location' => 'header',
4130
+ ),
4131
+ 'RequestId' => array(
4132
+ 'location' => 'header',
4133
+ 'sentAs' => 'x-amz-request-id',
4134
+ ),
4135
+ ),
4136
+ ),
4137
+ 'GetInvalidationResult' => array(
4138
+ 'type' => 'object',
4139
+ 'additionalProperties' => true,
4140
+ 'properties' => array(
4141
+ 'Id' => array(
4142
+ 'type' => 'string',
4143
+ 'location' => 'xml',
4144
+ ),
4145
+ 'Status' => array(
4146
+ 'type' => 'string',
4147
+ 'location' => 'xml',
4148
+ ),
4149
+ 'CreateTime' => array(
4150
+ 'type' => 'string',
4151
+ 'location' => 'xml',
4152
+ ),
4153
+ 'InvalidationBatch' => array(
4154
+ 'type' => 'object',
4155
+ 'location' => 'xml',
4156
+ 'properties' => array(
4157
+ 'Paths' => array(
4158
+ 'type' => 'object',
4159
+ 'properties' => array(
4160
+ 'Quantity' => array(
4161
+ 'type' => 'numeric',
4162
+ ),
4163
+ 'Items' => array(
4164
+ 'type' => 'array',
4165
+ 'items' => array(
4166
+ 'name' => 'Path',
4167
+ 'type' => 'string',
4168
+ 'sentAs' => 'Path',
4169
+ ),
4170
+ ),
4171
+ ),
4172
+ ),
4173
+ 'CallerReference' => array(
4174
+ 'type' => 'string',
4175
+ ),
4176
+ ),
4177
+ ),
4178
+ 'RequestId' => array(
4179
+ 'location' => 'header',
4180
+ 'sentAs' => 'x-amz-request-id',
4181
+ ),
4182
+ ),
4183
+ ),
4184
+ 'GetStreamingDistributionResult' => array(
4185
+ 'type' => 'object',
4186
+ 'additionalProperties' => true,
4187
+ 'properties' => array(
4188
+ 'Id' => array(
4189
+ 'type' => 'string',
4190
+ 'location' => 'xml',
4191
+ ),
4192
+ 'Status' => array(
4193
+ 'type' => 'string',
4194
+ 'location' => 'xml',
4195
+ ),
4196
+ 'LastModifiedTime' => array(
4197
+ 'type' => 'string',
4198
+ 'location' => 'xml',
4199
+ ),
4200
+ 'DomainName' => array(
4201
+ 'type' => 'string',
4202
+ 'location' => 'xml',
4203
+ ),
4204
+ 'ActiveTrustedSigners' => array(
4205
+ 'type' => 'object',
4206
+ 'location' => 'xml',
4207
+ 'properties' => array(
4208
+ 'Enabled' => array(
4209
+ 'type' => 'boolean',
4210
+ ),
4211
+ 'Quantity' => array(
4212
+ 'type' => 'numeric',
4213
+ ),
4214
+ 'Items' => array(
4215
+ 'type' => 'array',
4216
+ 'items' => array(
4217
+ 'name' => 'Signer',
4218
+ 'type' => 'object',
4219
+ 'sentAs' => 'Signer',
4220
+ 'properties' => array(
4221
+ 'AwsAccountNumber' => array(
4222
+ 'type' => 'string',
4223
+ ),
4224
+ 'KeyPairIds' => array(
4225
+ 'type' => 'object',
4226
+ 'properties' => array(
4227
+ 'Quantity' => array(
4228
+ 'type' => 'numeric',
4229
+ ),
4230
+ 'Items' => array(
4231
+ 'type' => 'array',
4232
+ 'items' => array(
4233
+ 'name' => 'KeyPairId',
4234
+ 'type' => 'string',
4235
+ 'sentAs' => 'KeyPairId',
4236
+ ),
4237
+ ),
4238
+ ),
4239
+ ),
4240
+ ),
4241
+