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.
- checksums.yaml +4 -4
- data/lib/aws-sdk.rb +1 -15
- metadata +16 -584
- data/.yardopts +0 -7
- data/LICENSE.txt +0 -12
- data/README.md +0 -309
- data/bin/aws-rb +0 -179
- data/ca-bundle.crt +0 -3554
- data/endpoints.json +0 -1671
- data/lib/aws.rb +0 -14
- data/lib/aws/api_config/AutoScaling-2011-01-01.yml +0 -1070
- data/lib/aws/api_config/CloudFormation-2010-05-15.yml +0 -372
- data/lib/aws/api_config/CloudFront-2013-05-12.yml +0 -2448
- data/lib/aws/api_config/CloudFront-2013-08-26.yml +0 -2599
- data/lib/aws/api_config/CloudFront-2013-09-27.yml +0 -2765
- data/lib/aws/api_config/CloudFront-2013-11-11.yml +0 -2886
- data/lib/aws/api_config/CloudFront-2013-11-22.yml +0 -2918
- data/lib/aws/api_config/CloudFront-2014-01-31.yml +0 -2934
- data/lib/aws/api_config/CloudFront-2014-05-31.yml +0 -3100
- data/lib/aws/api_config/CloudSearch-2011-02-01.yml +0 -681
- data/lib/aws/api_config/CloudSearch-2013-01-01.yml +0 -1164
- data/lib/aws/api_config/CloudTrail-2013-11-01.yml +0 -130
- data/lib/aws/api_config/CloudWatch-2010-08-01.yml +0 -433
- data/lib/aws/api_config/DataPipeline-2012-10-29.yml +0 -422
- data/lib/aws/api_config/DirectConnect-2012-10-25.yml +0 -735
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +0 -1168
- data/lib/aws/api_config/DynamoDB-2012-08-10.yml +0 -2105
- data/lib/aws/api_config/EC2-2013-08-15.yml +0 -4708
- data/lib/aws/api_config/EC2-2013-10-01.yml +0 -4726
- data/lib/aws/api_config/EC2-2013-10-15.yml +0 -4651
- data/lib/aws/api_config/EC2-2014-02-01.yml +0 -4755
- data/lib/aws/api_config/EC2-2014-05-01.yml +0 -4812
- data/lib/aws/api_config/ELB-2012-06-01.yml +0 -766
- data/lib/aws/api_config/EMR-2009-03-31.yml +0 -972
- data/lib/aws/api_config/ElastiCache-2013-06-15.yml +0 -1188
- data/lib/aws/api_config/ElastiCache-2014-03-24.yml +0 -1375
- data/lib/aws/api_config/ElastiCache-2014-07-15.yml +0 -1385
- data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +0 -854
- data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +0 -3082
- data/lib/aws/api_config/Glacier-2012-06-01.yml +0 -649
- data/lib/aws/api_config/IAM-2010-05-08.yml +0 -1339
- data/lib/aws/api_config/ImportExport-2010-06-01.yml +0 -109
- data/lib/aws/api_config/Kinesis-2013-12-02.yml +0 -201
- data/lib/aws/api_config/OpsWorks-2013-02-18.yml +0 -2025
- data/lib/aws/api_config/RDS-2013-05-15.yml +0 -2464
- data/lib/aws/api_config/RDS-2013-09-09.yml +0 -2640
- data/lib/aws/api_config/Redshift-2012-12-01.yml +0 -2161
- data/lib/aws/api_config/Route53-2012-12-12.yml +0 -547
- data/lib/aws/api_config/Route53-2013-04-01.yml +0 -889
- data/lib/aws/api_config/SNS-2010-03-31.yml +0 -448
- data/lib/aws/api_config/SQS-2012-11-05.yml +0 -404
- data/lib/aws/api_config/STS-2011-06-15.yml +0 -151
- data/lib/aws/api_config/SimpleDB-2009-04-15.yml +0 -306
- data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +0 -346
- data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +0 -2388
- data/lib/aws/api_config/StorageGateway-2012-06-30.yml +0 -748
- data/lib/aws/api_config/StorageGateway-2013-06-30.yml +0 -1025
- data/lib/aws/api_config/Support-2013-04-15.yml +0 -489
- data/lib/aws/auto_scaling.rb +0 -163
- data/lib/aws/auto_scaling/activity.rb +0 -102
- data/lib/aws/auto_scaling/activity_collection.rb +0 -81
- data/lib/aws/auto_scaling/client.rb +0 -48
- data/lib/aws/auto_scaling/config.rb +0 -18
- data/lib/aws/auto_scaling/errors.rb +0 -22
- data/lib/aws/auto_scaling/group.rb +0 -421
- data/lib/aws/auto_scaling/group_collection.rb +0 -96
- data/lib/aws/auto_scaling/group_options.rb +0 -155
- data/lib/aws/auto_scaling/instance.rb +0 -192
- data/lib/aws/auto_scaling/instance_collection.rb +0 -63
- data/lib/aws/auto_scaling/launch_configuration.rb +0 -162
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +0 -160
- data/lib/aws/auto_scaling/notification_configuration.rb +0 -89
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +0 -183
- data/lib/aws/auto_scaling/scaling_policy.rb +0 -142
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +0 -72
- data/lib/aws/auto_scaling/scaling_policy_options.rb +0 -65
- data/lib/aws/auto_scaling/scheduled_action.rb +0 -141
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +0 -202
- data/lib/aws/auto_scaling/tag.rb +0 -59
- data/lib/aws/auto_scaling/tag_collection.rb +0 -114
- data/lib/aws/cloud_formation.rb +0 -272
- data/lib/aws/cloud_formation/client.rb +0 -48
- data/lib/aws/cloud_formation/config.rb +0 -18
- data/lib/aws/cloud_formation/errors.rb +0 -22
- data/lib/aws/cloud_formation/stack.rb +0 -266
- data/lib/aws/cloud_formation/stack_collection.rb +0 -232
- data/lib/aws/cloud_formation/stack_event.rb +0 -73
- data/lib/aws/cloud_formation/stack_event_collection.rb +0 -47
- data/lib/aws/cloud_formation/stack_options.rb +0 -72
- data/lib/aws/cloud_formation/stack_output.rb +0 -53
- data/lib/aws/cloud_formation/stack_resource.rb +0 -117
- data/lib/aws/cloud_formation/stack_resource_collection.rb +0 -83
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +0 -64
- data/lib/aws/cloud_formation/stack_summary_collection.rb +0 -123
- data/lib/aws/cloud_front.rb +0 -72
- data/lib/aws/cloud_front/client.rb +0 -57
- data/lib/aws/cloud_front/config.rb +0 -18
- data/lib/aws/cloud_front/errors.rb +0 -22
- data/lib/aws/cloud_search.rb +0 -73
- data/lib/aws/cloud_search/client.rb +0 -40
- data/lib/aws/cloud_search/config.rb +0 -18
- data/lib/aws/cloud_search/errors.rb +0 -22
- data/lib/aws/cloud_trail.rb +0 -72
- data/lib/aws/cloud_trail/client.rb +0 -35
- data/lib/aws/cloud_trail/config.rb +0 -18
- data/lib/aws/cloud_trail/errors.rb +0 -22
- data/lib/aws/cloud_watch.rb +0 -118
- data/lib/aws/cloud_watch/alarm.rb +0 -293
- data/lib/aws/cloud_watch/alarm_collection.rb +0 -153
- data/lib/aws/cloud_watch/alarm_history_item.rb +0 -50
- data/lib/aws/cloud_watch/alarm_history_item_collection.rb +0 -84
- data/lib/aws/cloud_watch/client.rb +0 -40
- data/lib/aws/cloud_watch/config.rb +0 -18
- data/lib/aws/cloud_watch/errors.rb +0 -22
- data/lib/aws/cloud_watch/metric.rb +0 -135
- data/lib/aws/cloud_watch/metric_alarm_collection.rb +0 -160
- data/lib/aws/cloud_watch/metric_collection.rb +0 -129
- data/lib/aws/cloud_watch/metric_statistics.rb +0 -69
- data/lib/aws/core.rb +0 -716
- data/lib/aws/core/async_handle.rb +0 -90
- data/lib/aws/core/cacheable.rb +0 -77
- data/lib/aws/core/client.rb +0 -787
- data/lib/aws/core/collection.rb +0 -263
- data/lib/aws/core/collection/simple.rb +0 -82
- data/lib/aws/core/collection/with_limit_and_next_token.rb +0 -71
- data/lib/aws/core/collection/with_next_token.rb +0 -97
- data/lib/aws/core/configuration.rb +0 -542
- data/lib/aws/core/credential_providers.rb +0 -624
- data/lib/aws/core/data.rb +0 -247
- data/lib/aws/core/deprecations.rb +0 -84
- data/lib/aws/core/endpoints.rb +0 -37
- data/lib/aws/core/http/connection_pool.rb +0 -369
- data/lib/aws/core/http/curb_handler.rb +0 -148
- data/lib/aws/core/http/handler.rb +0 -89
- data/lib/aws/core/http/net_http_handler.rb +0 -144
- data/lib/aws/core/http/patch.rb +0 -102
- data/lib/aws/core/http/request.rb +0 -259
- data/lib/aws/core/http/response.rb +0 -81
- data/lib/aws/core/indifferent_hash.rb +0 -88
- data/lib/aws/core/inflection.rb +0 -56
- data/lib/aws/core/ini_parser.rb +0 -42
- data/lib/aws/core/json_client.rb +0 -47
- data/lib/aws/core/json_parser.rb +0 -76
- data/lib/aws/core/json_request_builder.rb +0 -35
- data/lib/aws/core/json_response_parser.rb +0 -79
- data/lib/aws/core/lazy_error_classes.rb +0 -108
- data/lib/aws/core/log_formatter.rb +0 -428
- data/lib/aws/core/managed_file.rb +0 -32
- data/lib/aws/core/meta_utils.rb +0 -45
- data/lib/aws/core/model.rb +0 -62
- data/lib/aws/core/naming.rb +0 -30
- data/lib/aws/core/option_grammar.rb +0 -738
- data/lib/aws/core/options/json_serializer.rb +0 -82
- data/lib/aws/core/options/validator.rb +0 -155
- data/lib/aws/core/options/xml_serializer.rb +0 -118
- data/lib/aws/core/page_result.rb +0 -75
- data/lib/aws/core/policy.rb +0 -941
- data/lib/aws/core/query_client.rb +0 -41
- data/lib/aws/core/query_error_parser.rb +0 -24
- data/lib/aws/core/query_request_builder.rb +0 -47
- data/lib/aws/core/query_response_parser.rb +0 -35
- data/lib/aws/core/region.rb +0 -85
- data/lib/aws/core/region_collection.rb +0 -80
- data/lib/aws/core/resource.rb +0 -413
- data/lib/aws/core/resource_cache.rb +0 -40
- data/lib/aws/core/response.rb +0 -215
- data/lib/aws/core/response_cache.rb +0 -50
- data/lib/aws/core/rest_error_parser.rb +0 -24
- data/lib/aws/core/rest_json_client.rb +0 -40
- data/lib/aws/core/rest_request_builder.rb +0 -154
- data/lib/aws/core/rest_response_parser.rb +0 -66
- data/lib/aws/core/rest_xml_client.rb +0 -47
- data/lib/aws/core/service_interface.rb +0 -83
- data/lib/aws/core/signers/base.rb +0 -46
- data/lib/aws/core/signers/cloud_front.rb +0 -56
- data/lib/aws/core/signers/s3.rb +0 -159
- data/lib/aws/core/signers/version_2.rb +0 -72
- data/lib/aws/core/signers/version_3.rb +0 -86
- data/lib/aws/core/signers/version_3_https.rb +0 -61
- data/lib/aws/core/signers/version_4.rb +0 -228
- data/lib/aws/core/signers/version_4/chunk_signed_stream.rb +0 -191
- data/lib/aws/core/uri_escape.rb +0 -44
- data/lib/aws/core/xml/frame.rb +0 -245
- data/lib/aws/core/xml/frame_stack.rb +0 -85
- data/lib/aws/core/xml/grammar.rb +0 -307
- data/lib/aws/core/xml/parser.rb +0 -70
- data/lib/aws/core/xml/root_frame.rb +0 -65
- data/lib/aws/core/xml/sax_handlers/libxml.rb +0 -47
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +0 -56
- data/lib/aws/core/xml/sax_handlers/ox.rb +0 -41
- data/lib/aws/core/xml/sax_handlers/rexml.rb +0 -47
- data/lib/aws/core/xml/stub.rb +0 -123
- data/lib/aws/data_pipeline.rb +0 -72
- data/lib/aws/data_pipeline/client.rb +0 -36
- data/lib/aws/data_pipeline/config.rb +0 -18
- data/lib/aws/data_pipeline/errors.rb +0 -20
- data/lib/aws/direct_connect.rb +0 -73
- data/lib/aws/direct_connect/client.rb +0 -36
- data/lib/aws/direct_connect/config.rb +0 -18
- data/lib/aws/direct_connect/errors.rb +0 -22
- data/lib/aws/dynamo_db.rb +0 -230
- data/lib/aws/dynamo_db/attribute_collection.rb +0 -456
- data/lib/aws/dynamo_db/batch_get.rb +0 -213
- data/lib/aws/dynamo_db/batch_write.rb +0 -254
- data/lib/aws/dynamo_db/binary.rb +0 -35
- data/lib/aws/dynamo_db/client.rb +0 -129
- data/lib/aws/dynamo_db/client/v20111205.rb +0 -1266
- data/lib/aws/dynamo_db/client/v20120810.rb +0 -1409
- data/lib/aws/dynamo_db/client_v2.rb +0 -44
- data/lib/aws/dynamo_db/config.rb +0 -24
- data/lib/aws/dynamo_db/errors.rb +0 -20
- data/lib/aws/dynamo_db/expectations.rb +0 -40
- data/lib/aws/dynamo_db/item.rb +0 -133
- data/lib/aws/dynamo_db/item_collection.rb +0 -856
- data/lib/aws/dynamo_db/item_data.rb +0 -31
- data/lib/aws/dynamo_db/keys.rb +0 -41
- data/lib/aws/dynamo_db/primary_key_element.rb +0 -48
- data/lib/aws/dynamo_db/resource.rb +0 -33
- data/lib/aws/dynamo_db/table.rb +0 -492
- data/lib/aws/dynamo_db/table_collection.rb +0 -165
- data/lib/aws/dynamo_db/types.rb +0 -111
- data/lib/aws/ec2.rb +0 -428
- data/lib/aws/ec2/attachment.rb +0 -135
- data/lib/aws/ec2/attachment_collection.rb +0 -54
- data/lib/aws/ec2/availability_zone.rb +0 -86
- data/lib/aws/ec2/availability_zone_collection.rb +0 -43
- data/lib/aws/ec2/block_device_mappings.rb +0 -53
- data/lib/aws/ec2/client.rb +0 -164
- data/lib/aws/ec2/collection.rb +0 -36
- data/lib/aws/ec2/config.rb +0 -30
- data/lib/aws/ec2/customer_gateway.rb +0 -90
- data/lib/aws/ec2/customer_gateway_collection.rb +0 -73
- data/lib/aws/ec2/dhcp_options.rb +0 -106
- data/lib/aws/ec2/dhcp_options_collection.rb +0 -87
- data/lib/aws/ec2/elastic_ip.rb +0 -209
- data/lib/aws/ec2/elastic_ip_collection.rb +0 -93
- data/lib/aws/ec2/errors.rb +0 -32
- data/lib/aws/ec2/export_task.rb +0 -120
- data/lib/aws/ec2/export_task_collection.rb +0 -67
- data/lib/aws/ec2/filtered_collection.rb +0 -87
- data/lib/aws/ec2/has_permissions.rb +0 -44
- data/lib/aws/ec2/image.rb +0 -270
- data/lib/aws/ec2/image_collection.rb +0 -219
- data/lib/aws/ec2/instance.rb +0 -803
- data/lib/aws/ec2/instance_collection.rb +0 -402
- data/lib/aws/ec2/internet_gateway.rb +0 -122
- data/lib/aws/ec2/internet_gateway/attachment.rb +0 -78
- data/lib/aws/ec2/internet_gateway_collection.rb +0 -54
- data/lib/aws/ec2/key_pair.rb +0 -82
- data/lib/aws/ec2/key_pair_collection.rb +0 -99
- data/lib/aws/ec2/network_acl.rb +0 -256
- data/lib/aws/ec2/network_acl/association.rb +0 -56
- data/lib/aws/ec2/network_acl/entry.rb +0 -147
- data/lib/aws/ec2/network_acl_collection.rb +0 -64
- data/lib/aws/ec2/network_interface.rb +0 -237
- data/lib/aws/ec2/network_interface/attachment.rb +0 -100
- data/lib/aws/ec2/network_interface_collection.rb +0 -103
- data/lib/aws/ec2/permission_collection.rb +0 -174
- data/lib/aws/ec2/region.rb +0 -106
- data/lib/aws/ec2/region_collection.rb +0 -51
- data/lib/aws/ec2/reserved_instances.rb +0 -56
- data/lib/aws/ec2/reserved_instances_collection.rb +0 -40
- data/lib/aws/ec2/reserved_instances_offering.rb +0 -60
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -45
- data/lib/aws/ec2/resource.rb +0 -161
- data/lib/aws/ec2/resource_tag_collection.rb +0 -211
- data/lib/aws/ec2/route_table.rb +0 -205
- data/lib/aws/ec2/route_table/association.rb +0 -119
- data/lib/aws/ec2/route_table/route.rb +0 -119
- data/lib/aws/ec2/route_table_collection.rb +0 -72
- data/lib/aws/ec2/security_group.rb +0 -482
- data/lib/aws/ec2/security_group/ip_permission.rb +0 -135
- data/lib/aws/ec2/security_group/ip_permission_collection.rb +0 -82
- data/lib/aws/ec2/security_group_collection.rb +0 -133
- data/lib/aws/ec2/snapshot.rb +0 -143
- data/lib/aws/ec2/snapshot_collection.rb +0 -131
- data/lib/aws/ec2/subnet.rb +0 -161
- data/lib/aws/ec2/subnet_collection.rb +0 -119
- data/lib/aws/ec2/tag.rb +0 -81
- data/lib/aws/ec2/tag_collection.rb +0 -107
- data/lib/aws/ec2/tagged_collection.rb +0 -67
- data/lib/aws/ec2/tagged_item.rb +0 -85
- data/lib/aws/ec2/volume.rb +0 -174
- data/lib/aws/ec2/volume_collection.rb +0 -102
- data/lib/aws/ec2/vpc.rb +0 -174
- data/lib/aws/ec2/vpc_collection.rb +0 -70
- data/lib/aws/ec2/vpn_connection.rb +0 -99
- data/lib/aws/ec2/vpn_connection/telemetry.rb +0 -49
- data/lib/aws/ec2/vpn_connection_collection.rb +0 -96
- data/lib/aws/ec2/vpn_gateway.rb +0 -123
- data/lib/aws/ec2/vpn_gateway/attachment.rb +0 -45
- data/lib/aws/ec2/vpn_gateway_collection.rb +0 -77
- data/lib/aws/elastic_beanstalk.rb +0 -49
- data/lib/aws/elastic_beanstalk/client.rb +0 -36
- data/lib/aws/elastic_beanstalk/config.rb +0 -18
- data/lib/aws/elastic_beanstalk/errors.rb +0 -22
- data/lib/aws/elastic_transcoder.rb +0 -29
- data/lib/aws/elastic_transcoder/client.rb +0 -48
- data/lib/aws/elastic_transcoder/config.rb +0 -18
- data/lib/aws/elastic_transcoder/errors.rb +0 -23
- data/lib/aws/elasticache.rb +0 -49
- data/lib/aws/elasticache/client.rb +0 -41
- data/lib/aws/elasticache/config.rb +0 -18
- data/lib/aws/elasticache/errors.rb +0 -22
- data/lib/aws/elb.rb +0 -66
- data/lib/aws/elb/availability_zone_collection.rb +0 -138
- data/lib/aws/elb/backend_server_policy_collection.rb +0 -139
- data/lib/aws/elb/client.rb +0 -35
- data/lib/aws/elb/config.rb +0 -18
- data/lib/aws/elb/errors.rb +0 -26
- data/lib/aws/elb/instance_collection.rb +0 -168
- data/lib/aws/elb/listener.rb +0 -190
- data/lib/aws/elb/listener_collection.rb +0 -113
- data/lib/aws/elb/listener_opts.rb +0 -45
- data/lib/aws/elb/load_balancer.rb +0 -280
- data/lib/aws/elb/load_balancer_collection.rb +0 -146
- data/lib/aws/elb/load_balancer_policy.rb +0 -93
- data/lib/aws/elb/load_balancer_policy_collection.rb +0 -208
- data/lib/aws/emr.rb +0 -87
- data/lib/aws/emr/client.rb +0 -35
- data/lib/aws/emr/config.rb +0 -18
- data/lib/aws/emr/errors.rb +0 -22
- data/lib/aws/emr/instance_group.rb +0 -138
- data/lib/aws/emr/instance_group_collection.rb +0 -82
- data/lib/aws/emr/job_flow.rb +0 -307
- data/lib/aws/emr/job_flow_collection.rb +0 -183
- data/lib/aws/errors.rb +0 -162
- data/lib/aws/glacier.rb +0 -79
- data/lib/aws/glacier/archive.rb +0 -56
- data/lib/aws/glacier/archive_collection.rb +0 -146
- data/lib/aws/glacier/client.rb +0 -49
- data/lib/aws/glacier/config.rb +0 -19
- data/lib/aws/glacier/errors.rb +0 -22
- data/lib/aws/glacier/resource.rb +0 -30
- data/lib/aws/glacier/vault.rb +0 -145
- data/lib/aws/glacier/vault_collection.rb +0 -75
- data/lib/aws/glacier/vault_notification_configuration.rb +0 -29
- data/lib/aws/iam.rb +0 -408
- data/lib/aws/iam/access_key.rb +0 -185
- data/lib/aws/iam/access_key_collection.rb +0 -128
- data/lib/aws/iam/account_alias_collection.rb +0 -79
- data/lib/aws/iam/client.rb +0 -49
- data/lib/aws/iam/collection.rb +0 -83
- data/lib/aws/iam/config.rb +0 -18
- data/lib/aws/iam/errors.rb +0 -22
- data/lib/aws/iam/group.rb +0 -111
- data/lib/aws/iam/group_collection.rb +0 -132
- data/lib/aws/iam/group_policy_collection.rb +0 -47
- data/lib/aws/iam/group_user_collection.rb +0 -84
- data/lib/aws/iam/login_profile.rb +0 -99
- data/lib/aws/iam/mfa_device.rb +0 -52
- data/lib/aws/iam/mfa_device_collection.rb +0 -127
- data/lib/aws/iam/policy.rb +0 -46
- data/lib/aws/iam/policy_collection.rb +0 -188
- data/lib/aws/iam/resource.rb +0 -62
- data/lib/aws/iam/server_certificate.rb +0 -148
- data/lib/aws/iam/server_certificate_collection.rb +0 -138
- data/lib/aws/iam/signing_certificate.rb +0 -186
- data/lib/aws/iam/signing_certificate_collection.rb +0 -131
- data/lib/aws/iam/user.rb +0 -200
- data/lib/aws/iam/user_collection.rb +0 -133
- data/lib/aws/iam/user_group_collection.rb +0 -98
- data/lib/aws/iam/user_policy.rb +0 -90
- data/lib/aws/iam/user_policy_collection.rb +0 -45
- data/lib/aws/iam/virtual_mfa_device.rb +0 -139
- data/lib/aws/iam/virtual_mfa_device_collection.rb +0 -73
- data/lib/aws/import_export.rb +0 -73
- data/lib/aws/import_export/client.rb +0 -35
- data/lib/aws/import_export/config.rb +0 -19
- data/lib/aws/import_export/errors.rb +0 -22
- data/lib/aws/kinesis.rb +0 -53
- data/lib/aws/kinesis/client.rb +0 -35
- data/lib/aws/kinesis/config.rb +0 -18
- data/lib/aws/kinesis/errors.rb +0 -20
- data/lib/aws/ops_works.rb +0 -29
- data/lib/aws/ops_works/client.rb +0 -35
- data/lib/aws/ops_works/config.rb +0 -18
- data/lib/aws/ops_works/errors.rb +0 -20
- data/lib/aws/rails.rb +0 -195
- data/lib/aws/rds.rb +0 -70
- data/lib/aws/rds/client.rb +0 -42
- data/lib/aws/rds/config.rb +0 -18
- data/lib/aws/rds/db_instance.rb +0 -215
- data/lib/aws/rds/db_instance_collection.rb +0 -75
- data/lib/aws/rds/db_snapshot.rb +0 -163
- data/lib/aws/rds/db_snapshot_collection.rb +0 -89
- data/lib/aws/rds/errors.rb +0 -22
- data/lib/aws/record.rb +0 -139
- data/lib/aws/record/abstract_base.rb +0 -689
- data/lib/aws/record/attributes.rb +0 -388
- data/lib/aws/record/conversion.rb +0 -38
- data/lib/aws/record/dirty_tracking.rb +0 -287
- data/lib/aws/record/errors.rb +0 -143
- data/lib/aws/record/exceptions.rb +0 -51
- data/lib/aws/record/hash_model.rb +0 -204
- data/lib/aws/record/hash_model/attributes.rb +0 -195
- data/lib/aws/record/hash_model/finder_methods.rb +0 -172
- data/lib/aws/record/hash_model/scope.rb +0 -108
- data/lib/aws/record/model.rb +0 -453
- data/lib/aws/record/model/attributes.rb +0 -377
- data/lib/aws/record/model/finder_methods.rb +0 -232
- data/lib/aws/record/model/scope.rb +0 -212
- data/lib/aws/record/naming.rb +0 -31
- data/lib/aws/record/scope.rb +0 -203
- data/lib/aws/record/validations.rb +0 -694
- data/lib/aws/record/validator.rb +0 -246
- data/lib/aws/record/validators/acceptance.rb +0 -49
- data/lib/aws/record/validators/block.rb +0 -36
- data/lib/aws/record/validators/confirmation.rb +0 -41
- data/lib/aws/record/validators/count.rb +0 -106
- data/lib/aws/record/validators/exclusion.rb +0 -41
- data/lib/aws/record/validators/format.rb +0 -55
- data/lib/aws/record/validators/inclusion.rb +0 -54
- data/lib/aws/record/validators/length.rb +0 -105
- data/lib/aws/record/validators/method.rb +0 -31
- data/lib/aws/record/validators/numericality.rb +0 -136
- data/lib/aws/record/validators/presence.rb +0 -43
- data/lib/aws/redshift.rb +0 -51
- data/lib/aws/redshift/client.rb +0 -35
- data/lib/aws/redshift/config.rb +0 -18
- data/lib/aws/redshift/errors.rb +0 -22
- data/lib/aws/route_53.rb +0 -86
- data/lib/aws/route_53/change_batch.rb +0 -161
- data/lib/aws/route_53/change_info.rb +0 -72
- data/lib/aws/route_53/client.rb +0 -38
- data/lib/aws/route_53/config.rb +0 -18
- data/lib/aws/route_53/errors.rb +0 -22
- data/lib/aws/route_53/hosted_zone.rb +0 -134
- data/lib/aws/route_53/hosted_zone_collection.rb +0 -101
- data/lib/aws/route_53/resource_record_set.rb +0 -251
- data/lib/aws/route_53/resource_record_set_collection.rb +0 -110
- data/lib/aws/s3.rb +0 -156
- data/lib/aws/s3/access_control_list.rb +0 -265
- data/lib/aws/s3/acl_object.rb +0 -264
- data/lib/aws/s3/acl_options.rb +0 -204
- data/lib/aws/s3/bucket.rb +0 -742
- data/lib/aws/s3/bucket_collection.rb +0 -162
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +0 -473
- data/lib/aws/s3/bucket_tag_collection.rb +0 -111
- data/lib/aws/s3/bucket_version_collection.rb +0 -79
- data/lib/aws/s3/cipher_io.rb +0 -120
- data/lib/aws/s3/client.rb +0 -2067
- data/lib/aws/s3/client/xml.rb +0 -266
- data/lib/aws/s3/config.rb +0 -48
- data/lib/aws/s3/cors_rule.rb +0 -108
- data/lib/aws/s3/cors_rule_collection.rb +0 -194
- data/lib/aws/s3/data_options.rb +0 -191
- data/lib/aws/s3/encryption_utils.rb +0 -146
- data/lib/aws/s3/errors.rb +0 -94
- data/lib/aws/s3/multipart_upload.rb +0 -353
- data/lib/aws/s3/multipart_upload_collection.rb +0 -76
- data/lib/aws/s3/object_collection.rb +0 -353
- data/lib/aws/s3/object_metadata.rb +0 -103
- data/lib/aws/s3/object_upload_collection.rb +0 -77
- data/lib/aws/s3/object_version.rb +0 -154
- data/lib/aws/s3/object_version_collection.rb +0 -89
- data/lib/aws/s3/paginated_collection.rb +0 -75
- data/lib/aws/s3/policy.rb +0 -74
- data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -47
- data/lib/aws/s3/prefixed_collection.rb +0 -85
- data/lib/aws/s3/presign_v4.rb +0 -136
- data/lib/aws/s3/presigned_post.rb +0 -554
- data/lib/aws/s3/request.rb +0 -62
- data/lib/aws/s3/s3_object.rb +0 -1784
- data/lib/aws/s3/tree.rb +0 -116
- data/lib/aws/s3/tree/branch_node.rb +0 -68
- data/lib/aws/s3/tree/child_collection.rb +0 -104
- data/lib/aws/s3/tree/leaf_node.rb +0 -94
- data/lib/aws/s3/tree/node.rb +0 -22
- data/lib/aws/s3/tree/parent.rb +0 -87
- data/lib/aws/s3/uploaded_part.rb +0 -82
- data/lib/aws/s3/uploaded_part_collection.rb +0 -84
- data/lib/aws/s3/website_configuration.rb +0 -102
- data/lib/aws/simple_db.rb +0 -218
- data/lib/aws/simple_db/attribute.rb +0 -156
- data/lib/aws/simple_db/attribute_collection.rb +0 -240
- data/lib/aws/simple_db/client.rb +0 -67
- data/lib/aws/simple_db/config.rb +0 -20
- data/lib/aws/simple_db/consistent_read_option.rb +0 -42
- data/lib/aws/simple_db/delete_attributes.rb +0 -62
- data/lib/aws/simple_db/domain.rb +0 -123
- data/lib/aws/simple_db/domain_collection.rb +0 -86
- data/lib/aws/simple_db/domain_metadata.rb +0 -110
- data/lib/aws/simple_db/errors.rb +0 -55
- data/lib/aws/simple_db/expect_condition_option.rb +0 -45
- data/lib/aws/simple_db/item.rb +0 -93
- data/lib/aws/simple_db/item_collection.rb +0 -654
- data/lib/aws/simple_db/item_data.rb +0 -73
- data/lib/aws/simple_db/put_attributes.rb +0 -60
- data/lib/aws/simple_email_service.rb +0 -443
- data/lib/aws/simple_email_service/client.rb +0 -37
- data/lib/aws/simple_email_service/config.rb +0 -18
- data/lib/aws/simple_email_service/email_address_collection.rb +0 -69
- data/lib/aws/simple_email_service/errors.rb +0 -22
- data/lib/aws/simple_email_service/identity.rb +0 -230
- data/lib/aws/simple_email_service/identity_collection.rb +0 -81
- data/lib/aws/simple_email_service/quotas.rb +0 -66
- data/lib/aws/simple_workflow.rb +0 -227
- data/lib/aws/simple_workflow/activity_task.rb +0 -178
- data/lib/aws/simple_workflow/activity_task_collection.rb +0 -123
- data/lib/aws/simple_workflow/activity_type.rb +0 -131
- data/lib/aws/simple_workflow/activity_type_collection.rb +0 -93
- data/lib/aws/simple_workflow/client.rb +0 -69
- data/lib/aws/simple_workflow/config.rb +0 -18
- data/lib/aws/simple_workflow/count.rb +0 -49
- data/lib/aws/simple_workflow/decision_task.rb +0 -603
- data/lib/aws/simple_workflow/decision_task_collection.rb +0 -223
- data/lib/aws/simple_workflow/domain.rb +0 -122
- data/lib/aws/simple_workflow/domain_collection.rb +0 -169
- data/lib/aws/simple_workflow/errors.rb +0 -20
- data/lib/aws/simple_workflow/history_event.rb +0 -276
- data/lib/aws/simple_workflow/history_event_collection.rb +0 -76
- data/lib/aws/simple_workflow/option_formatters.rb +0 -82
- data/lib/aws/simple_workflow/resource.rb +0 -94
- data/lib/aws/simple_workflow/type.rb +0 -89
- data/lib/aws/simple_workflow/type_collection.rb +0 -140
- data/lib/aws/simple_workflow/workflow_execution.rb +0 -384
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +0 -617
- data/lib/aws/simple_workflow/workflow_type.rb +0 -177
- data/lib/aws/simple_workflow/workflow_type_collection.rb +0 -91
- data/lib/aws/sns.rb +0 -76
- data/lib/aws/sns/client.rb +0 -35
- data/lib/aws/sns/config.rb +0 -18
- data/lib/aws/sns/errors.rb +0 -22
- data/lib/aws/sns/has_delivery_policy.rb +0 -68
- data/lib/aws/sns/message.rb +0 -204
- data/lib/aws/sns/originators/from_auto_scaling.rb +0 -68
- data/lib/aws/sns/policy.rb +0 -47
- data/lib/aws/sns/subscription.rb +0 -165
- data/lib/aws/sns/subscription_collection.rb +0 -78
- data/lib/aws/sns/topic.rb +0 -403
- data/lib/aws/sns/topic_collection.rb +0 -62
- data/lib/aws/sns/topic_subscription_collection.rb +0 -54
- data/lib/aws/sqs.rb +0 -80
- data/lib/aws/sqs/client.rb +0 -53
- data/lib/aws/sqs/config.rb +0 -20
- data/lib/aws/sqs/errors.rb +0 -125
- data/lib/aws/sqs/policy.rb +0 -48
- data/lib/aws/sqs/queue.rb +0 -856
- data/lib/aws/sqs/queue_collection.rb +0 -186
- data/lib/aws/sqs/received_message.rb +0 -190
- data/lib/aws/sqs/received_sns_message.rb +0 -116
- data/lib/aws/storage_gateway.rb +0 -72
- data/lib/aws/storage_gateway/client.rb +0 -42
- data/lib/aws/storage_gateway/config.rb +0 -18
- data/lib/aws/storage_gateway/errors.rb +0 -22
- data/lib/aws/sts.rb +0 -164
- data/lib/aws/sts/client.rb +0 -55
- data/lib/aws/sts/config.rb +0 -18
- data/lib/aws/sts/errors.rb +0 -22
- data/lib/aws/sts/federated_session.rb +0 -56
- data/lib/aws/sts/policy.rb +0 -30
- data/lib/aws/sts/session.rb +0 -48
- data/lib/aws/support.rb +0 -29
- data/lib/aws/support/client.rb +0 -35
- data/lib/aws/support/config.rb +0 -18
- data/lib/aws/support/errors.rb +0 -20
- data/lib/aws/version.rb +0 -17
- 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
|