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/record/errors.rb
DELETED
@@ -1,143 +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
|
-
|
17
|
-
class Errors < Core::IndifferentHash
|
18
|
-
|
19
|
-
include Enumerable
|
20
|
-
|
21
|
-
# Returns the errors for the atttibute in an array.
|
22
|
-
#
|
23
|
-
# errors.add(:name, 'may not be blank')
|
24
|
-
# errors.add(:name, 'must be less than 30 characters')
|
25
|
-
# errors[:name]
|
26
|
-
# #=> ['may not be blank', 'must be less than 30 characters']
|
27
|
-
#
|
28
|
-
# @param [String,Symbol] attribute_name The name of the attribute to retnr
|
29
|
-
# errors for. You can pass the string or symbol version.
|
30
|
-
# @return [Array<String>] Returns the error messages for the given
|
31
|
-
# `attribute_name`. If there are no errors on the attribute then
|
32
|
-
# an empty array is returned.
|
33
|
-
def [] attribute_name
|
34
|
-
super(attribute_name) || []
|
35
|
-
end
|
36
|
-
alias_method :on, :[]
|
37
|
-
|
38
|
-
# Adds an error message to the named attribute.
|
39
|
-
#
|
40
|
-
# errors.add(:name, 'may not be blank')
|
41
|
-
# errors.on(:name)
|
42
|
-
# #=> ['may not be blank']
|
43
|
-
#
|
44
|
-
# If you want to add a general error message, then pass `:base`
|
45
|
-
# for `attribute_name`, or call {#add_to_base}.
|
46
|
-
# @param [String,Symbol] attribute_name The name of the attribute
|
47
|
-
# that you are adding an error to.
|
48
|
-
# @param [String] message ('is invalid') The error message (should
|
49
|
-
# not contain the attribute name).
|
50
|
-
# @return [String] Returns the message.
|
51
|
-
def []= attribute_name, message = 'is invalid'
|
52
|
-
if has_key?(attribute_name)
|
53
|
-
self[attribute_name] << message
|
54
|
-
else
|
55
|
-
super(attribute_name, [message])
|
56
|
-
end
|
57
|
-
self[attribute_name]
|
58
|
-
end
|
59
|
-
alias_method :add, :[]=
|
60
|
-
|
61
|
-
# Adds a general error message (not associated with any particular
|
62
|
-
# attribute).
|
63
|
-
# @param [String] message ('is invalid') The error message (should
|
64
|
-
# not contain the attribute name).
|
65
|
-
# @return [String] Returns the message.
|
66
|
-
def add_to_base message
|
67
|
-
add(:base, message)
|
68
|
-
end
|
69
|
-
|
70
|
-
# @return [Integer] Returns the number of error messages.
|
71
|
-
def count
|
72
|
-
values.flatten.length
|
73
|
-
end
|
74
|
-
alias_method :size, :count
|
75
|
-
|
76
|
-
# Yields once for each error message added.
|
77
|
-
#
|
78
|
-
# An attribute_name may yield more than once if there are more than
|
79
|
-
# one errors associated with that attirbute.
|
80
|
-
#
|
81
|
-
# @yield [attribute_name, error_message]
|
82
|
-
# @yieldparam [String] attribute_name The name of the attribute
|
83
|
-
# @yieldparam [String] error_message The error message associated the
|
84
|
-
# the named attribute.
|
85
|
-
def each &block
|
86
|
-
super do |attribute_name, error_messages|
|
87
|
-
error_messages.each do |error_message|
|
88
|
-
yield(attribute_name, error_message)
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
# Returns the errors prefixed by a humanized version of the attribute
|
94
|
-
# name.
|
95
|
-
#
|
96
|
-
# errors.add(:name, 'may not be blank')
|
97
|
-
# errors.full_messages
|
98
|
-
# #=> ['Name may not be blank']
|
99
|
-
#
|
100
|
-
# @return [Array of Strings] Returns an array of error messages.
|
101
|
-
def full_messages
|
102
|
-
messages = []
|
103
|
-
each do |attr_name, error_message|
|
104
|
-
messages << case attr_name
|
105
|
-
when 'base' then error_message.dup
|
106
|
-
else "#{attr_name.capitalize.gsub(/_/, ' ')} #{error_message}"
|
107
|
-
end
|
108
|
-
end
|
109
|
-
messages
|
110
|
-
end
|
111
|
-
alias_method :to_a, :full_messages
|
112
|
-
|
113
|
-
# Returns a hash of of errors messages. Keys are attribute names
|
114
|
-
# and values are arrays of error messages.
|
115
|
-
#
|
116
|
-
# errors.add(:name, 'may not be blank')
|
117
|
-
# errors.to_hash
|
118
|
-
# #=> { 'name' => ['may not be blank'] }
|
119
|
-
#
|
120
|
-
# Please note that the hash values are always arrays, even if there
|
121
|
-
# is only one error message for the attribute.
|
122
|
-
def to_hash
|
123
|
-
hash = {}
|
124
|
-
each do |attr_name, message|
|
125
|
-
hash[attr_name] ||= []
|
126
|
-
hash[attr_name] << message.dup
|
127
|
-
end
|
128
|
-
hash
|
129
|
-
end
|
130
|
-
|
131
|
-
# Removes all error messages.
|
132
|
-
# @return [nil]
|
133
|
-
def clear!
|
134
|
-
keys.each do |key|
|
135
|
-
delete(key)
|
136
|
-
end
|
137
|
-
nil
|
138
|
-
end
|
139
|
-
|
140
|
-
end
|
141
|
-
|
142
|
-
end
|
143
|
-
end
|
@@ -1,51 +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
|
-
|
17
|
-
# @api private
|
18
|
-
class RecordNotFound < StandardError; end
|
19
|
-
|
20
|
-
# Raised when trying to access an attribute that does not exist.
|
21
|
-
# @api private
|
22
|
-
class UndefinedAttributeError < StandardError
|
23
|
-
def initalize attribute_name
|
24
|
-
super("undefined attribute `#{attribute_name}`")
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
# Raised when calling #save!, #create! or #update_attributes! on a record that
|
29
|
-
# has validation errors.
|
30
|
-
# @api private
|
31
|
-
class InvalidRecordError < StandardError
|
32
|
-
def initialize record
|
33
|
-
@record = record
|
34
|
-
super(record.errors.full_messages.join(', '))
|
35
|
-
end
|
36
|
-
attr_reader :record
|
37
|
-
end
|
38
|
-
|
39
|
-
# Raised when trying to persist a record that has no attribute values
|
40
|
-
# to persist.
|
41
|
-
# @api private
|
42
|
-
class EmptyRecordError < StandardError
|
43
|
-
def initialize record
|
44
|
-
@record = record
|
45
|
-
super('unable persist empty records')
|
46
|
-
end
|
47
|
-
attr_reader :record
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
51
|
-
end
|
@@ -1,204 +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 HashModel
|
17
|
-
|
18
|
-
require 'aws/record/hash_model/attributes'
|
19
|
-
require 'aws/record/hash_model/finder_methods'
|
20
|
-
require 'aws/record/hash_model/scope'
|
21
|
-
|
22
|
-
extend AbstractBase
|
23
|
-
|
24
|
-
def self.inherited(sub_class)
|
25
|
-
sub_class.string_attr :id,
|
26
|
-
:hash_key => true,
|
27
|
-
:default_hash_key_attribute => true
|
28
|
-
end
|
29
|
-
|
30
|
-
# @return [String,nil]
|
31
|
-
def hash_key
|
32
|
-
self[self.class.hash_key]
|
33
|
-
end
|
34
|
-
|
35
|
-
class << self
|
36
|
-
|
37
|
-
# Creates the DynamoDB table that is configured for this class.
|
38
|
-
#
|
39
|
-
# class Product < AWS::Record::HashModel
|
40
|
-
# end
|
41
|
-
#
|
42
|
-
# # create the table 'Product' with 10 read/write capacity units
|
43
|
-
# Product.create_table 10, 10
|
44
|
-
#
|
45
|
-
# If you shard you data across multiple tables, you can specify the
|
46
|
-
# shard name:
|
47
|
-
#
|
48
|
-
# # create two tables, with the given names
|
49
|
-
# Product.create_table 500, 10, :shard_name => 'products-1'
|
50
|
-
# Product.create_table 500, 10, :shard_name => 'products-2'
|
51
|
-
#
|
52
|
-
# If you share a single AWS account with multiple applications, you
|
53
|
-
# can provide a table prefix to group tables and to avoid name
|
54
|
-
# collisions:
|
55
|
-
#
|
56
|
-
# AWS::Record.table_prefix = 'myapp-'
|
57
|
-
#
|
58
|
-
# # creates the table 'myapp-Product'
|
59
|
-
# Product.create_table 250, 50
|
60
|
-
#
|
61
|
-
# # creates the table 'myapp-products-1'
|
62
|
-
# Product.create_table 250, 50, :shard_name => 'products-1'
|
63
|
-
#
|
64
|
-
# @param [Integer] read_capacity_units
|
65
|
-
# See {DynamoDB::TableCollection#create} for more information.
|
66
|
-
#
|
67
|
-
# @param [Integer] write_capacity_units
|
68
|
-
# See {DynamoDB::TableCollection#create} for more information.
|
69
|
-
#
|
70
|
-
# @param [Hash] options
|
71
|
-
#
|
72
|
-
# @option options [String] :shard_name Defaults to the class name. The
|
73
|
-
# shard name will be prefixed with {AWS::Record.table_prefix},
|
74
|
-
# and that becomes the table name.
|
75
|
-
#
|
76
|
-
# @return [DynamoDB::Table]
|
77
|
-
#
|
78
|
-
def create_table read_capacity_units, write_capacity_units, options = {}
|
79
|
-
|
80
|
-
table_name = dynamo_db_table_name(options[:shard_name])
|
81
|
-
|
82
|
-
create_opts = {}
|
83
|
-
create_opts[:hash_key] = { hash_key => :string }
|
84
|
-
|
85
|
-
dynamo_db.tables.create(
|
86
|
-
table_name,
|
87
|
-
read_capacity_units,
|
88
|
-
write_capacity_units,
|
89
|
-
create_opts)
|
90
|
-
|
91
|
-
end
|
92
|
-
|
93
|
-
# @return [DynamoDB::Table]
|
94
|
-
# @api private
|
95
|
-
def dynamo_db_table shard_name = nil
|
96
|
-
table = dynamo_db.tables[dynamo_db_table_name(shard_name)]
|
97
|
-
table.hash_key = [hash_key, :string]
|
98
|
-
table
|
99
|
-
end
|
100
|
-
|
101
|
-
# @api private
|
102
|
-
def hash_key
|
103
|
-
hash_key_attribute.name
|
104
|
-
end
|
105
|
-
|
106
|
-
# @api private
|
107
|
-
def hash_key_attribute
|
108
|
-
@hash_key_attribute
|
109
|
-
end
|
110
|
-
|
111
|
-
private
|
112
|
-
|
113
|
-
def set_hash_key_attribute(attribute)
|
114
|
-
if
|
115
|
-
hash_key_attribute and
|
116
|
-
hash_key_attribute.options[:default_hash_key_attribute]
|
117
|
-
then
|
118
|
-
remove_attribute(hash_key_attribute)
|
119
|
-
end
|
120
|
-
@hash_key_attribute = attribute
|
121
|
-
end
|
122
|
-
|
123
|
-
def dynamo_db_table_name shard_name = nil
|
124
|
-
"#{Record.table_prefix}#{self.shard_name(shard_name)}"
|
125
|
-
end
|
126
|
-
|
127
|
-
def dynamo_db
|
128
|
-
AWS::DynamoDB.new
|
129
|
-
end
|
130
|
-
|
131
|
-
def add_attribute(attribute)
|
132
|
-
set_hash_key_attribute(attribute) if attribute.options[:hash_key]
|
133
|
-
super(attribute)
|
134
|
-
end
|
135
|
-
|
136
|
-
end
|
137
|
-
|
138
|
-
private
|
139
|
-
|
140
|
-
def populate_id
|
141
|
-
hash_key = self.class.hash_key_attribute
|
142
|
-
if hash_key.options[:default_hash_key_attribute]
|
143
|
-
self[hash_key.name] = SecureRandom.uuid
|
144
|
-
end
|
145
|
-
end
|
146
|
-
|
147
|
-
# @return [DynamoDB::Item] Returns a reference to the item as stored in
|
148
|
-
# simple db.
|
149
|
-
# @api private
|
150
|
-
private
|
151
|
-
def dynamo_db_item
|
152
|
-
dynamo_db_table.items[hash_key]
|
153
|
-
end
|
154
|
-
|
155
|
-
# @return [SimpleDB::Domain] Returns the domain this record is
|
156
|
-
# persisted to or will be persisted to.
|
157
|
-
private
|
158
|
-
def dynamo_db_table
|
159
|
-
self.class.dynamo_db_table(shard)
|
160
|
-
end
|
161
|
-
|
162
|
-
private
|
163
|
-
def create_storage
|
164
|
-
dynamo_db_table.items.create(serialize_attributes, opt_lock_conditions)
|
165
|
-
end
|
166
|
-
|
167
|
-
private
|
168
|
-
def update_storage
|
169
|
-
# Only enumerating dirty (i.e. changed) attributes. Empty
|
170
|
-
# (nil and empty set) values are deleted, the others are replaced.
|
171
|
-
dynamo_db_item.attributes.update(opt_lock_conditions) do |u|
|
172
|
-
changed.each do |attr_name|
|
173
|
-
attribute = self.class.attribute_for(attr_name)
|
174
|
-
value = serialize_attribute(attribute, @_data[attr_name])
|
175
|
-
if value.nil? or value == []
|
176
|
-
u.delete(attr_name)
|
177
|
-
else
|
178
|
-
u.set(attr_name => value)
|
179
|
-
end
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
private
|
185
|
-
def delete_storage
|
186
|
-
dynamo_db_item.delete(opt_lock_conditions)
|
187
|
-
end
|
188
|
-
|
189
|
-
private
|
190
|
-
def deserialize_item_data data
|
191
|
-
data.inject({}) do |hash,(attr_name,value)|
|
192
|
-
if attribute = self.class.attributes[attr_name]
|
193
|
-
hash[attr_name] = value.is_a?(Set) ?
|
194
|
-
value.map{|v| attribute.deserialize(v) } :
|
195
|
-
attribute.deserialize(value)
|
196
|
-
end
|
197
|
-
hash
|
198
|
-
end
|
199
|
-
end
|
200
|
-
|
201
|
-
end
|
202
|
-
|
203
|
-
end
|
204
|
-
end
|
@@ -1,195 +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 HashModel
|
17
|
-
class << self
|
18
|
-
|
19
|
-
# Adds a string attribute to this class.
|
20
|
-
#
|
21
|
-
# @example A standard string attribute
|
22
|
-
#
|
23
|
-
# class Recipe < AWS::Record::HashModel
|
24
|
-
# string_attr :name
|
25
|
-
# end
|
26
|
-
#
|
27
|
-
# recipe = Recipe.new(:name => "Buttermilk Pancakes")
|
28
|
-
# recipe.name #=> 'Buttermilk Pancakes'
|
29
|
-
#
|
30
|
-
# @example A string attribute with `:set` set to true
|
31
|
-
#
|
32
|
-
# class Recipe < AWS::Record::HashModel
|
33
|
-
# string_attr :tags, :set => true
|
34
|
-
# end
|
35
|
-
#
|
36
|
-
# recipe = Recipe.new(:tags => %w(popular dessert))
|
37
|
-
# recipe.tags #=> #<Set: {"popular", "desert"}>
|
38
|
-
#
|
39
|
-
# @param [Symbol] name The name of the attribute.
|
40
|
-
# @param [Hash] options
|
41
|
-
# @option options [Boolean] :set (false) When true this attribute
|
42
|
-
# can have multiple values.
|
43
|
-
def string_attr name, options = {}
|
44
|
-
add_attribute(Attributes::StringAttr.new(name, options))
|
45
|
-
end
|
46
|
-
|
47
|
-
# Adds an integer attribute to this class.
|
48
|
-
#
|
49
|
-
# class Recipe < AWS::Record::HashModel
|
50
|
-
# integer_attr :servings
|
51
|
-
# end
|
52
|
-
#
|
53
|
-
# recipe = Recipe.new(:servings => '10')
|
54
|
-
# recipe.servings #=> 10
|
55
|
-
#
|
56
|
-
# @param [Symbol] name The name of the attribute.
|
57
|
-
# @param [Hash] options
|
58
|
-
# @option options [Boolean] :set (false) When true this attribute
|
59
|
-
# can have multiple values.
|
60
|
-
def integer_attr name, options = {}
|
61
|
-
add_attribute(Attributes::IntegerAttr.new(name, options))
|
62
|
-
end
|
63
|
-
|
64
|
-
# Adds a float attribute to this class.
|
65
|
-
#
|
66
|
-
# class Listing < AWS::Record::HashModel
|
67
|
-
# float_attr :score
|
68
|
-
# end
|
69
|
-
#
|
70
|
-
# listing = Listing.new(:score => '123.456')
|
71
|
-
# listing.score # => 123.456
|
72
|
-
#
|
73
|
-
# @param [Symbol] name The name of the attribute.
|
74
|
-
# @param [Hash] options
|
75
|
-
# @option options [Boolean] :set (false) When true this attribute
|
76
|
-
# can have multiple values.
|
77
|
-
def float_attr name, options = {}
|
78
|
-
add_attribute(Attributes::FloatAttr.new(name, options))
|
79
|
-
end
|
80
|
-
|
81
|
-
# Adds a boolean attribute to this class.
|
82
|
-
#
|
83
|
-
# @example
|
84
|
-
#
|
85
|
-
# class Book < AWS::Record::HashModel
|
86
|
-
# boolean_attr :read
|
87
|
-
# end
|
88
|
-
#
|
89
|
-
# b = Book.new
|
90
|
-
# b.read? # => false
|
91
|
-
# b.read = true
|
92
|
-
# b.read? # => true
|
93
|
-
#
|
94
|
-
# listing = Listing.new(:score => '123.456'
|
95
|
-
# listing.score # => 123.456
|
96
|
-
#
|
97
|
-
# @param [Symbol] name The name of the attribute.
|
98
|
-
def boolean_attr name, options = {}
|
99
|
-
|
100
|
-
attr = add_attribute(Attributes::BooleanAttr.new(name, options))
|
101
|
-
|
102
|
-
# add the boolean question mark method
|
103
|
-
define_method("#{attr.name}?") do
|
104
|
-
!!__send__(attr.name)
|
105
|
-
end
|
106
|
-
|
107
|
-
end
|
108
|
-
|
109
|
-
# Adds a datetime attribute to this class.
|
110
|
-
#
|
111
|
-
# @example A standard datetime attribute
|
112
|
-
#
|
113
|
-
# class Recipe < AWS::Record::HashModel
|
114
|
-
# datetime_attr :invented
|
115
|
-
# end
|
116
|
-
#
|
117
|
-
# recipe = Recipe.new(:invented => Time.now)
|
118
|
-
# recipe.invented #=> <DateTime ...>
|
119
|
-
#
|
120
|
-
# If you add a datetime_attr for `:created_at` and/or `:updated_at` those
|
121
|
-
# will be automanaged.
|
122
|
-
#
|
123
|
-
# @param [Symbol] name The name of the attribute.
|
124
|
-
#
|
125
|
-
# @param [Hash] options
|
126
|
-
#
|
127
|
-
# @option options [Boolean] :set (false) When true this attribute
|
128
|
-
# can have multiple date times.
|
129
|
-
#
|
130
|
-
def datetime_attr name, options = {}
|
131
|
-
add_attribute(Attributes::DateTimeAttr.new(name, options))
|
132
|
-
end
|
133
|
-
|
134
|
-
# Adds a date attribute to this class.
|
135
|
-
#
|
136
|
-
# @example A standard date attribute
|
137
|
-
#
|
138
|
-
# class Person < AWS::Record::HashModel
|
139
|
-
# date_attr :birthdate
|
140
|
-
# end
|
141
|
-
#
|
142
|
-
# baby = Person.new
|
143
|
-
# baby.birthdate = Time.now
|
144
|
-
# baby.birthdate #=> <Date: ....>
|
145
|
-
#
|
146
|
-
# @param [Symbol] name The name of the attribute.
|
147
|
-
#
|
148
|
-
# @param [Hash] options
|
149
|
-
#
|
150
|
-
# @option options [Boolean] :set (false) When true this attribute
|
151
|
-
# can have multiple dates.
|
152
|
-
#
|
153
|
-
def date_attr name, options = {}
|
154
|
-
add_attribute(Attributes::DateAttr.new(name, options))
|
155
|
-
end
|
156
|
-
|
157
|
-
# Adds a DynamoDB binary attribute to this class. A binary
|
158
|
-
# attribute acts the same as a string attribute, except
|
159
|
-
#
|
160
|
-
# @param [Symbol] name The name of the attribute.
|
161
|
-
#
|
162
|
-
# @param [Hash] options
|
163
|
-
#
|
164
|
-
# @option options [Boolean] :set (false) When true this attribute
|
165
|
-
# can have multiple values.
|
166
|
-
#
|
167
|
-
# @note This should not be used for large objects.
|
168
|
-
#
|
169
|
-
def binary_attr name, options = {}
|
170
|
-
end
|
171
|
-
|
172
|
-
# A convenience method for adding the standard two datetime attributes
|
173
|
-
# `:created_at` and `:updated_at`.
|
174
|
-
#
|
175
|
-
# @example
|
176
|
-
#
|
177
|
-
# class Recipe < AWS::Record::HashModel
|
178
|
-
# timestamps
|
179
|
-
# end
|
180
|
-
#
|
181
|
-
# recipe = Recipe.new
|
182
|
-
# recipe.save
|
183
|
-
# recipe.created_at #=> <DateTime ...>
|
184
|
-
# recipe.updated_at #=> <DateTime ...>
|
185
|
-
#
|
186
|
-
def timestamps
|
187
|
-
c = datetime_attr :created_at
|
188
|
-
u = datetime_attr :updated_at
|
189
|
-
[c, u]
|
190
|
-
end
|
191
|
-
|
192
|
-
end
|
193
|
-
end
|
194
|
-
end
|
195
|
-
end
|