aws-sdk-core 2.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.simplecov +6 -0
  4. data/.travis.yml +12 -0
  5. data/.yardopts +11 -0
  6. data/Gemfile +26 -0
  7. data/LICENSE.txt +12 -0
  8. data/README.md +169 -0
  9. data/Rakefile +15 -0
  10. data/apis/AutoScaling-2011-01-01.json +1852 -0
  11. data/apis/CloudFormation-2010-05-15.json +981 -0
  12. data/apis/CloudFront-2012-05-05.json +3861 -0
  13. data/apis/CloudFront-2013-05-12.json +4593 -0
  14. data/apis/CloudFront-2013-08-26.json +4849 -0
  15. data/apis/CloudSearch-2011-02-01.json +2080 -0
  16. data/apis/CloudWatch-2010-08-01.json +1206 -0
  17. data/apis/DataPipeline-2012-10-29.json +901 -0
  18. data/apis/DirectConnect-2012-10-25.json +825 -0
  19. data/apis/DynamoDB-2011-12-05.json +2857 -0
  20. data/apis/DynamoDB-2012-08-10.json +3127 -0
  21. data/apis/EC2-2013-06-15.json +13600 -0
  22. data/apis/EC2-2013-10-01.json +14574 -0
  23. data/apis/EMR-2009-03-31.json +957 -0
  24. data/apis/ElastiCache-2012-11-15.json +2921 -0
  25. data/apis/ElastiCache-2013-06-15.json +3586 -0
  26. data/apis/ElasticBeanstalk-2010-12-01.json +2225 -0
  27. data/apis/ElasticLoadBalancing-2012-06-01.json +1215 -0
  28. data/apis/ElasticTranscoder-2012-09-25.json +3692 -0
  29. data/apis/Glacier-2012-06-01.json +1058 -0
  30. data/apis/IAM-2010-05-08.json +2863 -0
  31. data/apis/ImportExport-2010-06-01.json +328 -0
  32. data/apis/OpsWorks-2013-02-18.json +3546 -0
  33. data/apis/RDS-2013-01-10.json +6772 -0
  34. data/apis/RDS-2013-02-12.json +7151 -0
  35. data/apis/RDS-2013-05-15.json +7809 -0
  36. data/apis/Redshift-2012-12-01.json +4180 -0
  37. data/apis/Route53-2012-12-12.json +1018 -0
  38. data/apis/S3-2006-03-01.json +3787 -0
  39. data/apis/SDB-2009-04-15.json +539 -0
  40. data/apis/SES-2010-12-01.json +678 -0
  41. data/apis/SNS-2010-03-31.json +870 -0
  42. data/apis/SQS-2012-11-05.json +798 -0
  43. data/apis/STS-2011-06-15.json +352 -0
  44. data/apis/SWF-2012-01-25.json +5451 -0
  45. data/apis/StorageGateway-2012-06-30.json +1696 -0
  46. data/apis/Support-2013-04-15.json +794 -0
  47. data/apis/configuration/endpoints.json +1337 -0
  48. data/apis/source/autoscaling-2011-01-01.json +3215 -0
  49. data/apis/source/autoscaling-2011-01-01.paginators.json +52 -0
  50. data/apis/source/cloudformation-2010-05-15.json +1260 -0
  51. data/apis/source/cloudformation-2010-05-15.paginators.json +24 -0
  52. data/apis/source/cloudfront-2012-05-05.json +6588 -0
  53. data/apis/source/cloudfront-2012-05-05.paginators.json +28 -0
  54. data/apis/source/cloudfront-2013-05-12.json +7614 -0
  55. data/apis/source/cloudfront-2013-05-12.paginators.json +28 -0
  56. data/apis/source/cloudfront-2013-08-26.json +8016 -0
  57. data/apis/source/cloudfront-2013-08-26.paginators.json +28 -0
  58. data/apis/source/cloudsearch-2011-02-01.json +3585 -0
  59. data/apis/source/cloudsearch-2011-02-01.paginators.json +13 -0
  60. data/apis/source/datapipeline-2012-10-29.json +2144 -0
  61. data/apis/source/datapipeline-2012-10-29.paginators.json +25 -0
  62. data/apis/source/directconnect-2012-10-25.json +1271 -0
  63. data/apis/source/directconnect-2012-10-25.paginators.json +16 -0
  64. data/apis/source/dynamodb-2011-12-05.json +4380 -0
  65. data/apis/source/dynamodb-2011-12-05.paginators.json +24 -0
  66. data/apis/source/dynamodb-2012-08-10.json +4839 -0
  67. data/apis/source/dynamodb-2012-08-10.paginators.json +24 -0
  68. data/apis/source/ec2-2013-02-01.json +18820 -0
  69. data/apis/source/ec2-2013-02-01.paginators.json +115 -0
  70. data/apis/source/ec2-2013-06-15.json +18820 -0
  71. data/apis/source/ec2-2013-06-15.paginators.json +115 -0
  72. data/apis/source/ec2-2013-10-01.json +19885 -0
  73. data/apis/source/ec2-2013-10-01.paginators.json +115 -0
  74. data/apis/source/elasticache-2012-11-15.json +4403 -0
  75. data/apis/source/elasticache-2012-11-15.paginators.json +64 -0
  76. data/apis/source/elasticache-2013-06-15.json +5421 -0
  77. data/apis/source/elasticache-2013-06-15.paginators.json +64 -0
  78. data/apis/source/elasticbeanstalk-2010-12-01.json +3151 -0
  79. data/apis/source/elasticbeanstalk-2010-12-01.paginators.json +25 -0
  80. data/apis/source/elasticloadbalancing-2012-06-01.json +2041 -0
  81. data/apis/source/elasticloadbalancing-2012-06-01.paginators.json +18 -0
  82. data/apis/source/elasticmapreduce-2009-03-31.json +1478 -0
  83. data/apis/source/elasticmapreduce-2009-03-31.paginators.json +7 -0
  84. data/apis/source/elastictranscoder-2012-09-25.json +6148 -0
  85. data/apis/source/elastictranscoder-2012-09-25.paginators.json +20 -0
  86. data/apis/source/email-2010-12-01.json +892 -0
  87. data/apis/source/email-2010-12-01.paginators.json +13 -0
  88. data/apis/source/glacier-2012-06-01.json +3147 -0
  89. data/apis/source/glacier-2012-06-01.paginators.json +28 -0
  90. data/apis/source/iam-2010-05-08.json +5857 -0
  91. data/apis/source/iam-2010-05-08.paginators.json +116 -0
  92. data/apis/source/importexport-2010-06-01.json +876 -0
  93. data/apis/source/importexport-2010-06-01.paginators.json +10 -0
  94. data/apis/source/monitoring-2010-08-01.json +1910 -0
  95. data/apis/source/monitoring-2010-08-01.paginators.json +24 -0
  96. data/apis/source/opsworks-2013-02-18.json +5848 -0
  97. data/apis/source/opsworks-2013-02-18.paginators.json +46 -0
  98. data/apis/source/rds-2013-01-10.json +9283 -0
  99. data/apis/source/rds-2013-01-10.paginators.json +105 -0
  100. data/apis/source/rds-2013-02-12.json +9777 -0
  101. data/apis/source/rds-2013-02-12.paginators.json +105 -0
  102. data/apis/source/rds-2013-05-15.json +10618 -0
  103. data/apis/source/rds-2013-05-15.paginators.json +105 -0
  104. data/apis/source/redshift-2012-12-01.json +5742 -0
  105. data/apis/source/redshift-2012-12-01.paginators.json +74 -0
  106. data/apis/source/route53-2012-12-12.json +2067 -0
  107. data/apis/source/route53-2012-12-12.paginators.json +33 -0
  108. data/apis/source/s3-2006-03-01.json +4261 -0
  109. data/apis/source/s3-2006-03-01.paginators.json +46 -0
  110. data/apis/source/sdb-2009-04-15.json +1145 -0
  111. data/apis/source/sdb-2009-04-15.paginators.json +15 -0
  112. data/apis/source/sns-2010-03-31.json +2234 -0
  113. data/apis/source/sns-2010-03-31.paginators.json +19 -0
  114. data/apis/source/sqs-2012-11-05.json +1162 -0
  115. data/apis/source/sqs-2012-11-05.paginators.json +7 -0
  116. data/apis/source/storagegateway-2012-06-30.json +9487 -0
  117. data/apis/source/storagegateway-2012-06-30.paginators.json +28 -0
  118. data/apis/source/sts-2011-06-15.json +627 -0
  119. data/apis/source/support-2013-04-15.json +1261 -0
  120. data/apis/source/support-2013-04-15.paginators.json +31 -0
  121. data/apis/source/swf-2012-01-25.json +8744 -0
  122. data/apis/source/swf-2012-01-25.paginators.json +46 -0
  123. data/aws-sdk-core.gemspec +21 -0
  124. data/bin/aws.rb +156 -0
  125. data/doc-src/images/lastnode.png +0 -0
  126. data/doc-src/images/node.png +0 -0
  127. data/doc-src/images/vline.png +0 -0
  128. data/doc-src/plugins/apis.rb +205 -0
  129. data/doc-src/templates/default/fulldoc/html/css/common.css +90 -0
  130. data/doc-src/templates/default/fulldoc/html/js/tabs.js +21 -0
  131. data/doc-src/templates/default/fulldoc/html/setup.rb +61 -0
  132. data/doc-src/templates/default/layout/html/footer.erb +29 -0
  133. data/doc-src/templates/default/layout/html/setup.rb +3 -0
  134. data/features/autoscaling/client.feature +22 -0
  135. data/features/autoscaling/setup.rb +6 -0
  136. data/features/cloudformation/client.feature +18 -0
  137. data/features/cloudformation/setup.rb +6 -0
  138. data/features/cloudfront/client.feature +21 -0
  139. data/features/cloudfront/setup.rb +6 -0
  140. data/features/cloudsearch/client.feature +18 -0
  141. data/features/cloudsearch/setup.rb +6 -0
  142. data/features/cloudwatch/client.feature +21 -0
  143. data/features/cloudwatch/setup.rb +6 -0
  144. data/features/common/step_definitions.rb +65 -0
  145. data/features/datapipeline/client.feature +18 -0
  146. data/features/datapipeline/setup.rb +6 -0
  147. data/features/directconnect/client.feature +18 -0
  148. data/features/directconnect/setup.rb +6 -0
  149. data/features/dynamodb/client.feature +21 -0
  150. data/features/dynamodb/setup.rb +8 -0
  151. data/features/dynamodb/simplified.feature +32 -0
  152. data/features/dynamodb/step_definitions.rb +3 -0
  153. data/features/ec2/client.feature +21 -0
  154. data/features/ec2/setup.rb +6 -0
  155. data/features/ec2/step_definitions.rb +19 -0
  156. data/features/elasticache/client.feature +18 -0
  157. data/features/elasticache/setup.rb +6 -0
  158. data/features/elasticbeanstalk/client.feature +18 -0
  159. data/features/elasticbeanstalk/setup.rb +6 -0
  160. data/features/elasticloadbalancing/client.feature +18 -0
  161. data/features/elasticloadbalancing/setup.rb +6 -0
  162. data/features/elastictranscoder/client.feature +18 -0
  163. data/features/elastictranscoder/setup.rb +6 -0
  164. data/features/emr/client.feature +18 -0
  165. data/features/emr/setup.rb +6 -0
  166. data/features/env.rb +23 -0
  167. data/features/glacier/client.feature +28 -0
  168. data/features/glacier/setup.rb +16 -0
  169. data/features/glacier/step_definitions.rb +25 -0
  170. data/features/iam/client.feature +18 -0
  171. data/features/iam/setup.rb +6 -0
  172. data/features/importexport/client.feature +18 -0
  173. data/features/importexport/setup.rb +6 -0
  174. data/features/opsworks/client.feature +18 -0
  175. data/features/opsworks/setup.rb +6 -0
  176. data/features/rds/client.feature +18 -0
  177. data/features/rds/setup.rb +6 -0
  178. data/features/redshift/client.feature +18 -0
  179. data/features/redshift/setup.rb +6 -0
  180. data/features/route53/client.feature +18 -0
  181. data/features/route53/setup.rb +6 -0
  182. data/features/s3/buckets.feature +22 -0
  183. data/features/s3/objects.feature +18 -0
  184. data/features/s3/setup.rb +17 -0
  185. data/features/s3/step_definitions.rb +66 -0
  186. data/features/s3/test.png +0 -0
  187. data/features/sdb/client.feature +18 -0
  188. data/features/sdb/setup.rb +6 -0
  189. data/features/ses/client.feature +18 -0
  190. data/features/ses/setup.rb +6 -0
  191. data/features/sns/client.feature +18 -0
  192. data/features/sns/setup.rb +6 -0
  193. data/features/sqs/client.feature +23 -0
  194. data/features/sqs/setup.rb +10 -0
  195. data/features/sqs/step_definitions.rb +18 -0
  196. data/features/storagegateway/client.feature +18 -0
  197. data/features/storagegateway/setup.rb +6 -0
  198. data/features/sts/client.feature +18 -0
  199. data/features/sts/setup.rb +6 -0
  200. data/features/swf/client.feature +21 -0
  201. data/features/swf/setup.rb +6 -0
  202. data/integration-test-config.json.sample +3 -0
  203. data/lib/aws-sdk-core.rb +11 -0
  204. data/lib/aws.rb +175 -0
  205. data/lib/aws/api/base_translator.rb +72 -0
  206. data/lib/aws/api/doc_example.rb +116 -0
  207. data/lib/aws/api/documentor.rb +140 -0
  208. data/lib/aws/api/operation_translator.rb +77 -0
  209. data/lib/aws/api/service_namer.rb +40 -0
  210. data/lib/aws/api/service_translators/cloud_front.rb +19 -0
  211. data/lib/aws/api/service_translators/dynamo_db.rb +7 -0
  212. data/lib/aws/api/service_translators/glacier.rb +37 -0
  213. data/lib/aws/api/service_translators/import_export.rb +15 -0
  214. data/lib/aws/api/service_translators/route53.rb +23 -0
  215. data/lib/aws/api/service_translators/s3.rb +11 -0
  216. data/lib/aws/api/service_translators/sqs.rb +10 -0
  217. data/lib/aws/api/service_translators/swf.rb +7 -0
  218. data/lib/aws/api/shape_translator.rb +96 -0
  219. data/lib/aws/api/translator.rb +150 -0
  220. data/lib/aws/api/visitor.rb +32 -0
  221. data/lib/aws/credentials.rb +35 -0
  222. data/lib/aws/error_handler.rb +48 -0
  223. data/lib/aws/errors.rb +83 -0
  224. data/lib/aws/json/builder.rb +77 -0
  225. data/lib/aws/json/error_parser.rb +20 -0
  226. data/lib/aws/json/parser.rb +67 -0
  227. data/lib/aws/json/serializer.rb +15 -0
  228. data/lib/aws/plugins/credentials.rb +48 -0
  229. data/lib/aws/plugins/dynamodb_extended_retries.rb +22 -0
  230. data/lib/aws/plugins/glacier_api_version.rb +19 -0
  231. data/lib/aws/plugins/glacier_checksums.rb +100 -0
  232. data/lib/aws/plugins/global_configuration.rb +79 -0
  233. data/lib/aws/plugins/json_protocol.rb +30 -0
  234. data/lib/aws/plugins/json_rpc_headers.rb +34 -0
  235. data/lib/aws/plugins/query_protocol.rb +11 -0
  236. data/lib/aws/plugins/regional_endpoint.rb +37 -0
  237. data/lib/aws/plugins/retry_errors.rb +149 -0
  238. data/lib/aws/plugins/s3_bucket_dns.rb +78 -0
  239. data/lib/aws/plugins/s3_complete_multipart_upload_fix.rb +38 -0
  240. data/lib/aws/plugins/s3_get_bucket_location_fix.rb +21 -0
  241. data/lib/aws/plugins/s3_md5s.rb +61 -0
  242. data/lib/aws/plugins/s3_redirects.rb +38 -0
  243. data/lib/aws/plugins/s3_regional_endpoint.rb +19 -0
  244. data/lib/aws/plugins/s3_signer.rb +9 -0
  245. data/lib/aws/plugins/signature_v2.rb +9 -0
  246. data/lib/aws/plugins/signature_v3.rb +9 -0
  247. data/lib/aws/plugins/signature_v4.rb +29 -0
  248. data/lib/aws/plugins/sqs_queue_urls.rb +33 -0
  249. data/lib/aws/plugins/swf_read_timeouts.rb +23 -0
  250. data/lib/aws/plugins/user_agent.rb +32 -0
  251. data/lib/aws/plugins/xml_protocol.rb +11 -0
  252. data/lib/aws/query/builder.rb +102 -0
  253. data/lib/aws/query/param.rb +43 -0
  254. data/lib/aws/query/param_list.rb +91 -0
  255. data/lib/aws/query/serializer.rb +24 -0
  256. data/lib/aws/request_handler.rb +39 -0
  257. data/lib/aws/response_handler.rb +38 -0
  258. data/lib/aws/service.rb +237 -0
  259. data/lib/aws/signers/base.rb +29 -0
  260. data/lib/aws/signers/handler.rb +18 -0
  261. data/lib/aws/signers/s3.rb +162 -0
  262. data/lib/aws/signers/v2.rb +48 -0
  263. data/lib/aws/signers/v3.rb +34 -0
  264. data/lib/aws/signers/v4.rb +142 -0
  265. data/lib/aws/structure.rb +38 -0
  266. data/lib/aws/timestamp_formatter.rb +16 -0
  267. data/lib/aws/util.rb +38 -0
  268. data/lib/aws/version.rb +3 -0
  269. data/lib/aws/xml/builder.rb +134 -0
  270. data/lib/aws/xml/error_parser.rb +24 -0
  271. data/lib/aws/xml/parser.rb +147 -0
  272. data/lib/aws/xml/serializer.rb +16 -0
  273. data/spec/aws/credentials_spec.rb +39 -0
  274. data/spec/aws/iam_spec.rb +17 -0
  275. data/spec/aws/json/builder_spec.rb +183 -0
  276. data/spec/aws/json/parser_spec.rb +238 -0
  277. data/spec/aws/operations_spec.rb +145 -0
  278. data/spec/aws/plugins/credentials_spec.rb +76 -0
  279. data/spec/aws/plugins/global_configuration_spec.rb +56 -0
  280. data/spec/aws/plugins/region_endpoint_spec.rb +77 -0
  281. data/spec/aws/plugins/retry_errors_spec.rb +253 -0
  282. data/spec/aws/query/builder_spec.rb +361 -0
  283. data/spec/aws/query/param_list_spec.rb +80 -0
  284. data/spec/aws/query/param_spec.rb +59 -0
  285. data/spec/aws/service_spec.rb +247 -0
  286. data/spec/aws/signers/v4_spec.rb +141 -0
  287. data/spec/aws/structure_spec.rb +103 -0
  288. data/spec/aws/xml/builder_spec.rb +404 -0
  289. data/spec/aws/xml/parser_spec.rb +716 -0
  290. data/spec/aws_spec.rb +89 -0
  291. data/spec/fixtures/api/swf.json +100 -0
  292. data/spec/fixtures/operations/cloudfront/list_distributions.yml +195 -0
  293. data/spec/fixtures/operations/cloudfront/max_items.yml +12 -0
  294. data/spec/fixtures/operations/dynamodb/error_parsing.yml +13 -0
  295. data/spec/fixtures/operations/glacier/error_parsing.yml +10 -0
  296. data/spec/fixtures/operations/glacier/list_vaults.yml +24 -0
  297. data/spec/fixtures/operations/iam/result_wrapped_elements.yml +31 -0
  298. data/spec/fixtures/operations/s3/304_response.yml +12 -0
  299. data/spec/fixtures/operations/s3/400_response.yml +12 -0
  300. data/spec/fixtures/operations/s3/403_response.yml +12 -0
  301. data/spec/fixtures/operations/s3/404_response.yml +12 -0
  302. data/spec/fixtures/operations/s3/comlete_multipart_upload_error.yml +18 -0
  303. data/spec/fixtures/operations/s3/create_bucket_with_location_constraint.yml +25 -0
  304. data/spec/fixtures/operations/s3/create_bucket_without_location_constraint.yml +9 -0
  305. data/spec/fixtures/operations/s3/delete_objects.yml +54 -0
  306. data/spec/fixtures/operations/s3/error_parsing.yml +17 -0
  307. data/spec/fixtures/operations/s3/get_bucket_location.yml +17 -0
  308. data/spec/fixtures/operations/s3/get_bucket_location_classic.yml +17 -0
  309. data/spec/fixtures/operations/s3/head_bucket_with_dns_incompatible_name.yml +12 -0
  310. data/spec/fixtures/operations/s3/head_object.yml +50 -0
  311. data/spec/fixtures/operations/s3/list_buckets.yml +41 -0
  312. data/spec/fixtures/operations/s3/md5_checksum_disabled.yml +10 -0
  313. data/spec/fixtures/operations/s3/md5_checksum_enabled.yml +8 -0
  314. data/spec/fixtures/operations/swf/list_domains.yml +20 -0
  315. data/spec/spec_helper.rb +55 -0
  316. data/tasks/apis.rake +51 -0
  317. data/tasks/docs.rake +59 -0
  318. data/tasks/test.rake +39 -0
  319. data/vendor/seahorse/.gitignore +5 -0
  320. data/vendor/seahorse/.simplecov +4 -0
  321. data/vendor/seahorse/.yardopts +10 -0
  322. data/vendor/seahorse/Gemfile +20 -0
  323. data/vendor/seahorse/LICENSE.txt +12 -0
  324. data/vendor/seahorse/README.md +129 -0
  325. data/vendor/seahorse/Rakefile +7 -0
  326. data/vendor/seahorse/ca-bundle.crt +3554 -0
  327. data/vendor/seahorse/lib/seahorse.rb +6 -0
  328. data/vendor/seahorse/lib/seahorse/client.rb +61 -0
  329. data/vendor/seahorse/lib/seahorse/client/base.rb +239 -0
  330. data/vendor/seahorse/lib/seahorse/client/block_io.rb +39 -0
  331. data/vendor/seahorse/lib/seahorse/client/configuration.rb +197 -0
  332. data/vendor/seahorse/lib/seahorse/client/handler.rb +26 -0
  333. data/vendor/seahorse/lib/seahorse/client/handler_builder.rb +49 -0
  334. data/vendor/seahorse/lib/seahorse/client/handler_list.rb +250 -0
  335. data/vendor/seahorse/lib/seahorse/client/http/endpoint.rb +95 -0
  336. data/vendor/seahorse/lib/seahorse/client/http/headers.rb +94 -0
  337. data/vendor/seahorse/lib/seahorse/client/http/plain_string_io.rb +11 -0
  338. data/vendor/seahorse/lib/seahorse/client/http/request.rb +78 -0
  339. data/vendor/seahorse/lib/seahorse/client/http/response.rb +45 -0
  340. data/vendor/seahorse/lib/seahorse/client/logging/formatter.rb +319 -0
  341. data/vendor/seahorse/lib/seahorse/client/logging/handler.rb +35 -0
  342. data/vendor/seahorse/lib/seahorse/client/net_http/connection_pool.rb +339 -0
  343. data/vendor/seahorse/lib/seahorse/client/net_http/handler.rb +109 -0
  344. data/vendor/seahorse/lib/seahorse/client/param_converter.rb +202 -0
  345. data/vendor/seahorse/lib/seahorse/client/param_validator.rb +139 -0
  346. data/vendor/seahorse/lib/seahorse/client/plugin.rb +80 -0
  347. data/vendor/seahorse/lib/seahorse/client/plugin_list.rb +142 -0
  348. data/vendor/seahorse/lib/seahorse/client/plugins/api.rb +11 -0
  349. data/vendor/seahorse/lib/seahorse/client/plugins/content_length.rb +22 -0
  350. data/vendor/seahorse/lib/seahorse/client/plugins/endpoint.rb +36 -0
  351. data/vendor/seahorse/lib/seahorse/client/plugins/json_simple.rb +34 -0
  352. data/vendor/seahorse/lib/seahorse/client/plugins/logging.rb +37 -0
  353. data/vendor/seahorse/lib/seahorse/client/plugins/net_http.rb +26 -0
  354. data/vendor/seahorse/lib/seahorse/client/plugins/operation_methods.rb +48 -0
  355. data/vendor/seahorse/lib/seahorse/client/plugins/param_conversion.rb +29 -0
  356. data/vendor/seahorse/lib/seahorse/client/plugins/param_validation.rb +30 -0
  357. data/vendor/seahorse/lib/seahorse/client/plugins/raise_response_errors.rb +29 -0
  358. data/vendor/seahorse/lib/seahorse/client/plugins/restful_bindings.rb +205 -0
  359. data/vendor/seahorse/lib/seahorse/client/request.rb +62 -0
  360. data/vendor/seahorse/lib/seahorse/client/request_context.rb +68 -0
  361. data/vendor/seahorse/lib/seahorse/client/response.rb +106 -0
  362. data/vendor/seahorse/lib/seahorse/client/xml/builder.rb +92 -0
  363. data/vendor/seahorse/lib/seahorse/model.rb +38 -0
  364. data/vendor/seahorse/lib/seahorse/model/api.rb +39 -0
  365. data/vendor/seahorse/lib/seahorse/model/node.rb +102 -0
  366. data/vendor/seahorse/lib/seahorse/model/operation.rb +32 -0
  367. data/vendor/seahorse/lib/seahorse/model/operation_input.rb +30 -0
  368. data/vendor/seahorse/lib/seahorse/model/operations.rb +59 -0
  369. data/vendor/seahorse/lib/seahorse/model/property.rb +141 -0
  370. data/vendor/seahorse/lib/seahorse/model/shapes/shape.rb +229 -0
  371. data/vendor/seahorse/lib/seahorse/model/types.rb +8 -0
  372. data/vendor/seahorse/lib/seahorse/version.rb +3 -0
  373. data/vendor/seahorse/seahorse.gemspec +20 -0
  374. data/vendor/seahorse/spec/fixtures/plugin.rb +4 -0
  375. data/vendor/seahorse/spec/seahorse/client/base_spec.rb +308 -0
  376. data/vendor/seahorse/spec/seahorse/client/configuration_spec.rb +118 -0
  377. data/vendor/seahorse/spec/seahorse/client/handler_builder_spec.rb +159 -0
  378. data/vendor/seahorse/spec/seahorse/client/handler_list_spec.rb +243 -0
  379. data/vendor/seahorse/spec/seahorse/client/handler_spec.rb +40 -0
  380. data/vendor/seahorse/spec/seahorse/client/http/endpoint_spec.rb +168 -0
  381. data/vendor/seahorse/spec/seahorse/client/http/headers_spec.rb +213 -0
  382. data/vendor/seahorse/spec/seahorse/client/http/plain_string_io_spec.rb +23 -0
  383. data/vendor/seahorse/spec/seahorse/client/http/request_spec.rb +142 -0
  384. data/vendor/seahorse/spec/seahorse/client/http/response_spec.rb +77 -0
  385. data/vendor/seahorse/spec/seahorse/client/logging/formatter_spec.rb +197 -0
  386. data/vendor/seahorse/spec/seahorse/client/logging/handler_spec.rb +63 -0
  387. data/vendor/seahorse/spec/seahorse/client/net_http/connection_pool_spec.rb +10 -0
  388. data/vendor/seahorse/spec/seahorse/client/net_http/handler_spec.rb +232 -0
  389. data/vendor/seahorse/spec/seahorse/client/param_converter_spec.rb +318 -0
  390. data/vendor/seahorse/spec/seahorse/client/param_validator_spec.rb +271 -0
  391. data/vendor/seahorse/spec/seahorse/client/plugin_list_spec.rb +166 -0
  392. data/vendor/seahorse/spec/seahorse/client/plugin_spec.rb +118 -0
  393. data/vendor/seahorse/spec/seahorse/client/plugins/content_length_spec.rb +19 -0
  394. data/vendor/seahorse/spec/seahorse/client/plugins/endpoint_spec.rb +43 -0
  395. data/vendor/seahorse/spec/seahorse/client/plugins/logging_spec.rb +46 -0
  396. data/vendor/seahorse/spec/seahorse/client/plugins/net_http_spec.rb +71 -0
  397. data/vendor/seahorse/spec/seahorse/client/plugins/operation_methods_spec.rb +74 -0
  398. data/vendor/seahorse/spec/seahorse/client/plugins/restful_bindings/uri_path_builder_spec.rb +91 -0
  399. data/vendor/seahorse/spec/seahorse/client/request_context_spec.rb +105 -0
  400. data/vendor/seahorse/spec/seahorse/client/request_spec.rb +102 -0
  401. data/vendor/seahorse/spec/seahorse/client/response_spec.rb +171 -0
  402. data/vendor/seahorse/spec/seahorse/client/xml/builder/xml_doc_spec.rb +142 -0
  403. data/vendor/seahorse/spec/seahorse/client/xml/builder_spec.rb +10 -0
  404. data/vendor/seahorse/spec/seahorse/client_spec.rb +13 -0
  405. data/vendor/seahorse/spec/seahorse/model/api_spec.rb +72 -0
  406. data/vendor/seahorse/spec/seahorse/model/node_spec.rb +114 -0
  407. data/vendor/seahorse/spec/seahorse/model/operation_input_spec.rb +53 -0
  408. data/vendor/seahorse/spec/seahorse/model/operation_spec.rb +48 -0
  409. data/vendor/seahorse/spec/seahorse/model/operations_spec.rb +64 -0
  410. data/vendor/seahorse/spec/seahorse/model/property_spec.rb +136 -0
  411. data/vendor/seahorse/spec/seahorse/model/shapes/shape_spec.rb +105 -0
  412. data/vendor/seahorse/spec/seahorse/version_spec.rb +11 -0
  413. data/vendor/seahorse/spec/spec_helper.rb +34 -0
  414. data/vendor/seahorse/tasks/ca_bundle.rake +23 -0
  415. data/vendor/seahorse/tasks/docs.rake +11 -0
  416. data/vendor/seahorse/tasks/test.rake +26 -0
  417. metadata +614 -0
