aws-sdk 1.51.0 → 1.52.0

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 (559) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk.rb +1 -15
  3. metadata +16 -584
  4. data/.yardopts +0 -7
  5. data/LICENSE.txt +0 -12
  6. data/README.md +0 -309
  7. data/bin/aws-rb +0 -179
  8. data/ca-bundle.crt +0 -3554
  9. data/endpoints.json +0 -1671
  10. data/lib/aws.rb +0 -14
  11. data/lib/aws/api_config/AutoScaling-2011-01-01.yml +0 -1070
  12. data/lib/aws/api_config/CloudFormation-2010-05-15.yml +0 -372
  13. data/lib/aws/api_config/CloudFront-2013-05-12.yml +0 -2448
  14. data/lib/aws/api_config/CloudFront-2013-08-26.yml +0 -2599
  15. data/lib/aws/api_config/CloudFront-2013-09-27.yml +0 -2765
  16. data/lib/aws/api_config/CloudFront-2013-11-11.yml +0 -2886
  17. data/lib/aws/api_config/CloudFront-2013-11-22.yml +0 -2918
  18. data/lib/aws/api_config/CloudFront-2014-01-31.yml +0 -2934
  19. data/lib/aws/api_config/CloudFront-2014-05-31.yml +0 -3100
  20. data/lib/aws/api_config/CloudSearch-2011-02-01.yml +0 -681
  21. data/lib/aws/api_config/CloudSearch-2013-01-01.yml +0 -1164
  22. data/lib/aws/api_config/CloudTrail-2013-11-01.yml +0 -130
  23. data/lib/aws/api_config/CloudWatch-2010-08-01.yml +0 -433
  24. data/lib/aws/api_config/DataPipeline-2012-10-29.yml +0 -422
  25. data/lib/aws/api_config/DirectConnect-2012-10-25.yml +0 -735
  26. data/lib/aws/api_config/DynamoDB-2011-12-05.yml +0 -1168
  27. data/lib/aws/api_config/DynamoDB-2012-08-10.yml +0 -2105
  28. data/lib/aws/api_config/EC2-2013-08-15.yml +0 -4708
  29. data/lib/aws/api_config/EC2-2013-10-01.yml +0 -4726
  30. data/lib/aws/api_config/EC2-2013-10-15.yml +0 -4651
  31. data/lib/aws/api_config/EC2-2014-02-01.yml +0 -4755
  32. data/lib/aws/api_config/EC2-2014-05-01.yml +0 -4812
  33. data/lib/aws/api_config/ELB-2012-06-01.yml +0 -766
  34. data/lib/aws/api_config/EMR-2009-03-31.yml +0 -972
  35. data/lib/aws/api_config/ElastiCache-2013-06-15.yml +0 -1188
  36. data/lib/aws/api_config/ElastiCache-2014-03-24.yml +0 -1375
  37. data/lib/aws/api_config/ElastiCache-2014-07-15.yml +0 -1385
  38. data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +0 -854
  39. data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +0 -3082
  40. data/lib/aws/api_config/Glacier-2012-06-01.yml +0 -649
  41. data/lib/aws/api_config/IAM-2010-05-08.yml +0 -1339
  42. data/lib/aws/api_config/ImportExport-2010-06-01.yml +0 -109
  43. data/lib/aws/api_config/Kinesis-2013-12-02.yml +0 -201
  44. data/lib/aws/api_config/OpsWorks-2013-02-18.yml +0 -2025
  45. data/lib/aws/api_config/RDS-2013-05-15.yml +0 -2464
  46. data/lib/aws/api_config/RDS-2013-09-09.yml +0 -2640
  47. data/lib/aws/api_config/Redshift-2012-12-01.yml +0 -2161
  48. data/lib/aws/api_config/Route53-2012-12-12.yml +0 -547
  49. data/lib/aws/api_config/Route53-2013-04-01.yml +0 -889
  50. data/lib/aws/api_config/SNS-2010-03-31.yml +0 -448
  51. data/lib/aws/api_config/SQS-2012-11-05.yml +0 -404
  52. data/lib/aws/api_config/STS-2011-06-15.yml +0 -151
  53. data/lib/aws/api_config/SimpleDB-2009-04-15.yml +0 -306
  54. data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +0 -346
  55. data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +0 -2388
  56. data/lib/aws/api_config/StorageGateway-2012-06-30.yml +0 -748
  57. data/lib/aws/api_config/StorageGateway-2013-06-30.yml +0 -1025
  58. data/lib/aws/api_config/Support-2013-04-15.yml +0 -489
  59. data/lib/aws/auto_scaling.rb +0 -163
  60. data/lib/aws/auto_scaling/activity.rb +0 -102
  61. data/lib/aws/auto_scaling/activity_collection.rb +0 -81
  62. data/lib/aws/auto_scaling/client.rb +0 -48
  63. data/lib/aws/auto_scaling/config.rb +0 -18
  64. data/lib/aws/auto_scaling/errors.rb +0 -22
  65. data/lib/aws/auto_scaling/group.rb +0 -421
  66. data/lib/aws/auto_scaling/group_collection.rb +0 -96
  67. data/lib/aws/auto_scaling/group_options.rb +0 -155
  68. data/lib/aws/auto_scaling/instance.rb +0 -192
  69. data/lib/aws/auto_scaling/instance_collection.rb +0 -63
  70. data/lib/aws/auto_scaling/launch_configuration.rb +0 -162
  71. data/lib/aws/auto_scaling/launch_configuration_collection.rb +0 -160
  72. data/lib/aws/auto_scaling/notification_configuration.rb +0 -89
  73. data/lib/aws/auto_scaling/notification_configuration_collection.rb +0 -183
  74. data/lib/aws/auto_scaling/scaling_policy.rb +0 -142
  75. data/lib/aws/auto_scaling/scaling_policy_collection.rb +0 -72
  76. data/lib/aws/auto_scaling/scaling_policy_options.rb +0 -65
  77. data/lib/aws/auto_scaling/scheduled_action.rb +0 -141
  78. data/lib/aws/auto_scaling/scheduled_action_collection.rb +0 -202
  79. data/lib/aws/auto_scaling/tag.rb +0 -59
  80. data/lib/aws/auto_scaling/tag_collection.rb +0 -114
  81. data/lib/aws/cloud_formation.rb +0 -272
  82. data/lib/aws/cloud_formation/client.rb +0 -48
  83. data/lib/aws/cloud_formation/config.rb +0 -18
  84. data/lib/aws/cloud_formation/errors.rb +0 -22
  85. data/lib/aws/cloud_formation/stack.rb +0 -266
  86. data/lib/aws/cloud_formation/stack_collection.rb +0 -232
  87. data/lib/aws/cloud_formation/stack_event.rb +0 -73
  88. data/lib/aws/cloud_formation/stack_event_collection.rb +0 -47
  89. data/lib/aws/cloud_formation/stack_options.rb +0 -72
  90. data/lib/aws/cloud_formation/stack_output.rb +0 -53
  91. data/lib/aws/cloud_formation/stack_resource.rb +0 -117
  92. data/lib/aws/cloud_formation/stack_resource_collection.rb +0 -83
  93. data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +0 -64
  94. data/lib/aws/cloud_formation/stack_summary_collection.rb +0 -123
  95. data/lib/aws/cloud_front.rb +0 -72
  96. data/lib/aws/cloud_front/client.rb +0 -57
  97. data/lib/aws/cloud_front/config.rb +0 -18
  98. data/lib/aws/cloud_front/errors.rb +0 -22
  99. data/lib/aws/cloud_search.rb +0 -73
  100. data/lib/aws/cloud_search/client.rb +0 -40
  101. data/lib/aws/cloud_search/config.rb +0 -18
  102. data/lib/aws/cloud_search/errors.rb +0 -22
  103. data/lib/aws/cloud_trail.rb +0 -72
  104. data/lib/aws/cloud_trail/client.rb +0 -35
  105. data/lib/aws/cloud_trail/config.rb +0 -18
  106. data/lib/aws/cloud_trail/errors.rb +0 -22
  107. data/lib/aws/cloud_watch.rb +0 -118
  108. data/lib/aws/cloud_watch/alarm.rb +0 -293
  109. data/lib/aws/cloud_watch/alarm_collection.rb +0 -153
  110. data/lib/aws/cloud_watch/alarm_history_item.rb +0 -50
  111. data/lib/aws/cloud_watch/alarm_history_item_collection.rb +0 -84
  112. data/lib/aws/cloud_watch/client.rb +0 -40
  113. data/lib/aws/cloud_watch/config.rb +0 -18
  114. data/lib/aws/cloud_watch/errors.rb +0 -22
  115. data/lib/aws/cloud_watch/metric.rb +0 -135
  116. data/lib/aws/cloud_watch/metric_alarm_collection.rb +0 -160
  117. data/lib/aws/cloud_watch/metric_collection.rb +0 -129
  118. data/lib/aws/cloud_watch/metric_statistics.rb +0 -69
  119. data/lib/aws/core.rb +0 -716
  120. data/lib/aws/core/async_handle.rb +0 -90
  121. data/lib/aws/core/cacheable.rb +0 -77
  122. data/lib/aws/core/client.rb +0 -787
  123. data/lib/aws/core/collection.rb +0 -263
  124. data/lib/aws/core/collection/simple.rb +0 -82
  125. data/lib/aws/core/collection/with_limit_and_next_token.rb +0 -71
  126. data/lib/aws/core/collection/with_next_token.rb +0 -97
  127. data/lib/aws/core/configuration.rb +0 -542
  128. data/lib/aws/core/credential_providers.rb +0 -624
  129. data/lib/aws/core/data.rb +0 -247
  130. data/lib/aws/core/deprecations.rb +0 -84
  131. data/lib/aws/core/endpoints.rb +0 -37
  132. data/lib/aws/core/http/connection_pool.rb +0 -369
  133. data/lib/aws/core/http/curb_handler.rb +0 -148
  134. data/lib/aws/core/http/handler.rb +0 -89
  135. data/lib/aws/core/http/net_http_handler.rb +0 -144
  136. data/lib/aws/core/http/patch.rb +0 -102
  137. data/lib/aws/core/http/request.rb +0 -259
  138. data/lib/aws/core/http/response.rb +0 -81
  139. data/lib/aws/core/indifferent_hash.rb +0 -88
  140. data/lib/aws/core/inflection.rb +0 -56
  141. data/lib/aws/core/ini_parser.rb +0 -42
  142. data/lib/aws/core/json_client.rb +0 -47
  143. data/lib/aws/core/json_parser.rb +0 -76
  144. data/lib/aws/core/json_request_builder.rb +0 -35
  145. data/lib/aws/core/json_response_parser.rb +0 -79
  146. data/lib/aws/core/lazy_error_classes.rb +0 -108
  147. data/lib/aws/core/log_formatter.rb +0 -428
  148. data/lib/aws/core/managed_file.rb +0 -32
  149. data/lib/aws/core/meta_utils.rb +0 -45
  150. data/lib/aws/core/model.rb +0 -62
  151. data/lib/aws/core/naming.rb +0 -30
  152. data/lib/aws/core/option_grammar.rb +0 -738
  153. data/lib/aws/core/options/json_serializer.rb +0 -82
  154. data/lib/aws/core/options/validator.rb +0 -155
  155. data/lib/aws/core/options/xml_serializer.rb +0 -118
  156. data/lib/aws/core/page_result.rb +0 -75
  157. data/lib/aws/core/policy.rb +0 -941
  158. data/lib/aws/core/query_client.rb +0 -41
  159. data/lib/aws/core/query_error_parser.rb +0 -24
  160. data/lib/aws/core/query_request_builder.rb +0 -47
  161. data/lib/aws/core/query_response_parser.rb +0 -35
  162. data/lib/aws/core/region.rb +0 -85
  163. data/lib/aws/core/region_collection.rb +0 -80
  164. data/lib/aws/core/resource.rb +0 -413
  165. data/lib/aws/core/resource_cache.rb +0 -40
  166. data/lib/aws/core/response.rb +0 -215
  167. data/lib/aws/core/response_cache.rb +0 -50
  168. data/lib/aws/core/rest_error_parser.rb +0 -24
  169. data/lib/aws/core/rest_json_client.rb +0 -40
  170. data/lib/aws/core/rest_request_builder.rb +0 -154
  171. data/lib/aws/core/rest_response_parser.rb +0 -66
  172. data/lib/aws/core/rest_xml_client.rb +0 -47
  173. data/lib/aws/core/service_interface.rb +0 -83
  174. data/lib/aws/core/signers/base.rb +0 -46
  175. data/lib/aws/core/signers/cloud_front.rb +0 -56
  176. data/lib/aws/core/signers/s3.rb +0 -159
  177. data/lib/aws/core/signers/version_2.rb +0 -72
  178. data/lib/aws/core/signers/version_3.rb +0 -86
  179. data/lib/aws/core/signers/version_3_https.rb +0 -61
  180. data/lib/aws/core/signers/version_4.rb +0 -228
  181. data/lib/aws/core/signers/version_4/chunk_signed_stream.rb +0 -191
  182. data/lib/aws/core/uri_escape.rb +0 -44
  183. data/lib/aws/core/xml/frame.rb +0 -245
  184. data/lib/aws/core/xml/frame_stack.rb +0 -85
  185. data/lib/aws/core/xml/grammar.rb +0 -307
  186. data/lib/aws/core/xml/parser.rb +0 -70
  187. data/lib/aws/core/xml/root_frame.rb +0 -65
  188. data/lib/aws/core/xml/sax_handlers/libxml.rb +0 -47
  189. data/lib/aws/core/xml/sax_handlers/nokogiri.rb +0 -56
  190. data/lib/aws/core/xml/sax_handlers/ox.rb +0 -41
  191. data/lib/aws/core/xml/sax_handlers/rexml.rb +0 -47
  192. data/lib/aws/core/xml/stub.rb +0 -123
  193. data/lib/aws/data_pipeline.rb +0 -72
  194. data/lib/aws/data_pipeline/client.rb +0 -36
  195. data/lib/aws/data_pipeline/config.rb +0 -18
  196. data/lib/aws/data_pipeline/errors.rb +0 -20
  197. data/lib/aws/direct_connect.rb +0 -73
  198. data/lib/aws/direct_connect/client.rb +0 -36
  199. data/lib/aws/direct_connect/config.rb +0 -18
  200. data/lib/aws/direct_connect/errors.rb +0 -22
  201. data/lib/aws/dynamo_db.rb +0 -230
  202. data/lib/aws/dynamo_db/attribute_collection.rb +0 -456
  203. data/lib/aws/dynamo_db/batch_get.rb +0 -213
  204. data/lib/aws/dynamo_db/batch_write.rb +0 -254
  205. data/lib/aws/dynamo_db/binary.rb +0 -35
  206. data/lib/aws/dynamo_db/client.rb +0 -129
  207. data/lib/aws/dynamo_db/client/v20111205.rb +0 -1266
  208. data/lib/aws/dynamo_db/client/v20120810.rb +0 -1409
  209. data/lib/aws/dynamo_db/client_v2.rb +0 -44
  210. data/lib/aws/dynamo_db/config.rb +0 -24
  211. data/lib/aws/dynamo_db/errors.rb +0 -20
  212. data/lib/aws/dynamo_db/expectations.rb +0 -40
  213. data/lib/aws/dynamo_db/item.rb +0 -133
  214. data/lib/aws/dynamo_db/item_collection.rb +0 -856
  215. data/lib/aws/dynamo_db/item_data.rb +0 -31
  216. data/lib/aws/dynamo_db/keys.rb +0 -41
  217. data/lib/aws/dynamo_db/primary_key_element.rb +0 -48
  218. data/lib/aws/dynamo_db/resource.rb +0 -33
  219. data/lib/aws/dynamo_db/table.rb +0 -492
  220. data/lib/aws/dynamo_db/table_collection.rb +0 -165
  221. data/lib/aws/dynamo_db/types.rb +0 -111
  222. data/lib/aws/ec2.rb +0 -428
  223. data/lib/aws/ec2/attachment.rb +0 -135
  224. data/lib/aws/ec2/attachment_collection.rb +0 -54
  225. data/lib/aws/ec2/availability_zone.rb +0 -86
  226. data/lib/aws/ec2/availability_zone_collection.rb +0 -43
  227. data/lib/aws/ec2/block_device_mappings.rb +0 -53
  228. data/lib/aws/ec2/client.rb +0 -164
  229. data/lib/aws/ec2/collection.rb +0 -36
  230. data/lib/aws/ec2/config.rb +0 -30
  231. data/lib/aws/ec2/customer_gateway.rb +0 -90
  232. data/lib/aws/ec2/customer_gateway_collection.rb +0 -73
  233. data/lib/aws/ec2/dhcp_options.rb +0 -106
  234. data/lib/aws/ec2/dhcp_options_collection.rb +0 -87
  235. data/lib/aws/ec2/elastic_ip.rb +0 -209
  236. data/lib/aws/ec2/elastic_ip_collection.rb +0 -93
  237. data/lib/aws/ec2/errors.rb +0 -32
  238. data/lib/aws/ec2/export_task.rb +0 -120
  239. data/lib/aws/ec2/export_task_collection.rb +0 -67
  240. data/lib/aws/ec2/filtered_collection.rb +0 -87
  241. data/lib/aws/ec2/has_permissions.rb +0 -44
  242. data/lib/aws/ec2/image.rb +0 -270
  243. data/lib/aws/ec2/image_collection.rb +0 -219
  244. data/lib/aws/ec2/instance.rb +0 -803
  245. data/lib/aws/ec2/instance_collection.rb +0 -402
  246. data/lib/aws/ec2/internet_gateway.rb +0 -122
  247. data/lib/aws/ec2/internet_gateway/attachment.rb +0 -78
  248. data/lib/aws/ec2/internet_gateway_collection.rb +0 -54
  249. data/lib/aws/ec2/key_pair.rb +0 -82
  250. data/lib/aws/ec2/key_pair_collection.rb +0 -99
  251. data/lib/aws/ec2/network_acl.rb +0 -256
  252. data/lib/aws/ec2/network_acl/association.rb +0 -56
  253. data/lib/aws/ec2/network_acl/entry.rb +0 -147
  254. data/lib/aws/ec2/network_acl_collection.rb +0 -64
  255. data/lib/aws/ec2/network_interface.rb +0 -237
  256. data/lib/aws/ec2/network_interface/attachment.rb +0 -100
  257. data/lib/aws/ec2/network_interface_collection.rb +0 -103
  258. data/lib/aws/ec2/permission_collection.rb +0 -174
  259. data/lib/aws/ec2/region.rb +0 -106
  260. data/lib/aws/ec2/region_collection.rb +0 -51
  261. data/lib/aws/ec2/reserved_instances.rb +0 -56
  262. data/lib/aws/ec2/reserved_instances_collection.rb +0 -40
  263. data/lib/aws/ec2/reserved_instances_offering.rb +0 -60
  264. data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -45
  265. data/lib/aws/ec2/resource.rb +0 -161
  266. data/lib/aws/ec2/resource_tag_collection.rb +0 -211
  267. data/lib/aws/ec2/route_table.rb +0 -205
  268. data/lib/aws/ec2/route_table/association.rb +0 -119
  269. data/lib/aws/ec2/route_table/route.rb +0 -119
  270. data/lib/aws/ec2/route_table_collection.rb +0 -72
  271. data/lib/aws/ec2/security_group.rb +0 -482
  272. data/lib/aws/ec2/security_group/ip_permission.rb +0 -135
  273. data/lib/aws/ec2/security_group/ip_permission_collection.rb +0 -82
  274. data/lib/aws/ec2/security_group_collection.rb +0 -133
  275. data/lib/aws/ec2/snapshot.rb +0 -143
  276. data/lib/aws/ec2/snapshot_collection.rb +0 -131
  277. data/lib/aws/ec2/subnet.rb +0 -161
  278. data/lib/aws/ec2/subnet_collection.rb +0 -119
  279. data/lib/aws/ec2/tag.rb +0 -81
  280. data/lib/aws/ec2/tag_collection.rb +0 -107
  281. data/lib/aws/ec2/tagged_collection.rb +0 -67
  282. data/lib/aws/ec2/tagged_item.rb +0 -85
  283. data/lib/aws/ec2/volume.rb +0 -174
  284. data/lib/aws/ec2/volume_collection.rb +0 -102
  285. data/lib/aws/ec2/vpc.rb +0 -174
  286. data/lib/aws/ec2/vpc_collection.rb +0 -70
  287. data/lib/aws/ec2/vpn_connection.rb +0 -99
  288. data/lib/aws/ec2/vpn_connection/telemetry.rb +0 -49
  289. data/lib/aws/ec2/vpn_connection_collection.rb +0 -96
  290. data/lib/aws/ec2/vpn_gateway.rb +0 -123
  291. data/lib/aws/ec2/vpn_gateway/attachment.rb +0 -45
  292. data/lib/aws/ec2/vpn_gateway_collection.rb +0 -77
  293. data/lib/aws/elastic_beanstalk.rb +0 -49
  294. data/lib/aws/elastic_beanstalk/client.rb +0 -36
  295. data/lib/aws/elastic_beanstalk/config.rb +0 -18
  296. data/lib/aws/elastic_beanstalk/errors.rb +0 -22
  297. data/lib/aws/elastic_transcoder.rb +0 -29
  298. data/lib/aws/elastic_transcoder/client.rb +0 -48
  299. data/lib/aws/elastic_transcoder/config.rb +0 -18
  300. data/lib/aws/elastic_transcoder/errors.rb +0 -23
  301. data/lib/aws/elasticache.rb +0 -49
  302. data/lib/aws/elasticache/client.rb +0 -41
  303. data/lib/aws/elasticache/config.rb +0 -18
  304. data/lib/aws/elasticache/errors.rb +0 -22
  305. data/lib/aws/elb.rb +0 -66
  306. data/lib/aws/elb/availability_zone_collection.rb +0 -138
  307. data/lib/aws/elb/backend_server_policy_collection.rb +0 -139
  308. data/lib/aws/elb/client.rb +0 -35
  309. data/lib/aws/elb/config.rb +0 -18
  310. data/lib/aws/elb/errors.rb +0 -26
  311. data/lib/aws/elb/instance_collection.rb +0 -168
  312. data/lib/aws/elb/listener.rb +0 -190
  313. data/lib/aws/elb/listener_collection.rb +0 -113
  314. data/lib/aws/elb/listener_opts.rb +0 -45
  315. data/lib/aws/elb/load_balancer.rb +0 -280
  316. data/lib/aws/elb/load_balancer_collection.rb +0 -146
  317. data/lib/aws/elb/load_balancer_policy.rb +0 -93
  318. data/lib/aws/elb/load_balancer_policy_collection.rb +0 -208
  319. data/lib/aws/emr.rb +0 -87
  320. data/lib/aws/emr/client.rb +0 -35
  321. data/lib/aws/emr/config.rb +0 -18
  322. data/lib/aws/emr/errors.rb +0 -22
  323. data/lib/aws/emr/instance_group.rb +0 -138
  324. data/lib/aws/emr/instance_group_collection.rb +0 -82
  325. data/lib/aws/emr/job_flow.rb +0 -307
  326. data/lib/aws/emr/job_flow_collection.rb +0 -183
  327. data/lib/aws/errors.rb +0 -162
  328. data/lib/aws/glacier.rb +0 -79
  329. data/lib/aws/glacier/archive.rb +0 -56
  330. data/lib/aws/glacier/archive_collection.rb +0 -146
  331. data/lib/aws/glacier/client.rb +0 -49
  332. data/lib/aws/glacier/config.rb +0 -19
  333. data/lib/aws/glacier/errors.rb +0 -22
  334. data/lib/aws/glacier/resource.rb +0 -30
  335. data/lib/aws/glacier/vault.rb +0 -145
  336. data/lib/aws/glacier/vault_collection.rb +0 -75
  337. data/lib/aws/glacier/vault_notification_configuration.rb +0 -29
  338. data/lib/aws/iam.rb +0 -408
  339. data/lib/aws/iam/access_key.rb +0 -185
  340. data/lib/aws/iam/access_key_collection.rb +0 -128
  341. data/lib/aws/iam/account_alias_collection.rb +0 -79
  342. data/lib/aws/iam/client.rb +0 -49
  343. data/lib/aws/iam/collection.rb +0 -83
  344. data/lib/aws/iam/config.rb +0 -18
  345. data/lib/aws/iam/errors.rb +0 -22
  346. data/lib/aws/iam/group.rb +0 -111
  347. data/lib/aws/iam/group_collection.rb +0 -132
  348. data/lib/aws/iam/group_policy_collection.rb +0 -47
  349. data/lib/aws/iam/group_user_collection.rb +0 -84
  350. data/lib/aws/iam/login_profile.rb +0 -99
  351. data/lib/aws/iam/mfa_device.rb +0 -52
  352. data/lib/aws/iam/mfa_device_collection.rb +0 -127
  353. data/lib/aws/iam/policy.rb +0 -46
  354. data/lib/aws/iam/policy_collection.rb +0 -188
  355. data/lib/aws/iam/resource.rb +0 -62
  356. data/lib/aws/iam/server_certificate.rb +0 -148
  357. data/lib/aws/iam/server_certificate_collection.rb +0 -138
  358. data/lib/aws/iam/signing_certificate.rb +0 -186
  359. data/lib/aws/iam/signing_certificate_collection.rb +0 -131
  360. data/lib/aws/iam/user.rb +0 -200
  361. data/lib/aws/iam/user_collection.rb +0 -133
  362. data/lib/aws/iam/user_group_collection.rb +0 -98
  363. data/lib/aws/iam/user_policy.rb +0 -90
  364. data/lib/aws/iam/user_policy_collection.rb +0 -45
  365. data/lib/aws/iam/virtual_mfa_device.rb +0 -139
  366. data/lib/aws/iam/virtual_mfa_device_collection.rb +0 -73
  367. data/lib/aws/import_export.rb +0 -73
  368. data/lib/aws/import_export/client.rb +0 -35
  369. data/lib/aws/import_export/config.rb +0 -19
  370. data/lib/aws/import_export/errors.rb +0 -22
  371. data/lib/aws/kinesis.rb +0 -53
  372. data/lib/aws/kinesis/client.rb +0 -35
  373. data/lib/aws/kinesis/config.rb +0 -18
  374. data/lib/aws/kinesis/errors.rb +0 -20
  375. data/lib/aws/ops_works.rb +0 -29
  376. data/lib/aws/ops_works/client.rb +0 -35
  377. data/lib/aws/ops_works/config.rb +0 -18
  378. data/lib/aws/ops_works/errors.rb +0 -20
  379. data/lib/aws/rails.rb +0 -195
  380. data/lib/aws/rds.rb +0 -70
  381. data/lib/aws/rds/client.rb +0 -42
  382. data/lib/aws/rds/config.rb +0 -18
  383. data/lib/aws/rds/db_instance.rb +0 -215
  384. data/lib/aws/rds/db_instance_collection.rb +0 -75
  385. data/lib/aws/rds/db_snapshot.rb +0 -163
  386. data/lib/aws/rds/db_snapshot_collection.rb +0 -89
  387. data/lib/aws/rds/errors.rb +0 -22
  388. data/lib/aws/record.rb +0 -139
  389. data/lib/aws/record/abstract_base.rb +0 -689
  390. data/lib/aws/record/attributes.rb +0 -388
  391. data/lib/aws/record/conversion.rb +0 -38
  392. data/lib/aws/record/dirty_tracking.rb +0 -287
  393. data/lib/aws/record/errors.rb +0 -143
  394. data/lib/aws/record/exceptions.rb +0 -51
  395. data/lib/aws/record/hash_model.rb +0 -204
  396. data/lib/aws/record/hash_model/attributes.rb +0 -195
  397. data/lib/aws/record/hash_model/finder_methods.rb +0 -172
  398. data/lib/aws/record/hash_model/scope.rb +0 -108
  399. data/lib/aws/record/model.rb +0 -453
  400. data/lib/aws/record/model/attributes.rb +0 -377
  401. data/lib/aws/record/model/finder_methods.rb +0 -232
  402. data/lib/aws/record/model/scope.rb +0 -212
  403. data/lib/aws/record/naming.rb +0 -31
  404. data/lib/aws/record/scope.rb +0 -203
  405. data/lib/aws/record/validations.rb +0 -694
  406. data/lib/aws/record/validator.rb +0 -246
  407. data/lib/aws/record/validators/acceptance.rb +0 -49
  408. data/lib/aws/record/validators/block.rb +0 -36
  409. data/lib/aws/record/validators/confirmation.rb +0 -41
  410. data/lib/aws/record/validators/count.rb +0 -106
  411. data/lib/aws/record/validators/exclusion.rb +0 -41
  412. data/lib/aws/record/validators/format.rb +0 -55
  413. data/lib/aws/record/validators/inclusion.rb +0 -54
  414. data/lib/aws/record/validators/length.rb +0 -105
  415. data/lib/aws/record/validators/method.rb +0 -31
  416. data/lib/aws/record/validators/numericality.rb +0 -136
  417. data/lib/aws/record/validators/presence.rb +0 -43
  418. data/lib/aws/redshift.rb +0 -51
  419. data/lib/aws/redshift/client.rb +0 -35
  420. data/lib/aws/redshift/config.rb +0 -18
  421. data/lib/aws/redshift/errors.rb +0 -22
  422. data/lib/aws/route_53.rb +0 -86
  423. data/lib/aws/route_53/change_batch.rb +0 -161
  424. data/lib/aws/route_53/change_info.rb +0 -72
  425. data/lib/aws/route_53/client.rb +0 -38
  426. data/lib/aws/route_53/config.rb +0 -18
  427. data/lib/aws/route_53/errors.rb +0 -22
  428. data/lib/aws/route_53/hosted_zone.rb +0 -134
  429. data/lib/aws/route_53/hosted_zone_collection.rb +0 -101
  430. data/lib/aws/route_53/resource_record_set.rb +0 -251
  431. data/lib/aws/route_53/resource_record_set_collection.rb +0 -110
  432. data/lib/aws/s3.rb +0 -156
  433. data/lib/aws/s3/access_control_list.rb +0 -265
  434. data/lib/aws/s3/acl_object.rb +0 -264
  435. data/lib/aws/s3/acl_options.rb +0 -204
  436. data/lib/aws/s3/bucket.rb +0 -742
  437. data/lib/aws/s3/bucket_collection.rb +0 -162
  438. data/lib/aws/s3/bucket_lifecycle_configuration.rb +0 -473
  439. data/lib/aws/s3/bucket_tag_collection.rb +0 -111
  440. data/lib/aws/s3/bucket_version_collection.rb +0 -79
  441. data/lib/aws/s3/cipher_io.rb +0 -120
  442. data/lib/aws/s3/client.rb +0 -2067
  443. data/lib/aws/s3/client/xml.rb +0 -266
  444. data/lib/aws/s3/config.rb +0 -48
  445. data/lib/aws/s3/cors_rule.rb +0 -108
  446. data/lib/aws/s3/cors_rule_collection.rb +0 -194
  447. data/lib/aws/s3/data_options.rb +0 -191
  448. data/lib/aws/s3/encryption_utils.rb +0 -146
  449. data/lib/aws/s3/errors.rb +0 -94
  450. data/lib/aws/s3/multipart_upload.rb +0 -353
  451. data/lib/aws/s3/multipart_upload_collection.rb +0 -76
  452. data/lib/aws/s3/object_collection.rb +0 -353
  453. data/lib/aws/s3/object_metadata.rb +0 -103
  454. data/lib/aws/s3/object_upload_collection.rb +0 -77
  455. data/lib/aws/s3/object_version.rb +0 -154
  456. data/lib/aws/s3/object_version_collection.rb +0 -89
  457. data/lib/aws/s3/paginated_collection.rb +0 -75
  458. data/lib/aws/s3/policy.rb +0 -74
  459. data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -47
  460. data/lib/aws/s3/prefixed_collection.rb +0 -85
  461. data/lib/aws/s3/presign_v4.rb +0 -136
  462. data/lib/aws/s3/presigned_post.rb +0 -554
  463. data/lib/aws/s3/request.rb +0 -62
  464. data/lib/aws/s3/s3_object.rb +0 -1784
  465. data/lib/aws/s3/tree.rb +0 -116
  466. data/lib/aws/s3/tree/branch_node.rb +0 -68
  467. data/lib/aws/s3/tree/child_collection.rb +0 -104
  468. data/lib/aws/s3/tree/leaf_node.rb +0 -94
  469. data/lib/aws/s3/tree/node.rb +0 -22
  470. data/lib/aws/s3/tree/parent.rb +0 -87
  471. data/lib/aws/s3/uploaded_part.rb +0 -82
  472. data/lib/aws/s3/uploaded_part_collection.rb +0 -84
  473. data/lib/aws/s3/website_configuration.rb +0 -102
  474. data/lib/aws/simple_db.rb +0 -218
  475. data/lib/aws/simple_db/attribute.rb +0 -156
  476. data/lib/aws/simple_db/attribute_collection.rb +0 -240
  477. data/lib/aws/simple_db/client.rb +0 -67
  478. data/lib/aws/simple_db/config.rb +0 -20
  479. data/lib/aws/simple_db/consistent_read_option.rb +0 -42
  480. data/lib/aws/simple_db/delete_attributes.rb +0 -62
  481. data/lib/aws/simple_db/domain.rb +0 -123
  482. data/lib/aws/simple_db/domain_collection.rb +0 -86
  483. data/lib/aws/simple_db/domain_metadata.rb +0 -110
  484. data/lib/aws/simple_db/errors.rb +0 -55
  485. data/lib/aws/simple_db/expect_condition_option.rb +0 -45
  486. data/lib/aws/simple_db/item.rb +0 -93
  487. data/lib/aws/simple_db/item_collection.rb +0 -654
  488. data/lib/aws/simple_db/item_data.rb +0 -73
  489. data/lib/aws/simple_db/put_attributes.rb +0 -60
  490. data/lib/aws/simple_email_service.rb +0 -443
  491. data/lib/aws/simple_email_service/client.rb +0 -37
  492. data/lib/aws/simple_email_service/config.rb +0 -18
  493. data/lib/aws/simple_email_service/email_address_collection.rb +0 -69
  494. data/lib/aws/simple_email_service/errors.rb +0 -22
  495. data/lib/aws/simple_email_service/identity.rb +0 -230
  496. data/lib/aws/simple_email_service/identity_collection.rb +0 -81
  497. data/lib/aws/simple_email_service/quotas.rb +0 -66
  498. data/lib/aws/simple_workflow.rb +0 -227
  499. data/lib/aws/simple_workflow/activity_task.rb +0 -178
  500. data/lib/aws/simple_workflow/activity_task_collection.rb +0 -123
  501. data/lib/aws/simple_workflow/activity_type.rb +0 -131
  502. data/lib/aws/simple_workflow/activity_type_collection.rb +0 -93
  503. data/lib/aws/simple_workflow/client.rb +0 -69
  504. data/lib/aws/simple_workflow/config.rb +0 -18
  505. data/lib/aws/simple_workflow/count.rb +0 -49
  506. data/lib/aws/simple_workflow/decision_task.rb +0 -603
  507. data/lib/aws/simple_workflow/decision_task_collection.rb +0 -223
  508. data/lib/aws/simple_workflow/domain.rb +0 -122
  509. data/lib/aws/simple_workflow/domain_collection.rb +0 -169
  510. data/lib/aws/simple_workflow/errors.rb +0 -20
  511. data/lib/aws/simple_workflow/history_event.rb +0 -276
  512. data/lib/aws/simple_workflow/history_event_collection.rb +0 -76
  513. data/lib/aws/simple_workflow/option_formatters.rb +0 -82
  514. data/lib/aws/simple_workflow/resource.rb +0 -94
  515. data/lib/aws/simple_workflow/type.rb +0 -89
  516. data/lib/aws/simple_workflow/type_collection.rb +0 -140
  517. data/lib/aws/simple_workflow/workflow_execution.rb +0 -384
  518. data/lib/aws/simple_workflow/workflow_execution_collection.rb +0 -617
  519. data/lib/aws/simple_workflow/workflow_type.rb +0 -177
  520. data/lib/aws/simple_workflow/workflow_type_collection.rb +0 -91
  521. data/lib/aws/sns.rb +0 -76
  522. data/lib/aws/sns/client.rb +0 -35
  523. data/lib/aws/sns/config.rb +0 -18
  524. data/lib/aws/sns/errors.rb +0 -22
  525. data/lib/aws/sns/has_delivery_policy.rb +0 -68
  526. data/lib/aws/sns/message.rb +0 -204
  527. data/lib/aws/sns/originators/from_auto_scaling.rb +0 -68
  528. data/lib/aws/sns/policy.rb +0 -47
  529. data/lib/aws/sns/subscription.rb +0 -165
  530. data/lib/aws/sns/subscription_collection.rb +0 -78
  531. data/lib/aws/sns/topic.rb +0 -403
  532. data/lib/aws/sns/topic_collection.rb +0 -62
  533. data/lib/aws/sns/topic_subscription_collection.rb +0 -54
  534. data/lib/aws/sqs.rb +0 -80
  535. data/lib/aws/sqs/client.rb +0 -53
  536. data/lib/aws/sqs/config.rb +0 -20
  537. data/lib/aws/sqs/errors.rb +0 -125
  538. data/lib/aws/sqs/policy.rb +0 -48
  539. data/lib/aws/sqs/queue.rb +0 -856
  540. data/lib/aws/sqs/queue_collection.rb +0 -186
  541. data/lib/aws/sqs/received_message.rb +0 -190
  542. data/lib/aws/sqs/received_sns_message.rb +0 -116
  543. data/lib/aws/storage_gateway.rb +0 -72
  544. data/lib/aws/storage_gateway/client.rb +0 -42
  545. data/lib/aws/storage_gateway/config.rb +0 -18
  546. data/lib/aws/storage_gateway/errors.rb +0 -22
  547. data/lib/aws/sts.rb +0 -164
  548. data/lib/aws/sts/client.rb +0 -55
  549. data/lib/aws/sts/config.rb +0 -18
  550. data/lib/aws/sts/errors.rb +0 -22
  551. data/lib/aws/sts/federated_session.rb +0 -56
  552. data/lib/aws/sts/policy.rb +0 -30
  553. data/lib/aws/sts/session.rb +0 -48
  554. data/lib/aws/support.rb +0 -29
  555. data/lib/aws/support/client.rb +0 -35
  556. data/lib/aws/support/config.rb +0 -18
  557. data/lib/aws/support/errors.rb +0 -20
  558. data/lib/aws/version.rb +0 -17
  559. data/rails/init.rb +0 -15
