aws_sdk 3.1.5

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 (390) hide show
  1. data/lib/aws-sdk.rb +14 -0
  2. data/lib/aws.rb +49 -0
  3. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +791 -0
  4. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +303 -0
  5. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +540 -0
  6. data/lib/aws/api_config/EC2-2011-12-15.yml +3638 -0
  7. data/lib/aws/api_config/EC2-2012-04-01.yml +3739 -0
  8. data/lib/aws/api_config/ELB-2011-08-15.yml +512 -0
  9. data/lib/aws/api_config/IAM-2010-05-08.yml +1221 -0
  10. data/lib/aws/api_config/SNS-2010-03-31.yml +248 -0
  11. data/lib/aws/api_config/SQS-2011-10-01.yml +314 -0
  12. data/lib/aws/api_config/STS-2011-06-15.yml +54 -0
  13. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +305 -0
  14. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +231 -0
  15. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +721 -0
  16. data/lib/aws/auto_scaling.rb +162 -0
  17. data/lib/aws/auto_scaling/activity.rb +102 -0
  18. data/lib/aws/auto_scaling/activity_collection.rb +82 -0
  19. data/lib/aws/auto_scaling/client.rb +765 -0
  20. data/lib/aws/auto_scaling/config.rb +18 -0
  21. data/lib/aws/auto_scaling/errors.rb +22 -0
  22. data/lib/aws/auto_scaling/group.rb +420 -0
  23. data/lib/aws/auto_scaling/group_collection.rb +96 -0
  24. data/lib/aws/auto_scaling/group_options.rb +146 -0
  25. data/lib/aws/auto_scaling/instance.rb +192 -0
  26. data/lib/aws/auto_scaling/instance_collection.rb +63 -0
  27. data/lib/aws/auto_scaling/launch_configuration.rb +150 -0
  28. data/lib/aws/auto_scaling/launch_configuration_collection.rb +144 -0
  29. data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
  30. data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
  31. data/lib/aws/auto_scaling/request.rb +23 -0
  32. data/lib/aws/auto_scaling/scaling_policy.rb +125 -0
  33. data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
  34. data/lib/aws/auto_scaling/scaling_policy_options.rb +61 -0
  35. data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
  36. data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
  37. data/lib/aws/auto_scaling/tag.rb +59 -0
  38. data/lib/aws/auto_scaling/tag_collection.rb +112 -0
  39. data/lib/aws/cloud_formation.rb +270 -0
  40. data/lib/aws/cloud_formation/client.rb +339 -0
  41. data/lib/aws/cloud_formation/config.rb +18 -0
  42. data/lib/aws/cloud_formation/errors.rb +22 -0
  43. data/lib/aws/cloud_formation/request.rb +29 -0
  44. data/lib/aws/cloud_formation/stack.rb +256 -0
  45. data/lib/aws/cloud_formation/stack_collection.rb +206 -0
  46. data/lib/aws/cloud_formation/stack_event.rb +75 -0
  47. data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
  48. data/lib/aws/cloud_formation/stack_options.rb +72 -0
  49. data/lib/aws/cloud_formation/stack_output.rb +53 -0
  50. data/lib/aws/cloud_formation/stack_resource.rb +117 -0
  51. data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
  52. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +72 -0
  53. data/lib/aws/cloud_formation/stack_summary.rb +71 -0
  54. data/lib/aws/cloud_formation/stack_summary_collection.rb +127 -0
  55. data/lib/aws/core.rb +474 -0
  56. data/lib/aws/core/async_handle.rb +90 -0
  57. data/lib/aws/core/autoloader.rb +64 -0
  58. data/lib/aws/core/cacheable.rb +78 -0
  59. data/lib/aws/core/client.rb +541 -0
  60. data/lib/aws/core/client/query_json.rb +110 -0
  61. data/lib/aws/core/client/query_xml.rb +122 -0
  62. data/lib/aws/core/collection.rb +234 -0
  63. data/lib/aws/core/collection/limitable.rb +99 -0
  64. data/lib/aws/core/collection/simple.rb +90 -0
  65. data/lib/aws/core/configuration.rb +445 -0
  66. data/lib/aws/core/data.rb +242 -0
  67. data/lib/aws/core/default_signer.rb +67 -0
  68. data/lib/aws/core/http/curb_handler.rb +136 -0
  69. data/lib/aws/core/http/handler.rb +77 -0
  70. data/lib/aws/core/http/httparty_handler.rb +114 -0
  71. data/lib/aws/core/http/net_http_handler.rb +85 -0
  72. data/lib/aws/core/http/request.rb +250 -0
  73. data/lib/aws/core/http/response.rb +74 -0
  74. data/lib/aws/core/indifferent_hash.rb +88 -0
  75. data/lib/aws/core/inflection.rb +47 -0
  76. data/lib/aws/core/lazy_error_classes.rb +90 -0
  77. data/lib/aws/core/log_formatter.rb +454 -0
  78. data/lib/aws/core/meta_utils.rb +45 -0
  79. data/lib/aws/core/model.rb +57 -0
  80. data/lib/aws/core/naming.rb +30 -0
  81. data/lib/aws/core/option_grammar.rb +700 -0
  82. data/lib/aws/core/page_result.rb +73 -0
  83. data/lib/aws/core/policy.rb +916 -0
  84. data/lib/aws/core/resource.rb +408 -0
  85. data/lib/aws/core/resource_cache.rb +40 -0
  86. data/lib/aws/core/response.rb +202 -0
  87. data/lib/aws/core/response_cache.rb +50 -0
  88. data/lib/aws/core/service_interface.rb +61 -0
  89. data/lib/aws/core/session_signer.rb +90 -0
  90. data/lib/aws/core/signature/version_2.rb +42 -0
  91. data/lib/aws/core/signature/version_3.rb +73 -0
  92. data/lib/aws/core/signature/version_3_http.rb +72 -0
  93. data/lib/aws/core/signature/version_4.rb +138 -0
  94. data/lib/aws/core/uri_escape.rb +42 -0
  95. data/lib/aws/core/xml/frame.rb +242 -0
  96. data/lib/aws/core/xml/frame_stack.rb +85 -0
  97. data/lib/aws/core/xml/grammar.rb +299 -0
  98. data/lib/aws/core/xml/parser.rb +70 -0
  99. data/lib/aws/core/xml/root_frame.rb +65 -0
  100. data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
  101. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
  102. data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
  103. data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
  104. data/lib/aws/core/xml/stub.rb +123 -0
  105. data/lib/aws/dynamo_db.rb +213 -0
  106. data/lib/aws/dynamo_db/attribute_collection.rb +460 -0
  107. data/lib/aws/dynamo_db/batch_get.rb +206 -0
  108. data/lib/aws/dynamo_db/batch_write.rb +251 -0
  109. data/lib/aws/dynamo_db/client.rb +888 -0
  110. data/lib/aws/dynamo_db/config.rb +20 -0
  111. data/lib/aws/dynamo_db/errors.rb +20 -0
  112. data/lib/aws/dynamo_db/expectations.rb +40 -0
  113. data/lib/aws/dynamo_db/item.rb +130 -0
  114. data/lib/aws/dynamo_db/item_collection.rb +852 -0
  115. data/lib/aws/dynamo_db/item_data.rb +31 -0
  116. data/lib/aws/dynamo_db/keys.rb +41 -0
  117. data/lib/aws/dynamo_db/primary_key_element.rb +47 -0
  118. data/lib/aws/dynamo_db/request.rb +28 -0
  119. data/lib/aws/dynamo_db/resource.rb +33 -0
  120. data/lib/aws/dynamo_db/table.rb +489 -0
  121. data/lib/aws/dynamo_db/table_collection.rb +165 -0
  122. data/lib/aws/dynamo_db/types.rb +86 -0
  123. data/lib/aws/ec2.rb +431 -0
  124. data/lib/aws/ec2/attachment.rb +140 -0
  125. data/lib/aws/ec2/attachment_collection.rb +54 -0
  126. data/lib/aws/ec2/availability_zone.rb +87 -0
  127. data/lib/aws/ec2/availability_zone_collection.rb +43 -0
  128. data/lib/aws/ec2/block_device_mappings.rb +53 -0
  129. data/lib/aws/ec2/client.rb +4121 -0
  130. data/lib/aws/ec2/collection.rb +36 -0
  131. data/lib/aws/ec2/config.rb +18 -0
  132. data/lib/aws/ec2/config_transform.rb +63 -0
  133. data/lib/aws/ec2/customer_gateway.rb +90 -0
  134. data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
  135. data/lib/aws/ec2/dhcp_options.rb +106 -0
  136. data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
  137. data/lib/aws/ec2/elastic_ip.rb +157 -0
  138. data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
  139. data/lib/aws/ec2/errors.rb +32 -0
  140. data/lib/aws/ec2/filtered_collection.rb +90 -0
  141. data/lib/aws/ec2/has_permissions.rb +44 -0
  142. data/lib/aws/ec2/image.rb +254 -0
  143. data/lib/aws/ec2/image_collection.rb +228 -0
  144. data/lib/aws/ec2/instance.rb +669 -0
  145. data/lib/aws/ec2/instance_collection.rb +346 -0
  146. data/lib/aws/ec2/internet_gateway.rb +122 -0
  147. data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
  148. data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
  149. data/lib/aws/ec2/key_pair.rb +82 -0
  150. data/lib/aws/ec2/key_pair_collection.rb +99 -0
  151. data/lib/aws/ec2/network_acl.rb +256 -0
  152. data/lib/aws/ec2/network_acl/association.rb +56 -0
  153. data/lib/aws/ec2/network_acl/entry.rb +147 -0
  154. data/lib/aws/ec2/network_acl_collection.rb +64 -0
  155. data/lib/aws/ec2/network_interface.rb +228 -0
  156. data/lib/aws/ec2/network_interface/attachment.rb +100 -0
  157. data/lib/aws/ec2/network_interface_collection.rb +103 -0
  158. data/lib/aws/ec2/permission_collection.rb +174 -0
  159. data/lib/aws/ec2/region.rb +97 -0
  160. data/lib/aws/ec2/region_collection.rb +51 -0
  161. data/lib/aws/ec2/request.rb +22 -0
  162. data/lib/aws/ec2/reserved_instances.rb +53 -0
  163. data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
  164. data/lib/aws/ec2/reserved_instances_offering.rb +58 -0
  165. data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
  166. data/lib/aws/ec2/resource.rb +161 -0
  167. data/lib/aws/ec2/resource_tag_collection.rb +211 -0
  168. data/lib/aws/ec2/route_table.rb +205 -0
  169. data/lib/aws/ec2/route_table/association.rb +119 -0
  170. data/lib/aws/ec2/route_table/route.rb +113 -0
  171. data/lib/aws/ec2/route_table_collection.rb +72 -0
  172. data/lib/aws/ec2/security_group.rb +458 -0
  173. data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +63 -0
  174. data/lib/aws/ec2/security_group/ingress_ip_permission_collection.rb +61 -0
  175. data/lib/aws/ec2/security_group/ip_permission.rb +128 -0
  176. data/lib/aws/ec2/security_group_collection.rb +135 -0
  177. data/lib/aws/ec2/snapshot.rb +143 -0
  178. data/lib/aws/ec2/snapshot_collection.rb +131 -0
  179. data/lib/aws/ec2/subnet.rb +161 -0
  180. data/lib/aws/ec2/subnet_collection.rb +115 -0
  181. data/lib/aws/ec2/tag.rb +81 -0
  182. data/lib/aws/ec2/tag_collection.rb +107 -0
  183. data/lib/aws/ec2/tagged_collection.rb +53 -0
  184. data/lib/aws/ec2/tagged_item.rb +85 -0
  185. data/lib/aws/ec2/volume.rb +170 -0
  186. data/lib/aws/ec2/volume_collection.rb +97 -0
  187. data/lib/aws/ec2/vpc.rb +166 -0
  188. data/lib/aws/ec2/vpc_collection.rb +70 -0
  189. data/lib/aws/ec2/vpn_connection.rb +99 -0
  190. data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
  191. data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
  192. data/lib/aws/ec2/vpn_gateway.rb +123 -0
  193. data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
  194. data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
  195. data/lib/aws/elb.rb +65 -0
  196. data/lib/aws/elb/availability_zone_collection.rb +138 -0
  197. data/lib/aws/elb/backend_server_policy_collection.rb +140 -0
  198. data/lib/aws/elb/client.rb +539 -0
  199. data/lib/aws/elb/config.rb +18 -0
  200. data/lib/aws/elb/errors.rb +26 -0
  201. data/lib/aws/elb/instance_collection.rb +174 -0
  202. data/lib/aws/elb/listener.rb +189 -0
  203. data/lib/aws/elb/listener_collection.rb +119 -0
  204. data/lib/aws/elb/listener_opts.rb +45 -0
  205. data/lib/aws/elb/load_balancer.rb +253 -0
  206. data/lib/aws/elb/load_balancer_collection.rb +113 -0
  207. data/lib/aws/elb/load_balancer_policy.rb +93 -0
  208. data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
  209. data/lib/aws/elb/request.rb +23 -0
  210. data/lib/aws/errors.rb +122 -0
  211. data/lib/aws/iam.rb +418 -0
  212. data/lib/aws/iam/access_key.rb +180 -0
  213. data/lib/aws/iam/access_key_collection.rb +128 -0
  214. data/lib/aws/iam/account_alias_collection.rb +79 -0
  215. data/lib/aws/iam/client.rb +1609 -0
  216. data/lib/aws/iam/collection.rb +83 -0
  217. data/lib/aws/iam/config.rb +18 -0
  218. data/lib/aws/iam/errors.rb +22 -0
  219. data/lib/aws/iam/group.rb +111 -0
  220. data/lib/aws/iam/group_collection.rb +132 -0
  221. data/lib/aws/iam/group_policy_collection.rb +47 -0
  222. data/lib/aws/iam/group_user_collection.rb +84 -0
  223. data/lib/aws/iam/login_profile.rb +99 -0
  224. data/lib/aws/iam/mfa_device.rb +52 -0
  225. data/lib/aws/iam/mfa_device_collection.rb +127 -0
  226. data/lib/aws/iam/policy.rb +46 -0
  227. data/lib/aws/iam/policy_collection.rb +188 -0
  228. data/lib/aws/iam/request.rb +29 -0
  229. data/lib/aws/iam/resource.rb +71 -0
  230. data/lib/aws/iam/server_certificate.rb +141 -0
  231. data/lib/aws/iam/server_certificate_collection.rb +138 -0
  232. data/lib/aws/iam/signing_certificate.rb +169 -0
  233. data/lib/aws/iam/signing_certificate_collection.rb +131 -0
  234. data/lib/aws/iam/user.rb +205 -0
  235. data/lib/aws/iam/user_collection.rb +133 -0
  236. data/lib/aws/iam/user_group_collection.rb +98 -0
  237. data/lib/aws/iam/user_policy.rb +90 -0
  238. data/lib/aws/iam/user_policy_collection.rb +45 -0
  239. data/lib/aws/iam/virtual_mfa_device.rb +139 -0
  240. data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
  241. data/lib/aws/rails.rb +195 -0
  242. data/lib/aws/record.rb +116 -0
  243. data/lib/aws/record/abstract_base.rb +645 -0
  244. data/lib/aws/record/attributes.rb +384 -0
  245. data/lib/aws/record/conversion.rb +38 -0
  246. data/lib/aws/record/dirty_tracking.rb +285 -0
  247. data/lib/aws/record/errors.rb +143 -0
  248. data/lib/aws/record/exceptions.rb +48 -0
  249. data/lib/aws/record/hash_model.rb +161 -0
  250. data/lib/aws/record/hash_model/attributes.rb +182 -0
  251. data/lib/aws/record/hash_model/finder_methods.rb +172 -0
  252. data/lib/aws/record/hash_model/scope.rb +108 -0
  253. data/lib/aws/record/model.rb +427 -0
  254. data/lib/aws/record/model/attributes.rb +379 -0
  255. data/lib/aws/record/model/finder_methods.rb +232 -0
  256. data/lib/aws/record/model/scope.rb +213 -0
  257. data/lib/aws/record/naming.rb +31 -0
  258. data/lib/aws/record/scope.rb +199 -0
  259. data/lib/aws/record/validations.rb +694 -0
  260. data/lib/aws/record/validator.rb +237 -0
  261. data/lib/aws/record/validators/acceptance.rb +51 -0
  262. data/lib/aws/record/validators/block.rb +38 -0
  263. data/lib/aws/record/validators/confirmation.rb +43 -0
  264. data/lib/aws/record/validators/count.rb +108 -0
  265. data/lib/aws/record/validators/exclusion.rb +43 -0
  266. data/lib/aws/record/validators/format.rb +57 -0
  267. data/lib/aws/record/validators/inclusion.rb +56 -0
  268. data/lib/aws/record/validators/length.rb +107 -0
  269. data/lib/aws/record/validators/method.rb +33 -0
  270. data/lib/aws/record/validators/numericality.rb +138 -0
  271. data/lib/aws/record/validators/presence.rb +45 -0
  272. data/lib/aws/s3.rb +135 -0
  273. data/lib/aws/s3/access_control_list.rb +250 -0
  274. data/lib/aws/s3/acl_object.rb +264 -0
  275. data/lib/aws/s3/bucket.rb +393 -0
  276. data/lib/aws/s3/bucket_collection.rb +143 -0
  277. data/lib/aws/s3/bucket_lifecycle_configuration.rb +360 -0
  278. data/lib/aws/s3/bucket_version_collection.rb +77 -0
  279. data/lib/aws/s3/client.rb +1184 -0
  280. data/lib/aws/s3/client/xml.rb +177 -0
  281. data/lib/aws/s3/config.rb +26 -0
  282. data/lib/aws/s3/data_options.rb +100 -0
  283. data/lib/aws/s3/errors.rb +81 -0
  284. data/lib/aws/s3/multipart_upload.rb +317 -0
  285. data/lib/aws/s3/multipart_upload_collection.rb +68 -0
  286. data/lib/aws/s3/object_collection.rb +337 -0
  287. data/lib/aws/s3/object_metadata.rb +96 -0
  288. data/lib/aws/s3/object_upload_collection.rb +77 -0
  289. data/lib/aws/s3/object_version.rb +143 -0
  290. data/lib/aws/s3/object_version_collection.rb +89 -0
  291. data/lib/aws/s3/paginated_collection.rb +75 -0
  292. data/lib/aws/s3/policy.rb +74 -0
  293. data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
  294. data/lib/aws/s3/prefixed_collection.rb +81 -0
  295. data/lib/aws/s3/presigned_post.rb +553 -0
  296. data/lib/aws/s3/request.rb +201 -0
  297. data/lib/aws/s3/s3_object.rb +1037 -0
  298. data/lib/aws/s3/tree.rb +118 -0
  299. data/lib/aws/s3/tree/branch_node.rb +68 -0
  300. data/lib/aws/s3/tree/child_collection.rb +104 -0
  301. data/lib/aws/s3/tree/leaf_node.rb +94 -0
  302. data/lib/aws/s3/tree/node.rb +22 -0
  303. data/lib/aws/s3/tree/parent.rb +87 -0
  304. data/lib/aws/s3/uploaded_part.rb +80 -0
  305. data/lib/aws/s3/uploaded_part_collection.rb +84 -0
  306. data/lib/aws/simple_db.rb +217 -0
  307. data/lib/aws/simple_db/attribute.rb +154 -0
  308. data/lib/aws/simple_db/attribute_collection.rb +231 -0
  309. data/lib/aws/simple_db/client.rb +349 -0
  310. data/lib/aws/simple_db/config.rb +20 -0
  311. data/lib/aws/simple_db/consistent_read_option.rb +42 -0
  312. data/lib/aws/simple_db/delete_attributes.rb +62 -0
  313. data/lib/aws/simple_db/domain.rb +121 -0
  314. data/lib/aws/simple_db/domain_collection.rb +113 -0
  315. data/lib/aws/simple_db/domain_metadata.rb +110 -0
  316. data/lib/aws/simple_db/errors.rb +55 -0
  317. data/lib/aws/simple_db/expect_condition_option.rb +45 -0
  318. data/lib/aws/simple_db/item.rb +93 -0
  319. data/lib/aws/simple_db/item_collection.rb +649 -0
  320. data/lib/aws/simple_db/item_data.rb +73 -0
  321. data/lib/aws/simple_db/put_attributes.rb +60 -0
  322. data/lib/aws/simple_db/request.rb +23 -0
  323. data/lib/aws/simple_email_service.rb +426 -0
  324. data/lib/aws/simple_email_service/client.rb +286 -0
  325. data/lib/aws/simple_email_service/config.rb +19 -0
  326. data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
  327. data/lib/aws/simple_email_service/errors.rb +22 -0
  328. data/lib/aws/simple_email_service/identity.rb +91 -0
  329. data/lib/aws/simple_email_service/identity_collection.rb +81 -0
  330. data/lib/aws/simple_email_service/quotas.rb +64 -0
  331. data/lib/aws/simple_email_service/request.rb +29 -0
  332. data/lib/aws/simple_workflow.rb +226 -0
  333. data/lib/aws/simple_workflow/activity_task.rb +173 -0
  334. data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
  335. data/lib/aws/simple_workflow/activity_type.rb +131 -0
  336. data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
  337. data/lib/aws/simple_workflow/client.rb +1434 -0
  338. data/lib/aws/simple_workflow/config.rb +18 -0
  339. data/lib/aws/simple_workflow/count.rb +49 -0
  340. data/lib/aws/simple_workflow/decision_task.rb +601 -0
  341. data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
  342. data/lib/aws/simple_workflow/domain.rb +122 -0
  343. data/lib/aws/simple_workflow/domain_collection.rb +169 -0
  344. data/lib/aws/simple_workflow/errors.rb +20 -0
  345. data/lib/aws/simple_workflow/history_event.rb +276 -0
  346. data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
  347. data/lib/aws/simple_workflow/option_formatters.rb +82 -0
  348. data/lib/aws/simple_workflow/request.rb +36 -0
  349. data/lib/aws/simple_workflow/resource.rb +94 -0
  350. data/lib/aws/simple_workflow/type.rb +89 -0
  351. data/lib/aws/simple_workflow/type_collection.rb +140 -0
  352. data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
  353. data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
  354. data/lib/aws/simple_workflow/workflow_type.rb +177 -0
  355. data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
  356. data/lib/aws/sns.rb +74 -0
  357. data/lib/aws/sns/client.rb +371 -0
  358. data/lib/aws/sns/config.rb +18 -0
  359. data/lib/aws/sns/errors.rb +22 -0
  360. data/lib/aws/sns/has_delivery_policy.rb +68 -0
  361. data/lib/aws/sns/policy.rb +47 -0
  362. data/lib/aws/sns/request.rb +23 -0
  363. data/lib/aws/sns/subscription.rb +144 -0
  364. data/lib/aws/sns/subscription_collection.rb +80 -0
  365. data/lib/aws/sns/topic.rb +403 -0
  366. data/lib/aws/sns/topic_collection.rb +67 -0
  367. data/lib/aws/sns/topic_subscription_collection.rb +55 -0
  368. data/lib/aws/sqs.rb +79 -0
  369. data/lib/aws/sqs/client.rb +360 -0
  370. data/lib/aws/sqs/config.rb +18 -0
  371. data/lib/aws/sqs/errors.rb +101 -0
  372. data/lib/aws/sqs/policy.rb +48 -0
  373. data/lib/aws/sqs/queue.rb +725 -0
  374. data/lib/aws/sqs/queue_collection.rb +170 -0
  375. data/lib/aws/sqs/received_message.rb +181 -0
  376. data/lib/aws/sqs/received_sns_message.rb +112 -0
  377. data/lib/aws/sqs/request.rb +43 -0
  378. data/lib/aws/sts.rb +152 -0
  379. data/lib/aws/sts/client.rb +105 -0
  380. data/lib/aws/sts/config.rb +18 -0
  381. data/lib/aws/sts/errors.rb +22 -0
  382. data/lib/aws/sts/federated_session.rb +56 -0
  383. data/lib/aws/sts/policy.rb +30 -0
  384. data/lib/aws/sts/request.rb +29 -0
  385. data/lib/aws/sts/session.rb +48 -0
  386. data/lib/net/http/connection_pool.rb +210 -0
  387. data/lib/net/http/connection_pool/connection.rb +132 -0
  388. data/lib/net/http/connection_pool/session.rb +93 -0
  389. data/lib/user.rb +49 -0
  390. metadata +433 -0
