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,177 @@
|
|
|
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 'uuidtools'
|
|
15
|
+
|
|
16
|
+
module AWS
|
|
17
|
+
class SimpleWorkflow
|
|
18
|
+
|
|
19
|
+
# == Registering a WorkflowType
|
|
20
|
+
#
|
|
21
|
+
# To register a workflow type you should use the #workflow_types method
|
|
22
|
+
# on the domain:
|
|
23
|
+
#
|
|
24
|
+
# domain.workflow_types.register('name', 'version', { ... })
|
|
25
|
+
#
|
|
26
|
+
# See {WorkflowTypeCollection#register} for a complete list of options.
|
|
27
|
+
#
|
|
28
|
+
# == Deprecating a workflow type
|
|
29
|
+
#
|
|
30
|
+
# WorkflowType inherits from the generic {Type} base class. Defined in
|
|
31
|
+
# {Type} are a few useful methods including:
|
|
32
|
+
#
|
|
33
|
+
# * {Type#deprecate}
|
|
34
|
+
# * {Type#deprecated?}
|
|
35
|
+
#
|
|
36
|
+
# You can use these to deprecate a workflow type:
|
|
37
|
+
#
|
|
38
|
+
# domain.workflow_types['name','version'].deprecate
|
|
39
|
+
#
|
|
40
|
+
# @attr_reader [Time] creation_date When the workflow type was registered.
|
|
41
|
+
#
|
|
42
|
+
# @attr_reader [Time,nil] deprecation_date When the workflow type
|
|
43
|
+
# was deprecated, or nil if the workflow type has not been deprecated.
|
|
44
|
+
#
|
|
45
|
+
# @attr_reader [String,nil] description The description of this workflow
|
|
46
|
+
# type, or nil if was not set when it was registered.
|
|
47
|
+
#
|
|
48
|
+
# @attr_reader [Symbol] status The status of this workflow type. The
|
|
49
|
+
# status will either be +:registered+ or +:deprecated+.
|
|
50
|
+
#
|
|
51
|
+
# @attr_reader [Symbol,nil] default_child_policy Specifies the default
|
|
52
|
+
# policy to use for the child workflow executions when a workflow
|
|
53
|
+
# execution of this type is terminated. Values may be one of the
|
|
54
|
+
# following (or nil):
|
|
55
|
+
#
|
|
56
|
+
# * +:terminate+ - the child executions will be terminated.
|
|
57
|
+
#
|
|
58
|
+
# * +:request_cancel+ - a request to cancel will be attempted for each
|
|
59
|
+
# child execution by recording a WorkflowExecutionCancelRequested
|
|
60
|
+
# event in its history. It is up to the decider to take appropriate
|
|
61
|
+
# actions when it receives an execution history with this event.
|
|
62
|
+
#
|
|
63
|
+
# * +:abandon+ - no action will be taken. The child executions will
|
|
64
|
+
# continue to run.
|
|
65
|
+
#
|
|
66
|
+
# @attr_reader [Integer,:none,nil] default_execution_start_to_close_timeout
|
|
67
|
+
# The default maximum duration for executions of this workflow type.
|
|
68
|
+
#
|
|
69
|
+
# The return value may be an integer (number of seconds), the
|
|
70
|
+
# symbol +:none+ (implying no timeout) or +nil+ (not specified).
|
|
71
|
+
#
|
|
72
|
+
# @attr_reader [String,nil] default_task_list Specifies
|
|
73
|
+
# the default task list to use for scheduling decision tasks for
|
|
74
|
+
# executions of this workflow type.
|
|
75
|
+
#
|
|
76
|
+
# @attr_reader [Integer,:none,nil] default_task_start_to_close_timeout
|
|
77
|
+
# The default maximum duration of decision tasks for this workflow type.
|
|
78
|
+
#
|
|
79
|
+
# The return value may be an integer (number of seconds), the
|
|
80
|
+
# symbol +:none+ (implying no timeout) or +nil+ (not specified).
|
|
81
|
+
#
|
|
82
|
+
class WorkflowType < Type
|
|
83
|
+
|
|
84
|
+
include OptionFormatters
|
|
85
|
+
|
|
86
|
+
type_attribute :creation_date, :timestamp => true
|
|
87
|
+
|
|
88
|
+
type_attribute :deprecation_date, :timestamp => true, :static => false
|
|
89
|
+
|
|
90
|
+
type_attribute :description
|
|
91
|
+
|
|
92
|
+
type_attribute :status, :to_sym => true, :static => false
|
|
93
|
+
|
|
94
|
+
config_attribute :default_child_policy, :to_sym => true
|
|
95
|
+
|
|
96
|
+
config_attribute :default_execution_start_to_close_timeout,
|
|
97
|
+
:duration => true
|
|
98
|
+
|
|
99
|
+
config_attribute :default_task_list do
|
|
100
|
+
translates_output {|v| v['name'] }
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
config_attribute :default_task_start_to_close_timeout,
|
|
104
|
+
:duration => true
|
|
105
|
+
|
|
106
|
+
# @param [Hash] options
|
|
107
|
+
#
|
|
108
|
+
# @option (see DecisionTask#continue_as_new_workflow_execution)
|
|
109
|
+
#
|
|
110
|
+
# @option options [String] :workflow_id
|
|
111
|
+
# A user defined identifier associated with the workflow execution.
|
|
112
|
+
# You can use this to associate a custom identifier with the
|
|
113
|
+
# workflow execution. You may specify the same identifier if a
|
|
114
|
+
# workflow execution is logically a restart of a previous execution.
|
|
115
|
+
# You cannot have two open workflow executions with the same
|
|
116
|
+
# :workflow_id at the same time.
|
|
117
|
+
#
|
|
118
|
+
# If you do not provide +:workflow_id+ a random UUID will be generated.
|
|
119
|
+
#
|
|
120
|
+
# @return [WorkflowExecution] Returns the new workflow execution.
|
|
121
|
+
#
|
|
122
|
+
def start_execution options = {}
|
|
123
|
+
|
|
124
|
+
options[:domain] = domain.name
|
|
125
|
+
start_execution_opts(options, self)
|
|
126
|
+
response = client.start_workflow_execution(options)
|
|
127
|
+
|
|
128
|
+
workflow_id = options[:workflow_id]
|
|
129
|
+
run_id = response.data['runId']
|
|
130
|
+
|
|
131
|
+
domain.workflow_executions[workflow_id, run_id]
|
|
132
|
+
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# Returns a count of workflow executions of this workflow type.
|
|
136
|
+
#
|
|
137
|
+
# domain.workflow_types['name','version'].count
|
|
138
|
+
#
|
|
139
|
+
# @note (see WorkflowExecution#count_executions)
|
|
140
|
+
# @param (see WorkflowExecution#count_executions)
|
|
141
|
+
# @option (see WorkflowExecution#count_executions)
|
|
142
|
+
# @return [Integer] Returns the count of workflow execution of this type.
|
|
143
|
+
def count_executions options = {}
|
|
144
|
+
options[:workflow_type] = self
|
|
145
|
+
domain.workflow_executions.count(options)
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# @return [WorkflowExecutionCollection] Returns a collection that
|
|
149
|
+
# enumerates only workflow executions of this type.
|
|
150
|
+
def workflow_executions
|
|
151
|
+
WorkflowExecutionCollection.new(domain).with_workflow_type(self)
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
# list workflow type only provides type attributes
|
|
155
|
+
provider(:list_workflow_types) do |provider|
|
|
156
|
+
provider.provides *type_attributes.keys
|
|
157
|
+
provider.find do |resp|
|
|
158
|
+
desc = resp.data['typeInfos'].find do |info|
|
|
159
|
+
info[self.class.type_key] == { 'name' => name, 'version' => version }
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# describe workflow type provides type and config attributes
|
|
165
|
+
provider(:describe_workflow_type) do |provider|
|
|
166
|
+
provider.provides *type_attributes.keys
|
|
167
|
+
provider.provides *config_attributes.keys
|
|
168
|
+
provider.find do |resp|
|
|
169
|
+
type = { 'name' => name, 'version' => version }
|
|
170
|
+
resp.data['typeInfo'][self.class.type_key] == type ?
|
|
171
|
+
resp.data['typeInfo'].merge(resp.data['configuration']) : nil
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
end
|
|
@@ -0,0 +1,91 @@
|
|
|
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
|
+
|
|
17
|
+
class WorkflowTypeCollection < TypeCollection
|
|
18
|
+
|
|
19
|
+
# Registers a new workflow type and its configuration settings for
|
|
20
|
+
# in the current domain.
|
|
21
|
+
#
|
|
22
|
+
# @param [String] name The name of the workflow type.
|
|
23
|
+
#
|
|
24
|
+
# @param [String] version The version of the workflow type.
|
|
25
|
+
# The workflow type consists of the name and version, the
|
|
26
|
+
# combination of which must be unique within the domain.
|
|
27
|
+
#
|
|
28
|
+
# @param [Hash] options
|
|
29
|
+
#
|
|
30
|
+
# @option options [Symbol] :default_child_policy (nil) Specifies the default
|
|
31
|
+
# policy to use for the child workflow executions when a workflow
|
|
32
|
+
# execution of this type is terminated. This default can be
|
|
33
|
+
# overridden when starting a workflow execution. The supported child
|
|
34
|
+
# policies are:
|
|
35
|
+
#
|
|
36
|
+
# * +:terminate+ - the child executions will be terminated.
|
|
37
|
+
#
|
|
38
|
+
# * +:request_cancel+ - a request to cancel will be attempted for each
|
|
39
|
+
# child execution by recording a WorkflowExecutionCancelRequested
|
|
40
|
+
# event in its history. It is up to the decider to take appropriate
|
|
41
|
+
# actions when it receives an execution history with this event.
|
|
42
|
+
#
|
|
43
|
+
# * +:abandon+ - no action will be taken. The child executions will
|
|
44
|
+
# continue to run.
|
|
45
|
+
#
|
|
46
|
+
# @option options [Integer,:none] :default_execution_start_to_close_timeout (nil)
|
|
47
|
+
# The default maximum duration for executions of this workflow type.
|
|
48
|
+
# You can override this default when starting an execution.
|
|
49
|
+
# The value should be a number of seconds (integer) or the symbol
|
|
50
|
+
# +:none+ (implying no timeout).
|
|
51
|
+
#
|
|
52
|
+
# @option options [String] :default_task_list (nil) Specifies
|
|
53
|
+
# the default task list to use for scheduling decision tasks for
|
|
54
|
+
# executions of this workflow type. This default is used only if
|
|
55
|
+
# a task list is not provided when starting the workflow execution.
|
|
56
|
+
#
|
|
57
|
+
# @option options [Integer,:none] :default_task_start_to_close_timeout (nil)
|
|
58
|
+
# The default maximum duration of decision tasks for this workflow type.
|
|
59
|
+
#
|
|
60
|
+
# The value should be a number of seconds (integer) or the symbol
|
|
61
|
+
# +:none+ (implying no timeout).
|
|
62
|
+
#
|
|
63
|
+
# @option options [String] :description (nil) Textual description of
|
|
64
|
+
# the workflow type.
|
|
65
|
+
#
|
|
66
|
+
def register name, version, options = {}
|
|
67
|
+
|
|
68
|
+
options[:domain] = domain.name
|
|
69
|
+
options[:name] = name
|
|
70
|
+
options[:version] = version
|
|
71
|
+
|
|
72
|
+
upcase_opts(options, :default_child_policy)
|
|
73
|
+
|
|
74
|
+
duration_opts(options,
|
|
75
|
+
:default_execution_start_to_close_timeout,
|
|
76
|
+
:default_task_start_to_close_timeout)
|
|
77
|
+
|
|
78
|
+
if task_list = options[:default_task_list]
|
|
79
|
+
options[:default_task_list] = { :name => task_list.to_s }
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
client.register_workflow_type(options)
|
|
83
|
+
|
|
84
|
+
self[name, version]
|
|
85
|
+
|
|
86
|
+
end
|
|
87
|
+
alias_method :create, :register
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
data/lib/aws/sns.rb
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
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/sns/config'
|
|
16
|
+
|
|
17
|
+
module AWS
|
|
18
|
+
|
|
19
|
+
# This class is the starting point for working with Amazon Simple
|
|
20
|
+
# Notification Service (SNS).
|
|
21
|
+
#
|
|
22
|
+
# To use Amazon SNS you must first {sign up here}[http://aws.amazon.com/sns/].
|
|
23
|
+
#
|
|
24
|
+
# For more information about Amazon SNS:
|
|
25
|
+
#
|
|
26
|
+
# * {Amazon SNS}[http://aws.amazon.com/sns/]
|
|
27
|
+
# * {Amazon SNS Documentation}[http://aws.amazon.com/documentation/sns/]
|
|
28
|
+
#
|
|
29
|
+
# = Credentials
|
|
30
|
+
#
|
|
31
|
+
# You can setup default credentials for all AWS services via
|
|
32
|
+
# AWS.config:
|
|
33
|
+
#
|
|
34
|
+
# AWS.config(
|
|
35
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
36
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
37
|
+
#
|
|
38
|
+
# Or you can set them directly on the SNS interface:
|
|
39
|
+
#
|
|
40
|
+
# sns = AWS::SNS.new(
|
|
41
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
42
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
43
|
+
#
|
|
44
|
+
# @!attribute [r] client
|
|
45
|
+
# @return [Client] the low-level SNS client object
|
|
46
|
+
class SNS
|
|
47
|
+
|
|
48
|
+
AWS.register_autoloads(self) do
|
|
49
|
+
autoload :Client, 'client'
|
|
50
|
+
autoload :Errors, 'errors'
|
|
51
|
+
autoload :Policy, 'policy'
|
|
52
|
+
autoload :HasDeliveryPolicy, 'has_delivery_policy'
|
|
53
|
+
autoload :Request, 'request'
|
|
54
|
+
autoload :Subscription, 'subscription'
|
|
55
|
+
autoload :SubscriptionCollection, 'subscription_collection'
|
|
56
|
+
autoload :Topic, 'topic'
|
|
57
|
+
autoload :TopicCollection, 'topic_collection'
|
|
58
|
+
autoload :TopicSubscriptionCollection, 'topic_subscription_collection'
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
include Core::ServiceInterface
|
|
62
|
+
|
|
63
|
+
# @return [TopicCollection] Returns a topic collection for managing
|
|
64
|
+
# SNS topics.
|
|
65
|
+
def topics
|
|
66
|
+
TopicCollection.new(:config => config)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# @return [SubscriptionCollection] Returns a subscription
|
|
70
|
+
# collection for managing SNS subscriptions.
|
|
71
|
+
def subscriptions
|
|
72
|
+
SubscriptionCollection.new(:config => config)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,266 @@
|
|
|
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 SNS
|
|
16
|
+
|
|
17
|
+
# Client class for Amazon Simple Notifications Service (SNS).
|
|
18
|
+
class Client < Core::QueryClient
|
|
19
|
+
|
|
20
|
+
# @private
|
|
21
|
+
CACHEABLE_REQUESTS = Set[]
|
|
22
|
+
|
|
23
|
+
# client methods #
|
|
24
|
+
|
|
25
|
+
# @!method add_permission(options = {})
|
|
26
|
+
# Calls the AddPermission API operation.
|
|
27
|
+
# @param [Hash] options
|
|
28
|
+
# * +:topic_arn+ - *required* - (String) The ARN of the topic whose
|
|
29
|
+
# access control policy you wish to modify.
|
|
30
|
+
# * +:label+ - *required* - (String) A unique identifier for the new
|
|
31
|
+
# policy statement.
|
|
32
|
+
# * +:aws_account_id+ - *required* - (Array<String>) The AWS account
|
|
33
|
+
# IDs of the users (principals) who will be given access to the
|
|
34
|
+
# specified actions. The users must have AWS accounts, but do not
|
|
35
|
+
# need to be signed up for this service.
|
|
36
|
+
# * +:action_name+ - *required* - (Array<String>) The action you want
|
|
37
|
+
# to allow for the specified principal(s). Valid values: any Amazon
|
|
38
|
+
# SNS action name.
|
|
39
|
+
# @return [Core::Response]
|
|
40
|
+
|
|
41
|
+
# @!method confirm_subscription(options = {})
|
|
42
|
+
# Calls the ConfirmSubscription API operation.
|
|
43
|
+
# @param [Hash] options
|
|
44
|
+
# * +:topic_arn+ - *required* - (String) The ARN of the topic for which
|
|
45
|
+
# you wish to confirm a subscription.
|
|
46
|
+
# * +:token+ - *required* - (String) Short-lived token sent to an
|
|
47
|
+
# endpoint during the Subscribe action.
|
|
48
|
+
# * +:authenticate_on_unsubscribe+ - (String) Disallows unauthenticated
|
|
49
|
+
# unsubscribes of the subscription. If the value of this parameter is
|
|
50
|
+
# +true+ and the request has an AWS signature, then only the topic
|
|
51
|
+
# owner and the subscription owner can unsubscribe the endpoint. The
|
|
52
|
+
# unsubscribe action will require AWS authentication.
|
|
53
|
+
# @return [Core::Response]
|
|
54
|
+
# The #data method of the response object returns
|
|
55
|
+
# a hash with the following structure:
|
|
56
|
+
# * +:subscription_arn+ - (String)
|
|
57
|
+
|
|
58
|
+
# @!method create_topic(options = {})
|
|
59
|
+
# Calls the CreateTopic API operation.
|
|
60
|
+
# @param [Hash] options
|
|
61
|
+
# * +:name+ - *required* - (String) The name of the topic you want to
|
|
62
|
+
# create. Constraints: Topic names must be made up of only uppercase
|
|
63
|
+
# and lowercase ASCII letters, numbers, and hyphens, and must be
|
|
64
|
+
# between 1 and 256 characters long.
|
|
65
|
+
# @return [Core::Response]
|
|
66
|
+
# The #data method of the response object returns
|
|
67
|
+
# a hash with the following structure:
|
|
68
|
+
# * +:topic_arn+ - (String)
|
|
69
|
+
|
|
70
|
+
# @!method delete_topic(options = {})
|
|
71
|
+
# Calls the DeleteTopic API operation.
|
|
72
|
+
# @param [Hash] options
|
|
73
|
+
# * +:topic_arn+ - *required* - (String) The ARN of the topic you want
|
|
74
|
+
# to delete. http://sns.us-east-1.amazonaws.com/
|
|
75
|
+
# ?TopicArn=arn%3Aaws%3Asns%3Aus-east-1%3A123456789012%3AMy-Topic
|
|
76
|
+
# &Action=DeleteTopic &SignatureVersion=2 &SignatureMethod=HmacSHA256
|
|
77
|
+
# &Timestamp=2010-03-31T12%3A00%3A00.000Z &AWSAccessKeyId=(AWS Access
|
|
78
|
+
# Key ID)
|
|
79
|
+
# &Signature=DjHBa%2BbYCKQAzctOPnLP7MbHnrHT3%2FK3kFEZjwcf9%2FU%3D
|
|
80
|
+
# <DeleteTopicResponse
|
|
81
|
+
# xmlns="http://sns.amazonaws.com/doc/2010-03-31/">
|
|
82
|
+
# <ResponseMetadata>
|
|
83
|
+
# <RequestId>fba800b9-3765-11df-8cf3-c58c53254dfb</RequestId>
|
|
84
|
+
# </ResponseMetadata> </DeleteTopicResponse>
|
|
85
|
+
# @return [Core::Response]
|
|
86
|
+
|
|
87
|
+
# @!method get_subscription_attributes(options = {})
|
|
88
|
+
# Calls the GetSubscriptionAttributes API operation.
|
|
89
|
+
# @param [Hash] options
|
|
90
|
+
# * +:subscription_arn+ - *required* - (String) The ARN of the
|
|
91
|
+
# subscription whose properties you want to get.
|
|
92
|
+
# @return [Core::Response]
|
|
93
|
+
# The #data method of the response object returns
|
|
94
|
+
# a hash with the following structure:
|
|
95
|
+
# * +:attributes+ - (Hash<String,String>)
|
|
96
|
+
|
|
97
|
+
# @!method get_topic_attributes(options = {})
|
|
98
|
+
# Calls the GetTopicAttributes API operation.
|
|
99
|
+
# @param [Hash] options
|
|
100
|
+
# * +:topic_arn+ - *required* - (String) The ARN of the topic whose
|
|
101
|
+
# properties you want to get.
|
|
102
|
+
# @return [Core::Response]
|
|
103
|
+
# The #data method of the response object returns
|
|
104
|
+
# a hash with the following structure:
|
|
105
|
+
# * +:attributes+ - (Hash<String,String>)
|
|
106
|
+
|
|
107
|
+
# @!method list_subscriptions(options = {})
|
|
108
|
+
# Calls the ListSubscriptions API operation.
|
|
109
|
+
# @param [Hash] options
|
|
110
|
+
# * +:next_token+ - (String) Token returned by the previous
|
|
111
|
+
# ListSubscriptions request.
|
|
112
|
+
# @return [Core::Response]
|
|
113
|
+
# The #data method of the response object returns
|
|
114
|
+
# a hash with the following structure:
|
|
115
|
+
# * +:subscriptions+ - (Array<Hash>)
|
|
116
|
+
# * +:subscription_arn+ - (String)
|
|
117
|
+
# * +:owner+ - (String)
|
|
118
|
+
# * +:protocol+ - (String)
|
|
119
|
+
# * +:endpoint+ - (String)
|
|
120
|
+
# * +:topic_arn+ - (String)
|
|
121
|
+
# * +:next_token+ - (String)
|
|
122
|
+
|
|
123
|
+
# @!method list_subscriptions_by_topic(options = {})
|
|
124
|
+
# Calls the ListSubscriptionsByTopic API operation.
|
|
125
|
+
# @param [Hash] options
|
|
126
|
+
# * +:topic_arn+ - *required* - (String) The ARN of the topic for which
|
|
127
|
+
# you wish to find subscriptions.
|
|
128
|
+
# * +:next_token+ - (String) Token returned by the previous
|
|
129
|
+
# ListSubscriptionsByTopic request.
|
|
130
|
+
# @return [Core::Response]
|
|
131
|
+
# The #data method of the response object returns
|
|
132
|
+
# a hash with the following structure:
|
|
133
|
+
# * +:subscriptions+ - (Array<Hash>)
|
|
134
|
+
# * +:subscription_arn+ - (String)
|
|
135
|
+
# * +:owner+ - (String)
|
|
136
|
+
# * +:protocol+ - (String)
|
|
137
|
+
# * +:endpoint+ - (String)
|
|
138
|
+
# * +:topic_arn+ - (String)
|
|
139
|
+
# * +:next_token+ - (String)
|
|
140
|
+
|
|
141
|
+
# @!method list_topics(options = {})
|
|
142
|
+
# Calls the ListTopics API operation.
|
|
143
|
+
# @param [Hash] options
|
|
144
|
+
# * +:next_token+ - (String) Token returned by the previous ListTopics
|
|
145
|
+
# request.
|
|
146
|
+
# @return [Core::Response]
|
|
147
|
+
# The #data method of the response object returns
|
|
148
|
+
# a hash with the following structure:
|
|
149
|
+
# * +:topics+ - (Array<Hash>)
|
|
150
|
+
# * +:topic_arn+ - (String)
|
|
151
|
+
# * +:next_token+ - (String)
|
|
152
|
+
|
|
153
|
+
# @!method publish(options = {})
|
|
154
|
+
# Calls the Publish API operation.
|
|
155
|
+
# @param [Hash] options
|
|
156
|
+
# * +:topic_arn+ - *required* - (String) The topic you want to publish
|
|
157
|
+
# to.
|
|
158
|
+
# * +:message+ - *required* - (String) The message you want to send to
|
|
159
|
+
# the topic. Constraints: Messages must be UTF-8 encoded strings at
|
|
160
|
+
# most 8 KB in size (8192 bytes, not 8192 characters).
|
|
161
|
+
# * +:subject+ - (String) Optional parameter to be used as the
|
|
162
|
+
# "Subject" line of when the message is delivered to e-mail
|
|
163
|
+
# endpoints. This field will also be included, if present, in the
|
|
164
|
+
# standard JSON messages delivered to other endpoints. Constraints:
|
|
165
|
+
# Subjects must be ASCII text that begins with a letter, number or
|
|
166
|
+
# punctuation mark; must not include line breaks or control
|
|
167
|
+
# characters; and must be less than 100 characters long.
|
|
168
|
+
# * +:message_structure+ - (String) Optional parameter. It will have
|
|
169
|
+
# one valid value: "json". If this option, Message is present and set
|
|
170
|
+
# to "json", the value of Message must: be a syntactically valid JSON
|
|
171
|
+
# object. It must contain at least a top level JSON key of "default"
|
|
172
|
+
# with a value that is a string. For any other top level key that
|
|
173
|
+
# matches one of our transport protocols (e.g. "http"), then the
|
|
174
|
+
# corresponding value (if it is a string) will be used for the
|
|
175
|
+
# message published for that protocol Constraints: Keys in the JSON
|
|
176
|
+
# object that correspond to supported transport protocols must have
|
|
177
|
+
# simple JSON string values. The values will be parsed (unescaped)
|
|
178
|
+
# before they are used in outgoing messages. Typically, outbound
|
|
179
|
+
# notifications are JSON encoded (meaning, the characters will be
|
|
180
|
+
# reescaped for sending). JSON strings are UTF-8. Values have a
|
|
181
|
+
# minimum length of 0 (the empty string, "", is allowed). Values have
|
|
182
|
+
# a maximum length bounded by the overall message size (so, including
|
|
183
|
+
# multiple protocols may limit message sizes). Non-string values will
|
|
184
|
+
# cause the key to be ignored. Keys that do not correspond to
|
|
185
|
+
# supported transport protocols will be ignored. Duplicate keys are
|
|
186
|
+
# not allowed. Failure to parse or validate any key or value in the
|
|
187
|
+
# message will cause the Publish call to return an error (no partial
|
|
188
|
+
# delivery).
|
|
189
|
+
# @return [Core::Response]
|
|
190
|
+
# The #data method of the response object returns
|
|
191
|
+
# a hash with the following structure:
|
|
192
|
+
# * +:message_id+ - (String)
|
|
193
|
+
|
|
194
|
+
# @!method remove_permission(options = {})
|
|
195
|
+
# Calls the RemovePermission API operation.
|
|
196
|
+
# @param [Hash] options
|
|
197
|
+
# * +:topic_arn+ - *required* - (String) The ARN of the topic whose
|
|
198
|
+
# access control policy you wish to modify.
|
|
199
|
+
# * +:label+ - *required* - (String) The unique label of the statement
|
|
200
|
+
# you want to remove.
|
|
201
|
+
# @return [Core::Response]
|
|
202
|
+
|
|
203
|
+
# @!method set_subscription_attributes(options = {})
|
|
204
|
+
# Calls the SetSubscriptionAttributes API operation.
|
|
205
|
+
# @param [Hash] options
|
|
206
|
+
# * +:subscription_arn+ - *required* - (String) The ARN of the
|
|
207
|
+
# subscription to modify.
|
|
208
|
+
# * +:attribute_name+ - *required* - (String) The name of the attribute
|
|
209
|
+
# you want to set. Only a subset of the subscriptions attributes are
|
|
210
|
+
# mutable. Valid values: DeliveryPolicy
|
|
211
|
+
# * +:attribute_value+ - *required* - (String) The new value for the
|
|
212
|
+
# attribute.
|
|
213
|
+
# @return [Core::Response]
|
|
214
|
+
|
|
215
|
+
# @!method set_topic_attributes(options = {})
|
|
216
|
+
# Calls the SetTopicAttributes API operation.
|
|
217
|
+
# @param [Hash] options
|
|
218
|
+
# * +:topic_arn+ - *required* - (String) The ARN of the topic to
|
|
219
|
+
# modify.
|
|
220
|
+
# * +:attribute_name+ - *required* - (String) The name of the attribute
|
|
221
|
+
# you want to set. Only a subset of the topic's attributes are
|
|
222
|
+
# mutable. Valid values: Policy | DisplayName
|
|
223
|
+
# * +:attribute_value+ - *required* - (String) The new value for the
|
|
224
|
+
# attribute.
|
|
225
|
+
# @return [Core::Response]
|
|
226
|
+
|
|
227
|
+
# @!method subscribe(options = {})
|
|
228
|
+
# Calls the Subscribe API operation.
|
|
229
|
+
# @param [Hash] options
|
|
230
|
+
# * +:topic_arn+ - *required* - (String) The ARN of topic you want to
|
|
231
|
+
# subscribe to.
|
|
232
|
+
# * +:protocol+ - *required* - (String) The protocol you want to use.
|
|
233
|
+
# Supported protocols include: http -- delivery of JSON-encoded
|
|
234
|
+
# message via HTTP POST https -- delivery of JSON-encoded message via
|
|
235
|
+
# HTTPS POST email -- delivery of message via SMTP email-json --
|
|
236
|
+
# delivery of JSON-encoded message via SMTP sms -- delivery of
|
|
237
|
+
# message via SMS sqs -- delivery of JSON-encoded message to an
|
|
238
|
+
# Amazon SQS queue
|
|
239
|
+
# * +:endpoint+ - *required* - (String) The endpoint that you want to
|
|
240
|
+
# receive notifications. Endpoints vary by protocol: For the http
|
|
241
|
+
# protocol, the endpoint is an URL beginning with "http://" For the
|
|
242
|
+
# https protocol, the endpoint is a URL beginning with "https://" For
|
|
243
|
+
# the email protocol, the endpoint is an e-mail address For the
|
|
244
|
+
# email-json protocol, the endpoint is an e-mail address For the sms
|
|
245
|
+
# protocol, the endpoint is a phone number of an SMS-enabled device
|
|
246
|
+
# For the sqs protocol, the endpoint is the ARN of an Amazon SQS
|
|
247
|
+
# queue
|
|
248
|
+
# @return [Core::Response]
|
|
249
|
+
# The #data method of the response object returns
|
|
250
|
+
# a hash with the following structure:
|
|
251
|
+
# * +:subscription_arn+ - (String)
|
|
252
|
+
|
|
253
|
+
# @!method unsubscribe(options = {})
|
|
254
|
+
# Calls the Unsubscribe API operation.
|
|
255
|
+
# @param [Hash] options
|
|
256
|
+
# * +:subscription_arn+ - *required* - (String) The ARN of the
|
|
257
|
+
# subscription to be deleted.
|
|
258
|
+
# @return [Core::Response]
|
|
259
|
+
|
|
260
|
+
# end client methods #
|
|
261
|
+
|
|
262
|
+
define_client_methods('2010-03-31')
|
|
263
|
+
|
|
264
|
+
end
|
|
265
|
+
end
|
|
266
|
+
end
|