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,81 @@
|
|
|
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 SimpleEmailService
|
|
16
|
+
class IdentityCollection
|
|
17
|
+
|
|
18
|
+
include Core::Collection::WithLimitAndNextToken
|
|
19
|
+
|
|
20
|
+
# @private
|
|
21
|
+
def initialize options = {}
|
|
22
|
+
@type = options[:type]
|
|
23
|
+
super
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Request verification for an email address or a domain.
|
|
27
|
+
# @param [String] email_or_domain
|
|
28
|
+
# @return [Identity] Returns an {Identity} object. Identities for
|
|
29
|
+
# domains will have a #verification_token.
|
|
30
|
+
def verify email_or_domain
|
|
31
|
+
|
|
32
|
+
resp = email_or_domain =~ /@/ ?
|
|
33
|
+
client.verify_email_identity(:email_address => email_or_domain) :
|
|
34
|
+
client.verify_domain_identity(:domain => email_or_domain)
|
|
35
|
+
|
|
36
|
+
Identity.new(email_or_domain,
|
|
37
|
+
:verification_token => resp.data[:verification_token],
|
|
38
|
+
:config => config)
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
alias_method :create, :verify
|
|
42
|
+
|
|
43
|
+
# @param [String] email_or_domain
|
|
44
|
+
# @return [DomainIdentity,EmailIdentity] Returns an {Identity} with
|
|
45
|
+
# the given email address or domain name.
|
|
46
|
+
def [] email_or_domain
|
|
47
|
+
Identity.new(email_or_domain, :config => config)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# @return [IdentityCollection] Returns a collection that only
|
|
51
|
+
# enumerates email addresses.
|
|
52
|
+
def email_addresses
|
|
53
|
+
self.class.new(:type => 'EmailAddress', :config => config)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# @return [IdentityCollection] Returns a collection that only
|
|
57
|
+
# enumerates domains.
|
|
58
|
+
def domains
|
|
59
|
+
self.class.new(:type => 'Domain', :config => config)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
protected
|
|
63
|
+
|
|
64
|
+
def _each_item next_token, limit, options = {}, &block
|
|
65
|
+
|
|
66
|
+
options[:max_items] = limit if limit
|
|
67
|
+
options[:next_token] = next_token if next_token
|
|
68
|
+
options[:identity_type] = @type if @type
|
|
69
|
+
|
|
70
|
+
resp = client.list_identities(options)
|
|
71
|
+
resp.data[:identities].each do |identity|
|
|
72
|
+
yield(self[identity])
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
resp.data[:next_token]
|
|
76
|
+
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
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 SimpleEmailService
|
|
16
|
+
|
|
17
|
+
# Returns information about your SimpleEmailService quotas.
|
|
18
|
+
class Quotas
|
|
19
|
+
|
|
20
|
+
include Core::Model
|
|
21
|
+
|
|
22
|
+
# @return [Integer] The maximum number of emails the user is allowed
|
|
23
|
+
# to send in a 24-hour interval.
|
|
24
|
+
def max_24_hour_send
|
|
25
|
+
to_h[:max_24_hour_send]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @return [Float] The maximum number of emails the user is allowed
|
|
29
|
+
# to send per second.
|
|
30
|
+
def max_send_rate
|
|
31
|
+
to_h[:max_send_rate]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# @return [Integer] Returns the number of emails sent during the
|
|
35
|
+
# previous 24 hours.
|
|
36
|
+
def sent_last_24_hours
|
|
37
|
+
to_h[:sent_last_24_hours]
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Returns a hash of the SES quotas.
|
|
41
|
+
#
|
|
42
|
+
# @ses.quotas.to_hash
|
|
43
|
+
# # {:max_24_hour_send=>200, :max_send_rate=>1.0, :sent_last_24_hours=>22}
|
|
44
|
+
#
|
|
45
|
+
# @return [Hash]
|
|
46
|
+
#
|
|
47
|
+
def to_hash
|
|
48
|
+
response = client.get_send_quota
|
|
49
|
+
{
|
|
50
|
+
:max_24_hour_send => response.max_24_hour_send.to_i,
|
|
51
|
+
:max_send_rate => response.max_send_rate.to_f,
|
|
52
|
+
:sent_last_24_hours => response.sent_last_24_hours.to_i,
|
|
53
|
+
}
|
|
54
|
+
end
|
|
55
|
+
alias_method :to_h, :to_hash
|
|
56
|
+
|
|
57
|
+
# @private
|
|
58
|
+
def inspect
|
|
59
|
+
"<#{self.class} #{to_hash.inspect}>"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
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 SimpleEmailService
|
|
16
|
+
# @private
|
|
17
|
+
class Request < Core::Http::Request
|
|
18
|
+
|
|
19
|
+
include Core::Signature::Version4
|
|
20
|
+
|
|
21
|
+
def service
|
|
22
|
+
'ses'
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Copyright 2011-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License"). You
|
|
4
|
+
# may not use this file except in compliance with the License. A copy of
|
|
5
|
+
# the License is located at
|
|
6
|
+
#
|
|
7
|
+
# http://aws.amazon.com/apache2.0/
|
|
8
|
+
#
|
|
9
|
+
# or in the "license" file accompanying this file. This file is
|
|
10
|
+
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
|
|
11
|
+
# ANY KIND, either express or implied. See the License for the specific
|
|
12
|
+
# language governing permissions and limitations under the License.
|
|
13
|
+
|
|
14
|
+
require 'aws/core'
|
|
15
|
+
require 'aws/simple_workflow/config'
|
|
16
|
+
|
|
17
|
+
module AWS
|
|
18
|
+
|
|
19
|
+
# This is the starting point for working with Amazon Simple Workflow Service.
|
|
20
|
+
#
|
|
21
|
+
# = Domains
|
|
22
|
+
#
|
|
23
|
+
# To get started, you need to first create a domain. Domains are used to
|
|
24
|
+
# organize related tasks and activities.
|
|
25
|
+
#
|
|
26
|
+
# swf = AWS::SimpleWorkflow.new
|
|
27
|
+
#
|
|
28
|
+
# # name the domain and specify the retention period (in days)
|
|
29
|
+
# domain = swf.domains.create('my-domain', 10)
|
|
30
|
+
#
|
|
31
|
+
# You can reference existing domains as well.
|
|
32
|
+
#
|
|
33
|
+
# domain = swf.domains['my-domain']
|
|
34
|
+
#
|
|
35
|
+
# = Workflow and Activity Types
|
|
36
|
+
#
|
|
37
|
+
# Once you have a domain you can create a workflow and
|
|
38
|
+
# activity types. Both types (workflow and activity) are templates that
|
|
39
|
+
# can be used to start workflow executions or schedule activity tasks.
|
|
40
|
+
#
|
|
41
|
+
# Workflow and Activity types both have a number of default values
|
|
42
|
+
# (e.g. default task list, timeouts, etc). If you do not specify these
|
|
43
|
+
# optional default values when creating the type, you *MUST* specify
|
|
44
|
+
# the actual values when starting a workflow execution or scheduling
|
|
45
|
+
# an activity task.
|
|
46
|
+
#
|
|
47
|
+
# == Sample Workflow type and activity type
|
|
48
|
+
#
|
|
49
|
+
# # register an workflow type with the version id '1'
|
|
50
|
+
# workflow_type = domain.workflow_types.create('my-long-processes', '1',
|
|
51
|
+
# :default_task_list => 'my-task-list',
|
|
52
|
+
# :default_child_policy => :request_cancel,
|
|
53
|
+
# :default_task_start_to_close_timeout => 3600,
|
|
54
|
+
# :default_execution_start_to_close_timeout => 24 * 3600)
|
|
55
|
+
#
|
|
56
|
+
# # register an activity type, with the version id '1'
|
|
57
|
+
# activity_type = domain.activity_types.create('do-something', '1',
|
|
58
|
+
# :default_task_list => 'my-task-list',
|
|
59
|
+
# :default_task_heartbeat_timeout => 900,
|
|
60
|
+
# :default_task_schedule_to_start_timeout => 60,
|
|
61
|
+
# :default_task_schedule_to_close_timeout => 3660,
|
|
62
|
+
# :default_task_start_to_close_timeout => 3600)
|
|
63
|
+
#
|
|
64
|
+
# = Starting a Workflow Execution
|
|
65
|
+
#
|
|
66
|
+
# Once you have a domain and at least one workflow type you can
|
|
67
|
+
# start a workflow execution. You may provide a workflow id, or a
|
|
68
|
+
# random one will be generated. You may also provide optional
|
|
69
|
+
# input and override any of the defaults registered with the
|
|
70
|
+
# workflow type.
|
|
71
|
+
#
|
|
72
|
+
# workflow_execution = workflow_type.start_execution :input => '...'
|
|
73
|
+
#
|
|
74
|
+
# workflow_execution.workflow_id #=> "5abbdd75-70c7-4af3-a324-742cd29267c2"
|
|
75
|
+
# workflow_execution.run_id #=> "325a8c34-d133-479e-9ecf-5a61286d165f"
|
|
76
|
+
#
|
|
77
|
+
# = Decision Tasks
|
|
78
|
+
#
|
|
79
|
+
# Once a workflow execution has been started, it will start to generate
|
|
80
|
+
# decision tasks. You poll for decision tasks from a task list.
|
|
81
|
+
# Yielded decision tasks provide access to the history of events
|
|
82
|
+
# for the workflow execution. You can also enumerate only new
|
|
83
|
+
# events since the last decision.
|
|
84
|
+
#
|
|
85
|
+
# To make decisions you call methods from the list below. You can call
|
|
86
|
+
# any number of decision methods any number of times.
|
|
87
|
+
#
|
|
88
|
+
# * schedule_activity_task
|
|
89
|
+
# * request_cancel_activity_task
|
|
90
|
+
# * complete_workflow_execution
|
|
91
|
+
# * fail_workflow_execution
|
|
92
|
+
# * cancel_workflow_execution
|
|
93
|
+
# * continue_as_new_workflow_execution
|
|
94
|
+
# * record_marker
|
|
95
|
+
# * start_timer
|
|
96
|
+
# * cancel_timer
|
|
97
|
+
# * signal_external_workflow_execution
|
|
98
|
+
# * request_cancel_external_workflow_execution workflow_execution, options = {}
|
|
99
|
+
# * start_child_workflow_execution workflow_type, options = {}
|
|
100
|
+
#
|
|
101
|
+
# This sample gets a decision task and responds based on the events
|
|
102
|
+
# by scheduling an activity task or completing the workflow execution.
|
|
103
|
+
#
|
|
104
|
+
# # poll for decision tasks from 'my-task-list'
|
|
105
|
+
# domain.decision_tasks.poll('my-task-list') do |task|
|
|
106
|
+
#
|
|
107
|
+
# # investigate new events and make decisions
|
|
108
|
+
# task.new_events.each do |event|
|
|
109
|
+
# case event.event_type
|
|
110
|
+
# when 'WorkflowExecutionStarted'
|
|
111
|
+
# task.schedule_activity_task 'do-something', :input => 'abc xyz'
|
|
112
|
+
# when 'ActivityTaskCompleted'
|
|
113
|
+
# task.complete_workflow_execution :result => event.attributes.result
|
|
114
|
+
# end
|
|
115
|
+
# end
|
|
116
|
+
#
|
|
117
|
+
# end # decision task is completed here
|
|
118
|
+
#
|
|
119
|
+
# When you are done calling decision methods, you need to complete the
|
|
120
|
+
# decision task. This is done by default if you pass a block to
|
|
121
|
+
# +poll+ or +poll_for_single_task+.
|
|
122
|
+
#
|
|
123
|
+
# = Activity Tasks
|
|
124
|
+
#
|
|
125
|
+
# The only way to spawn activity tasks is to call +schedule_activity_task+
|
|
126
|
+
# on a decision task. Scheduled activity tasks are returned when you
|
|
127
|
+
# poll for activity tasks.
|
|
128
|
+
#
|
|
129
|
+
# # poll 'my-task-list' for activities
|
|
130
|
+
# domain.activity_tasks.poll('my-task-list') do |activity_task|
|
|
131
|
+
#
|
|
132
|
+
# case activity_task.activity_type.name
|
|
133
|
+
# when 'do-something'
|
|
134
|
+
# # ...
|
|
135
|
+
# else
|
|
136
|
+
# activity_task.fail! :reason => 'unknown activity task type'
|
|
137
|
+
# end
|
|
138
|
+
#
|
|
139
|
+
# end
|
|
140
|
+
#
|
|
141
|
+
# == Activity Task Heartbeats
|
|
142
|
+
#
|
|
143
|
+
# When you receive an activity task, you need to update the service
|
|
144
|
+
# with status messages. This is called recording a heartbeat.#
|
|
145
|
+
# To record a heartbeat, just call {ActivityTask#record_heartbeat!}.
|
|
146
|
+
# When you call +record_heartbeat+ you should rescue
|
|
147
|
+
# {ActivityTask::CancelRequestedError}. These are thrown when a task
|
|
148
|
+
# should be canceled. You can cleanup the task and then call
|
|
149
|
+
# +cancel!+ when you are finished.
|
|
150
|
+
#
|
|
151
|
+
# # poll 'my-task-list' for activities
|
|
152
|
+
# domain.activity_tasks.poll('my-task-list') do |activity_task|
|
|
153
|
+
# begin
|
|
154
|
+
#
|
|
155
|
+
# # do stuff ...
|
|
156
|
+
#
|
|
157
|
+
# activity_task.record_heartbeat! :details => '25%'
|
|
158
|
+
#
|
|
159
|
+
# # do more stuff ...
|
|
160
|
+
#
|
|
161
|
+
# activity_task.record_heartbeat! :details => '50%'
|
|
162
|
+
#
|
|
163
|
+
# # do more stuff ...
|
|
164
|
+
#
|
|
165
|
+
# activity_task.record_heartbeat! :details => '75%'
|
|
166
|
+
#
|
|
167
|
+
# # do more stuff ...
|
|
168
|
+
#
|
|
169
|
+
# rescue ActivityTask::CancelRequestedError
|
|
170
|
+
# # cleanup after ourselves
|
|
171
|
+
# activity_task.cancel!
|
|
172
|
+
# end
|
|
173
|
+
# end
|
|
174
|
+
#
|
|
175
|
+
# Like decision tasks, activity tasks are auto-completed at the
|
|
176
|
+
# end of a poll block.
|
|
177
|
+
#
|
|
178
|
+
# = History Events
|
|
179
|
+
#
|
|
180
|
+
# You might want to view the event history for a running workflow
|
|
181
|
+
# execution. You can get a workflow execution by its workflow
|
|
182
|
+
# id (you may optionally provide the run id as well).
|
|
183
|
+
#
|
|
184
|
+
# execution = domain.workflow_executions['workflow-id']
|
|
185
|
+
# execution.events.each do |event|
|
|
186
|
+
# puts event.attributes.to_h.inspect
|
|
187
|
+
# end
|
|
188
|
+
#
|
|
189
|
+
# See {HistoryEvent} and {HistoryEvent::Attributes} for more information.
|
|
190
|
+
#
|
|
191
|
+
# @!attribute [r] client
|
|
192
|
+
# @return [Client] the low-level SimpleWorkflow client object
|
|
193
|
+
class SimpleWorkflow
|
|
194
|
+
|
|
195
|
+
AWS.register_autoloads(self, 'aws/simple_workflow') do
|
|
196
|
+
autoload :ActivityType, 'activity_type'
|
|
197
|
+
autoload :ActivityTypeCollection, 'activity_type_collection'
|
|
198
|
+
autoload :ActivityTask, 'activity_task'
|
|
199
|
+
autoload :ActivityTaskCollection, 'activity_task_collection'
|
|
200
|
+
autoload :Client, 'client'
|
|
201
|
+
autoload :Count, 'count'
|
|
202
|
+
autoload :DecisionTask, 'decision_task'
|
|
203
|
+
autoload :DecisionTaskCollection, 'decision_task_collection'
|
|
204
|
+
autoload :Domain, 'domain'
|
|
205
|
+
autoload :DomainCollection, 'domain_collection'
|
|
206
|
+
autoload :Errors, 'errors'
|
|
207
|
+
autoload :HistoryEvent, 'history_event'
|
|
208
|
+
autoload :HistoryEventCollection, 'history_event_collection'
|
|
209
|
+
autoload :OptionFormatters, 'option_formatters'
|
|
210
|
+
autoload :Request, 'request'
|
|
211
|
+
autoload :Resource, 'resource'
|
|
212
|
+
autoload :Type, 'type'
|
|
213
|
+
autoload :TypeCollection, 'type_collection'
|
|
214
|
+
autoload :WorkflowExecution, 'workflow_execution'
|
|
215
|
+
autoload :WorkflowExecutionCollection, 'workflow_execution_collection'
|
|
216
|
+
autoload :WorkflowType, 'workflow_type'
|
|
217
|
+
autoload :WorkflowTypeCollection, 'workflow_type_collection'
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
include Core::ServiceInterface
|
|
221
|
+
|
|
222
|
+
# @return [DomainCollection]
|
|
223
|
+
def domains
|
|
224
|
+
DomainCollection.new(:config => config)
|
|
225
|
+
end
|
|
226
|
+
|
|
227
|
+
end
|
|
228
|
+
end
|
|
@@ -0,0 +1,173 @@
|
|
|
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 SimpleWorkflow
|
|
16
|
+
class ActivityTask
|
|
17
|
+
|
|
18
|
+
# Raised by {ActivityTask#record_heartbeat!} when this activity
|
|
19
|
+
# task has received a cancellation request.
|
|
20
|
+
class CancelRequestedError < StandardError; end
|
|
21
|
+
|
|
22
|
+
include Core::Model
|
|
23
|
+
|
|
24
|
+
# @private
|
|
25
|
+
def initialize domain, data, options = {}
|
|
26
|
+
|
|
27
|
+
@domain = domain
|
|
28
|
+
|
|
29
|
+
@task_token = data['taskToken']
|
|
30
|
+
@activity_id = data['activityId']
|
|
31
|
+
@started_event_id = data['startedEventId']
|
|
32
|
+
@input = data['input']
|
|
33
|
+
|
|
34
|
+
name = data['activityType']['name']
|
|
35
|
+
version = data['activityType']['version']
|
|
36
|
+
@activity_type = domain.activity_types[name,version]
|
|
37
|
+
|
|
38
|
+
workflow_id = data['workflowExecution']['workflowId']
|
|
39
|
+
run_id = data['workflowExecution']['runId']
|
|
40
|
+
@workflow_execution = domain.workflow_executions[workflow_id,run_id]
|
|
41
|
+
|
|
42
|
+
super
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# @return [String] The opaque string used as a handle on the task.
|
|
47
|
+
attr_reader :task_token
|
|
48
|
+
|
|
49
|
+
# @return [String] The unique identifier of this task.
|
|
50
|
+
attr_reader :activity_id
|
|
51
|
+
|
|
52
|
+
# @return [Domain] The domain this task was scheduled in.
|
|
53
|
+
attr_reader :domain
|
|
54
|
+
|
|
55
|
+
# @return [Integer] The id of the ActivityTaskStarted event recorded
|
|
56
|
+
# in the history.
|
|
57
|
+
attr_reader :started_event_id
|
|
58
|
+
|
|
59
|
+
# @return [String,nil] The input provided when the activity task was
|
|
60
|
+
# scheduled.
|
|
61
|
+
attr_reader :input
|
|
62
|
+
|
|
63
|
+
# @return [ActivityType]
|
|
64
|
+
attr_reader :activity_type
|
|
65
|
+
|
|
66
|
+
# @return [WorkflowExecution]
|
|
67
|
+
attr_reader :workflow_execution
|
|
68
|
+
|
|
69
|
+
# Reports to the service that the activity task is progressing.
|
|
70
|
+
#
|
|
71
|
+
# You can optionally specify +:details+ that describe the progress.
|
|
72
|
+
# This might be a percentage competition, step number, etc.
|
|
73
|
+
#
|
|
74
|
+
# activity_task.record_heartbeat! :details => '.75' # 75% complete
|
|
75
|
+
#
|
|
76
|
+
# If the activity task has been canceled since it was received or
|
|
77
|
+
# since the last recorded heartbeat, this method will raise
|
|
78
|
+
# a CancelRequestedError.
|
|
79
|
+
#
|
|
80
|
+
# If you are processing the activity task inside a block passed
|
|
81
|
+
# to one of the polling methods in {ActivityTaskCollection}
|
|
82
|
+
# then untrapped CancelRequestedErrors are caught
|
|
83
|
+
# and responded to automatically.
|
|
84
|
+
#
|
|
85
|
+
# domain.activity_tasks.poll('task-list') do |task|
|
|
86
|
+
#
|
|
87
|
+
# task.record_heartbeat! # raises CancelRequestedError
|
|
88
|
+
#
|
|
89
|
+
# end # traps the error and responds activity task canceled.
|
|
90
|
+
#
|
|
91
|
+
# If you need to cleanup or provide additional details in the
|
|
92
|
+
# cancellation response, you can trap the error and
|
|
93
|
+
# respond manually.
|
|
94
|
+
#
|
|
95
|
+
# domain.activity_tasks.poll('task-list') do |task|
|
|
96
|
+
#
|
|
97
|
+
# task.record_heartbeat! # raises CancelRequestedError
|
|
98
|
+
#
|
|
99
|
+
# rescue CancelRequestedError => e
|
|
100
|
+
#
|
|
101
|
+
# # cleanup
|
|
102
|
+
#
|
|
103
|
+
# task.respond_canceled! :details => '...'
|
|
104
|
+
#
|
|
105
|
+
# end
|
|
106
|
+
#
|
|
107
|
+
# @param [Hash] options
|
|
108
|
+
#
|
|
109
|
+
# @option options [String] :details (nil)
|
|
110
|
+
# If specified, contains details about the progress of the task.
|
|
111
|
+
#
|
|
112
|
+
def record_heartbeat! options = {}
|
|
113
|
+
|
|
114
|
+
client_opts = {}
|
|
115
|
+
client_opts[:task_token] = task_token
|
|
116
|
+
client_opts[:details] = options[:details] if options[:details]
|
|
117
|
+
|
|
118
|
+
response = client.record_activity_task_heartbeat(client_opts)
|
|
119
|
+
|
|
120
|
+
raise CancelRequestedError if response.data['cancelRequested']
|
|
121
|
+
|
|
122
|
+
nil
|
|
123
|
+
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# @param [Hash] options
|
|
127
|
+
#
|
|
128
|
+
# @option options [String] :result (nil)
|
|
129
|
+
#
|
|
130
|
+
# @return [nil]
|
|
131
|
+
#
|
|
132
|
+
def complete! options = {}
|
|
133
|
+
respond :completed, options
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# @param [Hash] options
|
|
137
|
+
#
|
|
138
|
+
# @option options [String] :details (nil)
|
|
139
|
+
#
|
|
140
|
+
# @return [nil]
|
|
141
|
+
#
|
|
142
|
+
def cancel! options = {}
|
|
143
|
+
respond :canceled, options
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# @param [Hash] options
|
|
147
|
+
#
|
|
148
|
+
# @option options [String] :details (nil)
|
|
149
|
+
#
|
|
150
|
+
# @option options [String] :reason (nil)
|
|
151
|
+
#
|
|
152
|
+
# @return [nil]
|
|
153
|
+
#
|
|
154
|
+
def fail! options = {}
|
|
155
|
+
respond :failed, options
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def responded?
|
|
159
|
+
!!@responded
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
protected
|
|
163
|
+
def respond status, options
|
|
164
|
+
raise "already responded" if responded?
|
|
165
|
+
@responded = status
|
|
166
|
+
options[:task_token] = task_token
|
|
167
|
+
client.send("respond_activity_task_#{status}", options)
|
|
168
|
+
nil
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
end
|