data/lib/aws/s3/bucket.rb DELETED
@@ -1,742 +0,0 @@
1
- # Copyright 2011-2013 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
- class S3
16
-
17
- # Represents a bucket in S3.
18
- #
19
- # # Creating Buckets
20
- #
21
- # You create a bucket by name. Bucket names must be globally unique
22
- # and must be DNS compatible.
23
- #
24
- # s3 = AWS::S3.new
25
- # bucket = s3.buckets.create('dns-compat-bucket-name')
26
- #
27
- # # Getting a Bucket
28
- #
29
- # You can create a reference to a bucket, given its name.
30
- #
31
- # bucket = s3.buckets['bucket-name'] # makes no request
32
- # bucket.exists? #=> returns true/false
33
- #
34
- # # Enumerating Buckets
35
- #
36
- # The {BucketCollection} class is enumerable.
37
- #
38
- # s3.buckets.each do |bucket|
39
- # puts bucket.name
40
- # end
41
- #
42
- # # Deleting a Bucket
43
- #
44
- # You can delete an empty bucket you own.
45
- #
46
- # bucket = s3.buckets.create('my-temp-bucket')
47
- # bucket.objects['abc'].write('xyz')
48
- #
49
- # bucket.clear! # deletes all object versions in batches
50
- # bucket.delete
51
- #
52
- # You can alternatively call {#delete!} which will clear
53
- # the bucket for your first.
54
- #
55
- # bucket.delete!
56
- #
57
- # # Objects
58
- #
59
- # Given a bucket you can access its objects, either by key or by
60
- # enumeration.
61
- #
62
- # bucket.objects['key'] #=> makes no request, returns an S3Object
63
- #
64
- # bucket.objects.each do |obj|
65
- # puts obj.key
66
- # end
67
- #
68
- # See {ObjectCollection} and {S3Object} for more information on working
69
- # with objects.
70
- #
71
- # # Website Configuration
72
- #
73
- # It is easy to enable website hosting for a bucket.
74
- #
75
- # bucket.configure_website
76
- #
77
- # You can specify the index and error documents by passing a block.
78
- # If your bucket is already configured as a website, the current
79
- # configuration will be yielded. If you bucket it not currently
80
- # configured as a website, a new configuration will be yielded
81
- # with default values.
82
- #
83
- # bucket.configure_website do |cfg|
84
- # cfg.index_document_suffix = 'index.html'
85
- # cfg.error_document_key = 'error.html'
86
- # end
87
- #
88
- # You can disable website hosting two ways:
89
- #
90
- # bucket.remove_website_configuration
91
- # bucket.website_configuration = nil
92
- #
93
- # You can use {#website_configuration=} to copy a website configuration
94
- # from one bucket to another.
95
- #
96
- # bucket.website_configuration = other_bucket.website_configuration
97
- #
98
- # # Bucket Policies and ACLs
99
- #
100
- # You can control access to your bucket and its contents a number
101
- # of ways. You can specify a bucket ACL (access control list)
102
- # or a bucket policy.
103
- #
104
- # ## ACLs
105
- #
106
- # ACLs control access to your bucket and its contents via a list of
107
- # grants and grantees.
108
- #
109
- # ### Canned ACLs
110
- #
111
- # The simplest way to specify an ACL is to use one of Amazon's "canned"
112
- # ACLs. Amazon accepts the following canned ACLs:
113
- #
114
- # * `:private`
115
- # * `:public_read`
116
- # * `:public_read_write`
117
- # * `:authenticated_read`
118
- # * `:bucket_owner_read`
119
- # * `:bucket_owner_full_control`
120
- #
121
- # You can specify a the ACL at bucket creation or later update a bucket.
122
- #
123
- # # at create time, defaults to :private when not specified
124
- # bucket = s3.buckets.create('name', :acl => :public_read)
125
- #
126
- # # replacing an existing bucket ACL
127
- # bucket.acl = :private
128
- #
129
- # ### Grants
130
- #
131
- # Alternatively you can specify a hash of grants. Each entry in the
132
- # `:grant` hash has a grant (key) and a list of grantees (values).
133
- # Valid grant keys are:
134
- #
135
- # * `:grant_read`
136
- # * `:grant_write`
137
- # * `:grant_read_acp`
138
- # * `:grant_write_acp`
139
- # * `:grant_full_control`
140
- #
141
- # Each grantee can be a String, Hash or array of strings or hashes.
142
- # The following example uses grants to provide public read
143
- # to everyone while providing full control to a user by email address
144
- # and to another by their account id (cannonical user id).
145
- #
146
- # bucket = s3.buckets.create('name', :grants => {
147
- # :grant_read => [
148
- # { :uri => "http://acs.amazonaws.com/groups/global/AllUsers" },
149
- # ],
150
- # :grant_full_control => [
151
- # { :id => 'abc...mno' } # cannonical user id
152
- # { :email_address => 'foo@bar.com' }, # email address
153
- # ]
154
- # })
155
- #
156
- # ### ACL Object
157
- #
158
- # Lastly, you can build an ACL object and use a Ruby DSL to specify grants
159
- # and grantees. See {ACLObject} for more information.
160
- #
161
- # # updating an existing bucket acl using ACLObject
162
- # bucket.acl.change do |acl|
163
- # acl.grants.reject! do |g|
164
- # g.grantee.canonical_user_id != bucket.owner.id
165
- # end
166
- # end
167
- #
168
- # ## Policies
169
- #
170
- # You can also work with bucket policies.
171
- #
172
- # policy = AWS::S3::Policy.new
173
- # policy.allow(
174
- # :actions => [:put_object, :get_object]
175
- # :resources => [bucket]
176
- # :principals => :any)
177
- #
178
- # bucket.policy = policy
179
- #
180
- # See {Core::Policy} and {S3::Policy} for more information on build
181
- # policy objects.
182
- #
183
- # # Versioned Buckets
184
- #
185
- # You can enable versioning on a bucket you control. When versioning
186
- # is enabled, S3 will keep track of each version of each object you
187
- # write to the bucket (even deletions).
188
- #
189
- # bucket.versioning_enabled? #=> false
190
- # bucket.enable_versioning
191
- # # there is also a #suspend_versioning method
192
- #
193
- # obj = bucket.objects['my-obj']
194
- # obj.write('a')
195
- # obj.write('b')
196
- # obj.delete
197
- # obj.write('c')
198
- #
199
- # obj.versions.each do |obj_version|
200
- # if obj_version.delete_marker?
201
- # puts obj_version.read
202
- # else
203
- # puts "- DELETE MARKER"
204
- # end
205
- # end
206
- #
207
- # Alternatively you can enumerate all versions of all objects in your
208
- # bucket.
209
- #
210
- # bucket.versions.each do |obj_version|
211
- # puts obj_version.key ` " : " ` obj_version.version_id
212
- # end
213
- #
214
- # See {BucketVersionCollection}, {ObjectVersionCollection} and
215
- # {ObjectVersion} for more information on working with objects in
216
- # a versioned bucket. Also see the S3 documentation for information
217
- # on object versioning.
218
- #
219
- class Bucket
220
-
221
- include Core::Model
222
- include ACLOptions
223
-
224
- # @param [String] name
225
- # @param [Hash] options
226
- # @option options [String] :owner (nil) The owner id of this bucket.
227
- def initialize(name, options = {})
228
- # the S3 docs disagree with what the service allows,
229
- # so it's not safe to toss out invalid bucket names
230
- # S3::Client.validate_bucket_name!(name)
231
- @name = name
232
- @owner = options[:owner]
233
- super
234
- end
235
-
236
- # @return [String] The bucket name
237
- attr_reader :name
238
-
239
- # Returns the url for this bucket.
240
- # @return [String] url to the bucket
241
- def url
242
- if client.dns_compatible_bucket_name?(name)
243
- "http://#{name}.s3.amazonaws.com/"
244
- else
245
- "http://s3.amazonaws.com/#{name}/"
246
- end
247
- end
248
-
249
- # @return [Boolean] Returns true if the bucket has no objects
250
- # (this includes versioned objects that are delete markers).
251
- def empty?
252
- versions.first ? false : true
253
- end
254
-
255
- # @return [String,nil] Returns the location constraint for a bucket
256
- # (if it has one), nil otherwise.
257
- def location_constraint
258
- client.get_bucket_location(:bucket_name => name).location_constraint
259
- end
260
-
261
- # Configure the current bucket as a website.
262
- #
263
- # bucket.configure_website
264
- #
265
- # If you pass a block, the website configuration object
266
- # will be yielded. You can modify it before it is saved.
267
- #
268
- # bucket.configure_website do |cfg|
269
- # cfg.index_document_suffix = 'index.html'
270
- # cfg.error_document_key = 'error.html'
271
- # end
272
- #
273
- # If the bucket already has a website configuration, it will be loaded
274
- # and yielded. This makes it possible to modify an existing
275
- # configuration.
276
- #
277
- # # only rename the error document
278
- # bucket.configure_website do |cfg|
279
- # cfg.error_document_key = 'oops.html'
280
- # end
281
- #
282
- # @yieldparam [WebsiteConfiguration] website_config
283
- # @return [WebsiteConfiguration]
284
- # @see #website_configuration
285
- # @see #website_configuration=
286
- # @see #remove_website_configuration
287
- # @see #website?
288
- def configure_website &block
289
- website_config = self.website_configuration
290
- website_config ||= WebsiteConfiguration.new
291
- yield(website_config) if block_given?
292
- self.website_configuration = website_config
293
- end
294
-
295
- # Returns the bucket website configuration. Returns `nil` if the bucket
296
- # is not configured as a website.
297
- # @return [WebsiteConfiguration,nil]
298
- # @see #configure_website
299
- # @see #website_configuration=
300
- # @see #remove_website_configuration
301
- # @see #website?
302
- def website_configuration
303
- resp = client.get_bucket_website(:bucket_name => name)
304
- WebsiteConfiguration.new(resp.data)
305
- rescue Errors::NoSuchWebsiteConfiguration
306
- nil
307
- end
308
-
309
- # Sets the website configuration. Deletes the configuration if
310
- # `nil` is passed.
311
- # @param [WebsiteConfiguration,nil] website_configuration
312
- # @see #configure_website
313
- # @see #website_configuration
314
- # @see #remove_website_configuration
315
- # @see #website?
316
- def website_configuration= website_configuration
317
- if website_configuration
318
- client_opts = website_configuration.to_hash
319
- client_opts[:bucket_name] = name
320
- client.put_bucket_website(client_opts)
321
- else
322
- remove_website_configuration
323
- end
324
- end
325
-
326
- # @return [nil] Deletes the bucket website configuration.
327
- # @see #configure_website
328
- # @see #website_configuration
329
- # @see #website_configuration=
330
- # @see #website?
331
- def remove_website_configuration
332
- client.delete_bucket_website(:bucket_name => name)
333
- @website_configuration = false
334
- nil
335
- end
336
-
337
- # @return [Boolean] Returns `true` if this bucket is configured as
338
- # a website.
339
- # @see #configure_website
340
- # @see #website_configuration
341
- # @see #website_configuration=
342
- # @see #remove_website_configuration
343
- def website?
344
- !!website_configuration
345
- end
346
-
347
- # Returns the tags for this bucket.
348
- #
349
- # tags = bucket.tags
350
- # #=> <AWS::S3::BucketTagCollection>
351
- #
352
- # # adds a tag to the bucket
353
- # tags['foo'] = 'abc'
354
- #
355
- # # replaces all tags
356
- # tags.set('new' => 'tags')
357
- #
358
- # # removes all tags from the bucket
359
- # tags.clear
360
- #
361
- # # returns tags as a hash
362
- # tags.to_h
363
- #
364
- # @return [BucketTagCollection] Returns a collection that represents
365
- # the tags for this bucket.
366
- #
367
- def tags
368
- BucketTagCollection.new(self)
369
- end
370
-
371
- # Sets the tags for this bucket.
372
- #
373
- # bucket.tags = { 'contents' => 'photots' }
374
- #
375
- # You can remove all tags for the bucket by passing an empty
376
- # hash or `nil`.
377
- #
378
- # bucket.tags = nil # {} also deletes all tags
379
- # bucket.tags
380
- # #=> {}
381
- #
382
- # @param [Hash,nil] tags The tags to set on this bucket.
383
- #
384
- def tags= tags
385
- self.tags.set(tags)
386
- end
387
-
388
- # @return [CORSRuleCollection] Returns a collection that can be
389
- # used to manage (add, edit and delete) CORS rules for this bucket.
390
- def cors
391
- CORSRuleCollection.new(self)
392
- end
393
-
394
- # Sets the bucket CORS rules.
395
- # @param (see CORSRuleCollection#set)
396
- # @see CORSRuleCollection#set
397
- def cors= *rules
398
- self.cors.set(*rules)
399
- end
400
-
401
- # Enables versioning on this bucket.
402
- #
403
- # @option opts [String] :mfa_delete Set to 'Enabled' or 'Disabled'
404
- # to control the state of MFA delete on the bucket versioning.
405
- # Setting this option requires the :mfa option to also be set.
406
- #
407
- # @option opts [String] :mfa The serial number and current token code of
408
- # the Multi-Factor Authentication (MFA) device for the user. Format
409
- # is "SERIAL TOKEN" - with a space between the serial and token.
410
- #
411
- # @return [nil]
412
- def enable_versioning(opts = {})
413
- client.set_bucket_versioning(
414
- :bucket_name => @name,
415
- :state => :enabled,
416
- :mfa_delete => opts[:mfa_delete],
417
- :mfa => opts[:mfa])
418
- nil
419
- end
420
-
421
- # Suspends versioning on this bucket.
422
- #
423
- # @option opts [String] :mfa_delete Set to 'Enabled' or 'Disabled'
424
- # to control the state of MFA delete on the bucket versioning.
425
- # Setting this option requires the :mfa option to also be set.
426
- #
427
- # @option opts [String] :mfa The serial number and current token code of
428
- # the Multi-Factor Authentication (MFA) device for the user. Format
429
- # is "SERIAL TOKEN" - with a space between the serial and token.
430
- #
431
- # @return [nil]
432
- def suspend_versioning(opts = {})
433
- client.set_bucket_versioning(
434
- :bucket_name => @name,
435
- :state => :suspended,
436
- :mfa_delete => opts[:mfa_delete],
437
- :mfa => opts[:mfa])
438
- nil
439
- end
440
-
441
- # @return [Boolean] returns `true` if version is enabled on this bucket.
442
- def versioning_enabled?
443
- versioning_state == :enabled
444
- end
445
- alias_method :versioned?, :versioning_enabled?
446
-
447
- # Returns the versioning status for this bucket. States include:
448
- #
449
- # * `:enabled` - currently enabled
450
- # * `:suspended` - currently suspended
451
- # * `:unversioned` - versioning has never been enabled
452
- #
453
- # @return [Symbol] the versioning state
454
- def versioning_state
455
- client.get_bucket_versioning(:bucket_name => @name).status
456
- end
457
-
458
- # Deletes all objects from this bucket.
459
- # @return [nil]
460
- def clear!
461
- versions.each_batch do |versions|
462
- objects.delete(versions)
463
- end
464
- end
465
-
466
- # Deletes the current bucket. An error will be raised if the
467
- # bucket is not empty.
468
- # @return [nil]
469
- def delete
470
- client.delete_bucket(:bucket_name => @name)
471
- nil
472
- end
473
-
474
- # Deletes all objects in a bucket and then deletes the bucket.
475
- # @return [nil]
476
- def delete!
477
- clear!
478
- delete
479
- end
480
-
481
- # @return [String] bucket owner id
482
- def owner
483
- @owner || client.list_buckets.owner
484
- end
485
-
486
- # @api private
487
- def inspect
488
- "#<AWS::S3::Bucket:#{name}>"
489
- end
490
-
491
- # @return [Boolean] Returns true if the two buckets have the same name.
492
- def ==(other)
493
- other.kind_of?(Bucket) && other.name == name
494
- end
495
-
496
- # @return [Boolean] Returns true if the two buckets have the same name
497
- def eql?(other_bucket)
498
- self == other_bucket
499
- end
500
-
501
- # @note This method only indicates if there is a bucket in S3, not
502
- # if you have permissions to work with the bucket or not.
503
- # @return [Boolean] Returns true if the bucket exists in S3.
504
- def exists?
505
- begin
506
- versioned? # makes a get bucket request without listing contents
507
- # raises a client error if the bucket doesn't exist or
508
- # if you don't have permission to get the bucket
509
- # versioning status.
510
- true
511
- rescue Errors::NoSuchBucket => e
512
- false # bucket does not exist
513
- rescue Errors::AccessDenied => e
514
- true # bucket exists
515
- end
516
- end
517
-
518
- # @return [ObjectCollection] Represents all objects(keys) in
519
- # this bucket.
520
- def objects
521
- ObjectCollection.new(self)
522
- end
523
-
524
- # @return [BucketVersionCollection] Represents all of the versioned
525
- # objects stored in this bucket.
526
- def versions
527
- BucketVersionCollection.new(self)
528
- end
529
-
530
- # @return [MultipartUploadCollection] Represents all of the
531
- # multipart uploads that are in progress for this bucket.
532
- def multipart_uploads
533
- MultipartUploadCollection.new(self)
534
- end
535
-
536
- # @api private
537
- module ACLProxy
538
-
539
- attr_accessor :bucket
540
-
541
- def change
542
- yield(self)
543
- bucket.acl = self
544
- end
545
-
546
- end
547
-
548
- # Returns the bucket's access control list. This will be an
549
- # instance of AccessControlList, plus an additional `change`
550
- # method:
551
- #
552
- # bucket.acl.change do |acl|
553
- # acl.grants.reject! do |g|
554
- # g.grantee.canonical_user_id != bucket.owner.id
555
- # end
556
- # end
557
- #
558
- # @return [AccessControlList]
559
- def acl
560
-
561
- resp = client.get_bucket_acl(:bucket_name => name)
562
-
563
- acl = AccessControlList.new(resp.data)
564
- acl.extend ACLProxy
565
- acl.bucket = self
566
- acl
567
-
568
- end
569
-
570
- # Sets the bucket's ACL (access control list). You can provide an ACL
571
- # in a number of different formats.
572
- # @param (see ACLOptions#acl_options)
573
- # @return [nil]
574
- def acl= acl
575
- client.set_bucket_acl(acl_options(acl).merge(:bucket_name => name))
576
- nil
577
- end
578
-
579
- # @api private
580
- module PolicyProxy
581
-
582
- attr_accessor :bucket
583
-
584
- def change
585
- yield(self)
586
- bucket.policy = self
587
- end
588
-
589
- def delete
590
- bucket.client.delete_bucket_policy(:bucket_name => bucket.name)
591
- end
592
-
593
- end
594
-
595
- # Returns the bucket policy. This will be an instance of
596
- # Policy. The returned policy will also have the methods of
597
- # PolicyProxy mixed in, so you can use it to change the
598
- # current policy or delete it, for example:
599
- #
600
- # if policy = bucket.policy
601
- # # add a statement
602
- # policy.change do |p|
603
- # p.allow(...)
604
- # end
605
- #
606
- # # delete the policy
607
- # policy.delete
608
- # end
609
- #
610
- # Note that changing the policy is not an atomic operation; it
611
- # fetches the current policy, yields it to the block, and then
612
- # sets it again. Therefore, it's possible that you may
613
- # overwrite a concurrent update to the policy using this
614
- # method.
615
- #
616
- # @return [Policy,nil] Returns the bucket policy (if it has one),
617
- # or it returns `nil` otherwise.
618
- def policy
619
- resp = client.get_bucket_policy(:bucket_name => name)
620
- policy = Policy.from_json(resp.data[:policy])
621
- policy.extend(PolicyProxy)
622
- policy.bucket = self
623
- policy
624
- rescue Errors::NoSuchBucketPolicy => e
625
- nil
626
- end
627
-
628
- # Sets the bucket's policy.
629
- #
630
- # @param policy The new policy. This can be a string (which
631
- # is assumed to contain a valid policy expressed in JSON), a
632
- # Policy object or any object that responds to `to_json`.
633
- # @see Policy
634
- # @return [nil]
635
- def policy=(policy)
636
- client.set_bucket_policy(:bucket_name => name, :policy => policy)
637
- nil
638
- end
639
-
640
- # The primary interface for editing the lifecycle configuration.
641
- # See {BucketLifecycleConfiguration} for more information.
642
- #
643
- # @example Adding rules to a bucket's lifecycle configuration
644
- #
645
- # bucket.lifecycle_configuration.update do
646
- # add_rule 'cache-1/', 30
647
- # add_rule 'cache-2/', 30
648
- # end
649
- #
650
- # @example Deleting the lifecycle configuration
651
- #
652
- # bucket.lifecycle_configuration.clear
653
- #
654
- # @return [BucketLifecycleConfiguration]
655
- #
656
- def lifecycle_configuration
657
- @lifecycle_cfg ||= BucketLifecycleConfiguration.new(self)
658
- end
659
-
660
- # You can call this method if you prefer to build your own
661
- # lifecycle configuration.
662
- #
663
- # bucket.lifecycle_configuration = <<-XML
664
- # <LifecycleConfiguration>
665
- # ...
666
- # </LifecycleConfiguration>
667
- # XML
668
- #
669
- # You can also use this method to copy a lifecycle configuration
670
- # from another bucket.
671
- #
672
- # bucket.lifecycle_configuration = other_bucket.lifecycle_configuration
673
- #
674
- # If you call this method, passing nil, the lifecycle configuration
675
- # for this bucket will be deleted.
676
- #
677
- # @param [String,Object] config You can pass an xml string or any
678
- # other object that responds to #to_xml (e.g.
679
- # BucketLifecycleConfiguration).
680
- #
681
- # @return [nil]
682
- #
683
- def lifecycle_configuration= config
684
-
685
- if config.nil?
686
-
687
- client_opts = {}
688
- client_opts[:bucket_name] = name
689
- client.delete_bucket_lifecycle_configuration(client_opts)
690
-
691
- @lifecycle_cfg = BucketLifecycleConfiguration.new(self, :empty => true)
692
-
693
- else
694
-
695
- xml = config.is_a?(String) ? config : config.to_xml
696
-
697
- client_opts = {}
698
- client_opts[:bucket_name] = name
699
- client_opts[:lifecycle_configuration] = xml
700
- client.set_bucket_lifecycle_configuration(client_opts)
701
-
702
- @lifecycle_cfg = BucketLifecycleConfiguration.new(self, :xml => xml)
703
-
704
- end
705
-
706
- nil
707
-
708
- end
709
-
710
- # Returns a tree that allows you to expose the bucket contents
711
- # like a directory structure.
712
- #
713
- # @see Tree
714
- # @param [Hash] options
715
- # @option options [String] :prefix (nil) Set prefix to choose where
716
- # the top of the tree will be. A value of `nil` means
717
- # that the tree will include all objects in the collection.
718
- #
719
- # @option options [String] :delimiter ('/') The string that separates
720
- # each level of the tree. This is usually a directory separator.
721
- #
722
- # @option options [Boolean] :append (true) If true, the delimiter is
723
- # appended to the prefix when the prefix does not already end
724
- # with the delimiter.
725
- #
726
- # @return [Tree]
727
- def as_tree options = {}
728
- objects.as_tree(options)
729
- end
730
-
731
- # Generates fields for a presigned POST to this object. All
732
- # options are sent to the PresignedPost constructor.
733
- #
734
- # @see PresignedPost
735
- def presigned_post(options = {})
736
- PresignedPost.new(self, options)
737
- end
738
-
739
- end
740
-
741
- end
742
- end