@@ -0,0 +1,99 @@
1
+ # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ module Core
16
+ module Collection
17
+
18
+ # AWS::Core::Collection::Limitable is used by collections that
19
+ # may truncate responses but that also accept a upper limit of
20
+ # results to return in a single request.
21
+ #
22
+ # See {AWS::Core::Collection} for documentation on the available
23
+ # methods.
24
+ module Limitable
25
+
26
+ include Model
27
+ include Collection
28
+ include Enumerable
29
+
30
+ def each_batch options = {}, &block
31
+
32
+ each_opts = options.dup
33
+
34
+ ## limit and batch size should accept string values like '10'
35
+
36
+ limit = each_opts.delete(:limit) || _limit
37
+ limit = limit.to_i if limit
38
+
39
+ batch_size = each_opts.delete(:batch_size)
40
+ batch_size = batch_size.to_i if batch_size
41
+
42
+ next_token = each_opts.delete(:next_token)
43
+
44
+ total = 0 # count of items yeilded across all batches
45
+
46
+ begin
47
+
48
+ max = nil
49
+ if limit or batch_size
50
+ max = []
51
+ max << (limit - total) if limit
52
+ max << batch_size if batch_size
53
+ max = max.min
54
+ end
55
+
56
+ batch = []
57
+ next_token = _each_item(next_token, max, each_opts.dup) do |item|
58
+
59
+ total += 1
60
+ batch << item
61
+
62
+ end
63
+
64
+ yield(batch)
65
+
66
+ end until next_token.nil? or (limit and limit == total)
67
+
68
+ next_token
69
+
70
+ end
71
+
72
+ protected
73
+ def _each_item next_token, limit, options = {}, &block
74
+ raise NotImplementedError
75
+ end
76
+
77
+ # This method should be overriden in collection classes
78
+ # when there is another method to provide a "limit" besides
79
+ # as an option to the enumerable methods.
80
+ #
81
+ # SimpleDB::ItemCollection (for example) allows setting the limit
82
+ # in a method chain, e.g.
83
+ #
84
+ # collection.limit(10).each {|item| ... }
85
+ #
86
+ # These collection classes can simply override #_limit and return
87
+ # their prefered limit. This is only called in the abscense of
88
+ # the +:limit+ option.
89
+ #
90
+ # @private
91
+ protected
92
+ def _limit
93
+ nil
94
+ end
95
+
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,90 @@
1
+ # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ module AWS
15
+ module Core
16
+ module Collection
17
+
18
+ # AWS::Core::Collection::Simple is used by collections that always
19
+ # recieve every matching items in a single response.
20
+ #
21
+ # This means:
22
+ #
23
+ # * Paging methods are simulated
24
+ #
25
+ # * Next tokens are artificial (guessable numeric offsets)
26
+ #
27
+ # AWS services generally return all items only for requests with a
28
+ # small maximum number of results.
29
+ #
30
+ # See {AWS::Core::Collection} for documentation on the available
31
+ # collection methods.
32
+ module Simple
33
+
34
+ include Model
35
+ include Enumerable
36
+ include Collection
37
+
38
+ # (see AWS::Core::Collection#each_batch)
39
+ def each_batch options = {}, &block
40
+
41
+ each_opts = options.dup
42
+ limit = each_opts.delete(:limit)
43
+ limit = limit.to_i if limit
44
+ next_token = each_opts.delete(:next_token)
45
+ offset = next_token ? next_token.to_i - 1 : 0
46
+ total = 0
47
+
48
+ nil_or_next_token = nil
49
+
50
+ batch = []
51
+ _each_item(each_opts.dup) do |item|
52
+
53
+ total += 1
54
+
55
+ # skip until we reach our offset (derived from the "next token")
56
+ next if total <= offset
57
+
58
+ if limit
59
+
60
+ if batch.size < limit
61
+ batch << item
62
+ else
63
+ # allow _each_item to yield one more item than needed
64
+ # so we can determine if we should return a "next token"
65
+ nil_or_next_token = total
66
+ break
67
+ end
68
+
69
+ else
70
+ batch << item
71
+ end
72
+
73
+ end
74
+
75
+ yield(batch)
76
+
77
+ nil_or_next_token
78
+
79
+ end
80
+
81
+ protected
82
+ def _each_item options = {}, &block
83
+ raise NotImplementedError
84
+ end
85
+
86
+ end
87
+
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,445 @@
1
+ # Copyright 2011-2012 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License"). You
4
+ # may not use this file except in compliance with the License. A copy of
5
+ # the License is located at
6
+ #
7
+ # http://aws.amazon.com/apache2.0/
8
+ #
9
+ # or in the "license" file accompanying this file. This file is
10
+ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11
+ # ANY KIND, either express or implied. See the License for the specific
12
+ # language governing permissions and limitations under the License.
13
+
14
+ require 'set'
15
+ require 'uri'
16
+
17
+ module AWS
18
+ module Core
19
+
20
+ # A configuration object for AWS interfaces and clients.
21
+ #
22
+ # == Configuring Credential
23
+ #
24
+ # In order to do anything with AWS you will need to assign credentials.
25
+ # The simplest method is to assing your credentials into the default
26
+ # configuration:
27
+ #
28
+ # AWS.config(:access_key_id => 'KEY', :secret_access_key => 'SECRET')
29
+ #
30
+ # You can also export them into your environment and they will be picked up
31
+ # automatically:
32
+ #
33
+ # export AWS_ACCESS_KEY_ID='YOUR_KEY_ID_HERE'
34
+ # export AWS_SECRET_ACCESS_KEY='YOUR_SECRET_KEY_HERE'
35
+ #
36
+ # For compatability with other AWS gems, the credentials can also be
37
+ # exported like:
38
+ #
39
+ # export AMAZON_ACCESS_KEY_ID='YOUR_KEY_ID_HERE'
40
+ # export AMAZON_SECRET_ACCESS_KEY='YOUR_SECRET_KEY_HERE'
41
+ #
42
+ # == Modifying a Configuration
43
+ #
44
+ # Configuration objects are read-only. If you need a different set of
45
+ # configuration values, call {#with}, passing in the updates
46
+ # and a new configuration object will be returned.
47
+ #
48
+ # config = Configuration.new(:max_retires => 3)
49
+ # new_config = config.with(:max_retries => 2)
50
+ #
51
+ # config.max_retries #=> 3
52
+ # new_config.max_retries #=> 2
53
+ #
54
+ # == Global Configuration
55
+ #
56
+ # The global default configuration can be found at {AWS.config}
57
+ #
58
+ # @attr_reader [String,nil] access_key_id (nil)
59
+ # AWS access key id credential.
60
+ #
61
+ # @attr_reader [String,nil] secret_access_key (nil)
62
+ # AWS secret access key credential.
63
+ #
64
+ # @attr_reader [String,nil] session_token (nil) AWS secret token credential.
65
+ #
66
+ # @attr_reader [String] auto_scaling_endpoint ('autoscaling.us-east-1.amazonaws.com')
67
+ # The service endpoint for Auto Scaling.
68
+ #
69
+ # @attr_reader [String] cloud_formation_endpoint ('cloudformation.us-east-1.amazonaws.com')
70
+ # The service endpoint for AWS CloudFormation.
71
+ #
72
+ # @attr_reader [String] dynamo_db_endpoint ('dynamodb.us-east-1.amazonaws.com')
73
+ # The service endpoint for Amazon DynamoDB.
74
+ #
75
+ # @attr_reader [String] dynamo_db_retry_throughput_errors (true) When
76
+ # true, AWS::DynamoDB::Errors::ProvisionedThroughputExceededException
77
+ # errors will be retried.
78
+ #
79
+ # @attr_reader [String] ec2_endpoint ('ec2.amazonaws.com')
80
+ # The service endpoint for Amazon EC2.
81
+ #
82
+ # @attr_reader [String] elb_endpoint ('elasticloadbalancing.us-east-1.amazonaws.com')
83
+ # The service endpoint for Elastic Load Balancing.
84
+ #
85
+ # @attr_reader [Object] http_handler The http handler that sends requests
86
+ # to AWS. Defaults to an HTTP handler built on net/http.
87
+ #
88
+ # @attr_reader [String] iam_endpoint ('iam.amazonaws.com')
89
+ # The service endpoint for AWS Idenity Access Management (IAM).
90
+ #
91
+ # @attr_reader [Logger,nil] logger (nil) The logging interface.
92
+ #
93
+ # @attr_reader [Symbol] log_level (:info) The log level.
94
+ #
95
+ # @attr_reader [LogFormatter] log_formatter The log message formatter.
96
+ #
97
+ # @attr_reader [Integer] max_retries (3) The maximum number of times
98
+ # service errors (500) should be retried. There is an exponential
99
+ # backoff in between service request retries, so the more retries the
100
+ # longer it can take to fail.
101
+ #
102
+ # @attr_reader [String, URI, nil] proxy_uri (nil) The URI of the proxy
103
+ # to send service requests through. You can pass a URI object or a
104
+ # URI string. Defautls to +nil+.
105
+ #
106
+ # AWS.config(:proxy_uri => 'https://user:pass@my.proxy:443')
107
+ #
108
+ # @attr_reader [String] s3_endpoint ('s3.amazonaws.com')
109
+ # The service endpoint for Amazon S3.
110
+ #
111
+ # @attr_reader [Integer] s3_multipart_max_parts (1000)
112
+ # The maximum number of parts to split a file into when uploading
113
+ # in parts to S3.
114
+ #
115
+ # @attr_reader [Integer] s3_multipart_threshold (16777216) When uploading
116
+ # data to S3, if the number of bytes to send exceedes
117
+ # +:s3_multipart_threshold+ then a multi part session is automatically
118
+ # started and the data is sent up in chunks. The size of each part
119
+ # is specified by +:s3_multipart_min_part_size+. Defaults to
120
+ # 16777216 (16MB).
121
+ #
122
+ # @attr_reader [Integer] s3_multipart_min_part_size (5242880)
123
+ # The absolute minimum size (in bytes) each S3 multipart
124
+ # segment should be defaults to 5242880 (5MB).
125
+ #
126
+ # @attr_reader [Symbol] s3_server_side_encryption The algorithm to
127
+ # use when encrypting object data on the server side. The only
128
+ # valid value is +:aes256+, which specifies that the object
129
+ # should be stored using the AES encryption algorithm with 256
130
+ # bit keys. Defaults to +nil+, meaning server side encryption
131
+ # is not used unless specified on each individual call to upload
132
+ # an object. This option controls the default behavior for the
133
+ # following method:
134
+ #
135
+ # * {S3::S3Object#write}
136
+ # * {S3::S3Object#multipart_upload}
137
+ # * {S3::S3Object#copy_from} and {S3::S3Object#copy_to}
138
+ # * {S3::S3Object#presigned_post}
139
+ # * {S3::Bucket#presigned_post}
140
+ #
141
+ # You can construct an interface to Amazon S3 which always
142
+ # stores data using server side encryption as follows:
143
+ #
144
+ # s3 = AWS::S3.new(:s3_server_side_encryption => :aes256)
145
+ #
146
+ # @attr_reader [String] simple_db_endpoint ('sdb.amazonaws.com')
147
+ # The service endpoint for Amazon SimpleDB.
148
+ #
149
+ # @attr_reader [Boolean] simple_db_consistent_reads (false) Determines
150
+ # if all SimpleDB read requests should be done consistently.
151
+ # Consistent reads are slower, but reflect all changes to SDB.
152
+ #
153
+ # @attr_reader [String] simple_email_service_endpoint ('email.us-east-1.amazonaws.com')
154
+ # The service endpoint for Amazon Simple Email Service.
155
+ #
156
+ # @attr_reader [String] simple_workflow_endpoint ('swf.us-east-1.amazonaws.com')
157
+ # The service endpoint for Amazon Simple Workflow Service.
158
+ #
159
+ # @attr_reader [Object] signer
160
+ # The request signer. Defaults to a default request signer implementation.
161
+ #
162
+ # @attr_reader [String] ssl_ca_file The path to a CA cert bundle in
163
+ # PEM format.
164
+ #
165
+ # If +ssl_verify_peer+ is true (the default) this bundle will be
166
+ # used to validate the server certificate in each HTTPS request.
167
+ # The AWS SDK for Ruby ships with a CA cert bundle, which is the
168
+ # default value for this option.
169
+ #
170
+ # @attr_reader [String] ssl_ca_path (nil)
171
+ # The path the a CA cert directory.
172
+ #
173
+ # @attr_reader [Boolean] ssl_verify_peer (true) When +true+
174
+ # the HTTP handler validate server certificates for HTTPS requests.
175
+ #
176
+ # This option should only be disabled for diagnostic purposes;
177
+ # leaving this option set to +false+ exposes your application to
178
+ # man-in-the-middle attacks and can pose a serious security
179
+ # risk.
180
+ #
181
+ # @attr_reader [Boolean] stub_requests (false) When +true+ requests are not
182
+ # sent to AWS, instead empty reponses are generated and returned to
183
+ # each service request.
184
+ #
185
+ # @attr_reader [String] sns_endpoint ('sns.us-east-1.amazonaws.com')
186
+ # The service endpoint for Amazon SNS.
187
+ #
188
+ # @attr_reader [String] sqs_endpoint ('sqs.us-east-1.amazonaws.com')
189
+ # The service endpoint for Amazon SQS.
190
+ #
191
+ # @attr_reader [String] sts_endpoint ('sts.amazonaws.com')
192
+ # The service endpoint for AWS Security Token Service.
193
+ #
194
+ # @attr_reader [Boolean] use_ssl (true) When +true+, all requests
195
+ # to AWS are sent using HTTPS instead vanilla HTTP.
196
+ #
197
+ # @attr_reader [String] user_agent_prefix (nil) A string prefix to
198
+ # append to all requets against AWS services. This should be set
199
+ # for clients and applications built ontop of the aws-sdk gem.
200
+ #
201
+ class Configuration
202
+
203
+ # Creates a new Configuration object.
204
+ # @param options (see AWS.config)
205
+ # @option options (see AWS.config)
206
+ def initialize options = {}
207
+
208
+ @created = options.delete(:__created__) || {}
209
+
210
+ options.each_pair do |opt_name, value|
211
+ opt_name = opt_name.to_sym
212
+ if self.class.accepted_options.include?(opt_name)
213
+ supplied[opt_name] = value
214
+ end
215
+ end
216
+
217
+ end
218
+
219
+ # @return [Hash] Returns a hash with your configured credentials.
220
+ def credentials
221
+ credentials = {}
222
+ credentials[:access_key_id] = access_key_id
223
+ credentials[:secret_access_key] = secret_access_key
224
+ credentials[:session_token] = session_token if session_token
225
+ credentials
226
+ end
227
+
228
+ # Used to create a new Configuration object with the given modifications.
229
+ # The current configuration object is not modified.
230
+ #
231
+ # AWS.config(:max_retries => 2)
232
+ #
233
+ # no_retries_config = AWS.config.with(:max_retries => 0)
234
+ #
235
+ # AWS.config.max_retries #=> 2
236
+ # no_retries_config.max_retries #=> 0
237
+ #
238
+ # You can use these configuration objects returned by #with to create
239
+ # AWS objects:
240
+ #
241
+ # AWS::S3.new(:config => no_retries_config)
242
+ # AWS::SQS.new(:config => no_retries_config)
243
+ #
244
+ # @param options (see AWS.config)
245
+ # @option options (see AWS.config)
246
+ # @return [Configuration] Copies the current configuration and returns
247
+ # a new one with modifications as provided in +:options+.
248
+ def with options = {}
249
+
250
+ # symbolize option keys
251
+ options = options.inject({}) {|h,kv| h[kv.first.to_sym] = kv.last; h }
252
+
253
+ values = supplied.merge(options)
254
+
255
+ if supplied == values
256
+ self # nothing changed
257
+ else
258
+ self.class.new(values.merge(:__created__ => @created.dup))
259
+ end
260
+
261
+ end
262
+
263
+ # @return [Hash] Returns a hash of all configuration values.
264
+ def to_h
265
+ self.class.accepted_options.inject({}) do |h,k|
266
+ h[k] = send(k)
267
+ h
268
+ end
269
+ end
270
+
271
+ # @return [Boolean] Returns true if the two configuration objects have
272
+ # the same values.
273
+ def == other
274
+ other.is_a?(self.class) and self.supplied == other.supplied
275
+ end
276
+
277
+ alias_method :eql, :==
278
+
279
+ # @private
280
+ def inspect
281
+ "<#{self.class.name}>"
282
+ end
283
+
284
+ protected
285
+ def supplied
286
+ @supplied ||= {}
287
+ end
288
+
289
+ class << self
290
+
291
+ # @private
292
+ def accepted_options
293
+ @options ||= Set.new
294
+ end
295
+
296
+ # @private
297
+ def add_option name, default_value = nil, options = {}, &transform
298
+
299
+ accepted_options << name
300
+
301
+ define_method(name) do |&default_override|
302
+
303
+ value =
304
+ if supplied.has_key?(name)
305
+ supplied[name]
306
+ elsif default_override
307
+ default_override.call
308
+ else
309
+ default_value
310
+ end
311
+
312
+ transform ? transform.call(self, value) : value
313
+
314
+ end
315
+
316
+ alias_method("#{name}?", name) if options[:boolean]
317
+
318
+ end
319
+
320
+ # Configuration options that have dependencies are re-recreated
321
+ # anytime one of their dependendent configuration values are
322
+ # changed.
323
+ # @private
324
+ def add_option_with_needs name, needs, &create_block
325
+
326
+ accepted_options << name
327
+
328
+ define_method(name) do
329
+
330
+ return supplied[name] if supplied.has_key?(name)
331
+
332
+ needed = needs.collect{|need| send(need) }
333
+
334
+ unless @created.key?(name) and @created[name][:needed] == needed
335
+ @created[name] = {}
336
+ @created[name][:object] = create_block.call(self)
337
+ @created[name][:needed] = needed
338
+ end
339
+
340
+ @created[name][:object]
341
+
342
+ end
343
+
344
+ end
345
+
346
+ def add_service name, ruby_name, default_endpoint
347
+
348
+ add_option :"#{ruby_name}_endpoint", default_endpoint
349
+
350
+ add_option(:"#{ruby_name}_port") do |config,value|
351
+ value || (config.use_ssl? ? 443 : 80)
352
+ end
353
+
354
+ # users only need to specify service regions when they use
355
+ # a test endpoint with a sigv4 service
356
+ add_option(:"#{ruby_name}_region") do |config,value|
357
+ value || begin
358
+ endpoint = config.send("#{ruby_name}_endpoint")
359
+ if endpoint =~ /us-gov/
360
+ if matches = endpoint.match(/(us-gov-west-\d+)/)
361
+ matches[1]
362
+ else
363
+ 'us-gov-west-1' # e.g. iam.us-gov.amazonaws.com
364
+ end
365
+ elsif matches = endpoint.match(/^.+\.(.+)\.amazonaws.com$/)
366
+ matches[1]
367
+ else
368
+ 'us-east-1'
369
+ end
370
+ end
371
+ end
372
+
373
+ needs = [
374
+ :signer,
375
+ :http_handler,
376
+ :"#{ruby_name}_endpoint",
377
+ :"#{ruby_name}_port",
378
+ :max_retries,
379
+ :stub_requests?,
380
+ :proxy_uri,
381
+ :use_ssl?,
382
+ :ssl_verify_peer?,
383
+ :ssl_ca_file,
384
+ :user_agent_prefix,
385
+ :logger,
386
+ :log_formatter,
387
+ :log_level,
388
+ ]
389
+
390
+ create_block = lambda do |config|
391
+ AWS.const_get(name)::Client.new(:config => config)
392
+ end
393
+
394
+ add_option_with_needs :"#{ruby_name}_client", needs, &create_block
395
+
396
+ end
397
+
398
+ end
399
+
400
+ add_option :access_key_id,
401
+ ENV['AWS_ACCESS_KEY_ID'] || ENV['AMAZON_ACCESS_KEY_ID']
402
+
403
+ add_option :secret_access_key,
404
+ ENV['AWS_SECRET_ACCESS_KEY'] || ENV['AMAZON_SECRET_ACCESS_KEY']
405
+
406
+ add_option :session_token
407
+
408
+ add_option :http_handler, Http::NetHttpHandler.new
409
+
410
+ add_option :logger
411
+
412
+ add_option :log_level, :info
413
+
414
+ add_option :log_formatter, LogFormatter.default
415
+
416
+ add_option :max_retries, 3
417
+
418
+ add_option :proxy_uri do |config,uri| uri ? URI.parse(uri.to_s) : nil end
419
+
420
+ add_option_with_needs :signer,
421
+ [:access_key_id, :secret_access_key, :session_token] do |config|
422
+
423
+ DefaultSigner.new(
424
+ config.access_key_id,
425
+ config.secret_access_key,
426
+ config.session_token)
427
+
428
+ end
429
+
430
+ add_option :ssl_verify_peer, true, :boolean => true
431
+
432
+ add_option :ssl_ca_file,
433
+ File.expand_path(File.dirname(__FILE__) + "/../../../ca-bundle.crt")
434
+
435
+ add_option :ssl_ca_path
436
+
437
+ add_option :stub_requests, false, :boolean => true
438
+
439
+ add_option :use_ssl, true, :boolean => true
440
+
441
+ add_option :user_agent_prefix
442
+
443
+ end
444
+ end
445
+ end