aws-sdk 1.32.0 → 3.0.2
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 +5 -5
- data/CHANGELOG.md +100 -0
- data/LICENSE.txt +199 -9
- data/VERSION +1 -0
- data/lib/aws-sdk.rb +2 -14
- metadata +22 -591
- data/.yardopts +0 -7
- data/README.md +0 -291
- data/bin/aws-rb +0 -169
- data/ca-bundle.crt +0 -3554
- data/endpoints.json +0 -1506
- data/lib/aws.rb +0 -14
- data/lib/aws/api_config/AutoScaling-2011-01-01.yml +0 -869
- data/lib/aws/api_config/CloudFormation-2010-05-15.yml +0 -358
- data/lib/aws/api_config/CloudFront-2013-05-12.yml +0 -2448
- data/lib/aws/api_config/CloudFront-2013-08-26.yml +0 -2599
- data/lib/aws/api_config/CloudFront-2013-09-27.yml +0 -2765
- data/lib/aws/api_config/CloudFront-2013-11-11.yml +0 -2886
- data/lib/aws/api_config/CloudSearch-2011-02-01.yml +0 -681
- data/lib/aws/api_config/CloudTrail-2013-11-01.yml +0 -159
- data/lib/aws/api_config/CloudWatch-2010-08-01.yml +0 -433
- data/lib/aws/api_config/DataPipeline-2012-10-29.yml +0 -422
- data/lib/aws/api_config/DirectConnect-2012-10-25.yml +0 -735
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +0 -1168
- data/lib/aws/api_config/DynamoDB-2012-08-10.yml +0 -2005
- data/lib/aws/api_config/EC2-2013-08-15.yml +0 -4708
- data/lib/aws/api_config/EC2-2013-10-01.yml +0 -4726
- data/lib/aws/api_config/EC2-2013-10-15.yml +0 -4726
- data/lib/aws/api_config/ELB-2012-06-01.yml +0 -632
- data/lib/aws/api_config/EMR-2009-03-31.yml +0 -953
- data/lib/aws/api_config/ElastiCache-2013-06-15.yml +0 -1188
- data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +0 -847
- data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +0 -2285
- data/lib/aws/api_config/Glacier-2012-06-01.yml +0 -649
- data/lib/aws/api_config/IAM-2010-05-08.yml +0 -1297
- data/lib/aws/api_config/ImportExport-2010-06-01.yml +0 -109
- data/lib/aws/api_config/Kinesis-2013-12-02.yml +0 -201
- data/lib/aws/api_config/OpsWorks-2013-02-18.yml +0 -1825
- data/lib/aws/api_config/RDS-2013-05-15.yml +0 -2464
- data/lib/aws/api_config/RDS-2013-09-09.yml +0 -2641
- data/lib/aws/api_config/Redshift-2012-12-01.yml +0 -2137
- data/lib/aws/api_config/Route53-2012-12-12.yml +0 -547
- data/lib/aws/api_config/SNS-2010-03-31.yml +0 -433
- data/lib/aws/api_config/SQS-2012-11-05.yml +0 -319
- data/lib/aws/api_config/STS-2011-06-15.yml +0 -147
- data/lib/aws/api_config/SimpleDB-2009-04-15.yml +0 -306
- data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +0 -346
- data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +0 -2388
- data/lib/aws/api_config/StorageGateway-2012-06-30.yml +0 -748
- data/lib/aws/api_config/StorageGateway-2013-06-30.yml +0 -1025
- data/lib/aws/api_config/Support-2013-04-15.yml +0 -426
- data/lib/aws/auto_scaling.rb +0 -163
- data/lib/aws/auto_scaling/activity.rb +0 -102
- data/lib/aws/auto_scaling/activity_collection.rb +0 -81
- data/lib/aws/auto_scaling/client.rb +0 -48
- data/lib/aws/auto_scaling/config.rb +0 -18
- data/lib/aws/auto_scaling/errors.rb +0 -22
- data/lib/aws/auto_scaling/group.rb +0 -421
- data/lib/aws/auto_scaling/group_collection.rb +0 -96
- data/lib/aws/auto_scaling/group_options.rb +0 -155
- data/lib/aws/auto_scaling/instance.rb +0 -192
- data/lib/aws/auto_scaling/instance_collection.rb +0 -63
- data/lib/aws/auto_scaling/launch_configuration.rb +0 -162
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +0 -160
- data/lib/aws/auto_scaling/notification_configuration.rb +0 -89
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +0 -183
- data/lib/aws/auto_scaling/scaling_policy.rb +0 -142
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +0 -72
- data/lib/aws/auto_scaling/scaling_policy_options.rb +0 -65
- data/lib/aws/auto_scaling/scheduled_action.rb +0 -141
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +0 -202
- data/lib/aws/auto_scaling/tag.rb +0 -59
- data/lib/aws/auto_scaling/tag_collection.rb +0 -114
- data/lib/aws/cloud_formation.rb +0 -272
- data/lib/aws/cloud_formation/client.rb +0 -48
- data/lib/aws/cloud_formation/config.rb +0 -18
- data/lib/aws/cloud_formation/errors.rb +0 -22
- data/lib/aws/cloud_formation/stack.rb +0 -266
- data/lib/aws/cloud_formation/stack_collection.rb +0 -232
- data/lib/aws/cloud_formation/stack_event.rb +0 -73
- data/lib/aws/cloud_formation/stack_event_collection.rb +0 -47
- data/lib/aws/cloud_formation/stack_options.rb +0 -72
- data/lib/aws/cloud_formation/stack_output.rb +0 -53
- data/lib/aws/cloud_formation/stack_resource.rb +0 -117
- data/lib/aws/cloud_formation/stack_resource_collection.rb +0 -83
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +0 -64
- data/lib/aws/cloud_formation/stack_summary_collection.rb +0 -123
- data/lib/aws/cloud_front.rb +0 -72
- data/lib/aws/cloud_front/client.rb +0 -45
- data/lib/aws/cloud_front/config.rb +0 -18
- data/lib/aws/cloud_front/errors.rb +0 -22
- data/lib/aws/cloud_search.rb +0 -73
- data/lib/aws/cloud_search/client.rb +0 -36
- data/lib/aws/cloud_search/config.rb +0 -18
- data/lib/aws/cloud_search/errors.rb +0 -22
- data/lib/aws/cloud_trail.rb +0 -72
- data/lib/aws/cloud_trail/client.rb +0 -35
- data/lib/aws/cloud_trail/config.rb +0 -18
- data/lib/aws/cloud_trail/errors.rb +0 -22
- data/lib/aws/cloud_watch.rb +0 -118
- data/lib/aws/cloud_watch/alarm.rb +0 -290
- data/lib/aws/cloud_watch/alarm_collection.rb +0 -153
- data/lib/aws/cloud_watch/alarm_history_item.rb +0 -50
- data/lib/aws/cloud_watch/alarm_history_item_collection.rb +0 -84
- data/lib/aws/cloud_watch/client.rb +0 -40
- data/lib/aws/cloud_watch/config.rb +0 -18
- data/lib/aws/cloud_watch/errors.rb +0 -22
- data/lib/aws/cloud_watch/metric.rb +0 -135
- data/lib/aws/cloud_watch/metric_alarm_collection.rb +0 -160
- data/lib/aws/cloud_watch/metric_collection.rb +0 -129
- data/lib/aws/cloud_watch/metric_statistics.rb +0 -69
- data/lib/aws/core.rb +0 -701
- data/lib/aws/core/async_handle.rb +0 -90
- data/lib/aws/core/cacheable.rb +0 -77
- data/lib/aws/core/client.rb +0 -778
- data/lib/aws/core/collection.rb +0 -263
- data/lib/aws/core/collection/simple.rb +0 -82
- data/lib/aws/core/collection/with_limit_and_next_token.rb +0 -71
- data/lib/aws/core/collection/with_next_token.rb +0 -97
- data/lib/aws/core/configuration.rb +0 -541
- data/lib/aws/core/credential_providers.rb +0 -506
- data/lib/aws/core/data.rb +0 -247
- data/lib/aws/core/deprecations.rb +0 -84
- data/lib/aws/core/endpoints.rb +0 -37
- data/lib/aws/core/http/connection_pool.rb +0 -349
- data/lib/aws/core/http/curb_handler.rb +0 -148
- data/lib/aws/core/http/handler.rb +0 -89
- data/lib/aws/core/http/net_http_handler.rb +0 -147
- data/lib/aws/core/http/patch.rb +0 -102
- data/lib/aws/core/http/request.rb +0 -249
- data/lib/aws/core/http/response.rb +0 -81
- data/lib/aws/core/indifferent_hash.rb +0 -88
- data/lib/aws/core/inflection.rb +0 -56
- data/lib/aws/core/json_client.rb +0 -47
- data/lib/aws/core/json_parser.rb +0 -76
- data/lib/aws/core/json_request_builder.rb +0 -35
- data/lib/aws/core/json_response_parser.rb +0 -79
- data/lib/aws/core/lazy_error_classes.rb +0 -90
- data/lib/aws/core/log_formatter.rb +0 -428
- data/lib/aws/core/managed_file.rb +0 -32
- data/lib/aws/core/meta_utils.rb +0 -45
- data/lib/aws/core/model.rb +0 -57
- data/lib/aws/core/naming.rb +0 -30
- data/lib/aws/core/option_grammar.rb +0 -738
- data/lib/aws/core/options/json_serializer.rb +0 -82
- data/lib/aws/core/options/validator.rb +0 -155
- data/lib/aws/core/options/xml_serializer.rb +0 -118
- data/lib/aws/core/page_result.rb +0 -75
- data/lib/aws/core/policy.rb +0 -942
- data/lib/aws/core/query_client.rb +0 -41
- data/lib/aws/core/query_error_parser.rb +0 -24
- data/lib/aws/core/query_request_builder.rb +0 -47
- data/lib/aws/core/query_response_parser.rb +0 -35
- data/lib/aws/core/region.rb +0 -85
- data/lib/aws/core/region_collection.rb +0 -80
- data/lib/aws/core/resource.rb +0 -413
- data/lib/aws/core/resource_cache.rb +0 -40
- data/lib/aws/core/response.rb +0 -211
- data/lib/aws/core/response_cache.rb +0 -50
- data/lib/aws/core/rest_error_parser.rb +0 -24
- data/lib/aws/core/rest_json_client.rb +0 -40
- data/lib/aws/core/rest_request_builder.rb +0 -154
- data/lib/aws/core/rest_response_parser.rb +0 -66
- data/lib/aws/core/rest_xml_client.rb +0 -47
- data/lib/aws/core/service_interface.rb +0 -83
- data/lib/aws/core/signers/base.rb +0 -46
- data/lib/aws/core/signers/cloud_front.rb +0 -56
- data/lib/aws/core/signers/s3.rb +0 -159
- data/lib/aws/core/signers/version_2.rb +0 -72
- data/lib/aws/core/signers/version_3.rb +0 -86
- data/lib/aws/core/signers/version_3_https.rb +0 -61
- data/lib/aws/core/signers/version_4.rb +0 -228
- data/lib/aws/core/signers/version_4/chunk_signed_stream.rb +0 -191
- data/lib/aws/core/uri_escape.rb +0 -44
- data/lib/aws/core/xml/frame.rb +0 -244
- data/lib/aws/core/xml/frame_stack.rb +0 -85
- data/lib/aws/core/xml/grammar.rb +0 -306
- data/lib/aws/core/xml/parser.rb +0 -70
- data/lib/aws/core/xml/root_frame.rb +0 -65
- data/lib/aws/core/xml/sax_handlers/libxml.rb +0 -47
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +0 -56
- data/lib/aws/core/xml/sax_handlers/ox.rb +0 -41
- data/lib/aws/core/xml/sax_handlers/rexml.rb +0 -47
- data/lib/aws/core/xml/stub.rb +0 -123
- data/lib/aws/data_pipeline.rb +0 -72
- data/lib/aws/data_pipeline/client.rb +0 -36
- data/lib/aws/data_pipeline/config.rb +0 -18
- data/lib/aws/data_pipeline/errors.rb +0 -20
- data/lib/aws/direct_connect.rb +0 -73
- data/lib/aws/direct_connect/client.rb +0 -36
- data/lib/aws/direct_connect/config.rb +0 -18
- data/lib/aws/direct_connect/errors.rb +0 -22
- data/lib/aws/dynamo_db.rb +0 -214
- data/lib/aws/dynamo_db/attribute_collection.rb +0 -456
- data/lib/aws/dynamo_db/batch_get.rb +0 -213
- data/lib/aws/dynamo_db/batch_write.rb +0 -252
- data/lib/aws/dynamo_db/binary.rb +0 -35
- data/lib/aws/dynamo_db/client.rb +0 -129
- data/lib/aws/dynamo_db/client/v20111205.rb +0 -1266
- data/lib/aws/dynamo_db/client/v20120810.rb +0 -1409
- data/lib/aws/dynamo_db/client_v2.rb +0 -44
- data/lib/aws/dynamo_db/config.rb +0 -24
- data/lib/aws/dynamo_db/errors.rb +0 -20
- data/lib/aws/dynamo_db/expectations.rb +0 -40
- data/lib/aws/dynamo_db/item.rb +0 -133
- data/lib/aws/dynamo_db/item_collection.rb +0 -856
- data/lib/aws/dynamo_db/item_data.rb +0 -31
- data/lib/aws/dynamo_db/keys.rb +0 -41
- data/lib/aws/dynamo_db/primary_key_element.rb +0 -48
- data/lib/aws/dynamo_db/resource.rb +0 -33
- data/lib/aws/dynamo_db/table.rb +0 -496
- data/lib/aws/dynamo_db/table_collection.rb +0 -165
- data/lib/aws/dynamo_db/types.rb +0 -111
- data/lib/aws/ec2.rb +0 -428
- data/lib/aws/ec2/attachment.rb +0 -135
- data/lib/aws/ec2/attachment_collection.rb +0 -54
- data/lib/aws/ec2/availability_zone.rb +0 -86
- data/lib/aws/ec2/availability_zone_collection.rb +0 -43
- data/lib/aws/ec2/block_device_mappings.rb +0 -53
- data/lib/aws/ec2/client.rb +0 -101
- data/lib/aws/ec2/collection.rb +0 -36
- data/lib/aws/ec2/config.rb +0 -30
- data/lib/aws/ec2/customer_gateway.rb +0 -90
- data/lib/aws/ec2/customer_gateway_collection.rb +0 -73
- data/lib/aws/ec2/dhcp_options.rb +0 -106
- data/lib/aws/ec2/dhcp_options_collection.rb +0 -87
- data/lib/aws/ec2/elastic_ip.rb +0 -209
- data/lib/aws/ec2/elastic_ip_collection.rb +0 -93
- data/lib/aws/ec2/errors.rb +0 -32
- data/lib/aws/ec2/export_task.rb +0 -120
- data/lib/aws/ec2/export_task_collection.rb +0 -67
- data/lib/aws/ec2/filtered_collection.rb +0 -87
- data/lib/aws/ec2/has_permissions.rb +0 -44
- data/lib/aws/ec2/image.rb +0 -270
- data/lib/aws/ec2/image_collection.rb +0 -220
- data/lib/aws/ec2/instance.rb +0 -803
- data/lib/aws/ec2/instance_collection.rb +0 -391
- data/lib/aws/ec2/internet_gateway.rb +0 -122
- data/lib/aws/ec2/internet_gateway/attachment.rb +0 -78
- data/lib/aws/ec2/internet_gateway_collection.rb +0 -54
- data/lib/aws/ec2/key_pair.rb +0 -82
- data/lib/aws/ec2/key_pair_collection.rb +0 -99
- data/lib/aws/ec2/network_acl.rb +0 -256
- data/lib/aws/ec2/network_acl/association.rb +0 -56
- data/lib/aws/ec2/network_acl/entry.rb +0 -147
- data/lib/aws/ec2/network_acl_collection.rb +0 -64
- data/lib/aws/ec2/network_interface.rb +0 -237
- data/lib/aws/ec2/network_interface/attachment.rb +0 -100
- data/lib/aws/ec2/network_interface_collection.rb +0 -103
- data/lib/aws/ec2/permission_collection.rb +0 -174
- data/lib/aws/ec2/region.rb +0 -106
- data/lib/aws/ec2/region_collection.rb +0 -51
- data/lib/aws/ec2/reserved_instances.rb +0 -56
- data/lib/aws/ec2/reserved_instances_collection.rb +0 -40
- data/lib/aws/ec2/reserved_instances_offering.rb +0 -60
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +0 -45
- data/lib/aws/ec2/resource.rb +0 -161
- data/lib/aws/ec2/resource_tag_collection.rb +0 -211
- data/lib/aws/ec2/route_table.rb +0 -205
- data/lib/aws/ec2/route_table/association.rb +0 -119
- data/lib/aws/ec2/route_table/route.rb +0 -119
- data/lib/aws/ec2/route_table_collection.rb +0 -72
- data/lib/aws/ec2/security_group.rb +0 -482
- data/lib/aws/ec2/security_group/ip_permission.rb +0 -135
- data/lib/aws/ec2/security_group/ip_permission_collection.rb +0 -82
- data/lib/aws/ec2/security_group_collection.rb +0 -133
- data/lib/aws/ec2/snapshot.rb +0 -143
- data/lib/aws/ec2/snapshot_collection.rb +0 -131
- data/lib/aws/ec2/subnet.rb +0 -161
- data/lib/aws/ec2/subnet_collection.rb +0 -115
- data/lib/aws/ec2/tag.rb +0 -81
- data/lib/aws/ec2/tag_collection.rb +0 -107
- data/lib/aws/ec2/tagged_collection.rb +0 -53
- data/lib/aws/ec2/tagged_item.rb +0 -85
- data/lib/aws/ec2/volume.rb +0 -174
- data/lib/aws/ec2/volume_collection.rb +0 -98
- data/lib/aws/ec2/vpc.rb +0 -166
- data/lib/aws/ec2/vpc_collection.rb +0 -70
- data/lib/aws/ec2/vpn_connection.rb +0 -99
- data/lib/aws/ec2/vpn_connection/telemetry.rb +0 -49
- data/lib/aws/ec2/vpn_connection_collection.rb +0 -96
- data/lib/aws/ec2/vpn_gateway.rb +0 -123
- data/lib/aws/ec2/vpn_gateway/attachment.rb +0 -45
- data/lib/aws/ec2/vpn_gateway_collection.rb +0 -77
- data/lib/aws/elastic_beanstalk.rb +0 -49
- data/lib/aws/elastic_beanstalk/client.rb +0 -36
- data/lib/aws/elastic_beanstalk/config.rb +0 -18
- data/lib/aws/elastic_beanstalk/errors.rb +0 -22
- data/lib/aws/elastic_transcoder.rb +0 -29
- data/lib/aws/elastic_transcoder/client.rb +0 -48
- data/lib/aws/elastic_transcoder/config.rb +0 -18
- data/lib/aws/elastic_transcoder/errors.rb +0 -23
- data/lib/aws/elasticache.rb +0 -49
- data/lib/aws/elasticache/client.rb +0 -35
- data/lib/aws/elasticache/config.rb +0 -18
- data/lib/aws/elasticache/errors.rb +0 -22
- data/lib/aws/elb.rb +0 -66
- data/lib/aws/elb/availability_zone_collection.rb +0 -138
- data/lib/aws/elb/backend_server_policy_collection.rb +0 -139
- data/lib/aws/elb/client.rb +0 -35
- data/lib/aws/elb/config.rb +0 -18
- data/lib/aws/elb/errors.rb +0 -26
- data/lib/aws/elb/instance_collection.rb +0 -168
- data/lib/aws/elb/listener.rb +0 -190
- data/lib/aws/elb/listener_collection.rb +0 -113
- data/lib/aws/elb/listener_opts.rb +0 -45
- data/lib/aws/elb/load_balancer.rb +0 -280
- data/lib/aws/elb/load_balancer_collection.rb +0 -146
- data/lib/aws/elb/load_balancer_policy.rb +0 -93
- data/lib/aws/elb/load_balancer_policy_collection.rb +0 -208
- data/lib/aws/emr.rb +0 -87
- data/lib/aws/emr/client.rb +0 -35
- data/lib/aws/emr/config.rb +0 -18
- data/lib/aws/emr/errors.rb +0 -22
- data/lib/aws/emr/instance_group.rb +0 -138
- data/lib/aws/emr/instance_group_collection.rb +0 -82
- data/lib/aws/emr/job_flow.rb +0 -307
- data/lib/aws/emr/job_flow_collection.rb +0 -185
- data/lib/aws/errors.rb +0 -162
- data/lib/aws/glacier.rb +0 -79
- data/lib/aws/glacier/archive.rb +0 -56
- data/lib/aws/glacier/archive_collection.rb +0 -146
- data/lib/aws/glacier/client.rb +0 -49
- data/lib/aws/glacier/config.rb +0 -19
- data/lib/aws/glacier/errors.rb +0 -22
- data/lib/aws/glacier/resource.rb +0 -30
- data/lib/aws/glacier/vault.rb +0 -145
- data/lib/aws/glacier/vault_collection.rb +0 -75
- data/lib/aws/glacier/vault_notification_configuration.rb +0 -29
- data/lib/aws/iam.rb +0 -408
- data/lib/aws/iam/access_key.rb +0 -185
- data/lib/aws/iam/access_key_collection.rb +0 -128
- data/lib/aws/iam/account_alias_collection.rb +0 -79
- data/lib/aws/iam/client.rb +0 -49
- data/lib/aws/iam/collection.rb +0 -83
- data/lib/aws/iam/config.rb +0 -18
- data/lib/aws/iam/errors.rb +0 -22
- data/lib/aws/iam/group.rb +0 -111
- data/lib/aws/iam/group_collection.rb +0 -132
- data/lib/aws/iam/group_policy_collection.rb +0 -47
- data/lib/aws/iam/group_user_collection.rb +0 -84
- data/lib/aws/iam/login_profile.rb +0 -99
- data/lib/aws/iam/mfa_device.rb +0 -52
- data/lib/aws/iam/mfa_device_collection.rb +0 -127
- data/lib/aws/iam/policy.rb +0 -46
- data/lib/aws/iam/policy_collection.rb +0 -188
- data/lib/aws/iam/resource.rb +0 -62
- data/lib/aws/iam/server_certificate.rb +0 -141
- data/lib/aws/iam/server_certificate_collection.rb +0 -138
- data/lib/aws/iam/signing_certificate.rb +0 -174
- data/lib/aws/iam/signing_certificate_collection.rb +0 -131
- data/lib/aws/iam/user.rb +0 -200
- data/lib/aws/iam/user_collection.rb +0 -133
- data/lib/aws/iam/user_group_collection.rb +0 -98
- data/lib/aws/iam/user_policy.rb +0 -90
- data/lib/aws/iam/user_policy_collection.rb +0 -45
- data/lib/aws/iam/virtual_mfa_device.rb +0 -139
- data/lib/aws/iam/virtual_mfa_device_collection.rb +0 -73
- data/lib/aws/import_export.rb +0 -73
- data/lib/aws/import_export/client.rb +0 -35
- data/lib/aws/import_export/config.rb +0 -19
- data/lib/aws/import_export/errors.rb +0 -22
- data/lib/aws/kinesis.rb +0 -53
- data/lib/aws/kinesis/client.rb +0 -35
- data/lib/aws/kinesis/config.rb +0 -18
- data/lib/aws/kinesis/errors.rb +0 -20
- data/lib/aws/ops_works.rb +0 -29
- data/lib/aws/ops_works/client.rb +0 -35
- data/lib/aws/ops_works/config.rb +0 -18
- data/lib/aws/ops_works/errors.rb +0 -20
- data/lib/aws/rails.rb +0 -195
- data/lib/aws/rds.rb +0 -70
- data/lib/aws/rds/client.rb +0 -42
- data/lib/aws/rds/config.rb +0 -18
- data/lib/aws/rds/db_instance.rb +0 -216
- data/lib/aws/rds/db_instance_collection.rb +0 -75
- data/lib/aws/rds/db_snapshot.rb +0 -163
- data/lib/aws/rds/db_snapshot_collection.rb +0 -89
- data/lib/aws/rds/errors.rb +0 -22
- data/lib/aws/record.rb +0 -139
- data/lib/aws/record/abstract_base.rb +0 -690
- data/lib/aws/record/attributes.rb +0 -388
- data/lib/aws/record/conversion.rb +0 -38
- data/lib/aws/record/dirty_tracking.rb +0 -287
- data/lib/aws/record/errors.rb +0 -143
- data/lib/aws/record/exceptions.rb +0 -51
- data/lib/aws/record/hash_model.rb +0 -204
- data/lib/aws/record/hash_model/attributes.rb +0 -195
- data/lib/aws/record/hash_model/finder_methods.rb +0 -172
- data/lib/aws/record/hash_model/scope.rb +0 -108
- data/lib/aws/record/model.rb +0 -453
- data/lib/aws/record/model/attributes.rb +0 -377
- data/lib/aws/record/model/finder_methods.rb +0 -232
- data/lib/aws/record/model/scope.rb +0 -212
- data/lib/aws/record/naming.rb +0 -31
- data/lib/aws/record/scope.rb +0 -203
- data/lib/aws/record/validations.rb +0 -694
- data/lib/aws/record/validator.rb +0 -246
- data/lib/aws/record/validators/acceptance.rb +0 -49
- data/lib/aws/record/validators/block.rb +0 -36
- data/lib/aws/record/validators/confirmation.rb +0 -41
- data/lib/aws/record/validators/count.rb +0 -106
- data/lib/aws/record/validators/exclusion.rb +0 -41
- data/lib/aws/record/validators/format.rb +0 -55
- data/lib/aws/record/validators/inclusion.rb +0 -54
- data/lib/aws/record/validators/length.rb +0 -105
- data/lib/aws/record/validators/method.rb +0 -31
- data/lib/aws/record/validators/numericality.rb +0 -136
- data/lib/aws/record/validators/presence.rb +0 -43
- data/lib/aws/redshift.rb +0 -51
- data/lib/aws/redshift/client.rb +0 -35
- data/lib/aws/redshift/config.rb +0 -18
- data/lib/aws/redshift/errors.rb +0 -22
- data/lib/aws/route_53.rb +0 -86
- data/lib/aws/route_53/change_batch.rb +0 -161
- data/lib/aws/route_53/change_info.rb +0 -72
- data/lib/aws/route_53/client.rb +0 -35
- data/lib/aws/route_53/config.rb +0 -18
- data/lib/aws/route_53/errors.rb +0 -22
- data/lib/aws/route_53/hosted_zone.rb +0 -111
- data/lib/aws/route_53/hosted_zone_collection.rb +0 -100
- data/lib/aws/route_53/resource_record_set.rb +0 -251
- data/lib/aws/route_53/resource_record_set_collection.rb +0 -110
- data/lib/aws/s3.rb +0 -156
- data/lib/aws/s3/access_control_list.rb +0 -265
- data/lib/aws/s3/acl_object.rb +0 -264
- data/lib/aws/s3/acl_options.rb +0 -204
- data/lib/aws/s3/bucket.rb +0 -742
- data/lib/aws/s3/bucket_collection.rb +0 -162
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +0 -457
- data/lib/aws/s3/bucket_tag_collection.rb +0 -111
- data/lib/aws/s3/bucket_version_collection.rb +0 -79
- data/lib/aws/s3/cipher_io.rb +0 -120
- data/lib/aws/s3/client.rb +0 -1919
- data/lib/aws/s3/client/xml.rb +0 -259
- data/lib/aws/s3/config.rb +0 -48
- data/lib/aws/s3/cors_rule.rb +0 -108
- data/lib/aws/s3/cors_rule_collection.rb +0 -194
- data/lib/aws/s3/data_options.rb +0 -191
- data/lib/aws/s3/encryption_utils.rb +0 -146
- data/lib/aws/s3/errors.rb +0 -94
- data/lib/aws/s3/multipart_upload.rb +0 -351
- data/lib/aws/s3/multipart_upload_collection.rb +0 -76
- data/lib/aws/s3/object_collection.rb +0 -353
- data/lib/aws/s3/object_metadata.rb +0 -103
- data/lib/aws/s3/object_upload_collection.rb +0 -77
- data/lib/aws/s3/object_version.rb +0 -154
- data/lib/aws/s3/object_version_collection.rb +0 -89
- data/lib/aws/s3/paginated_collection.rb +0 -75
- data/lib/aws/s3/policy.rb +0 -74
- data/lib/aws/s3/prefix_and_delimiter_collection.rb +0 -47
- data/lib/aws/s3/prefixed_collection.rb +0 -85
- data/lib/aws/s3/presign_v4.rb +0 -127
- data/lib/aws/s3/presigned_post.rb +0 -554
- data/lib/aws/s3/request.rb +0 -62
- data/lib/aws/s3/s3_object.rb +0 -1781
- data/lib/aws/s3/tree.rb +0 -116
- data/lib/aws/s3/tree/branch_node.rb +0 -68
- data/lib/aws/s3/tree/child_collection.rb +0 -104
- data/lib/aws/s3/tree/leaf_node.rb +0 -94
- data/lib/aws/s3/tree/node.rb +0 -22
- data/lib/aws/s3/tree/parent.rb +0 -87
- data/lib/aws/s3/uploaded_part.rb +0 -82
- data/lib/aws/s3/uploaded_part_collection.rb +0 -84
- data/lib/aws/s3/website_configuration.rb +0 -102
- data/lib/aws/simple_db.rb +0 -218
- data/lib/aws/simple_db/attribute.rb +0 -156
- data/lib/aws/simple_db/attribute_collection.rb +0 -240
- data/lib/aws/simple_db/client.rb +0 -67
- data/lib/aws/simple_db/config.rb +0 -20
- data/lib/aws/simple_db/consistent_read_option.rb +0 -42
- data/lib/aws/simple_db/delete_attributes.rb +0 -62
- data/lib/aws/simple_db/domain.rb +0 -123
- data/lib/aws/simple_db/domain_collection.rb +0 -86
- data/lib/aws/simple_db/domain_metadata.rb +0 -110
- data/lib/aws/simple_db/errors.rb +0 -55
- data/lib/aws/simple_db/expect_condition_option.rb +0 -45
- data/lib/aws/simple_db/item.rb +0 -93
- data/lib/aws/simple_db/item_collection.rb +0 -654
- data/lib/aws/simple_db/item_data.rb +0 -73
- data/lib/aws/simple_db/put_attributes.rb +0 -60
- data/lib/aws/simple_email_service.rb +0 -430
- data/lib/aws/simple_email_service/client.rb +0 -37
- data/lib/aws/simple_email_service/config.rb +0 -18
- data/lib/aws/simple_email_service/email_address_collection.rb +0 -69
- data/lib/aws/simple_email_service/errors.rb +0 -22
- data/lib/aws/simple_email_service/identity.rb +0 -209
- data/lib/aws/simple_email_service/identity_collection.rb +0 -81
- data/lib/aws/simple_email_service/quotas.rb +0 -66
- data/lib/aws/simple_workflow.rb +0 -227
- data/lib/aws/simple_workflow/activity_task.rb +0 -178
- data/lib/aws/simple_workflow/activity_task_collection.rb +0 -123
- data/lib/aws/simple_workflow/activity_type.rb +0 -131
- data/lib/aws/simple_workflow/activity_type_collection.rb +0 -93
- data/lib/aws/simple_workflow/client.rb +0 -69
- data/lib/aws/simple_workflow/config.rb +0 -18
- data/lib/aws/simple_workflow/count.rb +0 -49
- data/lib/aws/simple_workflow/decision_task.rb +0 -603
- data/lib/aws/simple_workflow/decision_task_collection.rb +0 -225
- data/lib/aws/simple_workflow/domain.rb +0 -122
- data/lib/aws/simple_workflow/domain_collection.rb +0 -169
- data/lib/aws/simple_workflow/errors.rb +0 -20
- data/lib/aws/simple_workflow/history_event.rb +0 -276
- data/lib/aws/simple_workflow/history_event_collection.rb +0 -76
- data/lib/aws/simple_workflow/option_formatters.rb +0 -82
- data/lib/aws/simple_workflow/resource.rb +0 -94
- data/lib/aws/simple_workflow/type.rb +0 -89
- data/lib/aws/simple_workflow/type_collection.rb +0 -140
- data/lib/aws/simple_workflow/workflow_execution.rb +0 -384
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +0 -617
- data/lib/aws/simple_workflow/workflow_type.rb +0 -179
- data/lib/aws/simple_workflow/workflow_type_collection.rb +0 -91
- data/lib/aws/sns.rb +0 -76
- data/lib/aws/sns/client.rb +0 -35
- data/lib/aws/sns/config.rb +0 -18
- data/lib/aws/sns/errors.rb +0 -22
- data/lib/aws/sns/has_delivery_policy.rb +0 -68
- data/lib/aws/sns/message.rb +0 -194
- data/lib/aws/sns/originators/from_auto_scaling.rb +0 -68
- data/lib/aws/sns/policy.rb +0 -47
- data/lib/aws/sns/subscription.rb +0 -165
- data/lib/aws/sns/subscription_collection.rb +0 -78
- data/lib/aws/sns/topic.rb +0 -403
- data/lib/aws/sns/topic_collection.rb +0 -62
- data/lib/aws/sns/topic_subscription_collection.rb +0 -54
- data/lib/aws/sqs.rb +0 -80
- data/lib/aws/sqs/client.rb +0 -53
- data/lib/aws/sqs/config.rb +0 -20
- data/lib/aws/sqs/errors.rb +0 -125
- data/lib/aws/sqs/policy.rb +0 -48
- data/lib/aws/sqs/queue.rb +0 -843
- data/lib/aws/sqs/queue_collection.rb +0 -182
- data/lib/aws/sqs/received_message.rb +0 -182
- data/lib/aws/sqs/received_sns_message.rb +0 -116
- data/lib/aws/storage_gateway.rb +0 -72
- data/lib/aws/storage_gateway/client.rb +0 -42
- data/lib/aws/storage_gateway/config.rb +0 -18
- data/lib/aws/storage_gateway/errors.rb +0 -22
- data/lib/aws/sts.rb +0 -164
- data/lib/aws/sts/client.rb +0 -46
- data/lib/aws/sts/config.rb +0 -18
- data/lib/aws/sts/errors.rb +0 -22
- data/lib/aws/sts/federated_session.rb +0 -56
- data/lib/aws/sts/policy.rb +0 -30
- data/lib/aws/sts/session.rb +0 -48
- data/lib/aws/support.rb +0 -29
- data/lib/aws/support/client.rb +0 -35
- data/lib/aws/support/config.rb +0 -18
- data/lib/aws/support/errors.rb +0 -20
- data/lib/aws/version.rb +0 -17
- data/rails/init.rb +0 -15
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
-
# may not use this file except in compliance with the License. A copy of
|
|
5
|
-
# the License is located at
|
|
6
|
-
#
|
|
7
|
-
# http://aws.amazon.com/apache2.0/
|
|
8
|
-
#
|
|
9
|
-
# or in the "license" file accompanying this file. This file is
|
|
10
|
-
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
-
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
-
# language governing permissions and limitations under the License.
|
|
13
|
-
|
|
14
|
-
module AWS
|
|
15
|
-
class IAM
|
|
16
|
-
|
|
17
|
-
# A collection that provides access to IAM users belonging to this
|
|
18
|
-
# account.
|
|
19
|
-
#
|
|
20
|
-
# iam = AWS::IAM.new
|
|
21
|
-
# users = iam.users
|
|
22
|
-
#
|
|
23
|
-
# ## Creating A User
|
|
24
|
-
#
|
|
25
|
-
# To create an IAM user you need only provide a user name.
|
|
26
|
-
#
|
|
27
|
-
# user = users.create('username')
|
|
28
|
-
#
|
|
29
|
-
# You can also provide an optional `:path` that can be used to organize
|
|
30
|
-
# users.
|
|
31
|
-
#
|
|
32
|
-
# user = users.create('johndoe', :path => '/staff/customer_support/')
|
|
33
|
-
#
|
|
34
|
-
# ## Getting a User by Name
|
|
35
|
-
#
|
|
36
|
-
# You can get a referene to a user by using array notation:
|
|
37
|
-
#
|
|
38
|
-
# user = users['username']
|
|
39
|
-
#
|
|
40
|
-
# ## Enumerating Users
|
|
41
|
-
#
|
|
42
|
-
# A user collection can also be used to enumerate users:
|
|
43
|
-
#
|
|
44
|
-
# users.each do |user|
|
|
45
|
-
# puts user.name
|
|
46
|
-
# end
|
|
47
|
-
#
|
|
48
|
-
# ## Path Prefixes
|
|
49
|
-
#
|
|
50
|
-
# You can also find/enumerate users who's path begins with a given prefix:
|
|
51
|
-
#
|
|
52
|
-
# users.each(:path_prefix => '/staff/developers/ruby').each do |ruby_dev|
|
|
53
|
-
# puts "#{ruby_dev.name} is awesome!"
|
|
54
|
-
# end
|
|
55
|
-
#
|
|
56
|
-
class UserCollection
|
|
57
|
-
|
|
58
|
-
include Collection::WithPrefix
|
|
59
|
-
|
|
60
|
-
# @param [String] name Name of the user to create.
|
|
61
|
-
# @option options [String] :path ('/') The path for the user name.
|
|
62
|
-
# For more information about paths, see
|
|
63
|
-
# [Identifiers for IAM Entities](http://docs.amazonwebservices.com/IAM/latest/UserGuide/index.html?Using_Identifiers.html)
|
|
64
|
-
# @return [User] Returns the newly created user.
|
|
65
|
-
def create name, options = {}
|
|
66
|
-
create_opts = {}
|
|
67
|
-
create_opts[:user_name] = name
|
|
68
|
-
create_opts[:path] = options[:path] if options[:path]
|
|
69
|
-
resp = client.create_user(create_opts)
|
|
70
|
-
User.new_from(:create_user, resp.user,
|
|
71
|
-
resp.user.user_name, :config => config)
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
# Returns a reference to the user with the given name:
|
|
75
|
-
#
|
|
76
|
-
# user = iam.users['username']
|
|
77
|
-
#
|
|
78
|
-
# @param [String] name Name of the user to return a reference for.
|
|
79
|
-
# @return [User] Returns a reference to the named user.
|
|
80
|
-
def [] name
|
|
81
|
-
User.new(name.to_s, :config => config)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
# Yields once for each user.
|
|
85
|
-
#
|
|
86
|
-
# You can limit the number of users yielded using `:limit` and
|
|
87
|
-
# `:path_prefix`.
|
|
88
|
-
#
|
|
89
|
-
# @param [Hash] options
|
|
90
|
-
#
|
|
91
|
-
# @option options [String] :path_prefix ('/') A path prefix that
|
|
92
|
-
# filters according to the path of the user.
|
|
93
|
-
#
|
|
94
|
-
# @option options [Integer] :limit The maximum number of users to yield.
|
|
95
|
-
#
|
|
96
|
-
# @option options [Integer] :batch_size The maximum number of users
|
|
97
|
-
# to retrieve with each service request.
|
|
98
|
-
#
|
|
99
|
-
# @yieldparam [User] user
|
|
100
|
-
# @return [nil]
|
|
101
|
-
def each options = {}, &block
|
|
102
|
-
super(options, &block)
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
# Returns an enumerable object for this collection. This can be
|
|
106
|
-
# useful if you want to call an enumerable method that does
|
|
107
|
-
# not accept options (e.g. `collect`, `first`, etc).
|
|
108
|
-
#
|
|
109
|
-
# users.enumerator(:path_prefix => '/admin').collect(&:name)
|
|
110
|
-
#
|
|
111
|
-
# @param (see #each)
|
|
112
|
-
# @option (see #each)
|
|
113
|
-
# @return [Enumerator]
|
|
114
|
-
def enumerator options = {}
|
|
115
|
-
super(options)
|
|
116
|
-
end
|
|
117
|
-
|
|
118
|
-
# @api private
|
|
119
|
-
protected
|
|
120
|
-
def each_item response, &block
|
|
121
|
-
response.users.each do |item|
|
|
122
|
-
|
|
123
|
-
user = User.new_from(:list_users, item,
|
|
124
|
-
item.user_name, :config => config)
|
|
125
|
-
|
|
126
|
-
yield(user)
|
|
127
|
-
|
|
128
|
-
end
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
end
|
|
132
|
-
end
|
|
133
|
-
end
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
-
# may not use this file except in compliance with the License. A copy of
|
|
5
|
-
# the License is located at
|
|
6
|
-
#
|
|
7
|
-
# http://aws.amazon.com/apache2.0/
|
|
8
|
-
#
|
|
9
|
-
# or in the "license" file accompanying this file. This file is
|
|
10
|
-
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
-
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
-
# language governing permissions and limitations under the License.
|
|
13
|
-
|
|
14
|
-
module AWS
|
|
15
|
-
class IAM
|
|
16
|
-
|
|
17
|
-
# A collection that provides access to IAM groups to which a
|
|
18
|
-
# particular user belongs.
|
|
19
|
-
#
|
|
20
|
-
# user = AWS::IAM.new.users.first
|
|
21
|
-
# groups = user.groups
|
|
22
|
-
# groups.each { |g| puts g.name }
|
|
23
|
-
#
|
|
24
|
-
class UserGroupCollection
|
|
25
|
-
|
|
26
|
-
include Collection
|
|
27
|
-
|
|
28
|
-
# @attr_reader [User] The user.
|
|
29
|
-
attr_reader :user
|
|
30
|
-
|
|
31
|
-
# @api private
|
|
32
|
-
def initialize(user, opts = {})
|
|
33
|
-
@user = user
|
|
34
|
-
super
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
# Adds the user to a group.
|
|
38
|
-
#
|
|
39
|
-
# @param [Group] group The group to which the user should be added.
|
|
40
|
-
def add(group)
|
|
41
|
-
client.add_user_to_group(:group_name => group.name,
|
|
42
|
-
:user_name => user.name)
|
|
43
|
-
nil
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
# Removes the user from a group.
|
|
47
|
-
#
|
|
48
|
-
# @param [Group] group The group from which the user should be removed
|
|
49
|
-
def remove(group)
|
|
50
|
-
client.remove_user_from_group(:group_name => group.name,
|
|
51
|
-
:user_name => user.name)
|
|
52
|
-
nil
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# Removes this user from all groups.
|
|
56
|
-
# @return [nil]
|
|
57
|
-
def clear
|
|
58
|
-
each do |group|
|
|
59
|
-
remove(group)
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
# Yields once for each group that the user is in.
|
|
64
|
-
#
|
|
65
|
-
# @param [Hash] options
|
|
66
|
-
#
|
|
67
|
-
# @option options [Integer] :limit Limits the number of groups
|
|
68
|
-
# that are returned.
|
|
69
|
-
#
|
|
70
|
-
# @option options [Integer] :batch_size Controls how many groups
|
|
71
|
-
# are requested from the service at once.
|
|
72
|
-
#
|
|
73
|
-
# @yieldparam [Group] group
|
|
74
|
-
#
|
|
75
|
-
# @return [nil]
|
|
76
|
-
def each(options = {}, &block)
|
|
77
|
-
super(options.merge(:user_name => user.name), &block)
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
# @api private
|
|
81
|
-
protected
|
|
82
|
-
def request_method
|
|
83
|
-
:list_groups_for_user
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
# @api private
|
|
87
|
-
protected
|
|
88
|
-
def each_item response
|
|
89
|
-
response.groups.each do |g|
|
|
90
|
-
group = Group.new_from(:list_groups_for_user, g, g.group_name, :config => config)
|
|
91
|
-
yield(group)
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
end
|
|
98
|
-
end
|
data/lib/aws/iam/user_policy.rb
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
3
|
-
# may not use this file except in compliance with the License. A copy of
|
|
4
|
-
# the License is located at
|
|
5
|
-
#
|
|
6
|
-
# http://aws.amazon.com/apache2.0/
|
|
7
|
-
#
|
|
8
|
-
# or in the "license" file accompanying this file. This file is
|
|
9
|
-
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
10
|
-
# ANY KIND, either express or implied. See the License for the specific
|
|
11
|
-
# language governing permissions and limitations under the License.
|
|
12
|
-
|
|
13
|
-
require 'uri'
|
|
14
|
-
require 'json'
|
|
15
|
-
|
|
16
|
-
module AWS
|
|
17
|
-
class IAM
|
|
18
|
-
|
|
19
|
-
class UserPolicy < Resource
|
|
20
|
-
|
|
21
|
-
# @param [User] user The user this user policy belongs to.
|
|
22
|
-
# @param [String] name The name of this user policy.
|
|
23
|
-
# @param [Hash] options
|
|
24
|
-
def initialize user, name, options = {}
|
|
25
|
-
@user = user
|
|
26
|
-
@name = name
|
|
27
|
-
super
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
# @return [User] Returns the user this user policy belongs to.
|
|
31
|
-
attr_reader :user
|
|
32
|
-
|
|
33
|
-
# @return [String] Returns the name of this user policy.
|
|
34
|
-
attr_reader :name
|
|
35
|
-
|
|
36
|
-
# @api private
|
|
37
|
-
module PolicyProxy
|
|
38
|
-
|
|
39
|
-
attr_accessor :user_policy
|
|
40
|
-
|
|
41
|
-
def change
|
|
42
|
-
yield(self)
|
|
43
|
-
user_policy.policy = self
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
# @return [Policy] Returns the actual policy document for this
|
|
49
|
-
# user policy.
|
|
50
|
-
def policy
|
|
51
|
-
|
|
52
|
-
response = client.get_user_policy(
|
|
53
|
-
:user_name => user.name,
|
|
54
|
-
:policy_name => name)
|
|
55
|
-
|
|
56
|
-
policy = Policy.from_json(URI.decode(response.policy_document))
|
|
57
|
-
policy.extend(PolicyProxy)
|
|
58
|
-
policy.user_policy = self
|
|
59
|
-
policy
|
|
60
|
-
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
# Replaces or updates the user policy with the given policy document.
|
|
64
|
-
# @param [Policy] policy
|
|
65
|
-
# @return [nil]
|
|
66
|
-
def policy= policy
|
|
67
|
-
|
|
68
|
-
policy_document = policy.is_a?(String) ? policy : policy.to_json
|
|
69
|
-
|
|
70
|
-
options = {}
|
|
71
|
-
options[:user_name] = user.name
|
|
72
|
-
options[:policy_name] = name
|
|
73
|
-
options[:policy_document] = policy_document
|
|
74
|
-
|
|
75
|
-
client.put_user_policy(options)
|
|
76
|
-
|
|
77
|
-
nil
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
# Deletes this user policy.
|
|
81
|
-
# @return [nil]
|
|
82
|
-
def delete
|
|
83
|
-
client.delete_user_policy(:user_name => user.name, :policy_name => name)
|
|
84
|
-
nil
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
end
|
|
90
|
-
end
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
3
|
-
# may not use this file except in compliance with the License. A copy of
|
|
4
|
-
# the License is located at
|
|
5
|
-
#
|
|
6
|
-
# http://aws.amazon.com/apache2.0/
|
|
7
|
-
#
|
|
8
|
-
# or in the "license" file accompanying this file. This file is
|
|
9
|
-
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
10
|
-
# ANY KIND, either express or implied. See the License for the specific
|
|
11
|
-
# language governing permissions and limitations under the License.
|
|
12
|
-
|
|
13
|
-
module AWS
|
|
14
|
-
class IAM
|
|
15
|
-
|
|
16
|
-
# A collection that provides access to the policies associated
|
|
17
|
-
# with an IAM user. The interface mimics a hash containing
|
|
18
|
-
# string keys and values that are instances of {Policy}. For
|
|
19
|
-
# example:
|
|
20
|
-
#
|
|
21
|
-
# # add or replace a policy named "ReadOnly"
|
|
22
|
-
# policy = AWS::IAM::Policy.new do |p|
|
|
23
|
-
# # ...
|
|
24
|
-
# end
|
|
25
|
-
# user.policies["ReadOnly"] = policy
|
|
26
|
-
# user.policies.has_key?("ReadOnly") # => true
|
|
27
|
-
#
|
|
28
|
-
# All of the methods for this class are defined in the
|
|
29
|
-
# {PolicyCollection} module.
|
|
30
|
-
class UserPolicyCollection
|
|
31
|
-
|
|
32
|
-
include PolicyCollection
|
|
33
|
-
|
|
34
|
-
# @param [User] user The user that owns this collection.
|
|
35
|
-
def initialize user, options = {}
|
|
36
|
-
@user = user
|
|
37
|
-
super
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
# @return [User] Returns the user that this collection belongs to.
|
|
41
|
-
attr_reader :user
|
|
42
|
-
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
#
|
|
3
|
-
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
-
# may not use this file except in compliance with the License. A copy of
|
|
5
|
-
# the License is located at
|
|
6
|
-
#
|
|
7
|
-
# http://aws.amazon.com/apache2.0/
|
|
8
|
-
#
|
|
9
|
-
# or in the "license" file accompanying this file. This file is
|
|
10
|
-
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
-
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
-
# language governing permissions and limitations under the License.
|
|
13
|
-
|
|
14
|
-
require 'base64'
|
|
15
|
-
|
|
16
|
-
module AWS
|
|
17
|
-
class IAM
|
|
18
|
-
|
|
19
|
-
# @attr_reader [String] base_32_string_seed The Base32 seed defined as
|
|
20
|
-
# specified in RFC3548. Only accessible on newly created
|
|
21
|
-
# devices. This value is Base64-encoded.
|
|
22
|
-
#
|
|
23
|
-
# @attr_reader [Blob] qr_code_png A QR code PNG image that encodes
|
|
24
|
-
# otpauth://totp/$virtualMFADeviceName@$AccountName? secret=$Base32String
|
|
25
|
-
# where $virtualMFADeviceName is one of the create call arguments,
|
|
26
|
-
# AccountName is the user name if set (accountId otherwise), and
|
|
27
|
-
# Base32String is the seed in Base32 format. Only accessible on newly
|
|
28
|
-
# created devices. This value is Base64-encoded.
|
|
29
|
-
#
|
|
30
|
-
# @attr_reader [DateTime] enable_date When this device was enabled.
|
|
31
|
-
# Returns nil if this device has not been enabled.
|
|
32
|
-
#
|
|
33
|
-
class VirtualMfaDevice < Resource
|
|
34
|
-
|
|
35
|
-
# @api private
|
|
36
|
-
def initialize serial_number, options = {}
|
|
37
|
-
@serial_number = serial_number
|
|
38
|
-
super
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
# @return [String] Returns the virtual MFA device serial number (ARN).
|
|
42
|
-
attr_reader :serial_number
|
|
43
|
-
|
|
44
|
-
alias_method :arn, :serial_number
|
|
45
|
-
|
|
46
|
-
attribute :base_32_string_seed, :static => true
|
|
47
|
-
|
|
48
|
-
attribute :qr_code_png, :static => true
|
|
49
|
-
|
|
50
|
-
attribute :enable_date, :static => true
|
|
51
|
-
|
|
52
|
-
attribute :user_details, :from => :user
|
|
53
|
-
|
|
54
|
-
protected :user_details
|
|
55
|
-
|
|
56
|
-
# @return [User,nil] Returns the user this device was enabled
|
|
57
|
-
# for, or nil if this device has not been enabled.
|
|
58
|
-
def user
|
|
59
|
-
if details = user_details
|
|
60
|
-
User.new(details.user_name, :config => config)
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
# Enables the MFA device and associates it with the specified user.
|
|
65
|
-
# When enabled, the MFA device is required for every subsequent login
|
|
66
|
-
# by the user name associated with the device.
|
|
67
|
-
# @param [User,String] user The user (or user name string) you want
|
|
68
|
-
# to enable this device for.
|
|
69
|
-
# @param [String] code1 An authentication code emitted by the device.
|
|
70
|
-
# @param [String] code2 A subsequent authentication code emitted by
|
|
71
|
-
# the device.
|
|
72
|
-
def enable user, code1, code2
|
|
73
|
-
|
|
74
|
-
user_name = user.is_a?(User) ? user.name : user
|
|
75
|
-
|
|
76
|
-
client.enable_mfa_device(
|
|
77
|
-
:user_name => user_name,
|
|
78
|
-
:serial_number => serial_number,
|
|
79
|
-
:authentication_code_1 => format_auth_code(code1),
|
|
80
|
-
:authentication_code_2 => format_auth_code(code2))
|
|
81
|
-
|
|
82
|
-
nil
|
|
83
|
-
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
# @return [Boolean] Returns true if this device has been enabled
|
|
87
|
-
# for a user.
|
|
88
|
-
def enabled?
|
|
89
|
-
!!enable_date
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
# Deactivates the MFA device and removes it from association with
|
|
93
|
-
# the user for which it was originally enabled.
|
|
94
|
-
# @return [nil]
|
|
95
|
-
def deactivate
|
|
96
|
-
client_opts = {}
|
|
97
|
-
client_opts[:user_name] = user.name
|
|
98
|
-
client_opts[:serial_number] = serial_number
|
|
99
|
-
client.deactivate_mfa_device(client_opts)
|
|
100
|
-
nil
|
|
101
|
-
end
|
|
102
|
-
alias_method :disable, :deactivate
|
|
103
|
-
|
|
104
|
-
# Deletes this virtual MFA device.
|
|
105
|
-
# @return [nil]
|
|
106
|
-
def delete
|
|
107
|
-
client.delete_virtual_mfa_device(resource_options)
|
|
108
|
-
nil
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
populates_from :create_virtual_mfa_device do |resp|
|
|
112
|
-
if resp.virtual_mfa_device.serial_number == serial_number
|
|
113
|
-
resp.virtual_mfa_device
|
|
114
|
-
end
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
populates_from :list_virtual_mfa_devices do |resp|
|
|
118
|
-
resp.virtual_mfa_devices.find { |d| d.serial_number == serial_number }
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
protected
|
|
122
|
-
def format_auth_code(code)
|
|
123
|
-
code.is_a?(Integer) ? sprintf("%06d", code) : code
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
protected
|
|
127
|
-
def get_resource attr_name
|
|
128
|
-
client.list_virtual_mfa_devices
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
protected
|
|
132
|
-
def resource_identifiers
|
|
133
|
-
[[:serial_number, serial_number]]
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
end
|
|
139
|
-
end
|