aws-sdk 1.32.0 → 1.67.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 -589
- data/.yardopts +0 -7
- data/LICENSE.txt +0 -12
- data/README.md +0 -291
- data/bin/aws-rb +0 -169
- data/ca-bundle.crt +0 -3554
- data/endpoints.json +0 -1506
- data/lib/aws.rb +0 -14
- data/lib/aws/api_config/AutoScaling-2011-01-01.yml +0 -869
- data/lib/aws/api_config/CloudFormation-2010-05-15.yml +0 -358
- 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/CloudSearch-2011-02-01.yml +0 -681
- data/lib/aws/api_config/CloudTrail-2013-11-01.yml +0 -159
- 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 -2005
- 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 -4726
- data/lib/aws/api_config/ELB-2012-06-01.yml +0 -632
- data/lib/aws/api_config/EMR-2009-03-31.yml +0 -953
- data/lib/aws/api_config/ElastiCache-2013-06-15.yml +0 -1188
- data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +0 -847
- data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +0 -2285
- data/lib/aws/api_config/Glacier-2012-06-01.yml +0 -649
- data/lib/aws/api_config/IAM-2010-05-08.yml +0 -1297
- 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 -1825
- data/lib/aws/api_config/RDS-2013-05-15.yml +0 -2464
- data/lib/aws/api_config/RDS-2013-09-09.yml +0 -2641
- data/lib/aws/api_config/Redshift-2012-12-01.yml +0 -2137
- data/lib/aws/api_config/Route53-2012-12-12.yml +0 -547
- data/lib/aws/api_config/SNS-2010-03-31.yml +0 -433
- data/lib/aws/api_config/SQS-2012-11-05.yml +0 -319
- data/lib/aws/api_config/STS-2011-06-15.yml +0 -147
- 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 -426
- 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 -45
- 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 -36
- 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 -290
- 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 -701
- data/lib/aws/core/async_handle.rb +0 -90
- data/lib/aws/core/cacheable.rb +0 -77
- data/lib/aws/core/client.rb +0 -778
- 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 -541
- data/lib/aws/core/credential_providers.rb +0 -506
- 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 -349
- 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 -147
- data/lib/aws/core/http/patch.rb +0 -102
- data/lib/aws/core/http/request.rb +0 -249
- 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/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 -90
- 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 -57
- 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 -942
- 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 -211
- 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 -244
- data/lib/aws/core/xml/frame_stack.rb +0 -85
- data/lib/aws/core/xml/grammar.rb +0 -306
- 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 -214
- 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 -252
- 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 -496
- 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 -101
- 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 -220
- data/lib/aws/ec2/instance.rb +0 -803
- data/lib/aws/ec2/instance_collection.rb +0 -391
- 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 -115
- 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 -53
- 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 -98
- data/lib/aws/ec2/vpc.rb +0 -166
- 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 -35
- 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 -185
- 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 -141
- data/lib/aws/iam/server_certificate_collection.rb +0 -138
- data/lib/aws/iam/signing_certificate.rb +0 -174
- 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 -216
- 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 -690
- 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 -35
- 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 -111
- data/lib/aws/route_53/hosted_zone_collection.rb +0 -100
- 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 -457
- 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 -1919
- data/lib/aws/s3/client/xml.rb +0 -259
- 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 -351
- 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 -127
- 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 -1781
- 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 -430
- 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 -209
- 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 -225
- 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 -179
- 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 -194
- 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 -843
- data/lib/aws/sqs/queue_collection.rb +0 -182
- data/lib/aws/sqs/received_message.rb +0 -182
- 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 -46
- 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
@@ -1,377 +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
|
-
module Record
|
16
|
-
class Model
|
17
|
-
|
18
|
-
module Attributes
|
19
|
-
|
20
|
-
class BooleanAttr < Record::Attributes::BooleanAttr
|
21
|
-
def self.serialize boolean, options = {}
|
22
|
-
super.to_s
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
class IntegerAttr < Record::Attributes::IntegerAttr
|
27
|
-
def self.serialize integer, options = {}
|
28
|
-
super.to_s
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
class FloatAttr < Record::Attributes::FloatAttr
|
33
|
-
def self.serialize float, options = {}
|
34
|
-
super.to_s
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
class SortableIntegerAttr < IntegerAttr
|
39
|
-
|
40
|
-
def initialize name, options = {}
|
41
|
-
range = options[:range]
|
42
|
-
raise ArgumentError, "missing required option :range" unless range
|
43
|
-
raise ArgumentError, ":range should be a integer range" unless
|
44
|
-
range.is_a?(Range) and range.first.is_a?(Integer)
|
45
|
-
super(name, options)
|
46
|
-
end
|
47
|
-
|
48
|
-
# Returns a serialized representation of the integer value suitable for
|
49
|
-
# storing in SimpleDB.
|
50
|
-
#
|
51
|
-
# attribute.serialize(123)
|
52
|
-
# #=> '123'
|
53
|
-
#
|
54
|
-
# # padded to the correct number of digits
|
55
|
-
# attribute.serialize('123', :range => (0..10_000)
|
56
|
-
# #=> '00123'
|
57
|
-
#
|
58
|
-
# # offset applied to make all values positive
|
59
|
-
# attribute.serialize('-55', :range => (-100..10_000)
|
60
|
-
# #=> '00045'
|
61
|
-
#
|
62
|
-
# @param [Integer] integer The number to serialize.
|
63
|
-
# @param [Hash] options
|
64
|
-
# @option options [required,Range] :range A range that represents the
|
65
|
-
# minimum and maximum values this integer can be.
|
66
|
-
# The returned value will have an offset applied (if min is
|
67
|
-
# less than 0) and will be zero padded.
|
68
|
-
# @return [String] A serialized representation of the integer.
|
69
|
-
def self.serialize integer, options = {}
|
70
|
-
expect(Integer, integer) do
|
71
|
-
check_range(integer, options)
|
72
|
-
offset_and_precision(options) do |offset,precision|
|
73
|
-
"%0#{precision}d" % (integer.to_i + offset)
|
74
|
-
end
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
def self.deserialize string_value, options = {}
|
79
|
-
offset_and_precision(options) do |offset,precision|
|
80
|
-
string_value.to_i - offset
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
protected
|
85
|
-
def self.offset_and_precision options, &block
|
86
|
-
|
87
|
-
min = options[:range].first
|
88
|
-
max = options[:range].last
|
89
|
-
|
90
|
-
offset = min < 0 ? min * -1 : 0
|
91
|
-
precision = (max + offset).to_s.length
|
92
|
-
|
93
|
-
yield(offset, precision)
|
94
|
-
|
95
|
-
end
|
96
|
-
|
97
|
-
def self.check_range number, options
|
98
|
-
unless options[:range].include?(number)
|
99
|
-
msg = "unable to serialize `#{number}`, falls outside " +
|
100
|
-
"the range #{options[:range]}"
|
101
|
-
raise msg
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
|
107
|
-
class SortableFloatAttr < FloatAttr
|
108
|
-
|
109
|
-
def initialize name, options = {}
|
110
|
-
range = options[:range]
|
111
|
-
raise ArgumentError, "missing required option :range" unless range
|
112
|
-
raise ArgumentError, ":range should be an integer range" unless
|
113
|
-
range.is_a?(Range) and range.first.is_a?(Integer)
|
114
|
-
super(name, options)
|
115
|
-
end
|
116
|
-
|
117
|
-
def self.serialize float, options = {}
|
118
|
-
expect(Float, float) do
|
119
|
-
left, right = float.to_s.split('.')
|
120
|
-
left = SortableIntegerAttr.serialize(left.to_i, options)
|
121
|
-
SortableIntegerAttr.check_range(float, options)
|
122
|
-
"#{left}.#{right}"
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
def self.deserialize string_value, options = {}
|
127
|
-
expect(String, string_value) do
|
128
|
-
left, right = string_value.split('.')
|
129
|
-
left = SortableIntegerAttr.deserialize(left, options)
|
130
|
-
"#{left}.#{right}".to_f
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
end
|
135
|
-
|
136
|
-
end
|
137
|
-
|
138
|
-
class << self
|
139
|
-
|
140
|
-
# Adds a string attribute to this class.
|
141
|
-
#
|
142
|
-
# @example A standard string attribute
|
143
|
-
#
|
144
|
-
# class Recipe < AWS::Record::Model
|
145
|
-
# string_attr :name
|
146
|
-
# end
|
147
|
-
#
|
148
|
-
# recipe = Recipe.new(:name => "Buttermilk Pancakes")
|
149
|
-
# recipe.name #=> 'Buttermilk Pancakes'
|
150
|
-
#
|
151
|
-
# @example A string attribute with `:set` set to true
|
152
|
-
#
|
153
|
-
# class Recipe < AWS::Record::Model
|
154
|
-
# string_attr :tags, :set => true
|
155
|
-
# end
|
156
|
-
#
|
157
|
-
# recipe = Recipe.new(:tags => %w(popular dessert))
|
158
|
-
# recipe.tags #=> #<Set: {"popular", "desert"}>
|
159
|
-
#
|
160
|
-
# @param [Symbol] name The name of the attribute.
|
161
|
-
# @param [Hash] options
|
162
|
-
# @option options [Boolean] :set (false) When true this attribute
|
163
|
-
# can have multiple values.
|
164
|
-
def string_attr name, options = {}
|
165
|
-
add_attribute(Record::Attributes::StringAttr.new(name, options))
|
166
|
-
end
|
167
|
-
|
168
|
-
# Adds an integer attribute to this class.
|
169
|
-
#
|
170
|
-
# class Recipe < AWS::Record::Model
|
171
|
-
# integer_attr :servings
|
172
|
-
# end
|
173
|
-
#
|
174
|
-
# recipe = Recipe.new(:servings => '10')
|
175
|
-
# recipe.servings #=> 10
|
176
|
-
#
|
177
|
-
# @param [Symbol] name The name of the attribute.
|
178
|
-
# @param [Hash] options
|
179
|
-
# @option options [Boolean] :set (false) When true this attribute
|
180
|
-
# can have multiple values.
|
181
|
-
def integer_attr name, options = {}
|
182
|
-
add_attribute(Attributes::IntegerAttr.new(name, options))
|
183
|
-
end
|
184
|
-
|
185
|
-
# Adds a sortable integer attribute to this class.
|
186
|
-
#
|
187
|
-
# class Person < AWS::Record::Model
|
188
|
-
# sortable_integer_attr :age, :range => 0..150
|
189
|
-
# end
|
190
|
-
#
|
191
|
-
# person = Person.new(:age => 10)
|
192
|
-
# person.age #=> 10
|
193
|
-
#
|
194
|
-
# ### Validations
|
195
|
-
#
|
196
|
-
# It is recomended to apply a validates_numericality_of with
|
197
|
-
# minimum and maximum value constraints. If a value is assigned
|
198
|
-
# to a sortable integer that falls outside of the +:range: it will
|
199
|
-
# raise a runtime error when the record is saved.
|
200
|
-
#
|
201
|
-
# ### Difference Between Sortable an Regular Integer Attributes
|
202
|
-
#
|
203
|
-
# Because SimpleDB does not support numeric types, all values must
|
204
|
-
# be converted to strings. This complicates sorting by numeric values.
|
205
|
-
# To accomplish sorting numeric attributes the values must be
|
206
|
-
# zero padded and have an offset applied to eliminate negative values.
|
207
|
-
#
|
208
|
-
# @param [Symbol] name The name of the attribute.
|
209
|
-
# @param [Hash] options
|
210
|
-
# @option options [Range] :range A numeric range the represents the
|
211
|
-
# minimum and maximum values this attribute should accept.
|
212
|
-
# @option options [Boolean] :set (false) When true this attribute
|
213
|
-
# can have multiple values.
|
214
|
-
def sortable_integer_attr name, options = {}
|
215
|
-
add_attribute(Attributes::SortableIntegerAttr.new(name, options))
|
216
|
-
end
|
217
|
-
|
218
|
-
# Adds a float attribute to this class.
|
219
|
-
#
|
220
|
-
# class Listing < AWS::Record::Model
|
221
|
-
# float_attr :score
|
222
|
-
# end
|
223
|
-
#
|
224
|
-
# listing = Listing.new(:score => '123.456')
|
225
|
-
# listing.score # => 123.456
|
226
|
-
#
|
227
|
-
# @param [Symbol] name The name of the attribute.
|
228
|
-
# @param [Hash] options
|
229
|
-
# @option options [Boolean] :set (false) When true this attribute
|
230
|
-
# can have multiple values.
|
231
|
-
def float_attr name, options = {}
|
232
|
-
add_attribute(Attributes::FloatAttr.new(name, options))
|
233
|
-
end
|
234
|
-
|
235
|
-
# Adds sortable float attribute to this class.
|
236
|
-
#
|
237
|
-
# Persisted values are stored (and sorted) as strings. This makes it
|
238
|
-
# more difficult to sort numbers because they don't sort
|
239
|
-
# lexicographically unless they have been offset to be positive and
|
240
|
-
# then zero padded.
|
241
|
-
#
|
242
|
-
# ### Postive Floats
|
243
|
-
#
|
244
|
-
# To store floats in a sort-friendly manor:
|
245
|
-
#
|
246
|
-
# sortable_float_attr :score, :range => (0..10)
|
247
|
-
#
|
248
|
-
# This will cause values like 5.5 to persist as a string like '05.5' so
|
249
|
-
# that they can be sorted lexicographically.
|
250
|
-
#
|
251
|
-
# ### Negative Floats
|
252
|
-
#
|
253
|
-
# If you need to store negative sortable floats, increase your `:range`
|
254
|
-
# to include a negative value.
|
255
|
-
#
|
256
|
-
# sortable_float_attr :position, :range => (-10..10)
|
257
|
-
#
|
258
|
-
# AWS::Record will add 10 to all values and zero pad them
|
259
|
-
# (e.g. -10.0 will be represented as '00.0' and 10 will be represented as
|
260
|
-
# '20.0'). This will allow the values to be compared lexicographically.
|
261
|
-
#
|
262
|
-
# @note If you change the `:range` after some values have been persisted
|
263
|
-
# you must also manually migrate all of the old values to have the
|
264
|
-
# correct padding & offset or they will be interpreted differently.
|
265
|
-
#
|
266
|
-
# @param [Symbol] name The name of the attribute.
|
267
|
-
# @param [Hash] options
|
268
|
-
# @option options [Range] :range The range of numbers this attribute
|
269
|
-
# should represent. The min and max values of this range will determine
|
270
|
-
# how many digits of precision are required and how much of an offset
|
271
|
-
# is required to make the numbers sort lexicographically.
|
272
|
-
# @option options [Boolean] :set (false) When true this attribute
|
273
|
-
# can have multiple values.
|
274
|
-
def sortable_float_attr name, options = {}
|
275
|
-
add_attribute(Attributes::SortableFloatAttr.new(name, options))
|
276
|
-
end
|
277
|
-
|
278
|
-
# Adds a boolean attribute to this class.
|
279
|
-
#
|
280
|
-
# @example
|
281
|
-
#
|
282
|
-
# class Book < AWS::Record::Model
|
283
|
-
# boolean_attr :read
|
284
|
-
# end
|
285
|
-
#
|
286
|
-
# b = Book.new
|
287
|
-
# b.read? # => false
|
288
|
-
# b.read = true
|
289
|
-
# b.read? # => true
|
290
|
-
#
|
291
|
-
# listing = Listing.new(:score => '123.456'
|
292
|
-
# listing.score # => 123.456
|
293
|
-
#
|
294
|
-
# @param [Symbol] name The name of the attribute.
|
295
|
-
def boolean_attr name, options = {}
|
296
|
-
|
297
|
-
attr = add_attribute(Attributes::BooleanAttr.new(name, options))
|
298
|
-
|
299
|
-
# add the boolean question mark method
|
300
|
-
define_method("#{attr.name}?") do
|
301
|
-
!!__send__(attr.name)
|
302
|
-
end
|
303
|
-
|
304
|
-
end
|
305
|
-
|
306
|
-
# Adds a datetime attribute to this class.
|
307
|
-
#
|
308
|
-
# @example A standard datetime attribute
|
309
|
-
#
|
310
|
-
# class Recipe < AWS::Record::Model
|
311
|
-
# datetime_attr :invented
|
312
|
-
# end
|
313
|
-
#
|
314
|
-
# recipe = Recipe.new(:invented => Time.now)
|
315
|
-
# recipe.invented #=> <DateTime ...>
|
316
|
-
#
|
317
|
-
# If you add a datetime_attr for `:created_at` and/or `:updated_at` those
|
318
|
-
# will be automanaged.
|
319
|
-
#
|
320
|
-
# @param [Symbol] name The name of the attribute.
|
321
|
-
#
|
322
|
-
# @param [Hash] options
|
323
|
-
#
|
324
|
-
# @option options [Boolean] :set (false) When true this attribute
|
325
|
-
# can have multiple date times.
|
326
|
-
#
|
327
|
-
def datetime_attr name, options = {}
|
328
|
-
add_attribute(Record::Attributes::DateTimeAttr.new(name, options))
|
329
|
-
end
|
330
|
-
|
331
|
-
# Adds a date attribute to this class.
|
332
|
-
#
|
333
|
-
# @example A standard date attribute
|
334
|
-
#
|
335
|
-
# class Person < AWS::Record::Model
|
336
|
-
# date_attr :birthdate
|
337
|
-
# end
|
338
|
-
#
|
339
|
-
# baby = Person.new
|
340
|
-
# baby.birthdate = Time.now
|
341
|
-
# baby.birthdate #=> <Date: ....>
|
342
|
-
#
|
343
|
-
# @param [Symbol] name The name of the attribute.
|
344
|
-
#
|
345
|
-
# @param [Hash] options
|
346
|
-
#
|
347
|
-
# @option options [Boolean] :set (false) When true this attribute
|
348
|
-
# can have multiple dates.
|
349
|
-
#
|
350
|
-
def date_attr name, options = {}
|
351
|
-
add_attribute(Record::Attributes::DateAttr.new(name, options))
|
352
|
-
end
|
353
|
-
|
354
|
-
# A convenience method for adding the standard two datetime attributes
|
355
|
-
# `:created_at` and `:updated_at`.
|
356
|
-
#
|
357
|
-
# @example
|
358
|
-
#
|
359
|
-
# class Recipe < AWS::Record::Model
|
360
|
-
# timestamps
|
361
|
-
# end
|
362
|
-
#
|
363
|
-
# recipe = Recipe.new
|
364
|
-
# recipe.save
|
365
|
-
# recipe.created_at #=> <DateTime ...>
|
366
|
-
# recipe.updated_at #=> <DateTime ...>
|
367
|
-
#
|
368
|
-
def timestamps
|
369
|
-
c = datetime_attr :created_at
|
370
|
-
u = datetime_attr :updated_at
|
371
|
-
[c, u]
|
372
|
-
end
|
373
|
-
|
374
|
-
end
|
375
|
-
end
|
376
|
-
end
|
377
|
-
end
|
@@ -1,232 +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
|
-
module Record
|
16
|
-
class Model
|
17
|
-
class << self
|
18
|
-
|
19
|
-
# @param [String] id The id of the record to load.
|
20
|
-
# @param [Hash] options
|
21
|
-
# @option options [String] :shard Specifies what shard (i.e. domain)
|
22
|
-
# should be searched.
|
23
|
-
# @raise [RecordNotFound] Raises a record not found exception if there
|
24
|
-
# was no data found for the given id.
|
25
|
-
# @return [Record::HashModel] Returns the record with the given id.
|
26
|
-
def find_by_id id, options = {}
|
27
|
-
|
28
|
-
domain = sdb_domain(options[:shard] || options[:domain])
|
29
|
-
|
30
|
-
data = domain.items[id].data.attributes
|
31
|
-
|
32
|
-
raise RecordNotFound, "no data found for id: #{id}" if data.empty?
|
33
|
-
|
34
|
-
obj = self.new(:shard => domain)
|
35
|
-
obj.send(:hydrate, id, data)
|
36
|
-
obj
|
37
|
-
|
38
|
-
end
|
39
|
-
alias_method :[], :find_by_id
|
40
|
-
|
41
|
-
# Finds records in SimpleDB and returns them as objects of the
|
42
|
-
# current class.
|
43
|
-
#
|
44
|
-
# Finding `:all` returns an enumerable scope object
|
45
|
-
#
|
46
|
-
# People.find(:all, :order => [:age, :desc], :limit => 10).each do |person|
|
47
|
-
# puts person.name
|
48
|
-
# end
|
49
|
-
#
|
50
|
-
# Finding `:first` returns a single record (or nil)
|
51
|
-
#
|
52
|
-
# boss = People.find(:first, :where => { :boss => true })
|
53
|
-
#
|
54
|
-
# Find accepts a hash of find modifiers (`:where`, `:order` and
|
55
|
-
# `:limit`). You can also choose to omit these modifiers and
|
56
|
-
# chain them on the scope object returned. In the following
|
57
|
-
# example only one request is made to SimpleDB (when #each is
|
58
|
-
# called)
|
59
|
-
#
|
60
|
-
# people = People.find(:all)
|
61
|
-
#
|
62
|
-
# johns = people.where(:name => 'John Doe')
|
63
|
-
#
|
64
|
-
# johns.order(:age, :desc).limit(10).each do |suspects|
|
65
|
-
# # ...
|
66
|
-
# end
|
67
|
-
#
|
68
|
-
# See also {where}, {order} and {limit} for more
|
69
|
-
# information and options.
|
70
|
-
#
|
71
|
-
# @overload find(id)
|
72
|
-
# @param id The record to find, raises an exception if the record is
|
73
|
-
# not found.
|
74
|
-
#
|
75
|
-
# @overload find(mode, options = {})
|
76
|
-
# @param [:all,:first] mode (:all) When finding `:all` matching records
|
77
|
-
# and array is returned of records. When finding `:first` then
|
78
|
-
# `nil` or a single record will be returned.
|
79
|
-
# @param [Hash] options
|
80
|
-
# @option options [Mixed] :where Conditions that determine what
|
81
|
-
# records are returned.
|
82
|
-
# @option options [String,Array] :sort The order records should be
|
83
|
-
# returned in.
|
84
|
-
# @option options [Integer] :limit The max number of records to fetch.
|
85
|
-
def find *args
|
86
|
-
new_scope.find(*args)
|
87
|
-
end
|
88
|
-
|
89
|
-
# Returns a chainable scope object that restricts further scopes to a
|
90
|
-
# particular domain.
|
91
|
-
#
|
92
|
-
# Book.domain('books-2').each do |book|
|
93
|
-
# # ...
|
94
|
-
# end
|
95
|
-
#
|
96
|
-
# @param [String] shard_name
|
97
|
-
# @return [Scope] Returns a scope for restricting the domain of subsequent
|
98
|
-
def shard shard_name
|
99
|
-
new_scope.shard(shard_name)
|
100
|
-
end
|
101
|
-
alias_method :domain, :shard
|
102
|
-
|
103
|
-
# Returns an enumerable scope object represents all records.
|
104
|
-
#
|
105
|
-
# Book.all.each do |book|
|
106
|
-
# # ...
|
107
|
-
# end
|
108
|
-
#
|
109
|
-
# This method is equivalent to `find(:all)`, and therefore you can also
|
110
|
-
# pass aditional options. See {.find} for more information on what
|
111
|
-
# options you can pass.
|
112
|
-
#
|
113
|
-
# Book.all(:where => { :author' => 'me' }).each do |my_book|
|
114
|
-
# # ...
|
115
|
-
# end
|
116
|
-
#
|
117
|
-
# @return [Scope] Returns an enumerable scope object.
|
118
|
-
def all options = {}
|
119
|
-
new_scope.find(:all, options)
|
120
|
-
end
|
121
|
-
|
122
|
-
# Yields once for each record.
|
123
|
-
def each &block
|
124
|
-
all.each(&block)
|
125
|
-
end
|
126
|
-
|
127
|
-
# Counts records in SimpleDB.
|
128
|
-
#
|
129
|
-
# With no arguments, counts all records:
|
130
|
-
#
|
131
|
-
# People.count
|
132
|
-
#
|
133
|
-
# Accepts query options to count a subset of records:
|
134
|
-
#
|
135
|
-
# People.count(:where => { :boss => true })
|
136
|
-
#
|
137
|
-
# You can also count records on a scope object:
|
138
|
-
#
|
139
|
-
# People.find(:all).where(:boss => true).count
|
140
|
-
#
|
141
|
-
# See {find} and {Scope#count} for more details.
|
142
|
-
#
|
143
|
-
# @param [Hash] options (<code>{}</code>) Options for counting
|
144
|
-
# records.
|
145
|
-
#
|
146
|
-
# @option options [Mixed] :where Conditions that determine what
|
147
|
-
# records are counted.
|
148
|
-
# @option options [Integer] :limit The max number of records to count.
|
149
|
-
def count(options = {})
|
150
|
-
new_scope.count(options)
|
151
|
-
end
|
152
|
-
alias_method :size, :count
|
153
|
-
|
154
|
-
# @return [Object,nil] Returns the first record found. If there were
|
155
|
-
# no records found, nil is returned.
|
156
|
-
def first options = {}
|
157
|
-
new_scope.first(options)
|
158
|
-
end
|
159
|
-
|
160
|
-
# Limits which records are retried from SimpleDB when performing a find.
|
161
|
-
#
|
162
|
-
# Simple string condition
|
163
|
-
#
|
164
|
-
# Car.where('color = "red" or color = "blue"').each {|car| ... }
|
165
|
-
#
|
166
|
-
# String with placeholders for quoting params
|
167
|
-
#
|
168
|
-
# Car.where('color = ?', 'red')
|
169
|
-
#
|
170
|
-
# Car.where('color = ? OR style = ?', 'red', 'compact')
|
171
|
-
#
|
172
|
-
# # produces a condition using in, like: WHERE color IN ('red', 'blue')
|
173
|
-
# Car.where('color IN ?', ['red','blue'])
|
174
|
-
#
|
175
|
-
# Hash arguments
|
176
|
-
#
|
177
|
-
# # WHERE age = '40' AND gender = 'male'
|
178
|
-
# People.where(:age => 40, :gender => 'male').each {|person| ... }
|
179
|
-
#
|
180
|
-
# # WHERE name IN ('John', 'Jane')
|
181
|
-
# People.where(:name => ['John', 'Jane']).each{|person| ... }
|
182
|
-
#
|
183
|
-
# Chaining where with other scope modifiers
|
184
|
-
#
|
185
|
-
# # 10 most expensive red cars
|
186
|
-
# Car.where(:color => 'red').order(:price, :desc).limit(10)
|
187
|
-
#
|
188
|
-
# @overload where(conditions_hash)
|
189
|
-
# @param [Hash] conditions_hash A hash of attributes to values. Each
|
190
|
-
# key/value pair from the hash becomes a find condition. All
|
191
|
-
# conditions are joined by AND.
|
192
|
-
#
|
193
|
-
# @overload where(sql_fragment[, quote_params, ...])
|
194
|
-
#
|
195
|
-
def where *args
|
196
|
-
new_scope.where(*args)
|
197
|
-
end
|
198
|
-
|
199
|
-
# Defines the order in which records are returned when performing a find.
|
200
|
-
# SimpleDB only allows sorting by one attribute per request.
|
201
|
-
#
|
202
|
-
# # oldest to youngest
|
203
|
-
# People.order(:age, :desc).each {|person| ... }
|
204
|
-
#
|
205
|
-
# You can chain order with the other scope modifiers:
|
206
|
-
#
|
207
|
-
# Pepole.order(:age, :desc).limit(10).each {|person| ... }
|
208
|
-
#
|
209
|
-
# @overload order(attribute, direction = :asc)
|
210
|
-
# @param [String,Symbol] attribute The attribute to sort by.
|
211
|
-
# @param [:asc,:desc] direction (:asc) The direction to sort.
|
212
|
-
def order *args
|
213
|
-
new_scope.order(*args)
|
214
|
-
end
|
215
|
-
|
216
|
-
# The maximum number of records to return. By default, all records
|
217
|
-
# matching the where conditions will be returned from a find.
|
218
|
-
#
|
219
|
-
# People.limit(10).each {|person| ... }
|
220
|
-
#
|
221
|
-
# Limit can be chained with other scope modifiers:
|
222
|
-
#
|
223
|
-
# People.where(:age => 40).limit(10).each {|person| ... }
|
224
|
-
#
|
225
|
-
def limit limit
|
226
|
-
new_scope.limit(limit)
|
227
|
-
end
|
228
|
-
|
229
|
-
end
|
230
|
-
end
|
231
|
-
end
|
232
|
-
end
|