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,19 @@
1
+ module Aws::Api::ServiceTranslators::CloudFront
2
+
3
+ extend Aws::Api::Visitor
4
+
5
+ class << self
6
+
7
+ def translate(api)
8
+ convert_max_items(api)
9
+ end
10
+
11
+ # max_item shapes are modeled incorrectly as strings instead of numbers
12
+ def convert_max_items(api)
13
+ each_shape(api) do |member_name, shape|
14
+ shape.type = 'integer' if member_name == :max_items
15
+ end
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,7 @@
1
+ module Aws::Api::ServiceTranslators::DynamoDB
2
+ class << self
3
+ def translate(api)
4
+ api.plugins << "Aws::Plugins::DynamoDBExtendedRetries"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,37 @@
1
+ module Aws::Api::ServiceTranslators::Glacier
2
+
3
+ extend Aws::Api::Visitor
4
+
5
+ class << self
6
+
7
+ def translate(api)
8
+ apply_plugins(api)
9
+ remove_checksum(api)
10
+ convert_types(api)
11
+ end
12
+
13
+ def apply_plugins(api)
14
+ api.plugins << "Aws::Plugins::GlacierApiVersion"
15
+ api.plugins << "Aws::Plugins::GlacierChecksums"
16
+ end
17
+
18
+ # this checksum parameter - it must be calculated on xml that is not user
19
+ # supplied, so the sdk has to compute the checksum after building the xml
20
+ def remove_checksum(api)
21
+ api.operations[:complete_multipart_upload].input.members.delete(:checksum)
22
+ end
23
+
24
+ # Shapes that are bound to headers and the request URI are all typed as
25
+ # strings, even when they *should* be integers or dates, crawling the
26
+ # api to correct these
27
+ def convert_types(api)
28
+ each_shape(api) do |shape_name, shape|
29
+ case shape_name
30
+ when /date/i then shape.type = 'iso8601_timestamp'
31
+ when :limit, :part_size, :archive_size then shape.type = 'integer'
32
+ end
33
+ end
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ module Aws::Api::ServiceTranslators::ImportExport
2
+ class << self
3
+
4
+ def translate(api)
5
+ remove_restful_bindings(api)
6
+ end
7
+
8
+ def remove_restful_bindings(api)
9
+ api.operations.each do |operation_name, operation|
10
+ operation.http_path = '/'
11
+ end
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,23 @@
1
+ module Aws::Api::ServiceTranslators::Route53
2
+
3
+ extend Aws::Api::Visitor
4
+
5
+ class << self
6
+
7
+ def translate(api)
8
+ convert_types(api)
9
+ end
10
+
11
+ # Shapes that are bound to headers and the request URI are all typed as
12
+ # strings, even when they *should* be integers or dates, crawling the
13
+ # api to correct these
14
+ def convert_types(api)
15
+ each_shape(api) do |shape_name, shape|
16
+ case shape_name
17
+ when :max_items then shape.type = 'integer'
18
+ end
19
+ end
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ module Aws::Api::ServiceTranslators::S3
2
+ class << self
3
+ def translate(api)
4
+ api.plugins << "Aws::Plugins::S3BucketDns"
5
+ api.plugins << "Aws::Plugins::S3CompleteMultipartUploadFix"
6
+ api.plugins << "Aws::Plugins::S3GetBucketLocationFix"
7
+ api.plugins << "Aws::Plugins::S3Md5s"
8
+ api.plugins << "Aws::Plugins::S3Redirects"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ module Aws::Api::ServiceTranslators::SQS
2
+ class << self
3
+
4
+ def translate(api)
5
+ api.metadata['error_prefix'] = 'AWS.SimpleQueueService.'
6
+ api.plugins << 'Aws::Plugins::SQSQueueUrls'
7
+ end
8
+
9
+ end
10
+ end
@@ -0,0 +1,7 @@
1
+ module Aws::Api::ServiceTranslators::SWF
2
+ class << self
3
+ def translate(api)
4
+ api.plugins << "Aws::Plugins::SWFReadTimeouts"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,96 @@
1
+ module Aws
2
+ module Api
3
+ class ShapeTranslator < BaseTranslator
4
+
5
+ CONVERT_TYPES = {
6
+ 'long' => 'integer',
7
+ 'double' => 'float',
8
+ }
9
+
10
+ def translated
11
+
12
+ if @properties['type'] == 'timestamp'
13
+ @type_prefix = @options[:timestamp_format]
14
+ end
15
+
16
+ if @type_prefix
17
+ @properties['type'] = "#{@type_prefix}_#{@properties['type']}"
18
+ end
19
+
20
+ shape = Seahorse::Model::Shapes::Shape.from_hash(@properties)
21
+ shape.members = @members unless @members.nil?
22
+ shape.keys = @keys if @keys
23
+ shape
24
+ end
25
+
26
+ property :location
27
+ property :serialized_name, from: :xmlname
28
+ property :serialized_name, from: :location_name
29
+ property :enum
30
+
31
+ metadata :xmlnamespace
32
+ metadata :xmlattribute
33
+ metadata :payload
34
+ metadata :wrapper
35
+
36
+ ignore :member_order
37
+ ignore :box
38
+ ignore :streaming
39
+
40
+ # validation properties
41
+ ignore :pattern
42
+ ignore :min_length
43
+ ignore :max_length
44
+
45
+ def set_shape_name(shape_name)
46
+ if @options[:documentation]
47
+ metadata = @properties['metadata'] ||= {}
48
+ metadata['shape_name'] = shape_name
49
+ end
50
+ end
51
+
52
+ def set_xmlnamespace(xmlns)
53
+ metadata = @properties['metadata'] ||= {}
54
+ metadata['xmlns_uri'] = xmlns['uri']
55
+ metadata['xmlns_prefix'] = xmlns['prefix'] if xmlns['prefix']
56
+ end
57
+
58
+ def set_type(type)
59
+ @properties['type'] = CONVERT_TYPES[type] || type
60
+ end
61
+
62
+ def set_flattened(state)
63
+ @type_prefix = 'flat' if state
64
+ end
65
+
66
+ def set_keys(member)
67
+ @keys = self.class.translate(member, @options)
68
+ end
69
+
70
+ # Structure shapes have a hash of members. Lists and maps have a
71
+ # single member (with a type).
72
+ def set_members(members)
73
+ if members['type'].is_a?(String)
74
+ @members = self.class.translate(members, @options)
75
+ else
76
+ @members = Seahorse::Model::Shapes::MemberHash.new
77
+ members.each do |name, src|
78
+ shape = self.class.translate(src, @options)
79
+ shape.serialized_name ||= name
80
+ @members[underscore(name)] = shape
81
+ end
82
+ end
83
+ end
84
+
85
+ end
86
+
87
+ class InputShapeTranslator < ShapeTranslator
88
+ property :required
89
+ end
90
+
91
+ class OutputShapeTranslator < ShapeTranslator
92
+ ignore :required
93
+ end
94
+
95
+ end
96
+ end
@@ -0,0 +1,150 @@
1
+ require 'multi_json'
2
+
3
+ module Aws
4
+ module Api
5
+ class Translator < BaseTranslator
6
+
7
+ def self.translate(src, options = {})
8
+ super(src, options)
9
+ end
10
+
11
+ def translated
12
+ Seahorse::Model::Api.from_hash(@properties).tap do |api|
13
+ translate_operations(api)
14
+ apply_xml_namespaces(api)
15
+ set_service_names(api)
16
+ apply_service_customizations(api)
17
+ sort_metadata_keys(api)
18
+ end
19
+ end
20
+
21
+ def set_service_names(api)
22
+ service_namer(api) do |svc|
23
+ api.metadata['service_full_name'] = svc.full_name
24
+ api.metadata['service_abbreviation'] = svc.abbr if svc.abbr
25
+ api.metadata['service_class_name'] = svc.class_name
26
+ end
27
+ end
28
+
29
+ def sort_metadata_keys(api)
30
+ api.metadata = Hash[api.metadata.sort]
31
+ end
32
+
33
+ def translate_operations(api)
34
+ @operations.values.each do |src|
35
+ operation = OperationTranslator.translate(src, @options)
36
+ if @result_wrapped
37
+ operation.output.metadata['wrapper'] = "#{operation.name}Result"
38
+ end
39
+ api.operations[underscore(operation.name)] = operation
40
+ end
41
+ end
42
+
43
+ # XML services, like S3 require the proper XML namespace to be applied
44
+ # to the root element for each request. This moves it from the API
45
+ # metadata into the operation input shape for each operation where
46
+ # the XML serializer can read it.
47
+ def apply_xml_namespaces(api)
48
+ xmlns = api.metadata.delete('xmlnamespace')
49
+ if xml?
50
+ api.operations.values.each do |operation|
51
+ if operation.input.payload
52
+ operation.input.payload_member.metadata['xmlns_uri'] = xmlns
53
+ elsif !operation.input.payload_member.members.empty?
54
+ operation.input.serialized_name = operation.name + "Request"
55
+ operation.input.metadata['xmlns_uri'] = xmlns
56
+ end
57
+ end
58
+ end
59
+ end
60
+
61
+ def apply_service_customizations(api)
62
+ svc_name = api.metadata['service_class_name']
63
+ if ServiceTranslators.const_defined?(svc_name)
64
+ ServiceTranslators.const_get(svc_name).translate(api)
65
+ end
66
+ end
67
+
68
+ def service_namer(api)
69
+ args = []
70
+ args << api.metadata['endpoint_prefix']
71
+ args << api.metadata.delete('service_full_name')
72
+ args << api.metadata.delete('service_abbreviation')
73
+ yield(Api::ServiceNamer.new(*args))
74
+ end
75
+
76
+ def xml?
77
+ @properties['plugins'].include?('Aws::Plugins::XmlProtocol')
78
+ end
79
+
80
+ property :version, from: :api_version
81
+
82
+ metadata :signing_name
83
+ metadata :checksum_format
84
+ metadata :json_version, as: 'json_version'
85
+ metadata :target_prefix, as: 'json_target_prefix'
86
+ metadata :service_full_name
87
+ metadata :service_abbreviation
88
+ metadata :xmlnamespace
89
+
90
+ ignore :global_endpoint
91
+
92
+ def set_type(type)
93
+ plugins = @properties['plugins'] ||= []
94
+ plugins << 'Seahorse::Client::Plugins::Logging'
95
+ plugins << 'Seahorse::Client::Plugins::RestfulBindings'
96
+ plugins << 'Seahorse::Client::Plugins::ContentLength'
97
+ plugins << 'Aws::Plugins::UserAgent'
98
+ plugins << 'Aws::Plugins::RetryErrors'
99
+ plugins << 'Aws::Plugins::GlobalConfiguration'
100
+ plugins << 'Aws::Plugins::RegionalEndpoint'
101
+ plugins << 'Aws::Plugins::Credentials'
102
+ plugins.push(*case type
103
+ when 'query' then ['Aws::Plugins::QueryProtocol']
104
+ when 'json' then [
105
+ 'Aws::Plugins::JsonProtocol', # used by all aws json services
106
+ 'Aws::Plugins::JsonRpcHeaders' # not used by services like Glacier
107
+ ]
108
+ when /json/ then ['Aws::Plugins::JsonProtocol']
109
+ when /xml/ then ['Aws::Plugins::XmlProtocol']
110
+ end)
111
+ end
112
+
113
+ def set_signature_version(version)
114
+ return unless version
115
+ @properties['plugins'] ||= []
116
+ @properties['plugins'] <<
117
+ case version
118
+ when 'v4' then 'Aws::Plugins::SignatureV4'
119
+ when 'v3' then 'Aws::Plugins::SignatureV4'
120
+ when 'v3https' then 'Aws::Plugins::SignatureV3'
121
+ when 'v2' then 'Aws::Plugins::SignatureV2'
122
+ when 'cloudfront' then 'Aws::Plugins::SignatureV4'
123
+ when 's3' then 'Aws::Plugins::S3Signer'
124
+ else raise "unhandled signer version `#{version}'"
125
+ end
126
+ end
127
+
128
+ def set_result_wrapped(state)
129
+ @result_wrapped = state
130
+ end
131
+
132
+ def set_endpoint_prefix(prefix)
133
+ data = MultiJson.load(File.read('apis/configuration/endpoints.json'))
134
+ region_names = data['services'][prefix]
135
+ regions = {}
136
+ region_names.each do |region|
137
+ regions[region] = data['regions'][region][prefix]['hostname']
138
+ end
139
+ @properties['metadata'] ||= {}
140
+ @properties['metadata']['endpoint_prefix'] = prefix
141
+ @properties['metadata']['regional_endpoints'] = regions
142
+ end
143
+
144
+ def set_operations(operations)
145
+ @operations = operations
146
+ end
147
+
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,32 @@
1
+ module Aws
2
+ module Api
3
+ # Visits every shape for every operation in an API model.
4
+ module Visitor
5
+
6
+ include Seahorse::Model::Shapes
7
+
8
+ def each_shape(api, &block)
9
+ api.operations.values.each do |operation|
10
+ visit_shape(:input, operation.input, &block)
11
+ visit_shape(:output, operation.output, &block)
12
+ end
13
+ end
14
+
15
+ def visit_shape(context, shape, &block)
16
+ yield(context, shape)
17
+ case shape
18
+ when StructureShape
19
+ shape.members.each do |member_name, member_shape|
20
+ visit_shape(member_name, member_shape, &block)
21
+ end
22
+ when MapShape
23
+ visit_shape(:map_key, shape.keys, &block)
24
+ visit_shape(:map_value, shape.members, &block)
25
+ when ListShape
26
+ visit_shape(:list_member, shape.members, &block)
27
+ end
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,35 @@
1
+ module Aws
2
+ class Credentials
3
+
4
+ # @param [String] access_key_id
5
+ # @param [String] secret_access_key
6
+ # @param [String] session_token (nil)
7
+ def initialize(access_key_id, secret_access_key, session_token = nil)
8
+ @access_key_id = access_key_id
9
+ @secret_access_key = secret_access_key
10
+ @session_token = session_token
11
+ end
12
+
13
+ # @return [String, nil]
14
+ attr_accessor :access_key_id
15
+
16
+ # @return [String, nil]
17
+ attr_accessor :secret_access_key
18
+
19
+ # @return [String, nil]
20
+ attr_accessor :session_token
21
+
22
+ # @return [Boolean] Returns `true` if the access key id and secret
23
+ # access key are both set.
24
+ def set?
25
+ !!(@access_key_id && @secret_access_key)
26
+ end
27
+
28
+ # Removing the secret access key from the default inspect string.
29
+ # @api private
30
+ def inspect
31
+ "#<#{self.class.name} access_key_id=#{access_key_id}>"
32
+ end
33
+
34
+ end
35
+ end