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
|
@@ -19,39 +19,39 @@ module AWS
|
|
|
19
19
|
|
|
20
20
|
# A configuration object for AWS interfaces and clients.
|
|
21
21
|
#
|
|
22
|
-
#
|
|
22
|
+
# ## Configuring Credentials
|
|
23
23
|
#
|
|
24
24
|
# In order to do anything with AWS you will need to assign credentials.
|
|
25
25
|
# The simplest method is to assign your credentials into the default
|
|
26
26
|
# configuration:
|
|
27
27
|
#
|
|
28
|
-
#
|
|
28
|
+
# AWS.config(:access_key_id => 'KEY', :secret_access_key => 'SECRET')
|
|
29
29
|
#
|
|
30
30
|
# You can also export them into your environment and they will be picked up
|
|
31
31
|
# automatically:
|
|
32
32
|
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
33
|
+
# export AWS_ACCESS_KEY_ID='YOUR_KEY_ID_HERE'
|
|
34
|
+
# export AWS_SECRET_ACCESS_KEY='YOUR_SECRET_KEY_HERE'
|
|
35
35
|
#
|
|
36
36
|
# For compatability with other AWS gems, the credentials can also be
|
|
37
37
|
# exported like:
|
|
38
38
|
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
39
|
+
# export AMAZON_ACCESS_KEY_ID='YOUR_KEY_ID_HERE'
|
|
40
|
+
# export AMAZON_SECRET_ACCESS_KEY='YOUR_SECRET_KEY_HERE'
|
|
41
41
|
#
|
|
42
|
-
#
|
|
42
|
+
# ## Modifying a Configuration
|
|
43
43
|
#
|
|
44
44
|
# Configuration objects are read-only. If you need a different set of
|
|
45
45
|
# configuration values, call {#with}, passing in the updates
|
|
46
46
|
# and a new configuration object will be returned.
|
|
47
47
|
#
|
|
48
|
-
#
|
|
49
|
-
#
|
|
48
|
+
# config = Configuration.new(:max_retires => 3)
|
|
49
|
+
# new_config = config.with(:max_retries => 2)
|
|
50
50
|
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
51
|
+
# config.max_retries #=> 3
|
|
52
|
+
# new_config.max_retries #=> 2
|
|
53
53
|
#
|
|
54
|
-
#
|
|
54
|
+
# ## Global Configuration
|
|
55
55
|
#
|
|
56
56
|
# The global default configuration can be found at {AWS.config}
|
|
57
57
|
#
|
|
@@ -63,50 +63,36 @@ module AWS
|
|
|
63
63
|
#
|
|
64
64
|
# @attr_reader [String,nil] session_token (nil) AWS secret token credential.
|
|
65
65
|
#
|
|
66
|
-
# @attr_reader [String]
|
|
67
|
-
# The service endpoint for Auto Scaling.
|
|
66
|
+
# @attr_reader [String] :region ('us-east-1') The default AWS region.
|
|
68
67
|
#
|
|
69
|
-
# @attr_reader [
|
|
70
|
-
# The service endpoint for AWS CloudFormation.
|
|
71
|
-
#
|
|
72
|
-
# @attr_reader [String] cloud_front_endpoint ('cloudfront.amazonaws.com')
|
|
73
|
-
# The service endpoint for Amazon CloudFront.
|
|
74
|
-
#
|
|
75
|
-
# @attr_reader [String] cloud_search ('cloudsearch.us-east-1.amazonaws.com')
|
|
76
|
-
# The service endpoint for Amazon CloudSearch.
|
|
77
|
-
#
|
|
78
|
-
# @attr_reader [String] cloud_watch_endpoint ('monitoring.us-east-1.amazonaws.com')
|
|
79
|
-
# The service endpoint for Amazon CloudWatch.
|
|
80
|
-
#
|
|
81
|
-
# @attr_reader [Boolean] dynamo_db_big_decimals (true) When +true+,
|
|
68
|
+
# @attr_reader [Boolean] dynamo_db_big_decimals (true) When `true`,
|
|
82
69
|
# {DynamoDB} will convert number values returned by {DynamoDB::Client}
|
|
83
|
-
# from strings to BigDecimal objects. If you set this to
|
|
70
|
+
# from strings to BigDecimal objects. If you set this to `false`,
|
|
84
71
|
# they will be converted from strings into floats (with a potential
|
|
85
72
|
# loss of precision).
|
|
86
73
|
#
|
|
87
|
-
# @attr_reader [String] dynamo_db_endpoint ('dynamodb.us-east-1.amazonaws.com')
|
|
88
|
-
# The service endpoint for Amazon DynamoDB.
|
|
89
|
-
#
|
|
90
74
|
# @attr_reader [Boolean] dynamo_db_retry_throughput_errors (true) When
|
|
91
75
|
# true, AWS::DynamoDB::Errors::ProvisionedThroughputExceededException
|
|
92
76
|
# errors will be retried.
|
|
93
77
|
#
|
|
94
|
-
# @attr_reader [
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
#
|
|
98
|
-
#
|
|
99
|
-
#
|
|
100
|
-
#
|
|
101
|
-
#
|
|
102
|
-
# @attr_reader [
|
|
103
|
-
#
|
|
104
|
-
#
|
|
105
|
-
#
|
|
106
|
-
#
|
|
107
|
-
#
|
|
108
|
-
#
|
|
109
|
-
#
|
|
78
|
+
# @attr_reader [Float] http_continue_timeout (1) The number of
|
|
79
|
+
# seconds to wait for a "100-continue" response before sending the request
|
|
80
|
+
# payload. **This option has no effect unless the {#http_continue_threshold}
|
|
81
|
+
# is configured to a positive integer and the payload exeedes the
|
|
82
|
+
# threshold.** NOTE: currently there is a bug in Net::HTTP.
|
|
83
|
+
# You must call `AWS.patch_net_http_100_continue!` for this feature to work.
|
|
84
|
+
# Not supported in Ruby < 1.9.
|
|
85
|
+
#
|
|
86
|
+
# @attr_reader [Integer,false] http_continue_threshold (false) If a request
|
|
87
|
+
# body exceedes the {#http_continue_threshold} size (in bytes), then
|
|
88
|
+
# an "Expect" header will be added to the request with the value of
|
|
89
|
+
# "100-continue". This will cause the SDK to wait up to
|
|
90
|
+
# {#http_continue_timeout} seconds for a 100 Contiue HTTP response
|
|
91
|
+
# before sending the request payload. By default, this feature
|
|
92
|
+
# is disbled. Set this option to a positive number of bytes
|
|
93
|
+
# to enable 100 continues. NOTE: currently there is a bug in Net::HTTP.
|
|
94
|
+
# You must call `AWS.patch_net_http_100_continue!` for this feature to work.
|
|
95
|
+
# Not supported in Ruby < 1.9.
|
|
110
96
|
#
|
|
111
97
|
# @attr_reader [Object] http_handler The http handler that sends requests
|
|
112
98
|
# to AWS. Defaults to an HTTP handler built on net/http.
|
|
@@ -116,23 +102,17 @@ module AWS
|
|
|
116
102
|
# longer be used.
|
|
117
103
|
#
|
|
118
104
|
# @attr_reader [Integer] http_open_timeout The number of seconds before
|
|
119
|
-
# the
|
|
105
|
+
# the `http_handler` should timeout while trying to open a new HTTP
|
|
120
106
|
# session.
|
|
121
107
|
#
|
|
122
108
|
# @attr_reader [Integer] http_read_timeout The number of seconds before
|
|
123
|
-
# the
|
|
109
|
+
# the `http_handler` should timeout while waiting for a HTTP
|
|
124
110
|
# response.
|
|
125
111
|
#
|
|
126
|
-
# @attr_reader [Boolean] http_wire_trace When
|
|
127
|
-
# will log all wire traces to the
|
|
112
|
+
# @attr_reader [Boolean] http_wire_trace When `true`, the http handler
|
|
113
|
+
# will log all wire traces to the `:logger`. If a `:logger` is not
|
|
128
114
|
# configured, then wire traces will be sent to standard out.
|
|
129
115
|
#
|
|
130
|
-
# @attr_reader [String] iam_endpoint ('iam.amazonaws.com')
|
|
131
|
-
# The service endpoint for AWS Identity Access Management (IAM).
|
|
132
|
-
#
|
|
133
|
-
# @attr_reader [String] import_export_endpoint ('importexport.amazonaws.com')
|
|
134
|
-
# The service endpoint for AWS Import/Export.
|
|
135
|
-
#
|
|
136
116
|
# @attr_reader [Logger,nil] logger (nil) The logging interface.
|
|
137
117
|
#
|
|
138
118
|
# @attr_reader [Symbol] log_level (:info) The log level.
|
|
@@ -147,23 +127,8 @@ module AWS
|
|
|
147
127
|
# @attr_reader [URI,nil] proxy_uri (nil) The URI of the proxy
|
|
148
128
|
# to send service requests through.
|
|
149
129
|
#
|
|
150
|
-
# @attr_reader [URI,nil] route_53_endpoint ('route53.amazonaws.com')
|
|
151
|
-
# The service endpoint for Amazon Route 53.
|
|
152
|
-
#
|
|
153
|
-
# @attr_reader [URI,nil] ops_works_endpoint ('opsworks.us-east-1.amazonaws.com')
|
|
154
|
-
# The service endpoint for AWS OpsWorks.
|
|
155
|
-
#
|
|
156
|
-
# @attr_reader [URI,nil] redshift_endpoint ('redshift.us-east-1.amazonaws.com')
|
|
157
|
-
# The service endpoint for Amazon Redshift.
|
|
158
|
-
#
|
|
159
|
-
# @attr_reader [URI,nil] rds_endpoint ('rds.us-east-1.amazonaws.com')
|
|
160
|
-
# The service endpoint for Amazon Relational Database Service (RDS).
|
|
161
|
-
#
|
|
162
|
-
# @attr_reader [String] s3_endpoint ('s3.amazonaws.com')
|
|
163
|
-
# The service endpoint for Amazon S3.
|
|
164
|
-
#
|
|
165
130
|
# @attr_reader [Boolean] s3_force_path_style (false) When
|
|
166
|
-
#
|
|
131
|
+
# `true`, requests will always use path style. This can be useful
|
|
167
132
|
# for testing environments.
|
|
168
133
|
#
|
|
169
134
|
# @attr_reader [Integer] s3_multipart_max_parts (10000)
|
|
@@ -172,9 +137,9 @@ module AWS
|
|
|
172
137
|
#
|
|
173
138
|
# @attr_reader [Integer] s3_multipart_threshold (16777216) When uploading
|
|
174
139
|
# data to S3, if the number of bytes to send exceeds
|
|
175
|
-
#
|
|
140
|
+
# `:s3_multipart_threshold` then a multi part session is automatically
|
|
176
141
|
# started and the data is sent up in chunks. The size of each part
|
|
177
|
-
# is specified by
|
|
142
|
+
# is specified by `:s3_multipart_min_part_size`. Defaults to
|
|
178
143
|
# 16777216 (16MB).
|
|
179
144
|
#
|
|
180
145
|
# @attr_reader [Integer] s3_multipart_min_part_size (5242880)
|
|
@@ -183,23 +148,23 @@ module AWS
|
|
|
183
148
|
#
|
|
184
149
|
# @attr_reader [Symbol] s3_server_side_encryption The algorithm to
|
|
185
150
|
# use when encrypting object data on the server side. The only
|
|
186
|
-
# valid value is
|
|
151
|
+
# valid value is `:aes256`, which specifies that the object
|
|
187
152
|
# should be stored using the AES encryption algorithm with 256
|
|
188
|
-
# bit keys. Defaults to
|
|
153
|
+
# bit keys. Defaults to `nil`, meaning server side encryption
|
|
189
154
|
# is not used unless specified on each individual call to upload
|
|
190
155
|
# an object. This option controls the default behavior for the
|
|
191
156
|
# following method:
|
|
192
157
|
#
|
|
193
|
-
#
|
|
194
|
-
#
|
|
195
|
-
#
|
|
196
|
-
#
|
|
197
|
-
#
|
|
158
|
+
# * {S3::S3Object#write}
|
|
159
|
+
# * {S3::S3Object#multipart_upload}
|
|
160
|
+
# * {S3::S3Object#copy_from} and {S3::S3Object#copy_to}
|
|
161
|
+
# * {S3::S3Object#presigned_post}
|
|
162
|
+
# * {S3::Bucket#presigned_post}
|
|
198
163
|
#
|
|
199
164
|
# You can construct an interface to Amazon S3 which always
|
|
200
165
|
# stores data using server side encryption as follows:
|
|
201
166
|
#
|
|
202
|
-
#
|
|
167
|
+
# s3 = AWS::S3.new(:s3_server_side_encryption => :aes256)
|
|
203
168
|
#
|
|
204
169
|
# @attr_reader [OpenSSL::PKey::RSA, String] s3_encryption_key
|
|
205
170
|
# If this is set, AWS::S3::S3Object #read and #write methods will always
|
|
@@ -208,30 +173,21 @@ module AWS
|
|
|
208
173
|
# means that client-side encryption will not be used.
|
|
209
174
|
#
|
|
210
175
|
# @attr_reader [Symbol] s3_encryption_materials_location
|
|
211
|
-
# When set to
|
|
176
|
+
# When set to `:instruction_file`, AWS::S3::S3Object will store
|
|
212
177
|
# encryption materials in a separate object, instead of the object
|
|
213
178
|
# metadata.
|
|
214
179
|
#
|
|
215
|
-
# @attr_reader [String] simple_db_endpoint ('sdb.amazonaws.com')
|
|
216
|
-
# The service endpoint for Amazon SimpleDB.
|
|
217
|
-
#
|
|
218
180
|
# @attr_reader [Boolean] simple_db_consistent_reads (false) Determines
|
|
219
181
|
# if all SimpleDB read requests should be done consistently.
|
|
220
182
|
# Consistent reads are slower, but reflect all changes to SDB.
|
|
221
183
|
#
|
|
222
|
-
# @attr_reader [String] simple_email_service_endpoint ('email.us-east-1.amazonaws.com')
|
|
223
|
-
# The service endpoint for Amazon Simple Email Service.
|
|
224
|
-
#
|
|
225
|
-
# @attr_reader [String] simple_workflow_endpoint ('swf.us-east-1.amazonaws.com')
|
|
226
|
-
# The service endpoint for Amazon Simple Workflow Service.
|
|
227
|
-
#
|
|
228
184
|
# @attr_reader [CredentialProvider::Provider] credential_provider
|
|
229
185
|
# Returns the object that is responsible for loading credentials.
|
|
230
186
|
#
|
|
231
187
|
# @attr_reader [String] ssl_ca_file The path to a CA cert bundle in
|
|
232
188
|
# PEM format.
|
|
233
189
|
#
|
|
234
|
-
# If
|
|
190
|
+
# If `ssl_verify_peer` is true (the default) this bundle will be
|
|
235
191
|
# used to validate the server certificate in each HTTPS request.
|
|
236
192
|
# The AWS SDK for Ruby ships with a CA cert bundle, which is the
|
|
237
193
|
# default value for this option.
|
|
@@ -239,31 +195,19 @@ module AWS
|
|
|
239
195
|
# @attr_reader [String] ssl_ca_path (nil)
|
|
240
196
|
# The path the a CA cert directory.
|
|
241
197
|
#
|
|
242
|
-
# @attr_reader [Boolean] ssl_verify_peer (true) When
|
|
198
|
+
# @attr_reader [Boolean] ssl_verify_peer (true) When `true`
|
|
243
199
|
# the HTTP handler validate server certificates for HTTPS requests.
|
|
244
200
|
#
|
|
245
201
|
# This option should only be disabled for diagnostic purposes;
|
|
246
|
-
# leaving this option set to
|
|
202
|
+
# leaving this option set to `false` exposes your application to
|
|
247
203
|
# man-in-the-middle attacks and can pose a serious security
|
|
248
204
|
# risk.
|
|
249
205
|
#
|
|
250
|
-
# @attr_reader [Boolean] stub_requests (false) When
|
|
206
|
+
# @attr_reader [Boolean] stub_requests (false) When `true` requests are not
|
|
251
207
|
# sent to AWS, instead empty responses are generated and returned to
|
|
252
208
|
# each service request.
|
|
253
209
|
#
|
|
254
|
-
# @attr_reader [
|
|
255
|
-
# The service endpoint for Amazon SNS.
|
|
256
|
-
#
|
|
257
|
-
# @attr_reader [String] sqs_endpoint ('sqs.us-east-1.amazonaws.com')
|
|
258
|
-
# The service endpoint for Amazon SQS.
|
|
259
|
-
#
|
|
260
|
-
# @attr_reader [String] :storage_gateway_endpoint ('storagegateway.us-east-1.amazonaws.com')
|
|
261
|
-
# The service endpoint for AWS Storage Gateway.
|
|
262
|
-
#
|
|
263
|
-
# @attr_reader [String] sts_endpoint ('sts.amazonaws.com')
|
|
264
|
-
# The service endpoint for AWS Security Token Service.
|
|
265
|
-
#
|
|
266
|
-
# @attr_reader [Boolean] use_ssl (true) When +true+, all requests
|
|
210
|
+
# @attr_reader [Boolean] use_ssl (true) When `true`, all requests
|
|
267
211
|
# to AWS are sent using HTTPS instead vanilla HTTP.
|
|
268
212
|
#
|
|
269
213
|
# @attr_reader [String] user_agent_prefix (nil) A string prefix to
|
|
@@ -289,6 +233,11 @@ module AWS
|
|
|
289
233
|
options.each_pair do |opt_name, value|
|
|
290
234
|
opt_name = opt_name.to_sym
|
|
291
235
|
if self.class.accepted_options.include?(opt_name)
|
|
236
|
+
#if opt_name.to_s =~ /_endpoint$/
|
|
237
|
+
# warning = ":#{opt_name} is a deprecated AWS configuration option, "
|
|
238
|
+
# warning << "use :region instead"
|
|
239
|
+
# warn(warning)
|
|
240
|
+
#end
|
|
292
241
|
supplied[opt_name] = value
|
|
293
242
|
end
|
|
294
243
|
end
|
|
@@ -309,23 +258,23 @@ module AWS
|
|
|
309
258
|
# Used to create a new Configuration object with the given modifications.
|
|
310
259
|
# The current configuration object is not modified.
|
|
311
260
|
#
|
|
312
|
-
#
|
|
261
|
+
# AWS.config(:max_retries => 2)
|
|
313
262
|
#
|
|
314
|
-
#
|
|
263
|
+
# no_retries_config = AWS.config.with(:max_retries => 0)
|
|
315
264
|
#
|
|
316
|
-
#
|
|
317
|
-
#
|
|
265
|
+
# AWS.config.max_retries #=> 2
|
|
266
|
+
# no_retries_config.max_retries #=> 0
|
|
318
267
|
#
|
|
319
268
|
# You can use these configuration objects returned by #with to create
|
|
320
269
|
# AWS objects:
|
|
321
270
|
#
|
|
322
|
-
#
|
|
323
|
-
#
|
|
271
|
+
# AWS::S3.new(:config => no_retries_config)
|
|
272
|
+
# AWS::SQS.new(:config => no_retries_config)
|
|
324
273
|
#
|
|
325
274
|
# @param options (see AWS.config)
|
|
326
275
|
# @option options (see AWS.config)
|
|
327
276
|
# @return [Configuration] Copies the current configuration and returns
|
|
328
|
-
# a new one with modifications as provided in
|
|
277
|
+
# a new one with modifications as provided in `:options`.
|
|
329
278
|
def with options = {}
|
|
330
279
|
|
|
331
280
|
# symbolize option keys
|
|
@@ -413,9 +362,10 @@ module AWS
|
|
|
413
362
|
needed = needs.inject({}) {|h,need| h.merge(need => send(need)) }
|
|
414
363
|
|
|
415
364
|
unless @created.key?(name) and @created[name][:needed] == needed
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
365
|
+
created = {}
|
|
366
|
+
created[:object] = create_block.call(self,needed)
|
|
367
|
+
created[:needed] = needed
|
|
368
|
+
@created[name] = created
|
|
419
369
|
end
|
|
420
370
|
|
|
421
371
|
@created[name][:object]
|
|
@@ -424,9 +374,21 @@ module AWS
|
|
|
424
374
|
|
|
425
375
|
end
|
|
426
376
|
|
|
427
|
-
def add_service name, ruby_name,
|
|
377
|
+
def add_service name, ruby_name, endpoint_pattern = nil, &endpoint_builder
|
|
378
|
+
|
|
379
|
+
Region.send(:define_method, ruby_name) do
|
|
380
|
+
AWS.const_get(name).new(:config => config)
|
|
381
|
+
end
|
|
428
382
|
|
|
429
|
-
add_option :"#{ruby_name}_endpoint",
|
|
383
|
+
add_option :"#{ruby_name}_endpoint" do |config,value|
|
|
384
|
+
if value
|
|
385
|
+
value
|
|
386
|
+
elsif endpoint_pattern
|
|
387
|
+
endpoint_pattern % config.region
|
|
388
|
+
else
|
|
389
|
+
endpoint_builder.call(config.region)
|
|
390
|
+
end
|
|
391
|
+
end
|
|
430
392
|
|
|
431
393
|
add_option(:"#{ruby_name}_port") do |config,value|
|
|
432
394
|
value || (config.use_ssl? ? 443 : 80)
|
|
@@ -446,7 +408,7 @@ module AWS
|
|
|
446
408
|
elsif matches = endpoint.match(/^.+\.(.+)\.amazonaws.com$/)
|
|
447
409
|
matches[1]
|
|
448
410
|
else
|
|
449
|
-
'us-east-1'
|
|
411
|
+
AWS.const_get(name).global_endpoint? ? 'us-east-1' : config.region
|
|
450
412
|
end
|
|
451
413
|
end
|
|
452
414
|
end
|
|
@@ -458,6 +420,8 @@ module AWS
|
|
|
458
420
|
:credential_provider,
|
|
459
421
|
:http_handler,
|
|
460
422
|
:http_read_timeout,
|
|
423
|
+
:http_continue_timeout,
|
|
424
|
+
:http_continue_threshold,
|
|
461
425
|
:log_formatter,
|
|
462
426
|
:log_level,
|
|
463
427
|
:logger,
|
|
@@ -487,6 +451,8 @@ module AWS
|
|
|
487
451
|
|
|
488
452
|
add_option :session_token
|
|
489
453
|
|
|
454
|
+
add_option :region, 'us-east-1'
|
|
455
|
+
|
|
490
456
|
add_option_with_needs :credential_provider,
|
|
491
457
|
[:access_key_id, :secret_access_key, :session_token] do |cfg,static_creds|
|
|
492
458
|
|
|
@@ -498,20 +464,18 @@ module AWS
|
|
|
498
464
|
|
|
499
465
|
add_option :http_read_timeout, 60
|
|
500
466
|
|
|
501
|
-
add_option :
|
|
467
|
+
add_option :http_continue_timeout, 1
|
|
502
468
|
|
|
503
|
-
add_option :
|
|
469
|
+
add_option :http_continue_threshold, false
|
|
504
470
|
|
|
505
|
-
|
|
506
|
-
[
|
|
507
|
-
:http_open_timeout,
|
|
508
|
-
:http_idle_timeout,
|
|
509
|
-
:http_wire_trace,
|
|
510
|
-
:logger,
|
|
511
|
-
] do |config,handler_options|
|
|
471
|
+
add_option :http_idle_timeout, 60
|
|
512
472
|
|
|
513
|
-
|
|
473
|
+
add_option :http_wire_trace, false, :boolean => true
|
|
514
474
|
|
|
475
|
+
add_option_with_needs(:http_handler,
|
|
476
|
+
AWS::Core::Http::ConnectionPool::OPTIONS
|
|
477
|
+
) do |config,options|
|
|
478
|
+
AWS::Core::Http::NetHttpHandler.new(options)
|
|
515
479
|
end
|
|
516
480
|
|
|
517
481
|
add_option :logger
|
|
@@ -30,11 +30,11 @@ module AWS
|
|
|
30
30
|
KEYS = Set[:access_key_id, :secret_access_key, :session_token]
|
|
31
31
|
|
|
32
32
|
# @return [Hash] Returns a hash of credentials containg at least
|
|
33
|
-
# the
|
|
34
|
-
# also contain a
|
|
33
|
+
# the `:access_key_id` and `:secret_access_key`. The hash may
|
|
34
|
+
# also contain a `:session_token`.
|
|
35
35
|
#
|
|
36
36
|
# @raise [Errors::MissingCredentialsError] Raised when the
|
|
37
|
-
#
|
|
37
|
+
# `:access_key_id` or the `:secret_access_key` can not be found.
|
|
38
38
|
#
|
|
39
39
|
def credentials
|
|
40
40
|
@cached_credentials ||= begin
|
|
@@ -133,8 +133,8 @@ module AWS
|
|
|
133
133
|
end
|
|
134
134
|
|
|
135
135
|
# Static credentials are provided directly to config via
|
|
136
|
-
#
|
|
137
|
-
#
|
|
136
|
+
# `:access_key_id` and `:secret_access_key` (and optionally
|
|
137
|
+
# `:session_token`).
|
|
138
138
|
# @private
|
|
139
139
|
class StaticProvider
|
|
140
140
|
|
|
@@ -261,11 +261,11 @@ module AWS
|
|
|
261
261
|
|
|
262
262
|
# Refresh provider if existing credentials will be expired in 5 min
|
|
263
263
|
# @return [Hash] Returns a hash of credentials containg at least
|
|
264
|
-
# the
|
|
265
|
-
# also contain a
|
|
264
|
+
# the `:access_key_id` and `:secret_access_key`. The hash may
|
|
265
|
+
# also contain a `:session_token`.
|
|
266
266
|
#
|
|
267
267
|
# @raise [Errors::MissingCredentialsError] Raised when the
|
|
268
|
-
#
|
|
268
|
+
# `:access_key_id` or the `:secret_access_key` can not be found.
|
|
269
269
|
#
|
|
270
270
|
def credentials
|
|
271
271
|
if @credentials_expiration && @credentials_expiration.utc <= Time.now.utc - 5 * 60
|
|
@@ -328,10 +328,10 @@ module AWS
|
|
|
328
328
|
|
|
329
329
|
end
|
|
330
330
|
|
|
331
|
-
#
|
|
331
|
+
# # Session Credential Provider
|
|
332
332
|
#
|
|
333
|
-
# The session provider consumes long term credentials (
|
|
334
|
-
# and
|
|
333
|
+
# The session provider consumes long term credentials (`:access_key_id`
|
|
334
|
+
# and `:secret_access_key`) and requests a session from STS.
|
|
335
335
|
# It then returns the short term credential set from STS.
|
|
336
336
|
#
|
|
337
337
|
# Calling {#refresh} causes the session provider to request a new
|
|
@@ -348,8 +348,8 @@ module AWS
|
|
|
348
348
|
class << self
|
|
349
349
|
|
|
350
350
|
# @param [Hash] long_term_credentials A hash of credentials with
|
|
351
|
-
#
|
|
352
|
-
#
|
|
351
|
+
# `:access_key_id` and `:secret_access_key` (but not
|
|
352
|
+
# `:session_token`).
|
|
353
353
|
def for long_term_credentials
|
|
354
354
|
@create_mutex.synchronize do
|
|
355
355
|
@session_providers ||= {}
|
|
@@ -365,8 +365,8 @@ module AWS
|
|
|
365
365
|
end
|
|
366
366
|
|
|
367
367
|
# @param [Hash] long_term_credentials A hash of credentials with
|
|
368
|
-
#
|
|
369
|
-
#
|
|
368
|
+
# `:access_key_id` and `:secret_access_key` (but not
|
|
369
|
+
# `:session_token`).
|
|
370
370
|
def initialize long_term_credentials
|
|
371
371
|
@static = StaticProvider.new(long_term_credentials)
|
|
372
372
|
if @static.session_token
|
|
@@ -424,7 +424,7 @@ module AWS
|
|
|
424
424
|
class FakeProvider < StaticProvider
|
|
425
425
|
|
|
426
426
|
# @param [Hash] options
|
|
427
|
-
# @option options [Boolean] :with_session_token (false) When
|
|
427
|
+
# @option options [Boolean] :with_session_token (false) When `true` a
|
|
428
428
|
# fake session token will also be provided.
|
|
429
429
|
def initialize options = {}
|
|
430
430
|
options[:access_key_id] ||= fake_access_key_id
|