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
data/lib/aws/glacier/config.rb
CHANGED
data/lib/aws/glacier/vault.rb
CHANGED
|
@@ -59,7 +59,7 @@ module AWS
|
|
|
59
59
|
end
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
# @return [Boolean] Returns
|
|
62
|
+
# @return [Boolean] Returns `true` if the vault exists.
|
|
63
63
|
def exists?
|
|
64
64
|
client.describe_vault(:vault_name => name, :account_id => account_id)
|
|
65
65
|
true
|
|
@@ -105,7 +105,7 @@ module AWS
|
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
# Sets the notification configuration for this vault. If you pass
|
|
108
|
-
# a
|
|
108
|
+
# a `nil` value, the notification configuration will be deleted
|
|
109
109
|
# @param [VaultNotificationConfiguration] cfg
|
|
110
110
|
def notification_configuration= cfg
|
|
111
111
|
if cfg
|
data/lib/aws/iam.rb
CHANGED
|
@@ -16,114 +16,114 @@ require 'aws/iam/config'
|
|
|
16
16
|
|
|
17
17
|
module AWS
|
|
18
18
|
|
|
19
|
-
# This class is the starting point for working with
|
|
19
|
+
# This class is the starting point for working with
|
|
20
20
|
# AWS Identity and Access Management (IAM).
|
|
21
21
|
#
|
|
22
22
|
# For more information about IAM:
|
|
23
23
|
#
|
|
24
|
-
# *
|
|
25
|
-
# *
|
|
24
|
+
# * [AWS Identity and Access Management](http://aws.amazon.com/iam/)
|
|
25
|
+
# * [AWS Identity and Access Management Documentation](http://aws.amazon.com/documentation/iam/)
|
|
26
26
|
#
|
|
27
|
-
#
|
|
27
|
+
# # Credentials
|
|
28
28
|
#
|
|
29
|
-
# You can setup default credentials for all AWS services via
|
|
29
|
+
# You can setup default credentials for all AWS services via
|
|
30
30
|
# AWS.config:
|
|
31
31
|
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
32
|
+
# AWS.config(
|
|
33
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
34
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
35
|
+
#
|
|
36
36
|
# Or you can set them directly on the IAM interface:
|
|
37
37
|
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
38
|
+
# iam = AWS::IAM.new(
|
|
39
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
40
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
41
41
|
#
|
|
42
|
-
#
|
|
42
|
+
# # Account Summary
|
|
43
43
|
#
|
|
44
44
|
# You can get account level information about entity usage and IAM quotas
|
|
45
45
|
# directly from an IAM interface object.
|
|
46
46
|
#
|
|
47
|
-
#
|
|
47
|
+
# summary = iam.account_summary
|
|
48
48
|
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
49
|
+
# puts "Num users: #{summary[:users]}"
|
|
50
|
+
# puts "Num user quota: #{summary[:users_quota]}"
|
|
51
51
|
#
|
|
52
52
|
# For a complete list of summary attributes see the {#account_summary} method.
|
|
53
53
|
#
|
|
54
|
-
#
|
|
54
|
+
# # Account Aliases
|
|
55
55
|
#
|
|
56
56
|
# Currently IAM only supports a single account alias for each AWS account.
|
|
57
57
|
# You can set the account alias on the IAM interface.
|
|
58
58
|
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
#
|
|
59
|
+
# iam.account_alias = 'myaccountalias'
|
|
60
|
+
# iam.account_alias
|
|
61
|
+
# #=> 'myaccountalias'
|
|
62
62
|
#
|
|
63
63
|
# You can also remove your account alias:
|
|
64
64
|
#
|
|
65
|
-
#
|
|
66
|
-
#
|
|
67
|
-
#
|
|
65
|
+
# iam.remove_account_alias
|
|
66
|
+
# iam.account_alias
|
|
67
|
+
# #=> nil
|
|
68
68
|
#
|
|
69
|
-
#
|
|
69
|
+
# # Access Keys
|
|
70
70
|
#
|
|
71
71
|
# You can create up to 2 access for your account and 2 for each user.
|
|
72
72
|
# This makes it easy to rotate keys if you need to. You can also
|
|
73
73
|
# deactivate/activate access keys.
|
|
74
74
|
#
|
|
75
|
-
#
|
|
76
|
-
#
|
|
75
|
+
# # get your current access key
|
|
76
|
+
# old_access_key = iam.access_keys.first
|
|
77
77
|
#
|
|
78
|
-
#
|
|
79
|
-
#
|
|
80
|
-
#
|
|
81
|
-
#
|
|
78
|
+
# # create a new access key
|
|
79
|
+
# new_access_key = iam.access_keys.create
|
|
80
|
+
# new_access_key.credentials
|
|
81
|
+
# #=> { :access_key_id => 'ID', :secret_access_key => 'SECRET' }
|
|
82
82
|
#
|
|
83
|
-
#
|
|
83
|
+
# # go rotate your keys/credentials ...
|
|
84
84
|
#
|
|
85
|
-
#
|
|
86
|
-
#
|
|
85
|
+
# # now disable the old access key
|
|
86
|
+
# old_access_key.deactivate!
|
|
87
87
|
#
|
|
88
|
-
#
|
|
88
|
+
# # go make sure everything still works ...
|
|
89
89
|
#
|
|
90
|
-
#
|
|
91
|
-
#
|
|
90
|
+
# # all done, lets clean up
|
|
91
|
+
# old_access_key.delete
|
|
92
92
|
#
|
|
93
93
|
# Users can also have access keys:
|
|
94
94
|
#
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
#
|
|
98
|
-
#
|
|
95
|
+
# u = iam.users['someuser']
|
|
96
|
+
# access_key = u.access_keys.create
|
|
97
|
+
# access_key.credentials
|
|
98
|
+
# #=> { :access_key_id => 'ID', :secret_access_key => 'SECRET' }
|
|
99
99
|
#
|
|
100
100
|
# See {AccessKeyCollection} and {AccessKey} for more information about
|
|
101
101
|
# working with access keys.
|
|
102
102
|
#
|
|
103
|
-
#
|
|
103
|
+
# # Users & Groups
|
|
104
104
|
#
|
|
105
105
|
# Each AWS account can have multiple users. Users can be used to easily
|
|
106
|
-
# manage permissions. Users can also be organized into groups.
|
|
106
|
+
# manage permissions. Users can also be organized into groups.
|
|
107
107
|
#
|
|
108
|
-
#
|
|
109
|
-
#
|
|
108
|
+
# user = iam.users.create('JohnDoe')
|
|
109
|
+
# group = iam.groups.create('Developers')
|
|
110
110
|
#
|
|
111
|
-
#
|
|
112
|
-
#
|
|
111
|
+
# # add a user to a group
|
|
112
|
+
# user.groups.add(group)
|
|
113
113
|
#
|
|
114
|
-
#
|
|
115
|
-
#
|
|
114
|
+
# # remove a user from a group
|
|
115
|
+
# user.groups.remove(group)
|
|
116
116
|
#
|
|
117
|
-
#
|
|
118
|
-
#
|
|
117
|
+
# # add a user to a group
|
|
118
|
+
# group.users.add(user)
|
|
119
119
|
#
|
|
120
|
-
#
|
|
121
|
-
#
|
|
120
|
+
# # remove a user from a group
|
|
121
|
+
# group.users.remove(user)
|
|
122
122
|
#
|
|
123
123
|
# See {User}, {UserCollection}, {Group} and {GroupCollection} for more
|
|
124
124
|
# information on how to work with users and groups.
|
|
125
125
|
#
|
|
126
|
-
#
|
|
126
|
+
# # Other Interfaces
|
|
127
127
|
#
|
|
128
128
|
# Other useful IAM interfaces:
|
|
129
129
|
# * User Login Profiles ({LoginProfile})
|
|
@@ -136,39 +136,39 @@ module AWS
|
|
|
136
136
|
# @return [Client] the low-level IAM client object
|
|
137
137
|
class IAM
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
autoload :VirtualMfaDevice, 'virtual_mfa_device'
|
|
168
|
-
end
|
|
139
|
+
autoload :AccessKey, 'aws/iam/access_key'
|
|
140
|
+
autoload :AccessKeyCollection, 'aws/iam/access_key_collection'
|
|
141
|
+
autoload :AccountAliasCollection, 'aws/iam/account_alias_collection'
|
|
142
|
+
autoload :Client, 'aws/iam/client'
|
|
143
|
+
autoload :Collection, 'aws/iam/collection'
|
|
144
|
+
autoload :Errors, 'aws/iam/errors'
|
|
145
|
+
autoload :Group, 'aws/iam/group'
|
|
146
|
+
autoload :GroupCollection, 'aws/iam/group_collection'
|
|
147
|
+
autoload :GroupPolicyCollection, 'aws/iam/group_policy_collection'
|
|
148
|
+
autoload :GroupUserCollection, 'aws/iam/group_user_collection'
|
|
149
|
+
autoload :LoginProfile, 'aws/iam/login_profile'
|
|
150
|
+
autoload :MFADevice, 'aws/iam/mfa_device'
|
|
151
|
+
autoload :MFADeviceCollection, 'aws/iam/mfa_device_collection'
|
|
152
|
+
autoload :Policy, 'aws/iam/policy'
|
|
153
|
+
autoload :PolicyCollection, 'aws/iam/policy_collection'
|
|
154
|
+
autoload :Request, 'aws/iam/request'
|
|
155
|
+
autoload :Resource, 'aws/iam/resource'
|
|
156
|
+
autoload :ServerCertificate, 'aws/iam/server_certificate'
|
|
157
|
+
autoload :ServerCertificateCollection, 'aws/iam/server_certificate_collection'
|
|
158
|
+
autoload :SigningCertificate, 'aws/iam/signing_certificate'
|
|
159
|
+
autoload :SigningCertificateCollection, 'aws/iam/signing_certificate_collection'
|
|
160
|
+
autoload :User, 'aws/iam/user'
|
|
161
|
+
autoload :UserCollection, 'aws/iam/user_collection'
|
|
162
|
+
autoload :UserGroupCollection, 'aws/iam/user_group_collection'
|
|
163
|
+
autoload :UserPolicy, 'aws/iam/user_policy'
|
|
164
|
+
autoload :UserPolicyCollection, 'aws/iam/user_policy_collection'
|
|
165
|
+
autoload :VirtualMfaDeviceCollection, 'aws/iam/virtual_mfa_device_collection'
|
|
166
|
+
autoload :VirtualMfaDevice, 'aws/iam/virtual_mfa_device'
|
|
169
167
|
|
|
170
168
|
include Core::ServiceInterface
|
|
171
169
|
|
|
170
|
+
endpoint_prefix 'iam', :global => true
|
|
171
|
+
|
|
172
172
|
# Returns a collection that represents all AWS users for this account:
|
|
173
173
|
#
|
|
174
174
|
# @example Getting a user by name
|
|
@@ -180,7 +180,7 @@ module AWS
|
|
|
180
180
|
# iam.users.each do |user|
|
|
181
181
|
# puts user.name
|
|
182
182
|
# end
|
|
183
|
-
#
|
|
183
|
+
#
|
|
184
184
|
# @return [UserCollection] Returns a collection that represents all of
|
|
185
185
|
# the IAM users for this AWS account.
|
|
186
186
|
def users
|
|
@@ -205,13 +205,13 @@ module AWS
|
|
|
205
205
|
GroupCollection.new(:config => config)
|
|
206
206
|
end
|
|
207
207
|
|
|
208
|
-
# Returns a collection that represents the access keys for this
|
|
208
|
+
# Returns a collection that represents the access keys for this
|
|
209
209
|
# AWS account.
|
|
210
210
|
#
|
|
211
|
-
#
|
|
212
|
-
#
|
|
213
|
-
#
|
|
214
|
-
#
|
|
211
|
+
# iam = AWS::IAM.new
|
|
212
|
+
# iam.access_keys.each do |access_key|
|
|
213
|
+
# puts access_key.id
|
|
214
|
+
# end
|
|
215
215
|
#
|
|
216
216
|
# @return [AccessKeyCollection] Returns a collection that represents all
|
|
217
217
|
# access keys for this AWS account.
|
|
@@ -220,16 +220,16 @@ module AWS
|
|
|
220
220
|
end
|
|
221
221
|
|
|
222
222
|
# Returns a collection that represents the signing certificates
|
|
223
|
-
# for this AWS account.
|
|
223
|
+
# for this AWS account.
|
|
224
224
|
#
|
|
225
|
-
#
|
|
226
|
-
#
|
|
227
|
-
#
|
|
228
|
-
#
|
|
225
|
+
# iam = AWS::IAM.new
|
|
226
|
+
# iam.signing_certificates.each do |cert|
|
|
227
|
+
# # ...
|
|
228
|
+
# end
|
|
229
229
|
#
|
|
230
230
|
# If you need to access the signing certificates of a specific user,
|
|
231
231
|
# see {User#signing_certificates}.
|
|
232
|
-
#
|
|
232
|
+
#
|
|
233
233
|
# @return [SigningCertificateCollection] Returns a collection that
|
|
234
234
|
# represents signing certificates for this AWS account.
|
|
235
235
|
def signing_certificates
|
|
@@ -246,10 +246,10 @@ module AWS
|
|
|
246
246
|
# Returns a collection that represents the server certificates
|
|
247
247
|
# for this AWS account.
|
|
248
248
|
#
|
|
249
|
-
#
|
|
250
|
-
#
|
|
251
|
-
#
|
|
252
|
-
#
|
|
249
|
+
# iam = AWS::IAM.new
|
|
250
|
+
# iam.server_certificates.each do |cert|
|
|
251
|
+
# # ...
|
|
252
|
+
# end
|
|
253
253
|
#
|
|
254
254
|
# @return [ServerCertificateCollection] Returns a collection that
|
|
255
255
|
# represents server certificates for this AWS account.
|
|
@@ -260,10 +260,10 @@ module AWS
|
|
|
260
260
|
# Returns a collection that represents the virtual MFA devices
|
|
261
261
|
# that are not assigned to an IAM user.
|
|
262
262
|
#
|
|
263
|
-
#
|
|
264
|
-
#
|
|
265
|
-
#
|
|
266
|
-
#
|
|
263
|
+
# iam = AWS::IAM.new
|
|
264
|
+
# iam.virtual_mfa_devices.each do |cert|
|
|
265
|
+
# # ...
|
|
266
|
+
# end
|
|
267
267
|
#
|
|
268
268
|
# @return [VirtualMfaDeviceCollection] Returns a collection that
|
|
269
269
|
# represents the virtual MFA devices that are not assigned to an
|
|
@@ -282,13 +282,13 @@ module AWS
|
|
|
282
282
|
end
|
|
283
283
|
|
|
284
284
|
# @return [String,nil] Returns the account alias. If this account has
|
|
285
|
-
# no alias, then
|
|
285
|
+
# no alias, then `nil` is returned.
|
|
286
286
|
def account_alias
|
|
287
287
|
account_aliases.first
|
|
288
288
|
end
|
|
289
289
|
|
|
290
290
|
# Deletes the account alias (if one exists).
|
|
291
|
-
# @return [nil]
|
|
291
|
+
# @return [nil]
|
|
292
292
|
def remove_account_alias
|
|
293
293
|
account_aliases.each do |account_alias|
|
|
294
294
|
account_aliases.delete(account_alias)
|
|
@@ -304,36 +304,25 @@ module AWS
|
|
|
304
304
|
# Retrieves account level information about account entity usage
|
|
305
305
|
# and IAM quotas. The returned hash contains the following keys:
|
|
306
306
|
#
|
|
307
|
-
#
|
|
308
|
-
#
|
|
309
|
-
#
|
|
310
|
-
#
|
|
311
|
-
#
|
|
312
|
-
#
|
|
313
|
-
#
|
|
314
|
-
#
|
|
315
|
-
#
|
|
316
|
-
#
|
|
317
|
-
#
|
|
318
|
-
#
|
|
319
|
-
#
|
|
320
|
-
#
|
|
321
|
-
#
|
|
322
|
-
#
|
|
323
|
-
#
|
|
324
|
-
#
|
|
325
|
-
#
|
|
326
|
-
#
|
|
327
|
-
# [+:groups_per_user_quota+] Maximum number of groups a user can
|
|
328
|
-
# belong to
|
|
329
|
-
#
|
|
330
|
-
# [+:signing_certificates_per_user_quota+] Maximum number of X509
|
|
331
|
-
# certificates allowed
|
|
332
|
-
# for a user
|
|
333
|
-
#
|
|
334
|
-
# [+:access_keys_per_user_quota+] Maximum number of access keys
|
|
335
|
-
# that can be created per user
|
|
336
|
-
#
|
|
307
|
+
# * `:users` - Number of users for the AWS account
|
|
308
|
+
# * `:users_quota` - Maximum users allowed for the AWS account
|
|
309
|
+
# * `:groups` - Number of Groups for the AWS account
|
|
310
|
+
# * `:groups_quota` - Maximum Groups allowed for the AWS account
|
|
311
|
+
# * `:server_certificates` - Number of Server Certificates for the
|
|
312
|
+
# AWS account
|
|
313
|
+
# * `:server_certificates_quota` - Maximum Server Certificates
|
|
314
|
+
# allowed for the AWS account
|
|
315
|
+
# * `:user_policy_size_quota` - Maximum allowed size for user policy
|
|
316
|
+
# documents (in kilobytes)
|
|
317
|
+
# * `:group_policy_size_quota` - Maximum allowed size for Group
|
|
318
|
+
# policy documents (in kilobyes)
|
|
319
|
+
# * `:groups_per_user_quota` - Maximum number of groups a user can
|
|
320
|
+
# belong to
|
|
321
|
+
# * `:signing_certificates_per_user_quota` - Maximum number of X509
|
|
322
|
+
# certificates allowed
|
|
323
|
+
# for a user
|
|
324
|
+
# * `:access_keys_per_user_quota` - Maximum number of access keys
|
|
325
|
+
# that can be created per user
|
|
337
326
|
# @return [Hash]
|
|
338
327
|
def account_summary
|
|
339
328
|
client.get_account_summary.data[:summary_map].inject({}) do |h,(k,v)|
|
|
@@ -349,10 +338,10 @@ module AWS
|
|
|
349
338
|
# To change a user password, you must be using credentials from the
|
|
350
339
|
# user you want to change:
|
|
351
340
|
#
|
|
352
|
-
#
|
|
353
|
-
#
|
|
354
|
-
#
|
|
355
|
-
#
|
|
341
|
+
# # pass in a key pair generated for the user you want to change
|
|
342
|
+
# # the password for
|
|
343
|
+
# iam = AWS::IAM.new(:access_key_id => '...', :secret_access_key => '...)
|
|
344
|
+
# iam.change_password('old-password', 'new-password')
|
|
356
345
|
#
|
|
357
346
|
# @param [String] old_password
|
|
358
347
|
#
|
|
@@ -370,7 +359,7 @@ module AWS
|
|
|
370
359
|
|
|
371
360
|
# Updates the account password policy for all IAM accounts.
|
|
372
361
|
# @param [Hash] options
|
|
373
|
-
# @option options [Integer] :minimum_password_length
|
|
362
|
+
# @option options [Integer] :minimum_password_length
|
|
374
363
|
# @option options [Boolean] :require_symbols
|
|
375
364
|
# @option options [Boolean] :require_numbers
|
|
376
365
|
# @option options [Boolean] :require_uppercase_characters
|
|
@@ -391,11 +380,11 @@ module AWS
|
|
|
391
380
|
# Returns the account password policy details as a hash. This method
|
|
392
381
|
# returns nil if no password policy has been set for this account.
|
|
393
382
|
#
|
|
394
|
-
#
|
|
395
|
-
#
|
|
383
|
+
# # set the policy
|
|
384
|
+
# iam.update_account_password_policy :minimum_password_length => 8
|
|
396
385
|
#
|
|
397
|
-
#
|
|
398
|
-
#
|
|
386
|
+
# iam.account_password_policy
|
|
387
|
+
# #=> {:require_symbols=>false, :require_numbers=>false, :require_uppercase_characters=>false, :require_lowercase_characters=>false, :minimum_password_length=>8}
|
|
399
388
|
#
|
|
400
389
|
# @return [Hash,nil]
|
|
401
390
|
def account_password_policy
|