aws-sdk-euca 1.8.5
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.
- data/.yardopts +5 -0
- data/LICENSE.txt +12 -0
- data/README.rdoc +189 -0
- data/ca-bundle.crt +3895 -0
- data/lib/aws-sdk-euca.rb +79 -0
- data/lib/aws-sdk.rb +79 -0
- data/lib/aws.rb +14 -0
- data/lib/aws/api_config/AutoScaling-2011-01-01.yml +825 -0
- data/lib/aws/api_config/CloudFormation-2010-05-15.yml +322 -0
- data/lib/aws/api_config/CloudFront-2012-05-05.yml +2102 -0
- data/lib/aws/api_config/CloudSearch-2011-02-01.yml +681 -0
- data/lib/aws/api_config/CloudWatch-2010-08-01.yml +433 -0
- data/lib/aws/api_config/DataPipeline-2012-10-29.yml +422 -0
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +1160 -0
- data/lib/aws/api_config/EC2-2013-02-01.yml +4368 -0
- data/lib/aws/api_config/ELB-2012-06-01.yml +597 -0
- data/lib/aws/api_config/EMR-2009-03-31.yml +370 -0
- data/lib/aws/api_config/ElastiCache-2012-03-09.yml +777 -0
- data/lib/aws/api_config/ElastiCache-2012-11-15.yml +979 -0
- data/lib/aws/api_config/ElasticBeanstalk-2010-12-01.yml +823 -0
- data/lib/aws/api_config/ElasticTranscoder-2012-09-25.yml +1036 -0
- data/lib/aws/api_config/Glacier-2012-06-01.yml +618 -0
- data/lib/aws/api_config/IAM-2010-05-08.yml +1222 -0
- data/lib/aws/api_config/ImportExport-2010-06-01.yml +109 -0
- data/lib/aws/api_config/OpsWorks-2013-02-18.yml +1463 -0
- data/lib/aws/api_config/RDS-2012-09-17.yml +1861 -0
- data/lib/aws/api_config/RDS-2013-02-12.yml +2377 -0
- data/lib/aws/api_config/Redshift-2012-12-01.yml +1149 -0
- data/lib/aws/api_config/Route53-2012-02-29.yml +380 -0
- data/lib/aws/api_config/Route53-2012-12-12.yml +547 -0
- data/lib/aws/api_config/SNS-2010-03-31.yml +249 -0
- data/lib/aws/api_config/SQS-2012-11-05.yml +317 -0
- data/lib/aws/api_config/STS-2011-06-15.yml +81 -0
- data/lib/aws/api_config/SimpleDB-2009-04-15.yml +306 -0
- data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +346 -0
- data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +2358 -0
- data/lib/aws/api_config/StorageGateway-2012-06-30.yml +748 -0
- data/lib/aws/auto_scaling.rb +164 -0
- data/lib/aws/auto_scaling/activity.rb +102 -0
- data/lib/aws/auto_scaling/activity_collection.rb +82 -0
- data/lib/aws/auto_scaling/client.rb +521 -0
- data/lib/aws/auto_scaling/config.rb +18 -0
- data/lib/aws/auto_scaling/errors.rb +22 -0
- data/lib/aws/auto_scaling/group.rb +420 -0
- data/lib/aws/auto_scaling/group_collection.rb +96 -0
- data/lib/aws/auto_scaling/group_options.rb +146 -0
- data/lib/aws/auto_scaling/instance.rb +192 -0
- data/lib/aws/auto_scaling/instance_collection.rb +63 -0
- data/lib/aws/auto_scaling/launch_configuration.rb +158 -0
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +154 -0
- data/lib/aws/auto_scaling/notification_configuration.rb +89 -0
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +184 -0
- data/lib/aws/auto_scaling/request.rb +29 -0
- data/lib/aws/auto_scaling/scaling_policy.rb +142 -0
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +72 -0
- data/lib/aws/auto_scaling/scaling_policy_options.rb +64 -0
- data/lib/aws/auto_scaling/scheduled_action.rb +145 -0
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +195 -0
- data/lib/aws/auto_scaling/tag.rb +59 -0
- data/lib/aws/auto_scaling/tag_collection.rb +112 -0
- data/lib/aws/cloud_formation.rb +272 -0
- data/lib/aws/cloud_formation/client.rb +369 -0
- data/lib/aws/cloud_formation/config.rb +18 -0
- data/lib/aws/cloud_formation/errors.rb +22 -0
- data/lib/aws/cloud_formation/request.rb +29 -0
- data/lib/aws/cloud_formation/stack.rb +255 -0
- data/lib/aws/cloud_formation/stack_collection.rb +209 -0
- data/lib/aws/cloud_formation/stack_event.rb +75 -0
- data/lib/aws/cloud_formation/stack_event_collection.rb +47 -0
- data/lib/aws/cloud_formation/stack_options.rb +72 -0
- data/lib/aws/cloud_formation/stack_output.rb +53 -0
- data/lib/aws/cloud_formation/stack_resource.rb +117 -0
- data/lib/aws/cloud_formation/stack_resource_collection.rb +84 -0
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +64 -0
- data/lib/aws/cloud_formation/stack_summary_collection.rb +123 -0
- data/lib/aws/cloud_front.rb +73 -0
- data/lib/aws/cloud_front/client.rb +1307 -0
- data/lib/aws/cloud_front/config.rb +18 -0
- data/lib/aws/cloud_front/errors.rb +22 -0
- data/lib/aws/cloud_front/request.rb +44 -0
- data/lib/aws/cloud_search.rb +74 -0
- data/lib/aws/cloud_search/client.rb +558 -0
- data/lib/aws/cloud_search/config.rb +18 -0
- data/lib/aws/cloud_search/errors.rb +22 -0
- data/lib/aws/cloud_search/request.rb +23 -0
- data/lib/aws/cloud_watch.rb +119 -0
- data/lib/aws/cloud_watch/alarm.rb +272 -0
- data/lib/aws/cloud_watch/alarm_collection.rb +153 -0
- data/lib/aws/cloud_watch/alarm_history_item.rb +50 -0
- data/lib/aws/cloud_watch/alarm_history_item_collection.rb +84 -0
- data/lib/aws/cloud_watch/client.rb +247 -0
- data/lib/aws/cloud_watch/config.rb +18 -0
- data/lib/aws/cloud_watch/errors.rb +22 -0
- data/lib/aws/cloud_watch/metric.rb +135 -0
- data/lib/aws/cloud_watch/metric_alarm_collection.rb +160 -0
- data/lib/aws/cloud_watch/metric_collection.rb +131 -0
- data/lib/aws/cloud_watch/metric_statistics.rb +69 -0
- data/lib/aws/cloud_watch/request.rb +23 -0
- data/lib/aws/core.rb +587 -0
- data/lib/aws/core/async_handle.rb +90 -0
- data/lib/aws/core/autoloader.rb +64 -0
- data/lib/aws/core/cacheable.rb +78 -0
- data/lib/aws/core/client.rb +691 -0
- data/lib/aws/core/collection.rb +267 -0
- data/lib/aws/core/collection/simple.rb +82 -0
- data/lib/aws/core/collection/with_limit_and_next_token.rb +71 -0
- data/lib/aws/core/collection/with_next_token.rb +97 -0
- data/lib/aws/core/configuration.rb +546 -0
- data/lib/aws/core/credential_providers.rb +461 -0
- data/lib/aws/core/data.rb +247 -0
- data/lib/aws/core/http/curb_handler.rb +155 -0
- data/lib/aws/core/http/handler.rb +89 -0
- data/lib/aws/core/http/net_http_handler.rb +128 -0
- data/lib/aws/core/http/request.rb +263 -0
- data/lib/aws/core/http/response.rb +81 -0
- data/lib/aws/core/indifferent_hash.rb +88 -0
- data/lib/aws/core/inflection.rb +56 -0
- data/lib/aws/core/json_client.rb +47 -0
- data/lib/aws/core/json_parser.rb +76 -0
- data/lib/aws/core/json_request_builder.rb +35 -0
- data/lib/aws/core/json_response_parser.rb +79 -0
- data/lib/aws/core/lazy_error_classes.rb +90 -0
- data/lib/aws/core/log_formatter.rb +462 -0
- data/lib/aws/core/managed_file.rb +32 -0
- data/lib/aws/core/meta_utils.rb +45 -0
- data/lib/aws/core/model.rb +57 -0
- data/lib/aws/core/naming.rb +30 -0
- data/lib/aws/core/option_grammar.rb +735 -0
- data/lib/aws/core/options/json_serializer.rb +82 -0
- data/lib/aws/core/options/validator.rb +155 -0
- data/lib/aws/core/options/xml_serializer.rb +118 -0
- data/lib/aws/core/page_result.rb +75 -0
- data/lib/aws/core/policy.rb +916 -0
- data/lib/aws/core/query_client.rb +41 -0
- data/lib/aws/core/query_error_parser.rb +24 -0
- data/lib/aws/core/query_request_builder.rb +47 -0
- data/lib/aws/core/query_response_parser.rb +35 -0
- data/lib/aws/core/resource.rb +413 -0
- data/lib/aws/core/resource_cache.rb +40 -0
- data/lib/aws/core/response.rb +208 -0
- data/lib/aws/core/response_cache.rb +50 -0
- data/lib/aws/core/rest_error_parser.rb +24 -0
- data/lib/aws/core/rest_json_client.rb +40 -0
- data/lib/aws/core/rest_request_builder.rb +146 -0
- data/lib/aws/core/rest_response_parser.rb +66 -0
- data/lib/aws/core/rest_xml_client.rb +47 -0
- data/lib/aws/core/service_interface.rb +61 -0
- data/lib/aws/core/signature/version_2.rb +56 -0
- data/lib/aws/core/signature/version_3.rb +77 -0
- data/lib/aws/core/signature/version_3_https.rb +54 -0
- data/lib/aws/core/signature/version_4.rb +135 -0
- data/lib/aws/core/signer.rb +46 -0
- data/lib/aws/core/uri_escape.rb +44 -0
- data/lib/aws/core/xml/frame.rb +244 -0
- data/lib/aws/core/xml/frame_stack.rb +85 -0
- data/lib/aws/core/xml/grammar.rb +307 -0
- data/lib/aws/core/xml/parser.rb +70 -0
- data/lib/aws/core/xml/root_frame.rb +65 -0
- data/lib/aws/core/xml/sax_handlers/libxml.rb +47 -0
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
- data/lib/aws/core/xml/sax_handlers/ox.rb +41 -0
- data/lib/aws/core/xml/sax_handlers/rexml.rb +43 -0
- data/lib/aws/core/xml/stub.rb +123 -0
- data/lib/aws/data_pipeline.rb +73 -0
- data/lib/aws/data_pipeline/client.rb +339 -0
- data/lib/aws/data_pipeline/config.rb +18 -0
- data/lib/aws/data_pipeline/errors.rb +20 -0
- data/lib/aws/data_pipeline/request.rb +26 -0
- data/lib/aws/dynamo_db.rb +206 -0
- data/lib/aws/dynamo_db/attribute_collection.rb +461 -0
- data/lib/aws/dynamo_db/batch_get.rb +213 -0
- data/lib/aws/dynamo_db/batch_write.rb +252 -0
- data/lib/aws/dynamo_db/binary.rb +35 -0
- data/lib/aws/dynamo_db/client.rb +904 -0
- data/lib/aws/dynamo_db/config.rb +24 -0
- data/lib/aws/dynamo_db/errors.rb +20 -0
- data/lib/aws/dynamo_db/expectations.rb +40 -0
- data/lib/aws/dynamo_db/item.rb +133 -0
- data/lib/aws/dynamo_db/item_collection.rb +852 -0
- data/lib/aws/dynamo_db/item_data.rb +31 -0
- data/lib/aws/dynamo_db/keys.rb +41 -0
- data/lib/aws/dynamo_db/primary_key_element.rb +48 -0
- data/lib/aws/dynamo_db/request.rb +26 -0
- data/lib/aws/dynamo_db/resource.rb +33 -0
- data/lib/aws/dynamo_db/table.rb +491 -0
- data/lib/aws/dynamo_db/table_collection.rb +165 -0
- data/lib/aws/dynamo_db/types.rb +111 -0
- data/lib/aws/ec2.rb +440 -0
- data/lib/aws/ec2/attachment.rb +140 -0
- data/lib/aws/ec2/attachment_collection.rb +54 -0
- data/lib/aws/ec2/availability_zone.rb +86 -0
- data/lib/aws/ec2/availability_zone_collection.rb +43 -0
- data/lib/aws/ec2/block_device_mappings.rb +53 -0
- data/lib/aws/ec2/client.rb +3621 -0
- data/lib/aws/ec2/collection.rb +36 -0
- data/lib/aws/ec2/config.rb +18 -0
- data/lib/aws/ec2/config_transform.rb +63 -0
- data/lib/aws/ec2/customer_gateway.rb +90 -0
- data/lib/aws/ec2/customer_gateway_collection.rb +73 -0
- data/lib/aws/ec2/dhcp_options.rb +106 -0
- data/lib/aws/ec2/dhcp_options_collection.rb +87 -0
- data/lib/aws/ec2/elastic_ip.rb +208 -0
- data/lib/aws/ec2/elastic_ip_collection.rb +97 -0
- data/lib/aws/ec2/errors.rb +32 -0
- data/lib/aws/ec2/export_task.rb +120 -0
- data/lib/aws/ec2/export_task_collection.rb +67 -0
- data/lib/aws/ec2/filtered_collection.rb +89 -0
- data/lib/aws/ec2/has_permissions.rb +44 -0
- data/lib/aws/ec2/image.rb +264 -0
- data/lib/aws/ec2/image_collection.rb +228 -0
- data/lib/aws/ec2/instance.rb +796 -0
- data/lib/aws/ec2/instance_collection.rb +372 -0
- data/lib/aws/ec2/internet_gateway.rb +122 -0
- data/lib/aws/ec2/internet_gateway/attachment.rb +78 -0
- data/lib/aws/ec2/internet_gateway_collection.rb +54 -0
- data/lib/aws/ec2/key_pair.rb +82 -0
- data/lib/aws/ec2/key_pair_collection.rb +99 -0
- data/lib/aws/ec2/network_acl.rb +256 -0
- data/lib/aws/ec2/network_acl/association.rb +56 -0
- data/lib/aws/ec2/network_acl/entry.rb +147 -0
- data/lib/aws/ec2/network_acl_collection.rb +64 -0
- data/lib/aws/ec2/network_interface.rb +228 -0
- data/lib/aws/ec2/network_interface/attachment.rb +100 -0
- data/lib/aws/ec2/network_interface_collection.rb +103 -0
- data/lib/aws/ec2/permission_collection.rb +174 -0
- data/lib/aws/ec2/region.rb +106 -0
- data/lib/aws/ec2/region_collection.rb +51 -0
- data/lib/aws/ec2/request.rb +21 -0
- data/lib/aws/ec2/reserved_instances.rb +56 -0
- data/lib/aws/ec2/reserved_instances_collection.rb +40 -0
- data/lib/aws/ec2/reserved_instances_offering.rb +60 -0
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +39 -0
- data/lib/aws/ec2/resource.rb +161 -0
- data/lib/aws/ec2/resource_tag_collection.rb +211 -0
- data/lib/aws/ec2/route_table.rb +205 -0
- data/lib/aws/ec2/route_table/association.rb +119 -0
- data/lib/aws/ec2/route_table/route.rb +119 -0
- data/lib/aws/ec2/route_table_collection.rb +72 -0
- data/lib/aws/ec2/security_group.rb +484 -0
- data/lib/aws/ec2/security_group/ip_permission.rb +135 -0
- data/lib/aws/ec2/security_group/ip_permission_collection.rb +82 -0
- data/lib/aws/ec2/security_group_collection.rb +135 -0
- data/lib/aws/ec2/snapshot.rb +143 -0
- data/lib/aws/ec2/snapshot_collection.rb +132 -0
- data/lib/aws/ec2/subnet.rb +161 -0
- data/lib/aws/ec2/subnet_collection.rb +115 -0
- data/lib/aws/ec2/tag.rb +81 -0
- data/lib/aws/ec2/tag_collection.rb +107 -0
- data/lib/aws/ec2/tagged_collection.rb +53 -0
- data/lib/aws/ec2/tagged_item.rb +85 -0
- data/lib/aws/ec2/volume.rb +174 -0
- data/lib/aws/ec2/volume_collection.rb +101 -0
- data/lib/aws/ec2/vpc.rb +166 -0
- data/lib/aws/ec2/vpc_collection.rb +70 -0
- data/lib/aws/ec2/vpn_connection.rb +99 -0
- data/lib/aws/ec2/vpn_connection/telemetry.rb +49 -0
- data/lib/aws/ec2/vpn_connection_collection.rb +96 -0
- data/lib/aws/ec2/vpn_gateway.rb +123 -0
- data/lib/aws/ec2/vpn_gateway/attachment.rb +45 -0
- data/lib/aws/ec2/vpn_gateway_collection.rb +77 -0
- data/lib/aws/elastic_beanstalk.rb +50 -0
- data/lib/aws/elastic_beanstalk/client.rb +867 -0
- data/lib/aws/elastic_beanstalk/config.rb +18 -0
- data/lib/aws/elastic_beanstalk/errors.rb +22 -0
- data/lib/aws/elastic_beanstalk/request.rb +29 -0
- data/lib/aws/elastic_transcoder.rb +30 -0
- data/lib/aws/elastic_transcoder/client.rb +672 -0
- data/lib/aws/elastic_transcoder/config.rb +18 -0
- data/lib/aws/elastic_transcoder/errors.rb +23 -0
- data/lib/aws/elastic_transcoder/request.rb +30 -0
- data/lib/aws/elasticache.rb +50 -0
- data/lib/aws/elasticache/client.rb +920 -0
- data/lib/aws/elasticache/config.rb +18 -0
- data/lib/aws/elasticache/errors.rb +22 -0
- data/lib/aws/elasticache/request.rb +23 -0
- data/lib/aws/elb.rb +67 -0
- data/lib/aws/elb/availability_zone_collection.rb +138 -0
- data/lib/aws/elb/backend_server_policy_collection.rb +139 -0
- data/lib/aws/elb/client.rb +500 -0
- data/lib/aws/elb/config.rb +18 -0
- data/lib/aws/elb/errors.rb +26 -0
- data/lib/aws/elb/instance_collection.rb +173 -0
- data/lib/aws/elb/listener.rb +190 -0
- data/lib/aws/elb/listener_collection.rb +113 -0
- data/lib/aws/elb/listener_opts.rb +45 -0
- data/lib/aws/elb/load_balancer.rb +281 -0
- data/lib/aws/elb/load_balancer_collection.rb +134 -0
- data/lib/aws/elb/load_balancer_policy.rb +93 -0
- data/lib/aws/elb/load_balancer_policy_collection.rb +208 -0
- data/lib/aws/elb/request.rb +29 -0
- data/lib/aws/emr.rb +86 -0
- data/lib/aws/emr/client.rb +330 -0
- data/lib/aws/emr/config.rb +18 -0
- data/lib/aws/emr/errors.rb +22 -0
- data/lib/aws/emr/instance_group.rb +138 -0
- data/lib/aws/emr/instance_group_collection.rb +82 -0
- data/lib/aws/emr/job_flow.rb +306 -0
- data/lib/aws/emr/job_flow_collection.rb +185 -0
- data/lib/aws/emr/request.rb +23 -0
- data/lib/aws/errors.rb +162 -0
- data/lib/aws/glacier.rb +80 -0
- data/lib/aws/glacier/archive.rb +56 -0
- data/lib/aws/glacier/archive_collection.rb +146 -0
- data/lib/aws/glacier/client.rb +286 -0
- data/lib/aws/glacier/config.rb +19 -0
- data/lib/aws/glacier/errors.rb +22 -0
- data/lib/aws/glacier/request.rb +34 -0
- data/lib/aws/glacier/resource.rb +30 -0
- data/lib/aws/glacier/vault.rb +145 -0
- data/lib/aws/glacier/vault_collection.rb +75 -0
- data/lib/aws/glacier/vault_notification_configuration.rb +29 -0
- data/lib/aws/iam.rb +420 -0
- data/lib/aws/iam/access_key.rb +180 -0
- data/lib/aws/iam/access_key_collection.rb +128 -0
- data/lib/aws/iam/account_alias_collection.rb +79 -0
- data/lib/aws/iam/client.rb +1092 -0
- data/lib/aws/iam/collection.rb +83 -0
- data/lib/aws/iam/config.rb +18 -0
- data/lib/aws/iam/errors.rb +22 -0
- data/lib/aws/iam/group.rb +111 -0
- data/lib/aws/iam/group_collection.rb +132 -0
- data/lib/aws/iam/group_policy_collection.rb +47 -0
- data/lib/aws/iam/group_user_collection.rb +84 -0
- data/lib/aws/iam/login_profile.rb +99 -0
- data/lib/aws/iam/mfa_device.rb +52 -0
- data/lib/aws/iam/mfa_device_collection.rb +127 -0
- data/lib/aws/iam/policy.rb +46 -0
- data/lib/aws/iam/policy_collection.rb +188 -0
- data/lib/aws/iam/request.rb +29 -0
- data/lib/aws/iam/resource.rb +62 -0
- data/lib/aws/iam/server_certificate.rb +141 -0
- data/lib/aws/iam/server_certificate_collection.rb +138 -0
- data/lib/aws/iam/signing_certificate.rb +169 -0
- data/lib/aws/iam/signing_certificate_collection.rb +131 -0
- data/lib/aws/iam/user.rb +205 -0
- data/lib/aws/iam/user_collection.rb +133 -0
- data/lib/aws/iam/user_group_collection.rb +98 -0
- data/lib/aws/iam/user_policy.rb +90 -0
- data/lib/aws/iam/user_policy_collection.rb +45 -0
- data/lib/aws/iam/virtual_mfa_device.rb +139 -0
- data/lib/aws/iam/virtual_mfa_device_collection.rb +73 -0
- data/lib/aws/import_export.rb +73 -0
- data/lib/aws/import_export/client.rb +109 -0
- data/lib/aws/import_export/config.rb +19 -0
- data/lib/aws/import_export/errors.rb +22 -0
- data/lib/aws/import_export/request.rb +23 -0
- data/lib/aws/ops_works.rb +30 -0
- data/lib/aws/ops_works/client.rb +713 -0
- data/lib/aws/ops_works/config.rb +18 -0
- data/lib/aws/ops_works/errors.rb +20 -0
- data/lib/aws/ops_works/request.rb +27 -0
- data/lib/aws/rails.rb +195 -0
- data/lib/aws/rds.rb +71 -0
- data/lib/aws/rds/client.rb +2228 -0
- data/lib/aws/rds/config.rb +18 -0
- data/lib/aws/rds/db_instance.rb +205 -0
- data/lib/aws/rds/db_instance_collection.rb +75 -0
- data/lib/aws/rds/db_snapshot.rb +163 -0
- data/lib/aws/rds/db_snapshot_collection.rb +89 -0
- data/lib/aws/rds/errors.rb +22 -0
- data/lib/aws/rds/request.rb +23 -0
- data/lib/aws/record.rb +116 -0
- data/lib/aws/record/abstract_base.rb +701 -0
- data/lib/aws/record/attributes.rb +384 -0
- data/lib/aws/record/conversion.rb +38 -0
- data/lib/aws/record/dirty_tracking.rb +285 -0
- data/lib/aws/record/errors.rb +143 -0
- data/lib/aws/record/exceptions.rb +48 -0
- data/lib/aws/record/hash_model.rb +161 -0
- data/lib/aws/record/hash_model/attributes.rb +197 -0
- data/lib/aws/record/hash_model/finder_methods.rb +172 -0
- data/lib/aws/record/hash_model/scope.rb +108 -0
- data/lib/aws/record/model.rb +427 -0
- data/lib/aws/record/model/attributes.rb +379 -0
- data/lib/aws/record/model/finder_methods.rb +232 -0
- data/lib/aws/record/model/scope.rb +213 -0
- data/lib/aws/record/naming.rb +31 -0
- data/lib/aws/record/scope.rb +199 -0
- data/lib/aws/record/validations.rb +712 -0
- data/lib/aws/record/validator.rb +246 -0
- data/lib/aws/record/validators/acceptance.rb +51 -0
- data/lib/aws/record/validators/block.rb +38 -0
- data/lib/aws/record/validators/confirmation.rb +43 -0
- data/lib/aws/record/validators/count.rb +108 -0
- data/lib/aws/record/validators/exclusion.rb +43 -0
- data/lib/aws/record/validators/format.rb +57 -0
- data/lib/aws/record/validators/inclusion.rb +56 -0
- data/lib/aws/record/validators/length.rb +107 -0
- data/lib/aws/record/validators/method.rb +33 -0
- data/lib/aws/record/validators/numericality.rb +138 -0
- data/lib/aws/record/validators/presence.rb +45 -0
- data/lib/aws/redshift.rb +52 -0
- data/lib/aws/redshift/client.rb +1291 -0
- data/lib/aws/redshift/config.rb +18 -0
- data/lib/aws/redshift/errors.rb +22 -0
- data/lib/aws/redshift/request.rb +29 -0
- data/lib/aws/route_53.rb +87 -0
- data/lib/aws/route_53/change_batch.rb +159 -0
- data/lib/aws/route_53/change_info.rb +72 -0
- data/lib/aws/route_53/client.rb +387 -0
- data/lib/aws/route_53/config.rb +18 -0
- data/lib/aws/route_53/errors.rb +22 -0
- data/lib/aws/route_53/hosted_zone.rb +111 -0
- data/lib/aws/route_53/hosted_zone_collection.rb +100 -0
- data/lib/aws/route_53/request.rb +23 -0
- data/lib/aws/route_53/resource_record_set.rb +237 -0
- data/lib/aws/route_53/resource_record_set_collection.rb +110 -0
- data/lib/aws/s3.rb +155 -0
- data/lib/aws/s3/access_control_list.rb +257 -0
- data/lib/aws/s3/acl_object.rb +264 -0
- data/lib/aws/s3/acl_options.rb +204 -0
- data/lib/aws/s3/bucket.rb +742 -0
- data/lib/aws/s3/bucket_collection.rb +160 -0
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +458 -0
- data/lib/aws/s3/bucket_tag_collection.rb +109 -0
- data/lib/aws/s3/bucket_version_collection.rb +77 -0
- data/lib/aws/s3/cipher_io.rb +119 -0
- data/lib/aws/s3/client.rb +1700 -0
- data/lib/aws/s3/client/xml.rb +231 -0
- data/lib/aws/s3/config.rb +36 -0
- data/lib/aws/s3/cors_rule.rb +106 -0
- data/lib/aws/s3/cors_rule_collection.rb +192 -0
- data/lib/aws/s3/data_options.rb +185 -0
- data/lib/aws/s3/encryption_utils.rb +139 -0
- data/lib/aws/s3/errors.rb +94 -0
- data/lib/aws/s3/multipart_upload.rb +320 -0
- data/lib/aws/s3/multipart_upload_collection.rb +68 -0
- data/lib/aws/s3/object_collection.rb +355 -0
- data/lib/aws/s3/object_metadata.rb +96 -0
- data/lib/aws/s3/object_upload_collection.rb +77 -0
- data/lib/aws/s3/object_version.rb +148 -0
- data/lib/aws/s3/object_version_collection.rb +89 -0
- data/lib/aws/s3/paginated_collection.rb +75 -0
- data/lib/aws/s3/policy.rb +74 -0
- data/lib/aws/s3/prefix_and_delimiter_collection.rb +47 -0
- data/lib/aws/s3/prefixed_collection.rb +81 -0
- data/lib/aws/s3/presigned_post.rb +555 -0
- data/lib/aws/s3/request.rb +201 -0
- data/lib/aws/s3/s3_object.rb +1690 -0
- data/lib/aws/s3/tree.rb +118 -0
- data/lib/aws/s3/tree/branch_node.rb +68 -0
- data/lib/aws/s3/tree/child_collection.rb +104 -0
- data/lib/aws/s3/tree/leaf_node.rb +94 -0
- data/lib/aws/s3/tree/node.rb +22 -0
- data/lib/aws/s3/tree/parent.rb +87 -0
- data/lib/aws/s3/uploaded_part.rb +80 -0
- data/lib/aws/s3/uploaded_part_collection.rb +84 -0
- data/lib/aws/s3/website_configuration.rb +102 -0
- data/lib/aws/simple_db.rb +219 -0
- data/lib/aws/simple_db/attribute.rb +154 -0
- data/lib/aws/simple_db/attribute_collection.rb +231 -0
- data/lib/aws/simple_db/client.rb +287 -0
- data/lib/aws/simple_db/config.rb +20 -0
- data/lib/aws/simple_db/consistent_read_option.rb +42 -0
- data/lib/aws/simple_db/delete_attributes.rb +62 -0
- data/lib/aws/simple_db/domain.rb +121 -0
- data/lib/aws/simple_db/domain_collection.rb +86 -0
- data/lib/aws/simple_db/domain_metadata.rb +110 -0
- data/lib/aws/simple_db/errors.rb +55 -0
- data/lib/aws/simple_db/expect_condition_option.rb +45 -0
- data/lib/aws/simple_db/item.rb +93 -0
- data/lib/aws/simple_db/item_collection.rb +649 -0
- data/lib/aws/simple_db/item_data.rb +73 -0
- data/lib/aws/simple_db/put_attributes.rb +60 -0
- data/lib/aws/simple_db/request.rb +23 -0
- data/lib/aws/simple_email_service.rb +428 -0
- data/lib/aws/simple_email_service/client.rb +276 -0
- data/lib/aws/simple_email_service/config.rb +19 -0
- data/lib/aws/simple_email_service/email_address_collection.rb +69 -0
- data/lib/aws/simple_email_service/errors.rb +22 -0
- data/lib/aws/simple_email_service/identity.rb +209 -0
- data/lib/aws/simple_email_service/identity_collection.rb +81 -0
- data/lib/aws/simple_email_service/quotas.rb +64 -0
- data/lib/aws/simple_email_service/request.rb +27 -0
- data/lib/aws/simple_workflow.rb +228 -0
- data/lib/aws/simple_workflow/activity_task.rb +173 -0
- data/lib/aws/simple_workflow/activity_task_collection.rb +123 -0
- data/lib/aws/simple_workflow/activity_type.rb +131 -0
- data/lib/aws/simple_workflow/activity_type_collection.rb +93 -0
- data/lib/aws/simple_workflow/client.rb +1204 -0
- data/lib/aws/simple_workflow/config.rb +18 -0
- data/lib/aws/simple_workflow/count.rb +49 -0
- data/lib/aws/simple_workflow/decision_task.rb +603 -0
- data/lib/aws/simple_workflow/decision_task_collection.rb +225 -0
- data/lib/aws/simple_workflow/domain.rb +122 -0
- data/lib/aws/simple_workflow/domain_collection.rb +169 -0
- data/lib/aws/simple_workflow/errors.rb +20 -0
- data/lib/aws/simple_workflow/history_event.rb +276 -0
- data/lib/aws/simple_workflow/history_event_collection.rb +76 -0
- data/lib/aws/simple_workflow/option_formatters.rb +82 -0
- data/lib/aws/simple_workflow/request.rb +33 -0
- data/lib/aws/simple_workflow/resource.rb +94 -0
- data/lib/aws/simple_workflow/type.rb +89 -0
- data/lib/aws/simple_workflow/type_collection.rb +140 -0
- data/lib/aws/simple_workflow/workflow_execution.rb +386 -0
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +617 -0
- data/lib/aws/simple_workflow/workflow_type.rb +177 -0
- data/lib/aws/simple_workflow/workflow_type_collection.rb +91 -0
- data/lib/aws/sns.rb +76 -0
- data/lib/aws/sns/client.rb +266 -0
- data/lib/aws/sns/config.rb +18 -0
- data/lib/aws/sns/errors.rb +22 -0
- data/lib/aws/sns/has_delivery_policy.rb +68 -0
- data/lib/aws/sns/policy.rb +47 -0
- data/lib/aws/sns/request.rb +23 -0
- data/lib/aws/sns/subscription.rb +144 -0
- data/lib/aws/sns/subscription_collection.rb +78 -0
- data/lib/aws/sns/topic.rb +403 -0
- data/lib/aws/sns/topic_collection.rb +62 -0
- data/lib/aws/sns/topic_subscription_collection.rb +54 -0
- data/lib/aws/sqs.rb +81 -0
- data/lib/aws/sqs/client.rb +258 -0
- data/lib/aws/sqs/config.rb +18 -0
- data/lib/aws/sqs/errors.rb +101 -0
- data/lib/aws/sqs/policy.rb +48 -0
- data/lib/aws/sqs/queue.rb +764 -0
- data/lib/aws/sqs/queue_collection.rb +174 -0
- data/lib/aws/sqs/received_message.rb +181 -0
- data/lib/aws/sqs/received_sns_message.rb +116 -0
- data/lib/aws/sqs/request.rb +67 -0
- data/lib/aws/storage_gateway.rb +73 -0
- data/lib/aws/storage_gateway/client.rb +472 -0
- data/lib/aws/storage_gateway/config.rb +18 -0
- data/lib/aws/storage_gateway/errors.rb +22 -0
- data/lib/aws/storage_gateway/request.rb +28 -0
- data/lib/aws/sts.rb +163 -0
- data/lib/aws/sts/client.rb +157 -0
- data/lib/aws/sts/config.rb +18 -0
- data/lib/aws/sts/errors.rb +22 -0
- data/lib/aws/sts/federated_session.rb +56 -0
- data/lib/aws/sts/policy.rb +30 -0
- data/lib/aws/sts/request.rb +29 -0
- data/lib/aws/sts/session.rb +48 -0
- data/lib/aws/version.rb +18 -0
- data/lib/net/http/connection_pool.rb +226 -0
- data/lib/net/http/connection_pool/connection.rb +189 -0
- data/lib/net/http/connection_pool/session.rb +126 -0
- data/rails/init.rb +15 -0
- metadata +632 -0
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
# = Getting Export Tasks
|
|
18
|
+
#
|
|
19
|
+
# Allows you to enumerate export tasks.
|
|
20
|
+
#
|
|
21
|
+
# ec2.export_tasks.each do |task|
|
|
22
|
+
# # yield ExportTask objects
|
|
23
|
+
# end
|
|
24
|
+
#
|
|
25
|
+
# You can also get an export task by id
|
|
26
|
+
#
|
|
27
|
+
# task = ec2.export_tasks['export-task-id']
|
|
28
|
+
#
|
|
29
|
+
# = Creating Export Tasks
|
|
30
|
+
#
|
|
31
|
+
# To create an export task you start with the {Instance}:
|
|
32
|
+
#
|
|
33
|
+
# task = ec2.instances['i-12345678'].export_to_s3('bucket-name')
|
|
34
|
+
#
|
|
35
|
+
# See {Instance#export_to_s3} for more options.
|
|
36
|
+
#
|
|
37
|
+
class ExportTaskCollection < Collection
|
|
38
|
+
|
|
39
|
+
include Core::Collection::Simple
|
|
40
|
+
|
|
41
|
+
# @param [String] export_task_id
|
|
42
|
+
# @return [ExportTask] Returns reference to the export task with the
|
|
43
|
+
# given export task id.
|
|
44
|
+
def [] export_task_id
|
|
45
|
+
ExportTask.new(export_task_id, :config => config)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
protected
|
|
49
|
+
|
|
50
|
+
def _each_item options = {}, &block
|
|
51
|
+
resp = filtered_request(:describe_export_tasks, options, &block)
|
|
52
|
+
resp.data[:export_task_set].each do |details|
|
|
53
|
+
|
|
54
|
+
task = ExportTask.new_from(
|
|
55
|
+
:describe_export_tasks,
|
|
56
|
+
details,
|
|
57
|
+
details[:export_task_id],
|
|
58
|
+
:config => config)
|
|
59
|
+
|
|
60
|
+
yield(task)
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
module FilteredCollection
|
|
18
|
+
|
|
19
|
+
def initialize options = {}
|
|
20
|
+
@filters = options[:filters] || []
|
|
21
|
+
super
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Specify one or more criteria to filter elastic IP addresses by.
|
|
25
|
+
# A subsequent call to #each will limit the results returned
|
|
26
|
+
# by provided filters.
|
|
27
|
+
#
|
|
28
|
+
# * Chain multiple calls of #filter together to AND multiple conditions
|
|
29
|
+
# together.
|
|
30
|
+
#
|
|
31
|
+
# * Supply multiple values to a singler #filter call to OR those
|
|
32
|
+
# value conditions together.
|
|
33
|
+
#
|
|
34
|
+
# * '*' matches one or more characters and '?' matches any one
|
|
35
|
+
# character.
|
|
36
|
+
#
|
|
37
|
+
def filter filter_name, *values
|
|
38
|
+
filters = @filters.dup
|
|
39
|
+
filters << { :name => filter_name, :values => values.flatten }
|
|
40
|
+
collection_with(:filters => filters)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @private
|
|
44
|
+
def filtered_request client_method, options = {}, &block
|
|
45
|
+
options[:filters] = @filters unless @filters.empty?
|
|
46
|
+
client.send(client_method, options)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
protected
|
|
50
|
+
def vpc_id_option options
|
|
51
|
+
vpc_id = options[:vpc]
|
|
52
|
+
vpc_id ||= options[:vpc_id]
|
|
53
|
+
vpc_id ||= filter_value_for('vpc-id')
|
|
54
|
+
vpc_id = vpc_id.id if vpc_id.is_a?(VPC)
|
|
55
|
+
vpc_id
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
protected
|
|
59
|
+
def subnet_id_option options
|
|
60
|
+
subnet_id = options.delete(:subnet)
|
|
61
|
+
subnet_id ||= options[:subnet_id]
|
|
62
|
+
subnet_id ||= filter_value_for('subnet-id')
|
|
63
|
+
subnet_id = subnet_id.id if subnet_id.is_a?(Subnet)
|
|
64
|
+
subnet_id
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
protected
|
|
68
|
+
def filter_value_for filter_name
|
|
69
|
+
@filters.each do |filter|
|
|
70
|
+
return filter[:values].first if filter[:name] == filter_name
|
|
71
|
+
end
|
|
72
|
+
nil
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# @private
|
|
76
|
+
protected
|
|
77
|
+
def preserved_options
|
|
78
|
+
{ :config => config, :filters => @filters }
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# @private
|
|
82
|
+
protected
|
|
83
|
+
def collection_with(options = {})
|
|
84
|
+
self.class.new(preserved_options.merge(options))
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
# Helper methods for managing EC2 resource permissions. See
|
|
18
|
+
# {Image} and {Snapshot} for usage examples.
|
|
19
|
+
module HasPermissions
|
|
20
|
+
|
|
21
|
+
# (see PermissionCollection#public?)
|
|
22
|
+
def public?
|
|
23
|
+
permissions.public?
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# (see PermissionCollection#private?)
|
|
27
|
+
def private?
|
|
28
|
+
permissions.private?
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# (see PermissionCollection#public=)
|
|
32
|
+
def public=(value)
|
|
33
|
+
permissions.public = value
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @return [PermissionCollection] An object to manage the
|
|
37
|
+
# collection of permissions for this resource.
|
|
38
|
+
def permissions
|
|
39
|
+
PermissionCollection.new(self, :config => config)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,264 @@
|
|
|
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
|
+
# * +:available+
|
|
30
|
+
# * +:pending+
|
|
31
|
+
# * +:failed+
|
|
32
|
+
#
|
|
33
|
+
# @attr_reader [String] owner_id The AWS account ID of the image owner.
|
|
34
|
+
#
|
|
35
|
+
# @attr_reader [String] owner_alias The AWS account alias (e.g.,
|
|
36
|
+
# +"amazon"+) or AWS account ID that owns the AMI.
|
|
37
|
+
#
|
|
38
|
+
# @attr_reader [Symbol] architecture The architecture of the
|
|
39
|
+
# image (e.g. +:i386+).
|
|
40
|
+
#
|
|
41
|
+
# @attr_reader [Symbol] type The type of image. Valid values are:
|
|
42
|
+
# * +:machine+
|
|
43
|
+
# * +:kernel+
|
|
44
|
+
# * +:ramdisk+
|
|
45
|
+
#
|
|
46
|
+
# @attr_reader [String] kernel_id The kernel ID associated with
|
|
47
|
+
# the image, if any. Only applicable for machine images.
|
|
48
|
+
#
|
|
49
|
+
# @attr_reader [String] ramdisk_id The RAM disk ID associated
|
|
50
|
+
# with the image, if any. Only applicable for machine images.
|
|
51
|
+
#
|
|
52
|
+
# @attr_reader [String] platform Value is +windows+ for Windows
|
|
53
|
+
# AMIs; otherwise blank.
|
|
54
|
+
#
|
|
55
|
+
# @attr_reader [Object] state_reason The reason for the image's
|
|
56
|
+
# most recent state change. The return value is an object with
|
|
57
|
+
# the following methods:
|
|
58
|
+
#
|
|
59
|
+
# [code] Reason code for the state change.
|
|
60
|
+
#
|
|
61
|
+
# [message] A textual description of the state change.
|
|
62
|
+
#
|
|
63
|
+
# @attr_reader [Symbol] root_device_type The root device type
|
|
64
|
+
# used by the AMI. Possible values:
|
|
65
|
+
# * +:ebs+
|
|
66
|
+
# * +:instance_store+
|
|
67
|
+
#
|
|
68
|
+
# @attr_reader [String] root_device_name The root device name
|
|
69
|
+
# (e.g., +"/dev/sda1"+, or +"xvda"+).
|
|
70
|
+
#
|
|
71
|
+
# @attr_reader [Symbol] virtualization_type The type of
|
|
72
|
+
# virtualization of the AMI. Possible values:
|
|
73
|
+
# * +:paravirtual+
|
|
74
|
+
# * +:hvm+
|
|
75
|
+
#
|
|
76
|
+
# @attr_reader [Symbol] hypervisor The image's hypervisor type.
|
|
77
|
+
# Possible values are:
|
|
78
|
+
# * +:ovm+
|
|
79
|
+
# * +:xen+
|
|
80
|
+
#
|
|
81
|
+
# @attr_reader [Array<String>] product_codes Returns an array of
|
|
82
|
+
# product codes attached to this instance.
|
|
83
|
+
#
|
|
84
|
+
class Image < Resource
|
|
85
|
+
|
|
86
|
+
include TaggedItem
|
|
87
|
+
include HasPermissions
|
|
88
|
+
|
|
89
|
+
# @private
|
|
90
|
+
def initialize id, options = {}
|
|
91
|
+
@id = id
|
|
92
|
+
super
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# @return [String] The ID of the AMI.
|
|
96
|
+
attr_reader :id
|
|
97
|
+
|
|
98
|
+
attribute :name, :static => true
|
|
99
|
+
|
|
100
|
+
mutable_attribute :description
|
|
101
|
+
|
|
102
|
+
attribute :location, :from => :image_location, :static => true
|
|
103
|
+
|
|
104
|
+
attribute :state, :from => :image_state, :to_sym => true
|
|
105
|
+
|
|
106
|
+
attribute :owner_id, :from => :image_owner_id, :static => true
|
|
107
|
+
|
|
108
|
+
attribute :owner_alias, :from => :image_owner_alias, :static => true
|
|
109
|
+
|
|
110
|
+
attribute :architecture, :to_sym => true, :static => true
|
|
111
|
+
|
|
112
|
+
attribute :type, :from => :image_type, :to_sym => true, :static => true
|
|
113
|
+
|
|
114
|
+
attribute :kernel_id, :static => true
|
|
115
|
+
|
|
116
|
+
attribute :ramdisk_id, :static => true
|
|
117
|
+
|
|
118
|
+
attribute :platform, :static => true
|
|
119
|
+
|
|
120
|
+
attribute :state_reason
|
|
121
|
+
|
|
122
|
+
attribute :root_device_type, :to_sym => true, :static => true
|
|
123
|
+
|
|
124
|
+
attribute :root_device_name, :static => true
|
|
125
|
+
|
|
126
|
+
attribute :virtualization_type, :to_sym => true, :static => true
|
|
127
|
+
|
|
128
|
+
attribute :hypervisor, :to_sym => true, :static => true
|
|
129
|
+
|
|
130
|
+
attribute :block_device_mapping
|
|
131
|
+
|
|
132
|
+
protected :block_device_mapping
|
|
133
|
+
|
|
134
|
+
attribute :product_codes, :static => true do
|
|
135
|
+
translates_output do |list|
|
|
136
|
+
(list || []).collect{|item| item.product_code }
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
populates_from(:describe_images) do |resp|
|
|
141
|
+
resp.image_index[id]
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
alias_method :launch_permissions, :permissions
|
|
145
|
+
|
|
146
|
+
# @note This method will not return data for ephemeral volumes.
|
|
147
|
+
# @return [Hash] Returns a hash of block
|
|
148
|
+
# device mappings for the image. In each entry, the key is
|
|
149
|
+
# the device name (e.g. +"/dev/sda1"+) and the value is an
|
|
150
|
+
# hash with the following keys that return information
|
|
151
|
+
# about the block device:
|
|
152
|
+
#
|
|
153
|
+
# [:snapshot_id] The ID of the snapshot that will be used to
|
|
154
|
+
# create this device (may be nil).
|
|
155
|
+
#
|
|
156
|
+
# [:volume_size] The size of the volume, in GiBs.
|
|
157
|
+
#
|
|
158
|
+
# [:delete_on_termination] True if the Amazon EBS volume is
|
|
159
|
+
# deleted on instance termination.
|
|
160
|
+
# @see {#block_devices}
|
|
161
|
+
def block_device_mappings
|
|
162
|
+
(block_device_mapping || []).inject({}) do |h, mapping|
|
|
163
|
+
if ebs = mapping[:ebs]
|
|
164
|
+
h[mapping[:device_name]] = ebs
|
|
165
|
+
end
|
|
166
|
+
h
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# @return [Array<Hash>] Returns a list of all block device mappings.
|
|
171
|
+
# This list may contain ephemeral volumes.
|
|
172
|
+
def block_devices
|
|
173
|
+
block_device_mapping.to_a
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
# Deregisters this AMI. Once deregistered, the AMI cannot be
|
|
177
|
+
# used to launch new instances.
|
|
178
|
+
# @return [nil]
|
|
179
|
+
def deregister
|
|
180
|
+
client.deregister_image(:image_id => id)
|
|
181
|
+
nil
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
alias_method :delete, :deregister
|
|
185
|
+
|
|
186
|
+
# Runs a single instance of this image.
|
|
187
|
+
#
|
|
188
|
+
# @param [Hash] options
|
|
189
|
+
# @option (see InstanceCollection#create)
|
|
190
|
+
# @return (see InstanceCollection#create)
|
|
191
|
+
def run_instance options = {}
|
|
192
|
+
instances = InstanceCollection.new(:config => config)
|
|
193
|
+
instances.create(options.merge(:image => self))
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Runs multiple instances of this image.
|
|
197
|
+
#
|
|
198
|
+
# @param [Integer] count How many instances to request. You can specify
|
|
199
|
+
# this either as an integer or as a Range, to indicate the
|
|
200
|
+
# minimum and maximum number of instances to run. Note that
|
|
201
|
+
# for a new account you can request at most 20 instances at
|
|
202
|
+
# a time.
|
|
203
|
+
# @param [Hash] options
|
|
204
|
+
# @option (see InstanceCollection#create)
|
|
205
|
+
# @return [Array<Instance>] An array containing an {Instance} object for
|
|
206
|
+
# each instance that was run.
|
|
207
|
+
def run_instances count, options = {}
|
|
208
|
+
run_instance(options.merge(:count => count))
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# @return [Boolean] Returns +true+ if the AMI exists (is returned by
|
|
212
|
+
# the DescribeImages action).
|
|
213
|
+
def exists?
|
|
214
|
+
resp = client.describe_images(:filters => [
|
|
215
|
+
{ :name => "image-id", :values => [id] }
|
|
216
|
+
])
|
|
217
|
+
!resp.images_set.empty?
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
# @return [Image] The kernel associated with the image, if
|
|
221
|
+
# any. Only applicable for machine images.
|
|
222
|
+
def kernel
|
|
223
|
+
if id = kernel_id
|
|
224
|
+
Image.new(id, :config => config)
|
|
225
|
+
end
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# @return [Image] The RAM disk associated with the image, if
|
|
229
|
+
# any. Only applicable for machine images.
|
|
230
|
+
def ramdisk
|
|
231
|
+
if id = ramdisk_id
|
|
232
|
+
Image.new(id, :config => config)
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
# Adds one or more product codes:
|
|
237
|
+
#
|
|
238
|
+
# image.add_product_codes 'ABCXYZ', 'MNOPQR'
|
|
239
|
+
#
|
|
240
|
+
# You can also pass an array of product codes:
|
|
241
|
+
#
|
|
242
|
+
# image.add_product_codes ['ABCXYZ', 'MNOPQR']
|
|
243
|
+
#
|
|
244
|
+
# @param [Array<String>] product_codes
|
|
245
|
+
#
|
|
246
|
+
# @return [nil]
|
|
247
|
+
#
|
|
248
|
+
def add_product_codes *product_codes
|
|
249
|
+
client_opts = {}
|
|
250
|
+
client_opts[:image_id] = self.id
|
|
251
|
+
client_opts[:product_codes] = product_codes.flatten
|
|
252
|
+
client.modify_image_attribute(client_opts)
|
|
253
|
+
nil
|
|
254
|
+
end
|
|
255
|
+
|
|
256
|
+
# @private
|
|
257
|
+
def __permissions_attribute__
|
|
258
|
+
"launchPermission"
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
end
|
|
264
|
+
end
|