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,369 @@
|
|
|
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 CloudFormation
|
|
16
|
+
|
|
17
|
+
# Client class for AWS CloudFormation.
|
|
18
|
+
class Client < Core::QueryClient
|
|
19
|
+
|
|
20
|
+
# @private
|
|
21
|
+
CACHEABLE_REQUESTS = Set[
|
|
22
|
+
:describe_adjustment_types,
|
|
23
|
+
:describe_auto_scaling_groups,
|
|
24
|
+
:describe_auto_scaling_instances,
|
|
25
|
+
:describe_auto_scaling_notification_types,
|
|
26
|
+
:describe_launch_configurations,
|
|
27
|
+
:describe_metric_collection_types,
|
|
28
|
+
:describe_notification_configurations,
|
|
29
|
+
:describe_policies,
|
|
30
|
+
:describe_scaling_activities,
|
|
31
|
+
:describe_scaling_process_types,
|
|
32
|
+
:describe_scheduled_actions,
|
|
33
|
+
:describe_tags,
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
# client methods #
|
|
37
|
+
|
|
38
|
+
# @!method cancel_update_stack(options = {})
|
|
39
|
+
# Calls the CancelUpdateStack API operation.
|
|
40
|
+
# @param [Hash] options
|
|
41
|
+
# * +:stack_name+ - *required* - (String) The name or the unique
|
|
42
|
+
# identifier associated with the stack.
|
|
43
|
+
# @return [Core::Response]
|
|
44
|
+
|
|
45
|
+
# @!method create_stack(options = {})
|
|
46
|
+
# Calls the CreateStack API operation.
|
|
47
|
+
# @param [Hash] options
|
|
48
|
+
# * +:stack_name+ - *required* - (String) The name associated with the
|
|
49
|
+
# stack. The name must be unique within your AWS account. Must
|
|
50
|
+
# contain only alphanumeric characters (case sensitive) and start
|
|
51
|
+
# with an alpha character. Maximum length of the name is 255
|
|
52
|
+
# characters.
|
|
53
|
+
# * +:template_body+ - (String) Structure containing the template body.
|
|
54
|
+
# (For more information, go to the AWS CloudFormation User Guide.)
|
|
55
|
+
# Conditional: You must pass TemplateBody or TemplateURL. If both are
|
|
56
|
+
# passed, only TemplateBody is used.
|
|
57
|
+
# * +:template_url+ - (String) Location of file containing the template
|
|
58
|
+
# body. The URL must point to a template (max size: 307,200 bytes)
|
|
59
|
+
# located in an S3 bucket in the same region as the stack. For more
|
|
60
|
+
# information, go to the AWS CloudFormation User Guide. Conditional:
|
|
61
|
+
# You must pass TemplateURL or TemplateBody. If both are passed, only
|
|
62
|
+
# TemplateBody is used.
|
|
63
|
+
# * +:parameters+ - (Array<Hash>) A list of Parameter structures that
|
|
64
|
+
# specify input parameters for the stack.
|
|
65
|
+
# * +:parameter_key+ - (String) The key associated with the
|
|
66
|
+
# parameter.
|
|
67
|
+
# * +:parameter_value+ - (String) The value associated with the
|
|
68
|
+
# parameter.
|
|
69
|
+
# * +:disable_rollback+ - (Boolean) Set to +true+ to disable rollback
|
|
70
|
+
# of the stack if stack creation failed. You can specify either
|
|
71
|
+
# DisableRollback or OnFailure, but not both. Default: +false+
|
|
72
|
+
# * +:timeout_in_minutes+ - (Integer) The amount of time that can pass
|
|
73
|
+
# before the stack status becomes CREATE_FAILED; if DisableRollback
|
|
74
|
+
# is not set or is set to +false+ , the stack will be rolled back.
|
|
75
|
+
# * +:notification_arns+ - (Array<String>) The Simple Notification
|
|
76
|
+
# Service (SNS) topic ARNs to publish stack related events. You can
|
|
77
|
+
# find your SNS topic ARNs using the SNS console or your Command Line
|
|
78
|
+
# Interface (CLI).
|
|
79
|
+
# * +:capabilities+ - (Array<String>) The list of capabilities that you
|
|
80
|
+
# want to allow in the stack. If your template contains IAM
|
|
81
|
+
# resources, you must specify the CAPABILITY_IAM value for this
|
|
82
|
+
# parameter; otherwise, this action returns an
|
|
83
|
+
# InsufficientCapabilities error. IAM resources are the following:
|
|
84
|
+
# AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::Policy,
|
|
85
|
+
# AWS::IAM::User, and AWS::IAM::UserToGroupAddition.
|
|
86
|
+
# * +:on_failure+ - (String) Determines what action will be taken if
|
|
87
|
+
# stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or
|
|
88
|
+
# DELETE. You can specify either OnFailure or DisableRollback, but
|
|
89
|
+
# not both. Default: ROLLBACK
|
|
90
|
+
# * +:tags+ - (Array<Hash>) A set of user-defined Tags to associate
|
|
91
|
+
# with this stack, represented by key/value pairs. Tags defined for
|
|
92
|
+
# the stack are propogated to EC2 resources that are created as part
|
|
93
|
+
# of the stack. A maximum number of 10 tags can be specified.
|
|
94
|
+
# * +:key+ - (String) Required. A string used to identify this tag.
|
|
95
|
+
# You can specify a maximum of 128 characters for a tag key. Tags
|
|
96
|
+
# owned by Amazon Web Services (AWS) have the reserved prefix:
|
|
97
|
+
# aws:.
|
|
98
|
+
# * +:value+ - (String) Required. A string containing the value for
|
|
99
|
+
# this tag. You can specify a maximum of 256 characters for a tag
|
|
100
|
+
# value.
|
|
101
|
+
# @return [Core::Response]
|
|
102
|
+
# The #data method of the response object returns
|
|
103
|
+
# a hash with the following structure:
|
|
104
|
+
# * +:stack_id+ - (String)
|
|
105
|
+
|
|
106
|
+
# @!method delete_stack(options = {})
|
|
107
|
+
# Calls the DeleteStack API operation.
|
|
108
|
+
# @param [Hash] options
|
|
109
|
+
# * +:stack_name+ - *required* - (String) The name or the unique
|
|
110
|
+
# identifier associated with the stack.
|
|
111
|
+
# @return [Core::Response]
|
|
112
|
+
|
|
113
|
+
# @!method describe_stack_events(options = {})
|
|
114
|
+
# Calls the DescribeStackEvents API operation.
|
|
115
|
+
# @param [Hash] options
|
|
116
|
+
# * +:stack_name+ - (String) The name or the unique identifier
|
|
117
|
+
# associated with the stack. Default: There is no default value.
|
|
118
|
+
# * +:next_token+ - (String) String that identifies the start of the
|
|
119
|
+
# next list of events, if there is one. Default: There is no default
|
|
120
|
+
# value.
|
|
121
|
+
# @return [Core::Response]
|
|
122
|
+
# The #data method of the response object returns
|
|
123
|
+
# a hash with the following structure:
|
|
124
|
+
# * +:stack_events+ - (Array<Hash>)
|
|
125
|
+
# * +:stack_id+ - (String)
|
|
126
|
+
# * +:event_id+ - (String)
|
|
127
|
+
# * +:stack_name+ - (String)
|
|
128
|
+
# * +:logical_resource_id+ - (String)
|
|
129
|
+
# * +:physical_resource_id+ - (String)
|
|
130
|
+
# * +:resource_type+ - (String)
|
|
131
|
+
# * +:timestamp+ - (Time)
|
|
132
|
+
# * +:resource_status+ - (String)
|
|
133
|
+
# * +:resource_status_reason+ - (String)
|
|
134
|
+
# * +:resource_properties+ - (String)
|
|
135
|
+
# * +:next_token+ - (String)
|
|
136
|
+
|
|
137
|
+
# @!method describe_stack_resource(options = {})
|
|
138
|
+
# Calls the DescribeStackResource API operation.
|
|
139
|
+
# @param [Hash] options
|
|
140
|
+
# * +:stack_name+ - *required* - (String) The name or the unique
|
|
141
|
+
# identifier associated with the stack. Default: There is no default
|
|
142
|
+
# value.
|
|
143
|
+
# * +:logical_resource_id+ - *required* - (String) The logical name of
|
|
144
|
+
# the resource as specified in the template. Default: There is no
|
|
145
|
+
# default value.
|
|
146
|
+
# @return [Core::Response]
|
|
147
|
+
# The #data method of the response object returns
|
|
148
|
+
# a hash with the following structure:
|
|
149
|
+
# * +:stack_resource_detail+ - (Hash)
|
|
150
|
+
# * +:stack_name+ - (String)
|
|
151
|
+
# * +:stack_id+ - (String)
|
|
152
|
+
# * +:logical_resource_id+ - (String)
|
|
153
|
+
# * +:physical_resource_id+ - (String)
|
|
154
|
+
# * +:resource_type+ - (String)
|
|
155
|
+
# * +:last_updated_timestamp+ - (Time)
|
|
156
|
+
# * +:resource_status+ - (String)
|
|
157
|
+
# * +:resource_status_reason+ - (String)
|
|
158
|
+
# * +:description+ - (String)
|
|
159
|
+
# * +:metadata+ - (String)
|
|
160
|
+
|
|
161
|
+
# @!method describe_stack_resources(options = {})
|
|
162
|
+
# Calls the DescribeStackResources API operation.
|
|
163
|
+
# @param [Hash] options
|
|
164
|
+
# * +:stack_name+ - (String) The name or the unique identifier
|
|
165
|
+
# associated with the stack. Required: Conditional. If you do not
|
|
166
|
+
# specify StackName, you must specify PhysicalResourceId. Default:
|
|
167
|
+
# There is no default value.
|
|
168
|
+
# * +:logical_resource_id+ - (String) The logical name of the resource
|
|
169
|
+
# as specified in the template. Default: There is no default value.
|
|
170
|
+
# * +:physical_resource_id+ - (String) The name or unique identifier
|
|
171
|
+
# that corresponds to a physical instance ID of a resource supported
|
|
172
|
+
# by AWS CloudFormation. For example, for an Amazon Elastic Compute
|
|
173
|
+
# Cloud (EC2) instance, PhysicalResourceId corresponds to the
|
|
174
|
+
# InstanceId. You can pass the EC2 InstanceId to
|
|
175
|
+
# DescribeStackResources to find which stack the instance belongs to
|
|
176
|
+
# and what other resources are part of the stack. Required:
|
|
177
|
+
# Conditional. If you do not specify PhysicalResourceId, you must
|
|
178
|
+
# specify StackName. Default: There is no default value.
|
|
179
|
+
# @return [Core::Response]
|
|
180
|
+
# The #data method of the response object returns
|
|
181
|
+
# a hash with the following structure:
|
|
182
|
+
# * +:stack_resources+ - (Array<Hash>)
|
|
183
|
+
# * +:stack_name+ - (String)
|
|
184
|
+
# * +:stack_id+ - (String)
|
|
185
|
+
# * +:logical_resource_id+ - (String)
|
|
186
|
+
# * +:physical_resource_id+ - (String)
|
|
187
|
+
# * +:resource_type+ - (String)
|
|
188
|
+
# * +:timestamp+ - (Time)
|
|
189
|
+
# * +:resource_status+ - (String)
|
|
190
|
+
# * +:resource_status_reason+ - (String)
|
|
191
|
+
# * +:description+ - (String)
|
|
192
|
+
|
|
193
|
+
# @!method describe_stacks(options = {})
|
|
194
|
+
# Calls the DescribeStacks API operation.
|
|
195
|
+
# @param [Hash] options
|
|
196
|
+
# * +:stack_name+ - (String) The name or the unique identifier
|
|
197
|
+
# associated with the stack. Default: There is no default value.
|
|
198
|
+
# * +:next_token+ - (String)
|
|
199
|
+
# @return [Core::Response]
|
|
200
|
+
# The #data method of the response object returns
|
|
201
|
+
# a hash with the following structure:
|
|
202
|
+
# * +:stacks+ - (Array<Hash>)
|
|
203
|
+
# * +:stack_id+ - (String)
|
|
204
|
+
# * +:stack_name+ - (String)
|
|
205
|
+
# * +:description+ - (String)
|
|
206
|
+
# * +:parameters+ - (Array<Hash>)
|
|
207
|
+
# * +:parameter_key+ - (String)
|
|
208
|
+
# * +:parameter_value+ - (String)
|
|
209
|
+
# * +:creation_time+ - (Time)
|
|
210
|
+
# * +:last_updated_time+ - (Time)
|
|
211
|
+
# * +:stack_status+ - (String)
|
|
212
|
+
# * +:stack_status_reason+ - (String)
|
|
213
|
+
# * +:disable_rollback+ - (Boolean)
|
|
214
|
+
# * +:notification_arns+ - (Array<String>)
|
|
215
|
+
# * +:timeout_in_minutes+ - (Integer)
|
|
216
|
+
# * +:capabilities+ - (Array<String>)
|
|
217
|
+
# * +:outputs+ - (Array<Hash>)
|
|
218
|
+
# * +:output_key+ - (String)
|
|
219
|
+
# * +:output_value+ - (String)
|
|
220
|
+
# * +:description+ - (String)
|
|
221
|
+
# * +:tags+ - (Array<Hash>)
|
|
222
|
+
# * +:key+ - (String)
|
|
223
|
+
# * +:value+ - (String)
|
|
224
|
+
# * +:next_token+ - (String)
|
|
225
|
+
|
|
226
|
+
# @!method estimate_template_cost(options = {})
|
|
227
|
+
# Calls the EstimateTemplateCost API operation.
|
|
228
|
+
# @param [Hash] options
|
|
229
|
+
# * +:template_body+ - (String) Structure containing the template body.
|
|
230
|
+
# (For more information, go to the AWS CloudFormation User Guide.)
|
|
231
|
+
# Conditional: You must pass TemplateBody or TemplateURL. If both are
|
|
232
|
+
# passed, only TemplateBody is used.
|
|
233
|
+
# * +:template_url+ - (String) Location of file containing the template
|
|
234
|
+
# body. The URL must point to a template located in an S3 bucket in
|
|
235
|
+
# the same region as the stack. For more information, go to the AWS
|
|
236
|
+
# CloudFormation User Guide. Conditional: You must pass TemplateURL
|
|
237
|
+
# or TemplateBody. If both are passed, only TemplateBody is used.
|
|
238
|
+
# * +:parameters+ - (Array<Hash>) A list of Parameter structures that
|
|
239
|
+
# specify input parameters.
|
|
240
|
+
# * +:parameter_key+ - (String) The key associated with the
|
|
241
|
+
# parameter.
|
|
242
|
+
# * +:parameter_value+ - (String) The value associated with the
|
|
243
|
+
# parameter.
|
|
244
|
+
# @return [Core::Response]
|
|
245
|
+
# The #data method of the response object returns
|
|
246
|
+
# a hash with the following structure:
|
|
247
|
+
# * +:url+ - (String)
|
|
248
|
+
|
|
249
|
+
# @!method get_template(options = {})
|
|
250
|
+
# Calls the GetTemplate API operation.
|
|
251
|
+
# @param [Hash] options
|
|
252
|
+
# * +:stack_name+ - *required* - (String) The name or the unique
|
|
253
|
+
# identifier associated with the stack.
|
|
254
|
+
# @return [Core::Response]
|
|
255
|
+
# The #data method of the response object returns
|
|
256
|
+
# a hash with the following structure:
|
|
257
|
+
# * +:template_body+ - (String)
|
|
258
|
+
|
|
259
|
+
# @!method list_stack_resources(options = {})
|
|
260
|
+
# Calls the ListStackResources API operation.
|
|
261
|
+
# @param [Hash] options
|
|
262
|
+
# * +:stack_name+ - *required* - (String) The name or the unique
|
|
263
|
+
# identifier associated with the stack. Default: There is no default
|
|
264
|
+
# value.
|
|
265
|
+
# * +:next_token+ - (String) String that identifies the start of the
|
|
266
|
+
# next list of stack resource summaries, if there is one. Default:
|
|
267
|
+
# There is no default value.
|
|
268
|
+
# @return [Core::Response]
|
|
269
|
+
# The #data method of the response object returns
|
|
270
|
+
# a hash with the following structure:
|
|
271
|
+
# * +:stack_resource_summaries+ - (Array<Hash>)
|
|
272
|
+
# * +:logical_resource_id+ - (String)
|
|
273
|
+
# * +:physical_resource_id+ - (String)
|
|
274
|
+
# * +:resource_type+ - (String)
|
|
275
|
+
# * +:last_updated_timestamp+ - (Time)
|
|
276
|
+
# * +:resource_status+ - (String)
|
|
277
|
+
# * +:resource_status_reason+ - (String)
|
|
278
|
+
# * +:next_token+ - (String)
|
|
279
|
+
|
|
280
|
+
# @!method list_stacks(options = {})
|
|
281
|
+
# Calls the ListStacks API operation.
|
|
282
|
+
# @param [Hash] options
|
|
283
|
+
# * +:next_token+ - (String) String that identifies the start of the
|
|
284
|
+
# next list of stacks, if there is one. Default: There is no default
|
|
285
|
+
# value.
|
|
286
|
+
# * +:stack_status_filter+ - (Array<String>) Stack status to use as a
|
|
287
|
+
# filter. Specify one or more stack status codes to list only stacks
|
|
288
|
+
# with the specified status codes. For a complete list of stack
|
|
289
|
+
# status codes, see the StackStatus parameter of the Stack data type.
|
|
290
|
+
# @return [Core::Response]
|
|
291
|
+
# The #data method of the response object returns
|
|
292
|
+
# a hash with the following structure:
|
|
293
|
+
# * +:stack_summaries+ - (Array<Hash>)
|
|
294
|
+
# * +:stack_id+ - (String)
|
|
295
|
+
# * +:stack_name+ - (String)
|
|
296
|
+
# * +:template_description+ - (String)
|
|
297
|
+
# * +:creation_time+ - (Time)
|
|
298
|
+
# * +:last_updated_time+ - (Time)
|
|
299
|
+
# * +:deletion_time+ - (Time)
|
|
300
|
+
# * +:stack_status+ - (String)
|
|
301
|
+
# * +:stack_status_reason+ - (String)
|
|
302
|
+
# * +:next_token+ - (String)
|
|
303
|
+
|
|
304
|
+
# @!method update_stack(options = {})
|
|
305
|
+
# Calls the UpdateStack API operation.
|
|
306
|
+
# @param [Hash] options
|
|
307
|
+
# * +:stack_name+ - *required* - (String) The name or stack ID of the
|
|
308
|
+
# stack to update. Must contain only alphanumeric characters (case
|
|
309
|
+
# sensitive) and start with an alpha character. Maximum length of the
|
|
310
|
+
# name is 255 characters.
|
|
311
|
+
# * +:template_body+ - (String) Structure containing the template body.
|
|
312
|
+
# (For more information, go to the AWS CloudFormation User Guide.)
|
|
313
|
+
# Conditional: You must pass TemplateBody or TemplateURL. If both are
|
|
314
|
+
# passed, only TemplateBody is used.
|
|
315
|
+
# * +:template_url+ - (String) Location of file containing the template
|
|
316
|
+
# body. The URL must point to a template located in an S3 bucket in
|
|
317
|
+
# the same region as the stack. For more information, go to the AWS
|
|
318
|
+
# CloudFormation User Guide. Conditional: You must pass TemplateURL
|
|
319
|
+
# or TemplateBody. If both are passed, only TemplateBody is used.
|
|
320
|
+
# * +:parameters+ - (Array<Hash>) A list of Parameter structures that
|
|
321
|
+
# specify input parameters for the stack.
|
|
322
|
+
# * +:parameter_key+ - (String) The key associated with the
|
|
323
|
+
# parameter.
|
|
324
|
+
# * +:parameter_value+ - (String) The value associated with the
|
|
325
|
+
# parameter.
|
|
326
|
+
# * +:capabilities+ - (Array<String>) The list of capabilities that you
|
|
327
|
+
# want to allow in the stack. If your stack contains IAM resources,
|
|
328
|
+
# you must specify the CAPABILITY_IAM value for this parameter;
|
|
329
|
+
# otherwise, this action returns an InsufficientCapabilities error.
|
|
330
|
+
# IAM resources are the following: AWS::IAM::AccessKey,
|
|
331
|
+
# AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::User, and
|
|
332
|
+
# AWS::IAM::UserToGroupAddition.
|
|
333
|
+
# @return [Core::Response]
|
|
334
|
+
# The #data method of the response object returns
|
|
335
|
+
# a hash with the following structure:
|
|
336
|
+
# * +:stack_id+ - (String)
|
|
337
|
+
|
|
338
|
+
# @!method validate_template(options = {})
|
|
339
|
+
# Calls the ValidateTemplate API operation.
|
|
340
|
+
# @param [Hash] options
|
|
341
|
+
# * +:template_body+ - (String) String containing the template body.
|
|
342
|
+
# (For more information, go to the AWS CloudFormation User Guide.)
|
|
343
|
+
# Conditional: You must pass TemplateURL or TemplateBody. If both are
|
|
344
|
+
# passed, only TemplateBody is used.
|
|
345
|
+
# * +:template_url+ - (String) Location of file containing the template
|
|
346
|
+
# body. The URL must point to a template (max size: 307,200 bytes)
|
|
347
|
+
# located in an S3 bucket in the same region as the stack. For more
|
|
348
|
+
# information, go to the AWS CloudFormation User Guide. Conditional:
|
|
349
|
+
# You must pass TemplateURL or TemplateBody. If both are passed, only
|
|
350
|
+
# TemplateBody is used.
|
|
351
|
+
# @return [Core::Response]
|
|
352
|
+
# The #data method of the response object returns
|
|
353
|
+
# a hash with the following structure:
|
|
354
|
+
# * +:parameters+ - (Array<Hash>)
|
|
355
|
+
# * +:parameter_key+ - (String)
|
|
356
|
+
# * +:default_value+ - (String)
|
|
357
|
+
# * +:no_echo+ - (Boolean)
|
|
358
|
+
# * +:description+ - (String)
|
|
359
|
+
# * +:description+ - (String)
|
|
360
|
+
# * +:capabilities+ - (Array<String>)
|
|
361
|
+
# * +:capabilities_reason+ - (String)
|
|
362
|
+
|
|
363
|
+
# end client methods #
|
|
364
|
+
|
|
365
|
+
define_client_methods('2010-05-15')
|
|
366
|
+
|
|
367
|
+
end
|
|
368
|
+
end
|
|
369
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
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
|
+
AWS::Core::Configuration.module_eval do
|
|
15
|
+
|
|
16
|
+
add_service 'CloudFormation', 'cloud_formation', 'cloudformation.us-east-1.amazonaws.com'
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
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 CloudFormation
|
|
16
|
+
module Errors
|
|
17
|
+
|
|
18
|
+
extend Core::LazyErrorClasses
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
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 CloudFormation
|
|
16
|
+
|
|
17
|
+
# @private
|
|
18
|
+
class Request < Core::Http::Request
|
|
19
|
+
|
|
20
|
+
include Core::Signature::Version4
|
|
21
|
+
|
|
22
|
+
def service
|
|
23
|
+
'cloudformation'
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,255 @@
|
|
|
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
|
+
|
|
15
|
+
module AWS
|
|
16
|
+
class CloudFormation
|
|
17
|
+
|
|
18
|
+
# @attr_reader [String] template Returns the stack's template as a JSON
|
|
19
|
+
# string.
|
|
20
|
+
#
|
|
21
|
+
# @attr_reader [Time] creation_time The time the stack was created.
|
|
22
|
+
#
|
|
23
|
+
# @attr_reader [Time,nil] last_updated_time The time the stack was
|
|
24
|
+
# last updated.
|
|
25
|
+
#
|
|
26
|
+
# @attr_reader [String] stack_id Unique stack identifier.
|
|
27
|
+
#
|
|
28
|
+
# @attr_reader [String] status The status of the stack.
|
|
29
|
+
#
|
|
30
|
+
# @attr_reader [String] status_reason Success/Failure message
|
|
31
|
+
# associated with the +status+.
|
|
32
|
+
#
|
|
33
|
+
# @attr_reader [Array<String>] capabilities The capabilities
|
|
34
|
+
# allowed in the stack.
|
|
35
|
+
#
|
|
36
|
+
# @attr_reader [String] description User defined description
|
|
37
|
+
# associated with the stack.
|
|
38
|
+
#
|
|
39
|
+
# @attr_reader [Boolean] disable_rollback Specifies if the stack
|
|
40
|
+
# is rolled back due to stack creation errors.
|
|
41
|
+
#
|
|
42
|
+
# @attr_reader [Array<String>] notification_arns
|
|
43
|
+
# SNS topic ARNs to which stack related events are published.
|
|
44
|
+
#
|
|
45
|
+
# @attr_reader [Hash] parameters Returns a hash of stack parameters.
|
|
46
|
+
#
|
|
47
|
+
# @attr_reader [Integer] timeout
|
|
48
|
+
# The number of minutes within the stack creation should complete.
|
|
49
|
+
#
|
|
50
|
+
class Stack < Core::Resource
|
|
51
|
+
|
|
52
|
+
include StackOptions
|
|
53
|
+
|
|
54
|
+
# @private
|
|
55
|
+
def initialize name, options = {}
|
|
56
|
+
@name = name
|
|
57
|
+
super
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# @return [String] Returns the stack name.
|
|
61
|
+
attr_reader :name
|
|
62
|
+
|
|
63
|
+
define_attribute_type :template
|
|
64
|
+
|
|
65
|
+
define_attribute_type :describe
|
|
66
|
+
|
|
67
|
+
## returned by GetTemplate
|
|
68
|
+
|
|
69
|
+
template_attribute :template, :from => :template_body
|
|
70
|
+
|
|
71
|
+
alias_method :template_body, :template
|
|
72
|
+
|
|
73
|
+
## returned by DescribeStacks
|
|
74
|
+
|
|
75
|
+
describe_attribute :creation_time, :static => true
|
|
76
|
+
|
|
77
|
+
describe_attribute :last_updated_time
|
|
78
|
+
|
|
79
|
+
describe_attribute :stack_id, :static => true
|
|
80
|
+
|
|
81
|
+
describe_attribute :status, :from => :stack_status
|
|
82
|
+
|
|
83
|
+
describe_attribute :status_reason, :from => :stack_status_reason
|
|
84
|
+
|
|
85
|
+
describe_attribute :capabilities
|
|
86
|
+
|
|
87
|
+
describe_attribute :description
|
|
88
|
+
|
|
89
|
+
describe_attribute :disable_rollback, :from => :disable_rollback?
|
|
90
|
+
|
|
91
|
+
alias_method :disable_rollback?, :disable_rollback
|
|
92
|
+
|
|
93
|
+
describe_attribute :notification_arns
|
|
94
|
+
|
|
95
|
+
describe_attribute :output_details, :from => :outputs
|
|
96
|
+
|
|
97
|
+
protected :output_details
|
|
98
|
+
|
|
99
|
+
describe_attribute :parameters do
|
|
100
|
+
translates_output do |params|
|
|
101
|
+
params.inject({}) do |hash,param|
|
|
102
|
+
hash.merge(param[:parameter_key] => param[:parameter_value])
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
describe_attribute :timeout, :from => :timeout_in_minutes
|
|
108
|
+
|
|
109
|
+
alias_method :timeout_in_minutes, :timeout
|
|
110
|
+
|
|
111
|
+
## attribute providers
|
|
112
|
+
|
|
113
|
+
provider(:describe_stacks) do |provider|
|
|
114
|
+
provider.find do |resp|
|
|
115
|
+
resp.data[:stacks].find{|stack| stack[:stack_name] == name }
|
|
116
|
+
end
|
|
117
|
+
provider.provides *describe_attributes.keys
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
provider(:get_template) do |provider|
|
|
121
|
+
provider.find do |resp|
|
|
122
|
+
resp if resp.request_options[:stack_name] == name
|
|
123
|
+
end
|
|
124
|
+
provider.provides *template_attributes.keys
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# @return [Array<StackOutput>]
|
|
128
|
+
def outputs
|
|
129
|
+
output_details.collect do |o|
|
|
130
|
+
key, value, desc = o.values_at(:output_key, :output_value, :description)
|
|
131
|
+
StackOutput.new(self, key, value, desc)
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# @return [StackEventCollection] Returns a collection that represents
|
|
136
|
+
# all events for this stack.
|
|
137
|
+
def events
|
|
138
|
+
StackEventCollection.new(self)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# Returns a stack resource collection that enumerates all resources
|
|
142
|
+
# for this stack.
|
|
143
|
+
#
|
|
144
|
+
# stack.resources.each do |resource|
|
|
145
|
+
# puts "#{resource.resource_type}: #{resource.physical_resource_id}"
|
|
146
|
+
# end
|
|
147
|
+
#
|
|
148
|
+
# If you want a specific resource and you know its logical resource
|
|
149
|
+
# id, you can use this collection to return a reference to it.
|
|
150
|
+
#
|
|
151
|
+
# resource = stack.resources['logical-resource-id']
|
|
152
|
+
#
|
|
153
|
+
# @return [StackResourceCollection]
|
|
154
|
+
#
|
|
155
|
+
def resources
|
|
156
|
+
StackResourceCollection.new(self)
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
# Returns a stack resource summary collection, that when enumerated
|
|
160
|
+
# yields summary hashes. Each hash has the following keys:
|
|
161
|
+
#
|
|
162
|
+
# * +:last_updated_timestamp+
|
|
163
|
+
# * +:logical_resource_id+
|
|
164
|
+
# * +:physical_resource_id+
|
|
165
|
+
# * +:resource_status+
|
|
166
|
+
# * +:resource_status_reason+
|
|
167
|
+
# * +:resource_type+
|
|
168
|
+
#
|
|
169
|
+
# @return [StackResourceSummaryCollection]
|
|
170
|
+
#
|
|
171
|
+
def resource_summaries
|
|
172
|
+
StackResourceSummaryCollection.new(self)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
# @param [Hash] options
|
|
176
|
+
#
|
|
177
|
+
# @option options [String,URI,S3::S3Object,Object] :template
|
|
178
|
+
# A new stack template. This may be provided in a number of formats
|
|
179
|
+
# including:
|
|
180
|
+
#
|
|
181
|
+
# * a String, containing the template as a JSON document.
|
|
182
|
+
# * a URL String pointing to the document in S3.
|
|
183
|
+
# * a URI object pointing to the document in S3.
|
|
184
|
+
# * an {S3::S3Object} which contains the template.
|
|
185
|
+
# * an Object which responds to #to_json and returns the template.
|
|
186
|
+
#
|
|
187
|
+
# @option options [Hash] :parameters A hash that specifies the
|
|
188
|
+
# input parameters of the new stack.
|
|
189
|
+
#
|
|
190
|
+
# @option options[Array<String>] :capabilities The list of capabilities
|
|
191
|
+
# that you want to allow in the stack. If your stack contains IAM
|
|
192
|
+
# resources, you must specify the CAPABILITY_IAM value for this
|
|
193
|
+
# parameter; otherwise, this action returns an
|
|
194
|
+
# InsufficientCapabilities error. IAM resources are the following:
|
|
195
|
+
#
|
|
196
|
+
# * AWS::IAM::AccessKey
|
|
197
|
+
# * AWS::IAM::Group
|
|
198
|
+
# * AWS::IAM::Policy
|
|
199
|
+
# * AWS::IAM::User
|
|
200
|
+
# * AWS::IAM::UserToGroupAddition
|
|
201
|
+
#
|
|
202
|
+
# @return [nil]
|
|
203
|
+
#
|
|
204
|
+
def update options = {}
|
|
205
|
+
client_opts = options.dup
|
|
206
|
+
|
|
207
|
+
apply_stack_name(name, client_opts)
|
|
208
|
+
apply_template(client_opts)
|
|
209
|
+
apply_parameters(client_opts)
|
|
210
|
+
|
|
211
|
+
client.update_stack(client_opts)
|
|
212
|
+
|
|
213
|
+
nil
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# @return (see CloudFormation#estimate_template_cost)
|
|
217
|
+
def estimate_template_cost
|
|
218
|
+
cloud_formation = CloudFormation.new(:config => config)
|
|
219
|
+
cloud_formation.estimate_template_cost(template, parameters)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Deletes the current stack.
|
|
223
|
+
# @return [nil]
|
|
224
|
+
def delete
|
|
225
|
+
client.delete_stack(:stack_name => name)
|
|
226
|
+
nil
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
# @return [Boolean]
|
|
230
|
+
def exists?
|
|
231
|
+
begin
|
|
232
|
+
client.describe_stacks(resource_options)
|
|
233
|
+
true
|
|
234
|
+
rescue Errors::ValidationError
|
|
235
|
+
false
|
|
236
|
+
end
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
protected
|
|
240
|
+
|
|
241
|
+
def resource_identifiers
|
|
242
|
+
[[:stack_name, name]]
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
def get_resource attribute
|
|
246
|
+
if attribute.name == :template
|
|
247
|
+
client.get_template(resource_options)
|
|
248
|
+
else
|
|
249
|
+
client.describe_stacks(resource_options)
|
|
250
|
+
end
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
end
|