aws-sdk 1.8.5 → 1.9.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 +7 -0
- data/.yardopts +1 -0
- data/README.rdoc +8 -0
- data/lib/aws-sdk.rb +39 -35
- data/lib/aws/api_config/CloudFront-2012-07-01.yml +2398 -0
- data/lib/aws/api_config/DirectConnect-2012-10-25.yml +475 -0
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +8 -0
- data/lib/aws/api_config/DynamoDB-2012-08-10.yml +1516 -0
- data/lib/aws/api_config/OpsWorks-2013-02-18.yml +2 -2
- data/lib/aws/auto_scaling.rb +44 -44
- data/lib/aws/auto_scaling/activity.rb +1 -1
- data/lib/aws/auto_scaling/activity_collection.rb +14 -15
- data/lib/aws/auto_scaling/client.rb +277 -277
- data/lib/aws/auto_scaling/config.rb +1 -1
- data/lib/aws/auto_scaling/group.rb +35 -36
- data/lib/aws/auto_scaling/group_collection.rb +10 -10
- data/lib/aws/auto_scaling/group_options.rb +19 -19
- data/lib/aws/auto_scaling/instance.rb +27 -27
- data/lib/aws/auto_scaling/instance_collection.rb +10 -10
- data/lib/aws/auto_scaling/launch_configuration.rb +3 -3
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
- data/lib/aws/auto_scaling/notification_configuration.rb +2 -2
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +37 -38
- data/lib/aws/auto_scaling/scaling_policy.rb +3 -3
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +6 -6
- data/lib/aws/auto_scaling/scaling_policy_options.rb +8 -7
- data/lib/aws/auto_scaling/scheduled_action.rb +3 -3
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +28 -28
- data/lib/aws/auto_scaling/tag_collection.rb +30 -28
- data/lib/aws/cloud_formation.rb +95 -94
- data/lib/aws/cloud_formation/client.rb +136 -133
- data/lib/aws/cloud_formation/config.rb +1 -1
- data/lib/aws/cloud_formation/stack.rb +37 -37
- data/lib/aws/cloud_formation/stack_collection.rb +28 -27
- data/lib/aws/cloud_formation/stack_event.rb +9 -11
- data/lib/aws/cloud_formation/stack_output.rb +1 -1
- data/lib/aws/cloud_formation/stack_resource.rb +6 -6
- data/lib/aws/cloud_formation/stack_resource_collection.rb +11 -12
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +11 -11
- data/lib/aws/cloud_formation/stack_summary_collection.rb +39 -39
- data/lib/aws/cloud_front.rb +21 -21
- data/lib/aws/cloud_front/client.rb +853 -652
- data/lib/aws/cloud_front/request.rb +3 -0
- data/lib/aws/cloud_search.rb +22 -22
- data/lib/aws/cloud_search/client.rb +322 -315
- data/lib/aws/cloud_search/config.rb +1 -1
- data/lib/aws/cloud_watch.rb +39 -39
- data/lib/aws/cloud_watch/alarm.rb +55 -37
- data/lib/aws/cloud_watch/alarm_collection.rb +18 -18
- data/lib/aws/cloud_watch/alarm_history_item_collection.rb +2 -2
- data/lib/aws/cloud_watch/client.rb +360 -146
- data/lib/aws/cloud_watch/config.rb +1 -1
- data/lib/aws/cloud_watch/metric.rb +15 -15
- data/lib/aws/cloud_watch/metric_alarm_collection.rb +17 -17
- data/lib/aws/cloud_watch/metric_collection.rb +16 -16
- data/lib/aws/cloud_watch/metric_statistics.rb +11 -11
- data/lib/aws/core.rb +243 -225
- data/lib/aws/core/async_handle.rb +13 -13
- data/lib/aws/core/cacheable.rb +14 -15
- data/lib/aws/core/client.rb +40 -15
- data/lib/aws/core/collection.rb +42 -46
- data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
- data/lib/aws/core/collection/with_next_token.rb +1 -1
- data/lib/aws/core/configuration.rb +97 -133
- data/lib/aws/core/credential_providers.rb +16 -16
- data/lib/aws/core/data.rb +23 -23
- data/lib/aws/core/http/connection_pool.rb +348 -0
- data/lib/aws/core/http/net_http_handler.rb +17 -26
- data/lib/aws/core/http/patch.rb +102 -0
- data/lib/aws/core/http/request.rb +13 -19
- data/lib/aws/core/http/response.rb +2 -2
- data/lib/aws/core/lazy_error_classes.rb +17 -17
- data/lib/aws/core/log_formatter.rb +70 -104
- data/lib/aws/core/options/json_serializer.rb +1 -1
- data/lib/aws/core/options/validator.rb +4 -4
- data/lib/aws/core/page_result.rb +8 -8
- data/lib/aws/core/policy.rb +49 -49
- data/lib/aws/core/region.rb +72 -0
- data/lib/aws/core/region_collection.rb +106 -0
- data/lib/aws/core/resource.rb +5 -5
- data/lib/aws/core/response.rb +20 -17
- data/lib/aws/core/rest_request_builder.rb +4 -4
- data/lib/aws/core/service_interface.rb +24 -2
- data/lib/aws/core/signature/version_3.rb +2 -2
- data/lib/aws/core/uri_escape.rb +1 -1
- data/lib/aws/core/xml/frame_stack.rb +1 -1
- data/lib/aws/core/xml/grammar.rb +3 -4
- data/lib/aws/core/xml/sax_handlers/libxml.rb +2 -2
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +3 -3
- data/lib/aws/core/xml/sax_handlers/rexml.rb +5 -5
- data/lib/aws/core/xml/stub.rb +9 -9
- data/lib/aws/data_pipeline.rb +21 -21
- data/lib/aws/data_pipeline/client.rb +189 -133
- data/lib/aws/data_pipeline/config.rb +1 -1
- data/lib/aws/direct_connect.rb +74 -0
- data/lib/aws/direct_connect/client.rb +253 -0
- data/lib/aws/direct_connect/config.rb +18 -0
- data/lib/aws/direct_connect/errors.rb +22 -0
- data/lib/aws/direct_connect/request.rb +27 -0
- data/lib/aws/dynamo_db.rb +71 -69
- data/lib/aws/dynamo_db/attribute_collection.rb +53 -58
- data/lib/aws/dynamo_db/batch_get.rb +23 -23
- data/lib/aws/dynamo_db/batch_write.rb +43 -43
- data/lib/aws/dynamo_db/binary.rb +9 -9
- data/lib/aws/dynamo_db/client.rb +494 -509
- data/lib/aws/dynamo_db/client_base.rb +91 -0
- data/lib/aws/dynamo_db/client_v2.rb +825 -0
- data/lib/aws/dynamo_db/config.rb +1 -1
- data/lib/aws/dynamo_db/item.rb +10 -10
- data/lib/aws/dynamo_db/item_collection.rb +75 -75
- data/lib/aws/dynamo_db/table.rb +85 -85
- data/lib/aws/dynamo_db/table_collection.rb +13 -13
- data/lib/aws/ec2.rb +132 -142
- data/lib/aws/ec2/attachment.rb +31 -36
- data/lib/aws/ec2/attachment_collection.rb +1 -1
- data/lib/aws/ec2/availability_zone.rb +4 -4
- data/lib/aws/ec2/client.rb +2272 -2125
- data/lib/aws/ec2/config.rb +1 -1
- data/lib/aws/ec2/customer_gateway.rb +6 -6
- data/lib/aws/ec2/customer_gateway_collection.rb +6 -6
- data/lib/aws/ec2/dhcp_options.rb +3 -3
- data/lib/aws/ec2/dhcp_options_collection.rb +10 -10
- data/lib/aws/ec2/elastic_ip.rb +15 -15
- data/lib/aws/ec2/elastic_ip_collection.rb +11 -15
- data/lib/aws/ec2/export_task.rb +4 -4
- data/lib/aws/ec2/export_task_collection.rb +11 -11
- data/lib/aws/ec2/filtered_collection.rb +6 -8
- data/lib/aws/ec2/image.rb +46 -40
- data/lib/aws/ec2/image_collection.rb +44 -52
- data/lib/aws/ec2/instance.rb +64 -62
- data/lib/aws/ec2/instance_collection.rb +47 -50
- data/lib/aws/ec2/internet_gateway.rb +6 -6
- data/lib/aws/ec2/internet_gateway/attachment.rb +13 -13
- data/lib/aws/ec2/internet_gateway_collection.rb +3 -3
- data/lib/aws/ec2/key_pair.rb +3 -3
- data/lib/aws/ec2/key_pair_collection.rb +12 -12
- data/lib/aws/ec2/network_acl.rb +39 -39
- data/lib/aws/ec2/network_acl/association.rb +2 -2
- data/lib/aws/ec2/network_acl/entry.rb +22 -22
- data/lib/aws/ec2/network_acl_collection.rb +2 -2
- data/lib/aws/ec2/network_interface.rb +13 -4
- data/lib/aws/ec2/network_interface/attachment.rb +3 -3
- data/lib/aws/ec2/network_interface_collection.rb +5 -5
- data/lib/aws/ec2/permission_collection.rb +1 -1
- data/lib/aws/ec2/region.rb +6 -6
- data/lib/aws/ec2/region_collection.rb +1 -1
- data/lib/aws/ec2/reserved_instances_collection.rb +2 -2
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +2 -2
- data/lib/aws/ec2/resource_tag_collection.rb +5 -5
- data/lib/aws/ec2/route_table.rb +14 -14
- data/lib/aws/ec2/route_table/association.rb +22 -22
- data/lib/aws/ec2/route_table/route.rb +8 -8
- data/lib/aws/ec2/route_table_collection.rb +3 -3
- data/lib/aws/ec2/security_group.rb +39 -41
- data/lib/aws/ec2/security_group_collection.rb +19 -21
- data/lib/aws/ec2/snapshot.rb +3 -3
- data/lib/aws/ec2/snapshot_collection.rb +11 -12
- data/lib/aws/ec2/subnet.rb +2 -2
- data/lib/aws/ec2/subnet_collection.rb +17 -17
- data/lib/aws/ec2/tag_collection.rb +1 -1
- data/lib/aws/ec2/tagged_collection.rb +7 -7
- data/lib/aws/ec2/tagged_item.rb +10 -10
- data/lib/aws/ec2/volume.rb +16 -16
- data/lib/aws/ec2/volume_collection.rb +9 -12
- data/lib/aws/ec2/vpc.rb +6 -6
- data/lib/aws/ec2/vpc_collection.rb +10 -10
- data/lib/aws/ec2/vpn_connection.rb +4 -4
- data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
- data/lib/aws/ec2/vpn_connection_collection.rb +6 -6
- data/lib/aws/ec2/vpn_gateway.rb +2 -2
- data/lib/aws/ec2/vpn_gateway_collection.rb +5 -5
- data/lib/aws/elastic_beanstalk.rb +12 -12
- data/lib/aws/elastic_beanstalk/client.rb +376 -368
- data/lib/aws/elastic_beanstalk/config.rb +1 -1
- data/lib/aws/elastic_transcoder.rb +5 -5
- data/lib/aws/elastic_transcoder/client.rb +283 -283
- data/lib/aws/elastic_transcoder/config.rb +1 -1
- data/lib/aws/elasticache.rb +12 -12
- data/lib/aws/elasticache/client.rb +484 -479
- data/lib/aws/elasticache/config.rb +1 -1
- data/lib/aws/elb.rb +23 -23
- data/lib/aws/elb/availability_zone_collection.rb +34 -34
- data/lib/aws/elb/backend_server_policy_collection.rb +24 -24
- data/lib/aws/elb/client.rb +153 -153
- data/lib/aws/elb/config.rb +1 -1
- data/lib/aws/elb/errors.rb +1 -1
- data/lib/aws/elb/instance_collection.rb +20 -25
- data/lib/aws/elb/listener.rb +3 -3
- data/lib/aws/elb/listener_collection.rb +8 -8
- data/lib/aws/elb/load_balancer.rb +15 -16
- data/lib/aws/elb/load_balancer_collection.rb +36 -24
- data/lib/aws/elb/load_balancer_policy.rb +1 -1
- data/lib/aws/elb/load_balancer_policy_collection.rb +5 -5
- data/lib/aws/emr.rb +28 -26
- data/lib/aws/emr/client.rb +165 -149
- data/lib/aws/emr/config.rb +1 -1
- data/lib/aws/emr/instance_group.rb +1 -1
- data/lib/aws/emr/instance_group_collection.rb +1 -1
- data/lib/aws/emr/job_flow.rb +27 -26
- data/lib/aws/emr/job_flow_collection.rb +34 -34
- data/lib/aws/errors.rb +7 -7
- data/lib/aws/glacier.rb +21 -21
- data/lib/aws/glacier/archive_collection.rb +2 -2
- data/lib/aws/glacier/client.rb +139 -140
- data/lib/aws/glacier/config.rb +1 -1
- data/lib/aws/glacier/vault.rb +2 -2
- data/lib/aws/glacier/vault_collection.rb +1 -1
- data/lib/aws/iam.rb +133 -144
- data/lib/aws/iam/access_key.rb +17 -17
- data/lib/aws/iam/access_key_collection.rb +22 -22
- data/lib/aws/iam/account_alias_collection.rb +2 -2
- data/lib/aws/iam/client.rb +429 -420
- data/lib/aws/iam/collection.rb +1 -1
- data/lib/aws/iam/config.rb +2 -2
- data/lib/aws/iam/group.rb +8 -8
- data/lib/aws/iam/group_collection.rb +16 -16
- data/lib/aws/iam/group_policy_collection.rb +6 -6
- data/lib/aws/iam/group_user_collection.rb +3 -3
- data/lib/aws/iam/mfa_device.rb +1 -1
- data/lib/aws/iam/mfa_device_collection.rb +9 -9
- data/lib/aws/iam/policy_collection.rb +4 -4
- data/lib/aws/iam/resource.rb +2 -2
- data/lib/aws/iam/server_certificate.rb +1 -1
- data/lib/aws/iam/server_certificate_collection.rb +15 -15
- data/lib/aws/iam/signing_certificate.rb +29 -29
- data/lib/aws/iam/signing_certificate_collection.rb +23 -23
- data/lib/aws/iam/user.rb +33 -38
- data/lib/aws/iam/user_collection.rb +27 -27
- data/lib/aws/iam/user_group_collection.rb +3 -3
- data/lib/aws/iam/user_policy_collection.rb +6 -6
- data/lib/aws/iam/virtual_mfa_device.rb +12 -12
- data/lib/aws/iam/virtual_mfa_device_collection.rb +4 -4
- data/lib/aws/import_export.rb +22 -21
- data/lib/aws/import_export/client.rb +47 -43
- data/lib/aws/ops_works.rb +5 -5
- data/lib/aws/ops_works/client.rb +484 -438
- data/lib/aws/ops_works/config.rb +1 -1
- data/lib/aws/rails.rb +34 -34
- data/lib/aws/rds.rb +18 -18
- data/lib/aws/rds/client.rb +1286 -1277
- data/lib/aws/rds/config.rb +1 -1
- data/lib/aws/rds/db_instance.rb +15 -4
- data/lib/aws/rds/db_snapshot.rb +1 -1
- data/lib/aws/record.rb +50 -24
- data/lib/aws/record/abstract_base.rb +52 -60
- data/lib/aws/record/attributes.rb +79 -79
- data/lib/aws/record/conversion.rb +1 -1
- data/lib/aws/record/dirty_tracking.rb +69 -67
- data/lib/aws/record/errors.rb +21 -21
- data/lib/aws/record/exceptions.rb +2 -2
- data/lib/aws/record/hash_model.rb +20 -21
- data/lib/aws/record/hash_model/attributes.rb +13 -15
- data/lib/aws/record/hash_model/finder_methods.rb +46 -46
- data/lib/aws/record/hash_model/scope.rb +31 -31
- data/lib/aws/record/model.rb +136 -136
- data/lib/aws/record/model/attributes.rb +57 -59
- data/lib/aws/record/model/finder_methods.rb +67 -67
- data/lib/aws/record/model/scope.rb +48 -49
- data/lib/aws/record/naming.rb +1 -1
- data/lib/aws/record/scope.rb +23 -19
- data/lib/aws/record/validations.rb +253 -271
- data/lib/aws/record/validator.rb +3 -3
- data/lib/aws/record/validators/acceptance.rb +1 -3
- data/lib/aws/record/validators/block.rb +1 -3
- data/lib/aws/record/validators/confirmation.rb +1 -3
- data/lib/aws/record/validators/count.rb +2 -4
- data/lib/aws/record/validators/exclusion.rb +2 -4
- data/lib/aws/record/validators/format.rb +2 -4
- data/lib/aws/record/validators/inclusion.rb +1 -3
- data/lib/aws/record/validators/length.rb +5 -7
- data/lib/aws/record/validators/method.rb +1 -3
- data/lib/aws/record/validators/numericality.rb +6 -8
- data/lib/aws/record/validators/presence.rb +1 -3
- data/lib/aws/redshift.rb +14 -14
- data/lib/aws/redshift/client.rb +596 -592
- data/lib/aws/redshift/config.rb +1 -1
- data/lib/aws/route_53.rb +30 -30
- data/lib/aws/route_53/change_batch.rb +7 -7
- data/lib/aws/route_53/client.rb +188 -152
- data/lib/aws/route_53/hosted_zone.rb +4 -4
- data/lib/aws/route_53/hosted_zone_collection.rb +7 -7
- data/lib/aws/route_53/resource_record_set.rb +10 -10
- data/lib/aws/route_53/resource_record_set_collection.rb +6 -6
- data/lib/aws/s3.rb +79 -79
- data/lib/aws/s3/access_control_list.rb +44 -36
- data/lib/aws/s3/acl_options.rb +51 -51
- data/lib/aws/s3/bucket.rb +146 -146
- data/lib/aws/s3/bucket_collection.rb +21 -21
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +81 -82
- data/lib/aws/s3/bucket_tag_collection.rb +4 -2
- data/lib/aws/s3/cipher_io.rb +5 -4
- data/lib/aws/s3/client.rb +89 -84
- data/lib/aws/s3/client/xml.rb +1 -1
- data/lib/aws/s3/config.rb +7 -1
- data/lib/aws/s3/cors_rule.rb +2 -0
- data/lib/aws/s3/cors_rule_collection.rb +42 -40
- data/lib/aws/s3/data_options.rb +16 -11
- data/lib/aws/s3/encryption_utils.rb +2 -2
- data/lib/aws/s3/errors.rb +7 -7
- data/lib/aws/s3/multipart_upload.rb +30 -33
- data/lib/aws/s3/multipart_upload_collection.rb +8 -6
- data/lib/aws/s3/object_collection.rb +35 -35
- data/lib/aws/s3/object_metadata.rb +6 -6
- data/lib/aws/s3/object_version.rb +4 -4
- data/lib/aws/s3/object_version_collection.rb +15 -15
- data/lib/aws/s3/policy.rb +2 -2
- data/lib/aws/s3/prefixed_collection.rb +9 -5
- data/lib/aws/s3/presigned_post.rb +39 -37
- data/lib/aws/s3/request.rb +11 -11
- data/lib/aws/s3/s3_object.rb +210 -200
- data/lib/aws/s3/tree.rb +25 -27
- data/lib/aws/s3/tree/child_collection.rb +3 -3
- data/lib/aws/s3/tree/leaf_node.rb +2 -2
- data/lib/aws/s3/tree/parent.rb +1 -1
- data/lib/aws/s3/website_configuration.rb +13 -13
- data/lib/aws/simple_db.rb +83 -83
- data/lib/aws/simple_db/attribute.rb +9 -7
- data/lib/aws/simple_db/attribute_collection.rb +22 -13
- data/lib/aws/simple_db/client.rb +107 -107
- data/lib/aws/simple_db/config.rb +7 -1
- data/lib/aws/simple_db/consistent_read_option.rb +5 -5
- data/lib/aws/simple_db/domain.rb +4 -2
- data/lib/aws/simple_db/domain_collection.rb +4 -4
- data/lib/aws/simple_db/domain_metadata.rb +5 -5
- data/lib/aws/simple_db/errors.rb +9 -9
- data/lib/aws/simple_db/item.rb +5 -5
- data/lib/aws/simple_db/item_collection.rb +83 -81
- data/lib/aws/simple_db/item_data.rb +4 -4
- data/lib/aws/simple_db/put_attributes.rb +3 -3
- data/lib/aws/simple_email_service.rb +140 -140
- data/lib/aws/simple_email_service/client.rb +82 -76
- data/lib/aws/simple_email_service/config.rb +1 -2
- data/lib/aws/simple_email_service/email_address_collection.rb +3 -3
- data/lib/aws/simple_email_service/identity.rb +8 -8
- data/lib/aws/simple_email_service/quotas.rb +8 -6
- data/lib/aws/simple_workflow.rb +106 -106
- data/lib/aws/simple_workflow/activity_task.rb +15 -22
- data/lib/aws/simple_workflow/activity_task_collection.rb +15 -15
- data/lib/aws/simple_workflow/activity_type.rb +23 -23
- data/lib/aws/simple_workflow/activity_type_collection.rb +23 -23
- data/lib/aws/simple_workflow/client.rb +1004 -956
- data/lib/aws/simple_workflow/config.rb +1 -1
- data/lib/aws/simple_workflow/count.rb +5 -5
- data/lib/aws/simple_workflow/decision_task.rb +129 -129
- data/lib/aws/simple_workflow/decision_task_collection.rb +59 -59
- data/lib/aws/simple_workflow/domain.rb +11 -11
- data/lib/aws/simple_workflow/domain_collection.rb +26 -26
- data/lib/aws/simple_workflow/history_event.rb +32 -32
- data/lib/aws/simple_workflow/history_event_collection.rb +3 -3
- data/lib/aws/simple_workflow/option_formatters.rb +5 -5
- data/lib/aws/simple_workflow/request.rb +1 -1
- data/lib/aws/simple_workflow/resource.rb +1 -1
- data/lib/aws/simple_workflow/type.rb +8 -8
- data/lib/aws/simple_workflow/type_collection.rb +15 -15
- data/lib/aws/simple_workflow/workflow_execution.rb +70 -72
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +130 -130
- data/lib/aws/simple_workflow/workflow_type.rb +27 -25
- data/lib/aws/simple_workflow/workflow_type_collection.rb +20 -20
- data/lib/aws/sns.rb +25 -25
- data/lib/aws/sns/client.rb +55 -55
- data/lib/aws/sns/config.rb +1 -1
- data/lib/aws/sns/policy.rb +1 -1
- data/lib/aws/sns/subscription.rb +7 -7
- data/lib/aws/sns/subscription_collection.rb +5 -5
- data/lib/aws/sns/topic.rb +49 -49
- data/lib/aws/sns/topic_collection.rb +2 -2
- data/lib/aws/sns/topic_subscription_collection.rb +5 -5
- data/lib/aws/sqs.rb +20 -20
- data/lib/aws/sqs/client.rb +78 -78
- data/lib/aws/sqs/config.rb +1 -1
- data/lib/aws/sqs/errors.rb +12 -12
- data/lib/aws/sqs/queue.rb +66 -67
- data/lib/aws/sqs/queue_collection.rb +16 -8
- data/lib/aws/sqs/received_message.rb +7 -6
- data/lib/aws/storage_gateway.rb +21 -21
- data/lib/aws/storage_gateway/client.rb +269 -202
- data/lib/aws/storage_gateway/config.rb +1 -1
- data/lib/aws/sts.rb +10 -8
- data/lib/aws/sts/client.rb +35 -35
- data/lib/aws/sts/session.rb +3 -3
- data/lib/aws/version.rb +1 -2
- metadata +23 -21
- data/lib/aws/core/autoloader.rb +0 -64
- data/lib/net/http/connection_pool.rb +0 -226
- data/lib/net/http/connection_pool/connection.rb +0 -189
- data/lib/net/http/connection_pool/session.rb +0 -126
|
@@ -20,12 +20,12 @@ module AWS
|
|
|
20
20
|
# list of items whose titles are palindromes using only a single
|
|
21
21
|
# request to SimpleDB (not counting pagination):
|
|
22
22
|
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
23
|
+
# items.enum_for(:select).
|
|
24
|
+
# select { |data| data.title == data.title.to_s.reverse }.
|
|
25
|
+
# map { |data| data.item }
|
|
26
26
|
#
|
|
27
27
|
# The {ItemCollection#select} call yields instances of ItemData,
|
|
28
|
-
# and the
|
|
28
|
+
# and the `map` call in the example above gets the list of
|
|
29
29
|
# corresponding {Item} instances.
|
|
30
30
|
class ItemData
|
|
31
31
|
|
|
@@ -27,9 +27,9 @@ module AWS
|
|
|
27
27
|
attribute_hashes = []
|
|
28
28
|
attributes.each_pair do |attribute_name,values|
|
|
29
29
|
[values].flatten.each do |value|
|
|
30
|
-
attribute_hashes << {
|
|
31
|
-
:name => attribute_name.to_s,
|
|
32
|
-
:value => value.to_s,
|
|
30
|
+
attribute_hashes << {
|
|
31
|
+
:name => attribute_name.to_s,
|
|
32
|
+
:value => value.to_s,
|
|
33
33
|
:replace => replace,
|
|
34
34
|
} unless [:if, :unless].include?(attribute_name)
|
|
35
35
|
end
|
|
@@ -15,34 +15,34 @@ require 'aws/core'
|
|
|
15
15
|
require 'aws/simple_email_service/config'
|
|
16
16
|
|
|
17
17
|
module AWS
|
|
18
|
-
|
|
19
|
-
# This class is the starting point for working with Amazon
|
|
18
|
+
|
|
19
|
+
# This class is the starting point for working with Amazon
|
|
20
20
|
# SimpleEmailService (SES).
|
|
21
21
|
#
|
|
22
|
-
# To use Amazon SimpleEmailService you must first
|
|
23
|
-
#
|
|
22
|
+
# To use Amazon SimpleEmailService you must first
|
|
23
|
+
# [sign up here](http://aws.amazon.com/ses/)
|
|
24
24
|
#
|
|
25
25
|
# For more information about Amazon SimpleEmailService:
|
|
26
26
|
#
|
|
27
|
-
# *
|
|
28
|
-
# *
|
|
27
|
+
# * [Amazon SimpleEmailService](http://aws.amazon.com/ses/)
|
|
28
|
+
# * [Amazon SimpleEmailService Documentation](http://aws.amazon.com/documentation/ses/)
|
|
29
29
|
#
|
|
30
|
-
#
|
|
30
|
+
# # Credentials
|
|
31
31
|
#
|
|
32
|
-
# You can setup default credentials for all AWS services via
|
|
32
|
+
# You can setup default credentials for all AWS services via
|
|
33
33
|
# AWS.config:
|
|
34
34
|
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
35
|
+
# AWS.config(
|
|
36
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
37
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
38
|
+
#
|
|
39
39
|
# Or you can set them directly on the SimpleEmailService interface:
|
|
40
40
|
#
|
|
41
|
-
#
|
|
42
|
-
#
|
|
43
|
-
#
|
|
41
|
+
# ses = AWS::SimpleEmailService.new(
|
|
42
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
43
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
44
44
|
#
|
|
45
|
-
#
|
|
45
|
+
# # Rails
|
|
46
46
|
#
|
|
47
47
|
# If you want to use Amazon SimpleEmailService to send email from your
|
|
48
48
|
# Rails application you just need to do 2 things:
|
|
@@ -50,140 +50,140 @@ module AWS
|
|
|
50
50
|
# 1. Configure your AWS credentials with {AWS.config}
|
|
51
51
|
# 2. Set SES as the delivery method:
|
|
52
52
|
#
|
|
53
|
-
#
|
|
53
|
+
# config.action_mailer.delivery_method = :amazon_ses
|
|
54
54
|
#
|
|
55
55
|
# This has only been tested with Rails 2.3 and Rails 3.0.
|
|
56
56
|
#
|
|
57
57
|
#
|
|
58
|
-
#
|
|
58
|
+
# # Identities
|
|
59
59
|
#
|
|
60
60
|
# Before you can send emails, you need to verify one or more identities.
|
|
61
61
|
# Identities are email addresses or domain names that you have control over.
|
|
62
|
-
# Until you have
|
|
63
|
-
# you will only be able to send emails to and from verified email addresses
|
|
62
|
+
# Until you have [requested production access](http://docs.amazonwebservices.com/ses/latest/DeveloperGuide/InitialSetup.Customer.html)
|
|
63
|
+
# you will only be able to send emails to and from verified email addresses
|
|
64
64
|
# and domains.
|
|
65
65
|
#
|
|
66
|
-
#
|
|
66
|
+
# ## Verifying Email Addresses
|
|
67
67
|
#
|
|
68
68
|
# You can verify an email address for sending/receiving emails using
|
|
69
69
|
# the identities collection.
|
|
70
70
|
#
|
|
71
|
-
#
|
|
72
|
-
#
|
|
71
|
+
# identity = ses.identities.verify('email@yourdomain.com')
|
|
72
|
+
# identity.verified? #=> false
|
|
73
73
|
#
|
|
74
74
|
# You will be sent an email address with a link. Follow the link to
|
|
75
75
|
# verify the email address.
|
|
76
76
|
#
|
|
77
|
-
#
|
|
77
|
+
# ## Verifying Domains
|
|
78
78
|
#
|
|
79
79
|
# You can also verify an entire domain for sending and receiving emails.
|
|
80
|
-
#
|
|
81
|
-
#
|
|
82
|
-
#
|
|
83
|
-
#
|
|
80
|
+
#
|
|
81
|
+
# identity = ses.identities.verify('yourdomain.com')
|
|
82
|
+
# identity.verification_token
|
|
83
|
+
# #=> "216D+lZbhUL0zOoAkC83/0TAl5lJSzLmzsOjtXM7AeM="
|
|
84
84
|
#
|
|
85
85
|
# You will be expected to update the DNS records for your domain with
|
|
86
86
|
# the given verification token. See the service documentation for
|
|
87
87
|
# more details.
|
|
88
88
|
#
|
|
89
|
-
#
|
|
90
|
-
#
|
|
89
|
+
# ## Listing Identities
|
|
90
|
+
#
|
|
91
91
|
# You can enumerate all identities:
|
|
92
92
|
#
|
|
93
|
-
#
|
|
94
|
-
#
|
|
93
|
+
# ses.identities.map(&:identity)
|
|
94
|
+
# #=> ['email@foo.com', 'somedomain.com']
|
|
95
95
|
#
|
|
96
96
|
# You can filter the types of identities enumerated:
|
|
97
97
|
#
|
|
98
|
-
#
|
|
99
|
-
#
|
|
98
|
+
# domains = ses.identities.domains.map(&:identity)
|
|
99
|
+
# email_addresses = ses.identities.email_addresses.map(&:identity)
|
|
100
100
|
#
|
|
101
101
|
# You can get the verification status and token from identities as well.
|
|
102
102
|
#
|
|
103
|
-
#
|
|
104
|
-
#
|
|
105
|
-
#
|
|
103
|
+
# # for an email address
|
|
104
|
+
# identity = ses.identities['youremail@yourdomain.com']
|
|
105
|
+
# identity.verified? #=> true/false
|
|
106
106
|
#
|
|
107
|
-
#
|
|
108
|
-
#
|
|
109
|
-
#
|
|
110
|
-
#
|
|
107
|
+
# # for a domain
|
|
108
|
+
# identity = ses.identities['yourdomain.com']
|
|
109
|
+
# identity.verified? #=> true/false
|
|
110
|
+
# identity.verification_token #=> '...'
|
|
111
111
|
#
|
|
112
|
-
#
|
|
112
|
+
# # Sending Email
|
|
113
113
|
#
|
|
114
114
|
# To send a basic email you can use {#send_email}.
|
|
115
115
|
#
|
|
116
|
-
#
|
|
117
|
-
#
|
|
118
|
-
#
|
|
119
|
-
#
|
|
120
|
-
#
|
|
121
|
-
#
|
|
116
|
+
# ses.send_email(
|
|
117
|
+
# :subject => 'A Sample Email',
|
|
118
|
+
# :from => 'sender@domain.com',
|
|
119
|
+
# :to => 'receipient@domain.com',
|
|
120
|
+
# :body_text => 'Sample email text.',
|
|
121
|
+
# :body_html => '<h1>Sample Email</h1>')
|
|
122
122
|
#
|
|
123
123
|
# If you need to send email with attachments or have other special needs
|
|
124
124
|
# that send_email does not support you can use {#send_raw_email}.
|
|
125
125
|
#
|
|
126
|
-
#
|
|
127
|
-
#
|
|
128
|
-
#
|
|
129
|
-
#
|
|
126
|
+
# ses.send_raw_email(<<EMAIL)
|
|
127
|
+
# Subject: A Sample Email
|
|
128
|
+
# From: sender@domain.com
|
|
129
|
+
# To: receipient@domain.com
|
|
130
130
|
#
|
|
131
|
-
#
|
|
132
|
-
#
|
|
131
|
+
# Sample email text.
|
|
132
|
+
# EMAIL
|
|
133
133
|
#
|
|
134
134
|
# If you prefer, you can also set the sender and recipient in ruby
|
|
135
135
|
# when sending raw emails:
|
|
136
136
|
#
|
|
137
|
-
#
|
|
138
|
-
#
|
|
137
|
+
# ses.send_raw_email(<<EMAIL, :to => 'to@foo.com', :from => 'from@foo.com')
|
|
138
|
+
# Subject: A Sample Email
|
|
139
139
|
#
|
|
140
|
-
#
|
|
141
|
-
#
|
|
140
|
+
# Sample email text.
|
|
141
|
+
# EMAIL
|
|
142
142
|
#
|
|
143
|
-
#
|
|
143
|
+
# # Quotas
|
|
144
144
|
#
|
|
145
145
|
# Based on several factors, Amazon SES determines how much email you can
|
|
146
146
|
# send and how quickly you can send it. These sending limits are defined
|
|
147
147
|
# as follows:
|
|
148
148
|
#
|
|
149
|
-
# *
|
|
150
|
-
# *
|
|
149
|
+
# * `:max_send_rate` - Maximum number of emails you can send per second.
|
|
150
|
+
# * `:max_24_hour_send` - Maximum number of emails you can send in a
|
|
151
151
|
# 24-hour period.
|
|
152
152
|
#
|
|
153
153
|
# To get your current quotas (and how many emails you have sent in the last
|
|
154
154
|
# 24 hours):
|
|
155
155
|
#
|
|
156
|
-
#
|
|
157
|
-
#
|
|
156
|
+
# ses.quotas
|
|
157
|
+
# # => {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
|
|
158
158
|
#
|
|
159
|
-
#
|
|
159
|
+
# # Statistics
|
|
160
160
|
#
|
|
161
161
|
# You can get statistics about individual emails:
|
|
162
162
|
#
|
|
163
|
-
#
|
|
164
|
-
#
|
|
165
|
-
#
|
|
166
|
-
#
|
|
167
|
-
#
|
|
168
|
-
#
|
|
169
|
-
#
|
|
163
|
+
# ses.statistics.each do |stats|
|
|
164
|
+
# puts "Sent: #{stats[:sent]}"
|
|
165
|
+
# puts "Delivery Attempts: #{stats[:delivery_attempts]}"
|
|
166
|
+
# puts "Rejects: #{stats[:rejects]}"
|
|
167
|
+
# puts "Bounces: #{stats[:bounces]}"
|
|
168
|
+
# puts "Complaints: #{stats[:complaints]}"
|
|
169
|
+
# end
|
|
170
170
|
#
|
|
171
171
|
# @!attribute [r] client
|
|
172
172
|
# @return [Client] the low-level SimpleEmailService client object
|
|
173
173
|
class SimpleEmailService
|
|
174
174
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
autoload :Request, 'request'
|
|
183
|
-
end
|
|
175
|
+
autoload :Client, 'aws/simple_email_service/client'
|
|
176
|
+
autoload :Errors, 'aws/simple_email_service/errors'
|
|
177
|
+
autoload :EmailAddressCollection, 'aws/simple_email_service/email_address_collection'
|
|
178
|
+
autoload :Identity, 'aws/simple_email_service/identity'
|
|
179
|
+
autoload :IdentityCollection, 'aws/simple_email_service/identity_collection'
|
|
180
|
+
autoload :Quotas, 'aws/simple_email_service/quotas'
|
|
181
|
+
autoload :Request, 'aws/simple_email_service/request'
|
|
184
182
|
|
|
185
183
|
include Core::ServiceInterface
|
|
186
184
|
|
|
185
|
+
endpoint_prefix 'email'
|
|
186
|
+
|
|
187
187
|
# @note This method is deprecated. Use {#identities} instead.
|
|
188
188
|
# @return [EmailAddressCollection] Returns a collection that represents
|
|
189
189
|
# all of the verified email addresses for your account.
|
|
@@ -196,24 +196,24 @@ module AWS
|
|
|
196
196
|
IdentityCollection.new(:config => config)
|
|
197
197
|
end
|
|
198
198
|
|
|
199
|
-
# Sends an email.
|
|
199
|
+
# Sends an email.
|
|
200
200
|
#
|
|
201
|
-
#
|
|
202
|
-
#
|
|
203
|
-
#
|
|
204
|
-
#
|
|
205
|
-
#
|
|
206
|
-
#
|
|
201
|
+
# ses.send_email(
|
|
202
|
+
# :subject => 'A Sample Email',
|
|
203
|
+
# :to => 'john@doe.com',
|
|
204
|
+
# :from => 'no@reply.com',
|
|
205
|
+
# :body_text => 'sample text ...',
|
|
206
|
+
# :body_html => '<p>sample text ...</p>')
|
|
207
207
|
#
|
|
208
|
-
# You can also pass multiple email addresses for the
|
|
209
|
-
#
|
|
208
|
+
# You can also pass multiple email addresses for the `:to`, `:cc`,
|
|
209
|
+
# `:bcc` and `:reply_to` options. Email addresses can also be
|
|
210
210
|
# formatted with names.
|
|
211
211
|
#
|
|
212
|
-
#
|
|
213
|
-
#
|
|
214
|
-
#
|
|
215
|
-
#
|
|
216
|
-
#
|
|
212
|
+
# ses.send_email(
|
|
213
|
+
# :subject => 'A Sample Email',
|
|
214
|
+
# :to => ['"John Doe" <john@doe.com>', '"Jane Doe" <jane@doe.com>'],
|
|
215
|
+
# :from => 'no@reply.com',
|
|
216
|
+
# :body_text => 'sample text ...')
|
|
217
217
|
#
|
|
218
218
|
# @param [Hash] options
|
|
219
219
|
# @option options [required,String] :subject The subject of the message.
|
|
@@ -226,28 +226,28 @@ module AWS
|
|
|
226
226
|
# @option options [String,Array] :bcc The address(es) to bcc (blind
|
|
227
227
|
# carbon copy) the email to.
|
|
228
228
|
# @option options [String,Array] :reply_to The reply-to email address(es)
|
|
229
|
-
# for the message. If the recipient replies to the message, each
|
|
229
|
+
# for the message. If the recipient replies to the message, each
|
|
230
230
|
# reply-to address will receive the reply.
|
|
231
|
-
# @option options [String] :return_path The email address to which
|
|
231
|
+
# @option options [String] :return_path The email address to which
|
|
232
232
|
# bounce notifications are to be forwarded. If the message cannot be
|
|
233
233
|
# delivered to the recipient, then an error message will be returned
|
|
234
234
|
# from the recipient's ISP; this message will then be forwarded to
|
|
235
|
-
# the email address specified by the
|
|
235
|
+
# the email address specified by the `:return_path` option.
|
|
236
236
|
# @option options [String] :body_text The email text contents.
|
|
237
|
-
# You must provide
|
|
237
|
+
# You must provide `:body_text`, `:body_html` or both.
|
|
238
238
|
# @option options [String] :body_html The email html contents.
|
|
239
|
-
# You must provide
|
|
240
|
-
# @option options [String] :subject_charset The character set of the
|
|
241
|
-
#
|
|
242
|
-
# then you must also specify the character set. Examples include
|
|
239
|
+
# You must provide `:body_text`, `:body_html` or both.
|
|
240
|
+
# @option options [String] :subject_charset The character set of the
|
|
241
|
+
# `:subject` string. If the text must contain any other characters,
|
|
242
|
+
# then you must also specify the character set. Examples include
|
|
243
243
|
# UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
|
|
244
244
|
# @option options [String] :body_text_charset The character set of the
|
|
245
|
-
#
|
|
246
|
-
# then you must also specify the character set. Examples include
|
|
245
|
+
# `:body_text` string. If the text must contain any other characters,
|
|
246
|
+
# then you must also specify the character set. Examples include
|
|
247
247
|
# UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
|
|
248
248
|
# @option options [String] :body_html_charset The character set of the
|
|
249
|
-
#
|
|
250
|
-
# then you must also specify the character set. Examples include
|
|
249
|
+
# `:body_html` string. If the text must contain any other characters,
|
|
250
|
+
# then you must also specify the character set. Examples include
|
|
251
251
|
# UTF-8, ISO-8859-1, and Shift_JIS. Defaults to 7-bit ASCII.
|
|
252
252
|
# @option options [String] :body_html
|
|
253
253
|
# @return [nil]
|
|
@@ -285,50 +285,50 @@ module AWS
|
|
|
285
285
|
|
|
286
286
|
end
|
|
287
287
|
|
|
288
|
-
# Sends a raw email (email message, with header and content specified).
|
|
288
|
+
# Sends a raw email (email message, with header and content specified).
|
|
289
289
|
# Useful for sending multipart MIME emails. The raw text of the message
|
|
290
|
-
# must comply with Internet email standards; otherwise, the message
|
|
290
|
+
# must comply with Internet email standards; otherwise, the message
|
|
291
291
|
# cannot be sent.
|
|
292
292
|
#
|
|
293
|
-
#
|
|
294
|
-
#
|
|
295
|
-
#
|
|
296
|
-
#
|
|
297
|
-
#
|
|
298
|
-
#
|
|
299
|
-
#
|
|
300
|
-
#
|
|
301
|
-
#
|
|
302
|
-
#
|
|
293
|
+
# raw = <<-EMAIL
|
|
294
|
+
# Date: Wed, 1 Jun 2011 09:13:07 -0700
|
|
295
|
+
# Subject: A Sample Email
|
|
296
|
+
# From: "John Doe" <johndoe@domain.com>
|
|
297
|
+
# To: "Jane Doe" <janedoe@domain.com>
|
|
298
|
+
# Accept-Language: en-US
|
|
299
|
+
# Content-Language: en-US
|
|
300
|
+
# Content-Type: text/plain; charset="utf-8"
|
|
301
|
+
# Content-Transfer-Encoding: base64
|
|
302
|
+
# MIME-Version: 1.0
|
|
303
303
|
#
|
|
304
|
-
#
|
|
305
|
-
#
|
|
304
|
+
# c2FtcGxlIHRleHQNCg==
|
|
305
|
+
# EMAIL
|
|
306
306
|
#
|
|
307
|
-
#
|
|
307
|
+
# ses.send_raw_email(raw)
|
|
308
308
|
#
|
|
309
|
-
# Amazon SES has a limit on the total number of recipients per
|
|
310
|
-
# message: The combined number of To:, CC: and BCC: email addresses
|
|
311
|
-
# cannot exceed 50. If you need to send an email message to a larger
|
|
312
|
-
# audience, you can divide your recipient list into groups of 50 or
|
|
313
|
-
# fewer, and then call Amazon SES repeatedly to send the message to
|
|
309
|
+
# Amazon SES has a limit on the total number of recipients per
|
|
310
|
+
# message: The combined number of To:, CC: and BCC: email addresses
|
|
311
|
+
# cannot exceed 50. If you need to send an email message to a larger
|
|
312
|
+
# audience, you can divide your recipient list into groups of 50 or
|
|
313
|
+
# fewer, and then call Amazon SES repeatedly to send the message to
|
|
314
314
|
# each group.
|
|
315
315
|
#
|
|
316
|
-
# @param [required, String] raw_message The raw text of the message.
|
|
316
|
+
# @param [required, String] raw_message The raw text of the message.
|
|
317
317
|
# You can pass in any object whos #to_s returns a valid formatted
|
|
318
318
|
# email (e.g. ruby Mail gem). The raw message should:
|
|
319
319
|
# * Contain a header and a body, separated by a blank line
|
|
320
320
|
# * Contain all required internet email headers
|
|
321
321
|
# * Each part of a multipart MIME message must be formatted properly
|
|
322
|
-
# * MIME content types must be among those supported by Amazon SES.
|
|
322
|
+
# * MIME content types must be among those supported by Amazon SES.
|
|
323
323
|
# Refer to the Amazon SES Developer Guide for more details.
|
|
324
324
|
# * Use content that is base64-encoded, if MIME requires it
|
|
325
325
|
# @option options [String,Array] :to One or more email addresses to
|
|
326
326
|
# send the email to.
|
|
327
|
-
# @option options [String] :from The sender's email address.
|
|
328
|
-
# If you specify the :from option, then bounce notifications and
|
|
329
|
-
# complaints will be sent to this email address. This takes
|
|
330
|
-
# precedence over any Return-Path header that you might include in
|
|
331
|
-
# the
|
|
327
|
+
# @option options [String] :from The sender's email address.
|
|
328
|
+
# If you specify the :from option, then bounce notifications and
|
|
329
|
+
# complaints will be sent to this email address. This takes
|
|
330
|
+
# precedence over any Return-Path header that you might include in
|
|
331
|
+
# the `raw_message`.
|
|
332
332
|
# @return [nil]
|
|
333
333
|
def send_raw_email raw_message, options = {}
|
|
334
334
|
|
|
@@ -361,14 +361,14 @@ module AWS
|
|
|
361
361
|
Quotas.new(:config => config).to_h
|
|
362
362
|
end
|
|
363
363
|
|
|
364
|
-
# Returns an array of email statistics. Each object in this array is a
|
|
364
|
+
# Returns an array of email statistics. Each object in this array is a
|
|
365
365
|
# hash with the following keys:
|
|
366
366
|
#
|
|
367
|
-
# *
|
|
368
|
-
# *
|
|
369
|
-
# *
|
|
370
|
-
# *
|
|
371
|
-
# *
|
|
367
|
+
# * `:delivery_attempts`
|
|
368
|
+
# * `:rejects`
|
|
369
|
+
# * `:bounces`
|
|
370
|
+
# * `:complaints`
|
|
371
|
+
# * `:timestamp`
|
|
372
372
|
#
|
|
373
373
|
# @return [Array of Hashes] An array of email statistic hashes.
|
|
374
374
|
def statistics
|
|
@@ -389,7 +389,7 @@ module AWS
|
|
|
389
389
|
def require_one_of options, *keys
|
|
390
390
|
unless keys.any?{|key| options[key] }
|
|
391
391
|
parts = keys.collect{|key| ":#{key}" }.join(', ')
|
|
392
|
-
raise ArgumentError, "you must provide at least one of #{parts}"
|
|
392
|
+
raise ArgumentError, "you must provide at least one of #{parts}"
|
|
393
393
|
end
|
|
394
394
|
end
|
|
395
395
|
|