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
data/lib/aws/ec2/image.rb
DELETED
|
@@ -1,270 +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 EC2
|
|
16
|
-
|
|
17
|
-
# Represents an Amazon Machine Image (AMI).
|
|
18
|
-
#
|
|
19
|
-
# @attr_reader [String] name The name of the AMI that was provided
|
|
20
|
-
# during image creation.
|
|
21
|
-
#
|
|
22
|
-
# @attr [String] description A description of the image.
|
|
23
|
-
#
|
|
24
|
-
# @attr_reader [String] location The location of the AMI.
|
|
25
|
-
#
|
|
26
|
-
# @attr_reader [Symbol] state Current state of the AMI. If the
|
|
27
|
-
# state is `:available`, the image is successfully registered
|
|
28
|
-
# and available for launching. Valid values:
|
|
29
|
-
#
|
|
30
|
-
# * `:available`
|
|
31
|
-
# * `:pending`
|
|
32
|
-
# * `:failed`
|
|
33
|
-
#
|
|
34
|
-
# @attr_reader [String] owner_id The AWS account ID of the image owner.
|
|
35
|
-
#
|
|
36
|
-
# @attr_reader [String] owner_alias The AWS account alias (e.g.,
|
|
37
|
-
# `"amazon"`) or AWS account ID that owns the AMI.
|
|
38
|
-
#
|
|
39
|
-
# @attr_reader [Symbol] architecture The architecture of the
|
|
40
|
-
# image (e.g. `:i386`).
|
|
41
|
-
#
|
|
42
|
-
# @attr_reader [Symbol] type The type of image.
|
|
43
|
-
# Valid values are:
|
|
44
|
-
#
|
|
45
|
-
# * `:machine`
|
|
46
|
-
# * `:kernel`
|
|
47
|
-
# * `:ramdisk`
|
|
48
|
-
#
|
|
49
|
-
# @attr_reader [String] kernel_id The kernel ID associated with
|
|
50
|
-
# the image, if any. Only applicable for machine images.
|
|
51
|
-
#
|
|
52
|
-
# @attr_reader [String] ramdisk_id The RAM disk ID associated
|
|
53
|
-
# with the image, if any. Only applicable for machine images.
|
|
54
|
-
#
|
|
55
|
-
# @attr_reader [String] platform Value is `windows` for Windows
|
|
56
|
-
# AMIs; otherwise blank.
|
|
57
|
-
#
|
|
58
|
-
# @attr_reader [Object] state_reason The reason for the image's
|
|
59
|
-
# most recent state change. The return value is an object with
|
|
60
|
-
# the following methods:
|
|
61
|
-
#
|
|
62
|
-
# * `code` - Reason code for the state change.
|
|
63
|
-
# * `message` - A textual description of the state change.
|
|
64
|
-
#
|
|
65
|
-
# @attr_reader [Symbol] root_device_type The root device type
|
|
66
|
-
# used by the AMI. Possible values:
|
|
67
|
-
#
|
|
68
|
-
# * `:ebs`
|
|
69
|
-
# * `:instance_store`
|
|
70
|
-
#
|
|
71
|
-
# @attr_reader [String] root_device_name The root device name
|
|
72
|
-
# (e.g., `"/dev/sda1"`, or `"xvda"`).
|
|
73
|
-
#
|
|
74
|
-
# @attr_reader [Symbol] virtualization_type The type of
|
|
75
|
-
# virtualization of the AMI. Possible values:
|
|
76
|
-
#
|
|
77
|
-
# * `:paravirtual`
|
|
78
|
-
# * `:hvm`
|
|
79
|
-
#
|
|
80
|
-
# @attr_reader [Symbol] hypervisor The image's hypervisor type.
|
|
81
|
-
# Possible values are:
|
|
82
|
-
#
|
|
83
|
-
# * `:ovm`
|
|
84
|
-
# * `:xen`
|
|
85
|
-
#
|
|
86
|
-
# @attr_reader [Array<String>] product_codes Returns an array of
|
|
87
|
-
# product codes attached to this instance.
|
|
88
|
-
#
|
|
89
|
-
class Image < Resource
|
|
90
|
-
|
|
91
|
-
include TaggedItem
|
|
92
|
-
include HasPermissions
|
|
93
|
-
|
|
94
|
-
# @param [String] image_id
|
|
95
|
-
def initialize image_id, options = {}
|
|
96
|
-
@image_id = image_id
|
|
97
|
-
super
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
# @return [String] The ID of the AMI.
|
|
101
|
-
attr_reader :image_id
|
|
102
|
-
|
|
103
|
-
alias_method :id, :image_id
|
|
104
|
-
|
|
105
|
-
attribute :name, :static => true
|
|
106
|
-
|
|
107
|
-
mutable_attribute :description
|
|
108
|
-
|
|
109
|
-
attribute :location, :from => :image_location, :static => true
|
|
110
|
-
|
|
111
|
-
attribute :state, :from => :image_state, :to_sym => true
|
|
112
|
-
|
|
113
|
-
attribute :owner_id, :from => :image_owner_id, :static => true
|
|
114
|
-
|
|
115
|
-
attribute :owner_alias, :from => :image_owner_alias, :static => true
|
|
116
|
-
|
|
117
|
-
attribute :architecture, :to_sym => true, :static => true
|
|
118
|
-
|
|
119
|
-
attribute :type, :from => :image_type, :to_sym => true, :static => true
|
|
120
|
-
|
|
121
|
-
attribute :kernel_id, :static => true
|
|
122
|
-
|
|
123
|
-
attribute :ramdisk_id, :static => true
|
|
124
|
-
|
|
125
|
-
attribute :platform, :static => true
|
|
126
|
-
|
|
127
|
-
attribute :state_reason
|
|
128
|
-
|
|
129
|
-
attribute :root_device_type, :to_sym => true, :static => true
|
|
130
|
-
|
|
131
|
-
attribute :root_device_name, :static => true
|
|
132
|
-
|
|
133
|
-
attribute :virtualization_type, :to_sym => true, :static => true
|
|
134
|
-
|
|
135
|
-
attribute :hypervisor, :to_sym => true, :static => true
|
|
136
|
-
|
|
137
|
-
attribute :block_device_mapping
|
|
138
|
-
|
|
139
|
-
protected :block_device_mapping
|
|
140
|
-
|
|
141
|
-
attribute :product_codes, :static => true do
|
|
142
|
-
translates_output do |list|
|
|
143
|
-
(list || []).collect{|item| item.product_code }
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
populates_from(:describe_images) do |resp|
|
|
148
|
-
resp.image_index[id]
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
alias_method :launch_permissions, :permissions
|
|
152
|
-
|
|
153
|
-
# @note This method will not return data for ephemeral volumes.
|
|
154
|
-
# @return [Hash] Returns a hash of block
|
|
155
|
-
# device mappings for the image. In each entry, the key is
|
|
156
|
-
# the device name (e.g. `"/dev/sda1"`) and the value is an
|
|
157
|
-
# hash with the following keys that return information
|
|
158
|
-
# about the block device:
|
|
159
|
-
#
|
|
160
|
-
# * `:snapshot_id` - The ID of the snapshot that will be used to
|
|
161
|
-
# create this device (may be `nil`).
|
|
162
|
-
# * `:volume_size` - The size of the volume, in GiBs.
|
|
163
|
-
# * `:delete_on_termination` - True if the Amazon EBS volume is
|
|
164
|
-
# deleted on instance termination.
|
|
165
|
-
#
|
|
166
|
-
# @see {#block_devices}
|
|
167
|
-
def block_device_mappings
|
|
168
|
-
(block_device_mapping || []).inject({}) do |h, mapping|
|
|
169
|
-
if ebs = mapping[:ebs]
|
|
170
|
-
h[mapping[:device_name]] = ebs
|
|
171
|
-
end
|
|
172
|
-
h
|
|
173
|
-
end
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
# @return [Array<Hash>] Returns a list of all block device mappings.
|
|
177
|
-
# This list may contain ephemeral volumes.
|
|
178
|
-
def block_devices
|
|
179
|
-
block_device_mapping.to_a
|
|
180
|
-
end
|
|
181
|
-
|
|
182
|
-
# Deregisters this AMI. Once deregistered, the AMI cannot be
|
|
183
|
-
# used to launch new instances.
|
|
184
|
-
# @return [nil]
|
|
185
|
-
def deregister
|
|
186
|
-
client.deregister_image(:image_id => id)
|
|
187
|
-
nil
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
alias_method :delete, :deregister
|
|
191
|
-
|
|
192
|
-
# Runs a single instance of this image.
|
|
193
|
-
#
|
|
194
|
-
# @param [Hash] options
|
|
195
|
-
# @option (see InstanceCollection#create)
|
|
196
|
-
# @return (see InstanceCollection#create)
|
|
197
|
-
def run_instance options = {}
|
|
198
|
-
instances = InstanceCollection.new(:config => config)
|
|
199
|
-
instances.create(options.merge(:image => self))
|
|
200
|
-
end
|
|
201
|
-
|
|
202
|
-
# Runs multiple instances of this image.
|
|
203
|
-
#
|
|
204
|
-
# @param [Integer] count How many instances to request. You can specify
|
|
205
|
-
# this either as an integer or as a Range, to indicate the
|
|
206
|
-
# minimum and maximum number of instances to run. Note that
|
|
207
|
-
# for a new account you can request at most 20 instances at
|
|
208
|
-
# a time.
|
|
209
|
-
# @param [Hash] options
|
|
210
|
-
# @option (see InstanceCollection#create)
|
|
211
|
-
# @return [Array<Instance>] An array containing an {Instance} object for
|
|
212
|
-
# each instance that was run.
|
|
213
|
-
def run_instances count, options = {}
|
|
214
|
-
run_instance(options.merge(:count => count))
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
# @return [Boolean] Returns `true` if the AMI exists (is returned by
|
|
218
|
-
# the DescribeImages action).
|
|
219
|
-
def exists?
|
|
220
|
-
resp = client.describe_images(:filters => [
|
|
221
|
-
{ :name => "image-id", :values => [id] }
|
|
222
|
-
])
|
|
223
|
-
!resp.images_set.empty?
|
|
224
|
-
end
|
|
225
|
-
|
|
226
|
-
# @return [Image] The kernel associated with the image, if
|
|
227
|
-
# any. Only applicable for machine images.
|
|
228
|
-
def kernel
|
|
229
|
-
if id = kernel_id
|
|
230
|
-
Image.new(id, :config => config)
|
|
231
|
-
end
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
# @return [Image] The RAM disk associated with the image, if
|
|
235
|
-
# any. Only applicable for machine images.
|
|
236
|
-
def ramdisk
|
|
237
|
-
if id = ramdisk_id
|
|
238
|
-
Image.new(id, :config => config)
|
|
239
|
-
end
|
|
240
|
-
end
|
|
241
|
-
|
|
242
|
-
# Adds one or more product codes:
|
|
243
|
-
#
|
|
244
|
-
# image.add_product_codes 'ABCXYZ', 'MNOPQR'
|
|
245
|
-
#
|
|
246
|
-
# You can also pass an array of product codes:
|
|
247
|
-
#
|
|
248
|
-
# image.add_product_codes ['ABCXYZ', 'MNOPQR']
|
|
249
|
-
#
|
|
250
|
-
# @param [Array<String>] product_codes
|
|
251
|
-
#
|
|
252
|
-
# @return [nil]
|
|
253
|
-
#
|
|
254
|
-
def add_product_codes *product_codes
|
|
255
|
-
client_opts = {}
|
|
256
|
-
client_opts[:image_id] = self.id
|
|
257
|
-
client_opts[:product_codes] = product_codes.flatten
|
|
258
|
-
client.modify_image_attribute(client_opts)
|
|
259
|
-
nil
|
|
260
|
-
end
|
|
261
|
-
|
|
262
|
-
# @api private
|
|
263
|
-
def __permissions_attribute__
|
|
264
|
-
"launchPermission"
|
|
265
|
-
end
|
|
266
|
-
|
|
267
|
-
end
|
|
268
|
-
|
|
269
|
-
end
|
|
270
|
-
end
|
|
@@ -1,220 +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 EC2
|
|
16
|
-
|
|
17
|
-
# Represents a collection of EC2 images. You can use this to
|
|
18
|
-
# find out which images exist with the characteristics you are
|
|
19
|
-
# interested in:
|
|
20
|
-
#
|
|
21
|
-
# ec2 = EC2.new
|
|
22
|
-
# all_images = ec2.images
|
|
23
|
-
# amazon_owned_images = all_images.with_owner('amazon')
|
|
24
|
-
# my_images = all_images.with_owner('self')
|
|
25
|
-
# tagged_amis = all_images.tagged('mytag')
|
|
26
|
-
# tagged_amis.map(&:id) # => ["ami-123", ...]
|
|
27
|
-
#
|
|
28
|
-
# You can also use it to create new images. For example:
|
|
29
|
-
#
|
|
30
|
-
# ec2.images.create(:instance_id => "i-123", :name => "my-image")
|
|
31
|
-
#
|
|
32
|
-
class ImageCollection < Collection
|
|
33
|
-
|
|
34
|
-
include TaggedCollection
|
|
35
|
-
include BlockDeviceMappings
|
|
36
|
-
|
|
37
|
-
# @api private
|
|
38
|
-
def initialize(options = {})
|
|
39
|
-
@owners = options[:owners] || []
|
|
40
|
-
@executable_users = options[:executable_users] || []
|
|
41
|
-
super(options)
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
# @return [Image] image_id The ID of the image.
|
|
45
|
-
def [] image_id
|
|
46
|
-
super
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
# @return [ImageCollection] A new collection that only includes
|
|
50
|
-
# images owned by one or more of the specified AWS accounts.
|
|
51
|
-
# The IDs `:amazon` and `:self` can be used to include AMIs
|
|
52
|
-
# owned by Amazon or AMIs owned by you, respectively.
|
|
53
|
-
#
|
|
54
|
-
# @param [Array of Strings] owners The AWS account IDs by
|
|
55
|
-
# which the new collection should be filtered.
|
|
56
|
-
def with_owner(*owners)
|
|
57
|
-
collection_with(:owners => @owners + owners)
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
# @return [ImageCollection] A new collection that only includes
|
|
61
|
-
# images for which the specified user ID has explicit launch
|
|
62
|
-
# permissions. The user ID can be an AWS account ID, `:self`
|
|
63
|
-
# to return AMIs for which the sender of the request has
|
|
64
|
-
# explicit launch permissions, or `:all` to return AMIs with
|
|
65
|
-
# public launch permissions.
|
|
66
|
-
#
|
|
67
|
-
# @param [Array of Strings] users The AWS account IDs by which
|
|
68
|
-
# the new collection should be filtered.
|
|
69
|
-
def executable_by(*users)
|
|
70
|
-
collection_with(:executable_users => @executable_users + users)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# @yield [image] Each image in the collection.
|
|
74
|
-
# @return [nil]
|
|
75
|
-
def each &block
|
|
76
|
-
opts = {}
|
|
77
|
-
opts[:owners] = @owners.map { |id| id.to_s } unless @owners.empty?
|
|
78
|
-
opts[:executable_users] = @executable_users.map { |id| id.to_s } unless
|
|
79
|
-
@executable_users.empty?
|
|
80
|
-
response = filtered_request(:describe_images, opts)
|
|
81
|
-
response.images_set.each do |i|
|
|
82
|
-
image = Image.new_from(:describe_images, i, i.image_id, :config => config)
|
|
83
|
-
yield(image)
|
|
84
|
-
end
|
|
85
|
-
nil
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
# Creates an AMI. There are several ways to create an AMI
|
|
89
|
-
# using this method; for detailed information on each strategy
|
|
90
|
-
# see [the EC2 Developer Guide](http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/creating-an-ami.html).
|
|
91
|
-
#
|
|
92
|
-
# @param [Hash] options Options for creating the image.
|
|
93
|
-
# `:name` is required, and you must also specify one of the
|
|
94
|
-
# following options:
|
|
95
|
-
#
|
|
96
|
-
# * `:instance_id`
|
|
97
|
-
# * `:image_location`
|
|
98
|
-
# * `:root_device_name`
|
|
99
|
-
#
|
|
100
|
-
# @option options [String] :instance_id The ID of a running
|
|
101
|
-
# instance. This instance will be rebooted unless
|
|
102
|
-
# `:no_reboot` is set to `true`.
|
|
103
|
-
#
|
|
104
|
-
# @option options [String] :description A description of the
|
|
105
|
-
# new image.
|
|
106
|
-
#
|
|
107
|
-
# @option options [Boolean] :no_reboot By default this
|
|
108
|
-
# option is set to `false`, which means Amazon EC2
|
|
109
|
-
# attempts to cleanly shut down the instance before image
|
|
110
|
-
# creation and reboots the instance afterwards. When the
|
|
111
|
-
# option is set to `true`, Amazon EC2 does not shut down
|
|
112
|
-
# the instance before creating the image. When this option
|
|
113
|
-
# is used, file system integrity on the created image cannot
|
|
114
|
-
# be guaranteed.
|
|
115
|
-
#
|
|
116
|
-
# *Note*: This option is only valid when used with
|
|
117
|
-
# `:instance_id`.
|
|
118
|
-
#
|
|
119
|
-
# @option options [String] :image_location Full path to your
|
|
120
|
-
# AMI manifest in Amazon S3 storage. This must be of the
|
|
121
|
-
# form "bucket_name/key".
|
|
122
|
-
#
|
|
123
|
-
# @option options [String] :architecture The architecture of
|
|
124
|
-
# the image. Valid values:
|
|
125
|
-
#
|
|
126
|
-
# * `:i386`
|
|
127
|
-
# * `:x86_64`
|
|
128
|
-
#
|
|
129
|
-
# *Note*: This option is only valid with `:image_location`
|
|
130
|
-
# or `:root_device_name`
|
|
131
|
-
#
|
|
132
|
-
# @option options [String] :kernel_id The ID of the kernel to
|
|
133
|
-
# select.
|
|
134
|
-
#
|
|
135
|
-
# *Note*: This option is only valid with `:image_location`
|
|
136
|
-
# or `:root_device_name`
|
|
137
|
-
#
|
|
138
|
-
# @option options [Image] :kernel The kernel image to use.
|
|
139
|
-
# Equivalent to passing `:kernel_id` with the ID of the
|
|
140
|
-
# image.
|
|
141
|
-
#
|
|
142
|
-
# *Note*: This option is only valid with `:image_location`
|
|
143
|
-
# or `:root_device_name`
|
|
144
|
-
#
|
|
145
|
-
# @option options [String] :ramdisk_id The ID of the RAM disk
|
|
146
|
-
# to select. Some kernels require additional drivers at
|
|
147
|
-
# launch. Check the kernel requirements for information on
|
|
148
|
-
# whether you need to specify a RAM disk. To find kernel
|
|
149
|
-
# requirements, refer to the Resource Center and search for
|
|
150
|
-
# the kernel ID.
|
|
151
|
-
#
|
|
152
|
-
# *Note*: This option is only valid with `:image_location`
|
|
153
|
-
# or `:root_device_name`
|
|
154
|
-
#
|
|
155
|
-
# @option options [Image] :ramdisk The ramdisk image to use.
|
|
156
|
-
# Equivalent to passing `:ramdisk_id` with the ID of the
|
|
157
|
-
# image.
|
|
158
|
-
#
|
|
159
|
-
# *Note*: This option is only valid with `:image_location`
|
|
160
|
-
# or `:root_device_name`
|
|
161
|
-
#
|
|
162
|
-
# @option options [String] :root_device_name The root device
|
|
163
|
-
# name (e.g., /dev/sda1, or xvda).
|
|
164
|
-
#
|
|
165
|
-
# @option options [Hash] :block_device_mappings This must be a
|
|
166
|
-
# hash; the keys are device names to map, and the value for
|
|
167
|
-
# each entry determines how that device is mapped. Valid
|
|
168
|
-
# values include:
|
|
169
|
-
#
|
|
170
|
-
# * A string, which is interpreted as a virtual device name.
|
|
171
|
-
# * A hash with any of the following options. One of
|
|
172
|
-
# `:snapshot`, `:snapshot_id` or `:volume_size` is
|
|
173
|
-
# required.
|
|
174
|
-
#
|
|
175
|
-
# * `:snapshot` - A snapshot to use when creating the block device.
|
|
176
|
-
# * `:snapshot_id` - The ID of a snapshot to use when creating
|
|
177
|
-
# the block device.
|
|
178
|
-
# * `:volume_size` -] The size of volume to create, in gigabytes.
|
|
179
|
-
# * `:delete_on_termination` - Setting this to true causes EC2
|
|
180
|
-
# to delete the volume when the instance is terminated.
|
|
181
|
-
# @return [Image]
|
|
182
|
-
def create options = {}
|
|
183
|
-
resp = case
|
|
184
|
-
when options[:instance_id]
|
|
185
|
-
client.create_image(options)
|
|
186
|
-
when options[:image_location] || options[:root_device_name]
|
|
187
|
-
if kernel = options.delete(:kernel)
|
|
188
|
-
options[:kernel_id] = kernel.id
|
|
189
|
-
end
|
|
190
|
-
if ramdisk = options.delete(:ramdisk)
|
|
191
|
-
options[:ramdisk_id] = ramdisk.id
|
|
192
|
-
end
|
|
193
|
-
options[:block_device_mappings] =
|
|
194
|
-
translate_block_device_mappings(options[:block_device_mappings]) if
|
|
195
|
-
options[:block_device_mappings]
|
|
196
|
-
client.register_image(options)
|
|
197
|
-
else
|
|
198
|
-
raise(ArgumentError,
|
|
199
|
-
"expected instance_id, image_location, " +
|
|
200
|
-
"or root_device_name")
|
|
201
|
-
end
|
|
202
|
-
Image.new(resp.image_id, :config => config)
|
|
203
|
-
end
|
|
204
|
-
|
|
205
|
-
# @api private
|
|
206
|
-
protected
|
|
207
|
-
def member_class
|
|
208
|
-
Image
|
|
209
|
-
end
|
|
210
|
-
|
|
211
|
-
# @api private
|
|
212
|
-
protected
|
|
213
|
-
def preserved_options
|
|
214
|
-
super.merge(:owners => @owners, :executable_users => @executable_users)
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
end
|
|
218
|
-
|
|
219
|
-
end
|
|
220
|
-
end
|