@@ -0,0 +1,21 @@
1
+ module Aws
2
+ module Plugins
3
+ class S3GetBucketLocationFix < Seahorse::Client::Plugin
4
+
5
+ class Handler < Seahorse::Client::Handler
6
+
7
+ def call(context)
8
+ @handler.call(context).on_success do |response|
9
+ xml = MultiXml.parse(response.http_response.body_contents)
10
+ if constraint = xml['LocationConstraint']
11
+ response.data[:location_constraint] = constraint['__content__'].to_s
12
+ end
13
+ end
14
+ end
15
+ end
16
+
17
+ handler(Handler, priority: 60, operations: [:get_bucket_location])
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,61 @@
1
+ require 'digest/md5'
2
+ require 'base64'
3
+
4
+ module Aws
5
+ module Plugins
6
+
7
+ # @seahorse.client.option [Boolean] :compute_optional_md5s (true)
8
+ # When `true` a MD5 checksum will be computed for all requests that
9
+ # accept the optional `Content-MD5` header. Checksum errors returned
10
+ # by Amazon S3 are automatically retried up to `:retry_limit` times.
11
+ class S3Md5s < Seahorse::Client::Plugin
12
+
13
+ # Amazon S3 requires these operations to have an MD5 checksum
14
+ REQUIRED_OPERATIONS = [
15
+ :delete_objects,
16
+ :put_bucket_cors,
17
+ :put_bucket_lifecycle,
18
+ :put_bucket_policy,
19
+ :put_bucket_tagging,
20
+ ]
21
+
22
+ # @api private
23
+ class Handler < Seahorse::Client::Handler
24
+
25
+ OneMB = 1024 * 1024
26
+
27
+ def call(context)
28
+ context.http_request.headers['Content-Md5'] = md5(context)
29
+ @handler.call(context)
30
+ end
31
+
32
+ def md5(context)
33
+ md5 = Digest::MD5.new
34
+ body = context.http_request.body
35
+ while chunk = body.read(OneMB)
36
+ md5.update(chunk)
37
+ end
38
+ body.rewind
39
+ Base64.encode64(md5.digest).strip
40
+ end
41
+
42
+ end
43
+
44
+ option(:compute_optional_md5s, true)
45
+
46
+ def add_handlers(handlers, config)
47
+ options = {
48
+ priority: 10, # set intentially low so the md5 is computed after
49
+ step: :build, # the request is built but before it is signed
50
+ }
51
+
52
+ if !config.compute_optional_md5s
53
+ options[:operations] = REQUIRED_OPERATIONS
54
+ end
55
+
56
+ handlers.add(Handler, options)
57
+ end
58
+
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,38 @@
1
+ module Aws
2
+ module Plugins
3
+
4
+ # @seahorse.client.option [Boolean] :follow_redirects (true)
5
+ # When `true`, this client will follow 307 redirects returned
6
+ # by Amazon S3.
7
+ class S3Redirects < Seahorse::Client::Plugin
8
+
9
+ option(:follow_redirects, true)
10
+
11
+ # @api private
12
+ class Handler < Seahorse::Client::Handler
13
+
14
+ def call(context)
15
+ response = @handler.call(context)
16
+ if response.http_response.status_code == 307
17
+ endpoint = response.http_response.headers['location']
18
+ endpoint = Seahorse::Client::Http::Endpoint.new(endpoint)
19
+ context.http_request.endpoint = endpoint
20
+ context.http_response.body.truncate(0)
21
+ @handler.call(context)
22
+ else
23
+ response
24
+ end
25
+ end
26
+
27
+ end
28
+
29
+ def add_handlers(handlers, config)
30
+ if config.follow_redirects
31
+ # we want to re-trigger request signing
32
+ handlers.add(Handler, step: :sign, priority: 90)
33
+ end
34
+ end
35
+
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,19 @@
1
+
2
+ module Aws
3
+ module Plugins
4
+ class S3RegionalEndpoint < RegionalEndpoint
5
+
6
+ option(:region) { ENV['AWS_REGION'] || ENV['AMAZON_REGION'] }
7
+
8
+ option(:endpoint) do |config|
9
+ raise ArgumentError, MISSING_REGION unless config.region
10
+ if config.region == 'us-east-1'
11
+ 's3.amazonaws.com'
12
+ else
13
+ 's3-%s.amazonaws.com' % config.region
14
+ end
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,9 @@
1
+ module Aws
2
+ module Plugins
3
+ class S3Signer < Seahorse::Client::Plugin
4
+
5
+ handler(Signers::Handler.new(Signers::S3), step: :sign)
6
+
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Aws
2
+ module Plugins
3
+ class SignatureV2 < Seahorse::Client::Plugin
4
+
5
+ handler(Signers::Handler.new(Signers::V2), step: :sign)
6
+
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Aws
2
+ module Plugins
3
+ class SignatureV3 < Seahorse::Client::Plugin
4
+
5
+ handler(Signers::Handler.new(Signers::V3), step: :sign)
6
+
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,29 @@
1
+ module Aws
2
+ module Plugins
3
+
4
+ # @seahorse.client.option [String] :sigv4_name
5
+ # Override the default service name used for signing sigv4 requests.
6
+ # @seahorse.client.option [String] :sigv4_region
7
+ # Override the default region name used for signing sigv4 requests.
8
+ class SignatureV4 < Seahorse::Client::Plugin
9
+
10
+ option(:sigv4_name) do |config|
11
+ config.api.metadata['endpoint_prefix']
12
+ end
13
+
14
+ option(:sigv4_region) do |config|
15
+ prefix = config.api.metadata['endpoint_prefix']
16
+ if matches = config.endpoint.match(/#{prefix}[.-](.+)\.amazonaws\.com/)
17
+ matches[1]
18
+ elsif config.endpoint.match(/#{prefix}\.amazonaws\.com/)
19
+ 'us-east-1'
20
+ else
21
+ config.region
22
+ end
23
+ end
24
+
25
+ handler(Signers::Handler.new(Signers::V4), step: :sign)
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,33 @@
1
+ module Aws
2
+ module Plugins
3
+ # @api private
4
+ class SQSQueueUrls < Seahorse::Client::Plugin
5
+
6
+ class Handler < Seahorse::Client::Handler
7
+
8
+ def call(context)
9
+ if url = context.params[:queue_url]
10
+ update_endpoint(context, url)
11
+ update_region(context, url)
12
+ end
13
+ @handler.call(context)
14
+ end
15
+
16
+ def update_endpoint(context, url)
17
+ context.http_request.endpoint = url
18
+ end
19
+
20
+ def update_region(context, url)
21
+ region = url.split('.')[1]
22
+ context.config = context.config.dup
23
+ context.config.region = region
24
+ context.config.sigv4_region = region
25
+ end
26
+
27
+ end
28
+
29
+ handler(Handler)
30
+
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,23 @@
1
+ module Aws
2
+ module Plugins
3
+ # Extends the default read-timeout value
4
+ class SWFReadTimeouts < Seahorse::Client::Plugin
5
+
6
+ class Handler < Seahorse::Client::Handler
7
+
8
+ def call(context)
9
+ context.config = context.config.dup
10
+ context.config.http_read_timeout = 90
11
+ @handler.call(context)
12
+ end
13
+
14
+ end
15
+
16
+ handler(Handler, operations: [
17
+ :poll_for_activity_task,
18
+ :poll_for_decision_task,
19
+ ])
20
+
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,32 @@
1
+ module Aws
2
+ module Plugins
3
+ class UserAgent < Seahorse::Client::Plugin
4
+
5
+ option(:user_agent_prefix)
6
+
7
+ # @api private
8
+ class Handler < Seahorse::Client::Handler
9
+
10
+ def call(context)
11
+ set_user_agent(context)
12
+ @handler.call(context)
13
+ end
14
+
15
+ def set_user_agent(context)
16
+ ua = "%s aws-sdk-ruby/#{VERSION} %s/%s %s Seahorse/%s" % [
17
+ context.config.user_agent_prefix,
18
+ (RUBY_ENGINE rescue nil or "ruby"),
19
+ RUBY_VERSION,
20
+ RUBY_PLATFORM,
21
+ Seahorse::VERSION,
22
+ ]
23
+ context.http_request.headers['User-Agent'] = ua.strip
24
+ end
25
+
26
+ end
27
+
28
+ handler(Handler)
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,11 @@
1
+ module Aws
2
+ module Plugins
3
+ class XmlProtocol < Seahorse::Client::Plugin
4
+
5
+ handler(RequestHandler.new(Xml::Serializer.new))
6
+ handler(ResponseHandler.new(Xml::Parser.new))
7
+ handler(ErrorHandler.new(Xml::ErrorParser.new), step: :sign)
8
+
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,102 @@
1
+ require 'base64'
2
+
3
+ module Aws
4
+ module Query
5
+ class Builder
6
+
7
+ include Seahorse::Model::Shapes
8
+
9
+ # @param [Seahorse::Model::Shapes::Shape] rules
10
+ def initialize(rules)
11
+ @rules = rules
12
+ end
13
+
14
+ # @param [Hash] params
15
+ # @return [ParamList]
16
+ def to_query_params(params)
17
+ param_list = ParamList.new
18
+ structure(param_list, @rules, nil, params)
19
+ param_list
20
+ end
21
+
22
+ # @param [Seahorse::Model::Shapes::Shape] rules
23
+ # @param [Hash] params
24
+ # @return [ParamList]
25
+ def self.to_query_params(rules, params)
26
+ new(rules).to_query_params(params)
27
+ end
28
+
29
+ private
30
+
31
+ def structure(param_list, shape, prefix, values)
32
+ values.each do |name, value|
33
+ member_shape = shape.members[name]
34
+ param_name = member_shape.serialized_name
35
+ param_name = "#{prefix}.#{param_name}" if prefix
36
+ member(param_list, member_shape, param_name, value)
37
+ end
38
+ end
39
+
40
+ def list(param_list, shape, prefix, values)
41
+ member_shape = shape.members
42
+ if flat?(shape)
43
+ if member_shape.serialized_name
44
+ parts = prefix.split('.')
45
+ parts.pop
46
+ parts.push(member_shape.serialized_name)
47
+ prefix = parts.join('.')
48
+ end
49
+ else
50
+ prefix += '.member'
51
+ end
52
+ values.each_with_index do |value, n|
53
+ member(param_list, member_shape, "#{prefix}.#{n+1}", value)
54
+ end
55
+ end
56
+
57
+ def map(param_list, shape, prefix, values)
58
+ key_shape = shape.keys
59
+ value_shape = shape.members
60
+ prefix += '.entry' unless flat?(shape)
61
+ key_name = "%s.%d.#{key_shape.serialized_name || 'key'}"
62
+ value_name = "%s.%d.#{value_shape.serialized_name || 'value'}"
63
+ n = 1
64
+ values.each_pair do |key, value|
65
+ member(param_list, key_shape, key_name % [prefix, n], key)
66
+ member(param_list, value_shape, value_name % [prefix, n], value)
67
+ n += 1
68
+ end
69
+ end
70
+
71
+ def member(param_list, shape, prefix, value)
72
+ case shape
73
+ when StructureShape then structure(param_list, shape, prefix, value)
74
+ when ListShape then list(param_list, shape, prefix, value)
75
+ when MapShape then map(param_list, shape, prefix, value)
76
+ when TimestampShape then timestamp(param_list, shape, prefix, value.utc)
77
+ when BlobShape then blob(param_list, shape, prefix, value)
78
+ else param_list.set(prefix, value.to_s)
79
+ end
80
+ end
81
+
82
+ def timestamp(param_list, shape, prefix, value)
83
+ value = case shape
84
+ when Iso8601TimestampShape then value.iso8601
85
+ when Rfc822TimestampShape then value.rfc822
86
+ when UnixTimestampShape then value.to_i.to_s
87
+ else raise "invalid timestamp format `#{shape.class.name}'"
88
+ end
89
+ param_list.set(prefix, value)
90
+ end
91
+
92
+ def blob(param_list, shape, prefix, value)
93
+ param_list.set(prefix, Base64.strict_encode64(value))
94
+ end
95
+
96
+ def flat?(shape)
97
+ FlatListShape === shape || FlatMapShape === shape
98
+ end
99
+
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,43 @@
1
+ module Aws
2
+ module Query
3
+ class Param
4
+
5
+ # @param [String] name
6
+ # @param [String, nil] value (nil)
7
+ def initialize(name, value = nil)
8
+ @name = name.to_s
9
+ @value = value
10
+ end
11
+
12
+ # @return [String]
13
+ attr_reader :name
14
+
15
+ # @return [String, nil]
16
+ attr_reader :value
17
+
18
+ # @return [String]
19
+ def to_s
20
+ value ? "#{escape(name)}=#{escape(value)}" : escape(name)
21
+ end
22
+
23
+ # @api private
24
+ def ==(other)
25
+ other.kind_of?(Param) &&
26
+ other.name == name &&
27
+ other.value == value
28
+ end
29
+
30
+ # @api private
31
+ def <=> other
32
+ name <=> other.name
33
+ end
34
+
35
+ private
36
+
37
+ def escape(str)
38
+ Util.uri_escape(str)
39
+ end
40
+
41
+ end
42
+ end
43
+ end