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/iam/collection.rb
CHANGED
data/lib/aws/iam/config.rb
CHANGED
data/lib/aws/iam/group.rb
CHANGED
|
@@ -72,11 +72,11 @@ module AWS
|
|
|
72
72
|
|
|
73
73
|
# Provides access to the users in the group. For example:
|
|
74
74
|
#
|
|
75
|
-
#
|
|
76
|
-
#
|
|
75
|
+
# # get the names of all the users in the group
|
|
76
|
+
# group.users.map(&:name)
|
|
77
77
|
#
|
|
78
|
-
#
|
|
79
|
-
#
|
|
78
|
+
# # remove all users from the group
|
|
79
|
+
# group.users.clear
|
|
80
80
|
#
|
|
81
81
|
# @return [GroupUserCollection] An object representing all the
|
|
82
82
|
# users in the group.
|
|
@@ -87,11 +87,11 @@ module AWS
|
|
|
87
87
|
# Provides access to the policies associated with the group.
|
|
88
88
|
# For example:
|
|
89
89
|
#
|
|
90
|
-
#
|
|
91
|
-
#
|
|
90
|
+
# # get the policy named "ReadOnly"
|
|
91
|
+
# group.policies["ReadOnly"]
|
|
92
92
|
#
|
|
93
|
-
#
|
|
94
|
-
#
|
|
93
|
+
# # remove all policies associated with the group
|
|
94
|
+
# group.policies.clear
|
|
95
95
|
#
|
|
96
96
|
# @return [GroupPolicyCollection] An object representing all the
|
|
97
97
|
# policies associated with the group.
|
|
@@ -17,30 +17,30 @@ module AWS
|
|
|
17
17
|
# A collection that provides access to IAM groups
|
|
18
18
|
# belonging to this account.
|
|
19
19
|
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
20
|
+
# iam = AWS::IAM.new
|
|
21
|
+
# groups = iam.groups
|
|
22
22
|
#
|
|
23
|
-
#
|
|
23
|
+
# ## Creating a Group
|
|
24
24
|
#
|
|
25
25
|
# You can create a group using the {#create} method:
|
|
26
26
|
#
|
|
27
|
-
#
|
|
27
|
+
# group = iam.groups.create("Developers")
|
|
28
28
|
#
|
|
29
|
-
#
|
|
29
|
+
# ## Getting a Group by Name
|
|
30
30
|
#
|
|
31
31
|
# You can get a reference to a server certificate using array notation:
|
|
32
32
|
#
|
|
33
|
-
#
|
|
33
|
+
# group = iam.groups["Developers"]
|
|
34
34
|
#
|
|
35
|
-
#
|
|
35
|
+
# ## Enumerating Groups
|
|
36
36
|
#
|
|
37
37
|
# Group collections can also be used to enumerate groups:
|
|
38
38
|
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
41
|
-
#
|
|
39
|
+
# groups.each do |group|
|
|
40
|
+
# puts group.name
|
|
41
|
+
# end
|
|
42
42
|
#
|
|
43
|
-
# You can limit the groups returned by passing a
|
|
43
|
+
# You can limit the groups returned by passing a `:prefix` option
|
|
44
44
|
# to any of the enumerator methods. When you pass a prefix, only
|
|
45
45
|
# the certificates whose paths start with the given string will be
|
|
46
46
|
# returned.
|
|
@@ -69,8 +69,8 @@ module AWS
|
|
|
69
69
|
|
|
70
70
|
# Yields once for each group.
|
|
71
71
|
#
|
|
72
|
-
# You can limit the number of groups yielded using
|
|
73
|
-
#
|
|
72
|
+
# You can limit the number of groups yielded using `:limit` and
|
|
73
|
+
# `:path_prefix`.
|
|
74
74
|
#
|
|
75
75
|
# @param [Hash] options
|
|
76
76
|
#
|
|
@@ -91,9 +91,9 @@ module AWS
|
|
|
91
91
|
|
|
92
92
|
# Returns an enumerable object for this collection. This can be
|
|
93
93
|
# useful if you want to call an enumerable method that does
|
|
94
|
-
# not accept options (e.g.
|
|
94
|
+
# not accept options (e.g. `collect`, `first`, etc).
|
|
95
95
|
#
|
|
96
|
-
#
|
|
96
|
+
# groups.enumerator(:path_prefix => '/admin').collect(&:name)
|
|
97
97
|
#
|
|
98
98
|
# @param (see #each)
|
|
99
99
|
# @option (see #each)
|
|
@@ -104,7 +104,7 @@ module AWS
|
|
|
104
104
|
|
|
105
105
|
# Returns a reference to the group with the given name:
|
|
106
106
|
#
|
|
107
|
-
#
|
|
107
|
+
# group = iam.groups['groupname']
|
|
108
108
|
#
|
|
109
109
|
# @param [String] name Name of the group to return a reference for.
|
|
110
110
|
# @return [Group] Returns a reference to the named group.
|
|
@@ -19,12 +19,12 @@ module AWS
|
|
|
19
19
|
# string keys and values that are instances of {Policy}. For
|
|
20
20
|
# example:
|
|
21
21
|
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
22
|
+
# # add or replace a policy named "ReadOnly"
|
|
23
|
+
# policy = AWS::IAM::Policy.new do |p|
|
|
24
|
+
# # ...
|
|
25
|
+
# end
|
|
26
|
+
# group.policies["ReadOnly"] = policy
|
|
27
|
+
# group.policies.has_key?("ReadOnly") # => true
|
|
28
28
|
#
|
|
29
29
|
# All of the methods for this class are defined in the
|
|
30
30
|
# {PolicyCollection} module.
|
|
@@ -17,9 +17,9 @@ module AWS
|
|
|
17
17
|
# A collection that provides access to IAM users belonging to a
|
|
18
18
|
# particular group.
|
|
19
19
|
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
#
|
|
20
|
+
# group = AWS::IAM.new.groups.first
|
|
21
|
+
# users = group.users
|
|
22
|
+
# users.each { |u| puts u.name }
|
|
23
23
|
#
|
|
24
24
|
class GroupUserCollection
|
|
25
25
|
|
data/lib/aws/iam/mfa_device.rb
CHANGED
|
@@ -29,11 +29,11 @@ module AWS
|
|
|
29
29
|
attr_reader :user
|
|
30
30
|
|
|
31
31
|
# Enables an MFA device for this user.
|
|
32
|
-
# @param [String] serial_number The serial number that uniquely
|
|
32
|
+
# @param [String] serial_number The serial number that uniquely
|
|
33
33
|
# identifies the MFA device
|
|
34
|
-
# @param [String] authentication_code_1 An authentication code emitted
|
|
34
|
+
# @param [String] authentication_code_1 An authentication code emitted
|
|
35
35
|
# by the device.
|
|
36
|
-
# @param [String] authentication_code_2 A subsequent authentication
|
|
36
|
+
# @param [String] authentication_code_2 A subsequent authentication
|
|
37
37
|
# code emitted by the device.
|
|
38
38
|
# @return [MFADevice] Returns the newly enabled MFA device.
|
|
39
39
|
def enable serial_number, authentication_code_1, authentication_code_2
|
|
@@ -71,21 +71,21 @@ module AWS
|
|
|
71
71
|
#
|
|
72
72
|
# @return [nil]
|
|
73
73
|
def clear
|
|
74
|
-
each do |device|
|
|
74
|
+
each do |device|
|
|
75
75
|
device.deactivate
|
|
76
76
|
end
|
|
77
77
|
nil
|
|
78
78
|
end
|
|
79
79
|
|
|
80
|
-
# Yields once for each MFA device.
|
|
80
|
+
# Yields once for each MFA device.
|
|
81
81
|
#
|
|
82
|
-
# You can limit the number of devices yielded using
|
|
82
|
+
# You can limit the number of devices yielded using `:limit`.
|
|
83
83
|
#
|
|
84
84
|
# @param [Hash] options
|
|
85
85
|
# @option options [Integer] :limit The maximum number of devices to yield.
|
|
86
|
-
# @option options [Integer] :batch_size The maximum number of devices
|
|
86
|
+
# @option options [Integer] :batch_size The maximum number of devices
|
|
87
87
|
# receive each service reqeust.
|
|
88
|
-
# @yieldparam [User] user
|
|
88
|
+
# @yieldparam [User] user
|
|
89
89
|
# @return [nil]
|
|
90
90
|
def each options = {}, &block
|
|
91
91
|
super(options.merge(:user_name => user.name), &block)
|
|
@@ -93,7 +93,7 @@ module AWS
|
|
|
93
93
|
|
|
94
94
|
# Returns an enumerable object for this collection. This can be
|
|
95
95
|
# useful if you want to call an enumerable method that does
|
|
96
|
-
# not accept options (e.g.
|
|
96
|
+
# not accept options (e.g. `collect`, `first`, etc).
|
|
97
97
|
#
|
|
98
98
|
# mfa_devices.enumerator(:limit => 10).collect(&:serial_number)
|
|
99
99
|
#
|
|
@@ -29,7 +29,7 @@ module AWS
|
|
|
29
29
|
# @param [String] name The name of the policy to retrieve.
|
|
30
30
|
#
|
|
31
31
|
# @return [Policy] The policy with the given name. If no such
|
|
32
|
-
# policy exists, this method returns
|
|
32
|
+
# policy exists, this method returns `nil`.
|
|
33
33
|
def [] name
|
|
34
34
|
resp = get_policy(:policy_name => name)
|
|
35
35
|
Policy.from_json(URI.unescape(resp.policy_document))
|
|
@@ -42,7 +42,7 @@ module AWS
|
|
|
42
42
|
# @param [String] name The name of the policy document.
|
|
43
43
|
#
|
|
44
44
|
# @param [Policy,String] document The policy document. This can
|
|
45
|
-
# be a JSON string, or any object that responds to
|
|
45
|
+
# be a JSON string, or any object that responds to `to_json`.
|
|
46
46
|
# The {Policy} class provides a convenient way to construct
|
|
47
47
|
# policy documents that you can use with AWS IAM.
|
|
48
48
|
def []= name, document
|
|
@@ -71,7 +71,7 @@ module AWS
|
|
|
71
71
|
# @return [Array<Policy>] An array containing the requested
|
|
72
72
|
# policy documents, in the same order as the argument list.
|
|
73
73
|
# If a requested policy does not exist, the array member
|
|
74
|
-
# corresponding to that argument will be
|
|
74
|
+
# corresponding to that argument will be `nil`.
|
|
75
75
|
def values_at(*names)
|
|
76
76
|
names.map { |n| self[n] }
|
|
77
77
|
end
|
|
@@ -110,7 +110,7 @@ module AWS
|
|
|
110
110
|
alias_method :member?, :has_key?
|
|
111
111
|
|
|
112
112
|
# @yield [name, policy] The name and document for each policy
|
|
113
|
-
# that is associated with the resource. Like
|
|
113
|
+
# that is associated with the resource. Like `Hash#each`,
|
|
114
114
|
# this method is sensitive to the arity of the provided block;
|
|
115
115
|
# if the block takes two arguments, they will be the name and
|
|
116
116
|
# document. If it accepts only one argument, it will be an
|
data/lib/aws/iam/resource.rb
CHANGED
|
@@ -15,7 +15,7 @@ module AWS
|
|
|
15
15
|
class IAM
|
|
16
16
|
class Resource < Core::Resource
|
|
17
17
|
|
|
18
|
-
# @return [Boolean] Returns
|
|
18
|
+
# @return [Boolean] Returns `true` if the resource exists.
|
|
19
19
|
def exists?
|
|
20
20
|
get_resource
|
|
21
21
|
true
|
|
@@ -47,7 +47,7 @@ module AWS
|
|
|
47
47
|
|
|
48
48
|
# @private
|
|
49
49
|
def prefix_update_attributes prefix = 'new_'
|
|
50
|
-
@update_prefix = prefix
|
|
50
|
+
@update_prefix = prefix
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
# @private
|
|
@@ -17,16 +17,16 @@ module AWS
|
|
|
17
17
|
# A collection that provides access to IAM server certificates
|
|
18
18
|
# belonging to this account.
|
|
19
19
|
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
20
|
+
# iam = AWS::IAM.new
|
|
21
|
+
# certificates = iam.server_certificates
|
|
22
22
|
#
|
|
23
|
-
#
|
|
23
|
+
# ## Uploading A Server Certificate
|
|
24
24
|
#
|
|
25
25
|
# You can upload any valid, signed certificate using {#upload}.
|
|
26
26
|
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
27
|
+
# certificates.upload(:name => "MyCert",
|
|
28
|
+
# :certificate_body => my_certificate_body,
|
|
29
|
+
# :private_key => my_private_key)
|
|
30
30
|
#
|
|
31
31
|
# For information about generating a server certificate for use
|
|
32
32
|
# with IAM, see
|
|
@@ -34,22 +34,22 @@ module AWS
|
|
|
34
34
|
# Creating and Uploading Server Certificates} in <i>Using AWS
|
|
35
35
|
# Identity and Access Management</i>.
|
|
36
36
|
#
|
|
37
|
-
#
|
|
37
|
+
# ## Getting a Server Certificate by Name
|
|
38
38
|
#
|
|
39
39
|
# You can get a reference to a server certificate using array notation:
|
|
40
40
|
#
|
|
41
|
-
#
|
|
41
|
+
# certificate = certificates['MyCert']
|
|
42
42
|
#
|
|
43
|
-
#
|
|
43
|
+
# ## Enumerating Server Certificates
|
|
44
44
|
#
|
|
45
45
|
# Server certificate collections can also be used to enumerate
|
|
46
46
|
# certificates:
|
|
47
47
|
#
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
48
|
+
# certificates.each do |cert|
|
|
49
|
+
# puts cert.name
|
|
50
|
+
# end
|
|
51
51
|
#
|
|
52
|
-
# You can limit the certificates returned by passing a
|
|
52
|
+
# You can limit the certificates returned by passing a `:prefix`
|
|
53
53
|
# option to any of the enumerator methods. When you pass a
|
|
54
54
|
# prefix, only the certificates whose paths start with the given
|
|
55
55
|
# string will be returned.
|
|
@@ -63,7 +63,7 @@ module AWS
|
|
|
63
63
|
# all be PEM-encoded.
|
|
64
64
|
#
|
|
65
65
|
# @param [Hash] options Options for uploading the certificate.
|
|
66
|
-
#
|
|
66
|
+
# `:name`, `:certificate_body`, and `:private_key` are
|
|
67
67
|
# required.
|
|
68
68
|
#
|
|
69
69
|
# @option options [String] :certificate_body The contents of the
|
|
@@ -101,7 +101,7 @@ module AWS
|
|
|
101
101
|
resp = client.upload_server_certificate(client_opts)
|
|
102
102
|
|
|
103
103
|
ServerCertificate.new(
|
|
104
|
-
resp[:server_certificate_metadata][:server_certificate_name],
|
|
104
|
+
resp[:server_certificate_metadata][:server_certificate_name],
|
|
105
105
|
:config => config)
|
|
106
106
|
|
|
107
107
|
end
|
|
@@ -16,40 +16,40 @@ module AWS
|
|
|
16
16
|
# Signing certificates can be activated and deactivated.
|
|
17
17
|
# By default, newly-uploaded certifictes are active.
|
|
18
18
|
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
19
|
+
# certificate = iam.signing_certificates.upload(cert_body)
|
|
20
|
+
# certificate.status
|
|
21
|
+
# #=> :active
|
|
22
22
|
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
23
|
+
# certificate.deactivate!
|
|
24
|
+
# certificate.active?
|
|
25
|
+
# #=> false
|
|
26
26
|
#
|
|
27
|
-
#
|
|
27
|
+
# ## Contents
|
|
28
28
|
#
|
|
29
29
|
# You can access the certificate contents you uploaded:
|
|
30
30
|
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
31
|
+
# > puts certificate.contents
|
|
32
|
+
# -----BEGIN CERTIFICATE-----
|
|
33
|
+
# MIICdzCCAeCgAwIBAgIFGS4fY6owDQYJKoZIhvcNAQEFBQAwUzELMAkGA1UEBhMC
|
|
34
|
+
# ......
|
|
35
|
+
# Glli79yh87PRi0vNDlFEoHXNynkvC/c4TiWruZ4haM9BR9EdWr1DBNNu73ui093K
|
|
36
|
+
# F9TbdXSWdgMl7E0=
|
|
37
|
+
# -----END CERTIFICATE-----
|
|
38
38
|
#
|
|
39
|
-
#
|
|
39
|
+
# ## User
|
|
40
40
|
#
|
|
41
41
|
# A certificate can also return the user it belongs to. If the certificate
|
|
42
|
-
# belongs to the AWS account, then {#user} will return
|
|
42
|
+
# belongs to the AWS account, then {#user} will return `nil`.
|
|
43
43
|
#
|
|
44
|
-
#
|
|
45
|
-
#
|
|
46
|
-
#
|
|
44
|
+
# user = iam.users['someuser'].signing_certificates.first
|
|
45
|
+
# user.name
|
|
46
|
+
# #=> 'someuser'
|
|
47
47
|
#
|
|
48
|
-
# @attr_reader [String] contents Returns the contents of this
|
|
48
|
+
# @attr_reader [String] contents Returns the contents of this
|
|
49
49
|
# signing certificate.
|
|
50
50
|
#
|
|
51
51
|
# @attr_reader [Symbol] status The status of this signing
|
|
52
|
-
# certificate. Status may be
|
|
52
|
+
# certificate. Status may be `:active` or `:inactive`.
|
|
53
53
|
#
|
|
54
54
|
class SigningCertificate < Resource
|
|
55
55
|
|
|
@@ -65,9 +65,9 @@ module AWS
|
|
|
65
65
|
# @return [String] Returns the signing certificate's ID.
|
|
66
66
|
attr_reader :id
|
|
67
67
|
|
|
68
|
-
# @return [User,nil] Returns the user this cerficiate belongs to.
|
|
69
|
-
# Returns
|
|
70
|
-
# account. If the configured credentials belong to an IAM user,
|
|
68
|
+
# @return [User,nil] Returns the user this cerficiate belongs to.
|
|
69
|
+
# Returns `nil` if the cerficiate is a root credential for the
|
|
70
|
+
# account. If the configured credentials belong to an IAM user,
|
|
71
71
|
# then that user is the implied owner.
|
|
72
72
|
attr_reader :user
|
|
73
73
|
|
|
@@ -78,7 +78,7 @@ module AWS
|
|
|
78
78
|
protected :status=
|
|
79
79
|
|
|
80
80
|
populates_from(
|
|
81
|
-
:upload_signing_certificate,
|
|
81
|
+
:upload_signing_certificate,
|
|
82
82
|
:update_signing_certificate
|
|
83
83
|
) do |resp|
|
|
84
84
|
resp.certificate if matches_response_object?(resp.certificate)
|
|
@@ -89,7 +89,7 @@ module AWS
|
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
# @return [String,nil] Returns the name of the user this certificate
|
|
92
|
-
# belogns to. If the certificate belongs to the account,
|
|
92
|
+
# belogns to. If the certificate belongs to the account, `nil` is
|
|
93
93
|
# returned.
|
|
94
94
|
def user_name
|
|
95
95
|
@user ? @user.name : nil
|
|
@@ -146,9 +146,9 @@ module AWS
|
|
|
146
146
|
identifiers
|
|
147
147
|
end
|
|
148
148
|
|
|
149
|
-
# IAM does not provide a request for "get signing certificate".
|
|
150
|
-
# Also note, we do not page the response. This is because
|
|
151
|
-
# restrictions on how many certificates an account / user may
|
|
149
|
+
# IAM does not provide a request for "get signing certificate".
|
|
150
|
+
# Also note, we do not page the response. This is because
|
|
151
|
+
# restrictions on how many certificates an account / user may
|
|
152
152
|
# have is fewer than one page of results.
|
|
153
153
|
# @private
|
|
154
154
|
protected
|