aws-sdk-core 2.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +7 -0
- data/.simplecov +6 -0
- data/.travis.yml +12 -0
- data/.yardopts +11 -0
- data/Gemfile +26 -0
- data/LICENSE.txt +12 -0
- data/README.md +169 -0
- data/Rakefile +15 -0
- data/apis/AutoScaling-2011-01-01.json +1852 -0
- data/apis/CloudFormation-2010-05-15.json +981 -0
- data/apis/CloudFront-2012-05-05.json +3861 -0
- data/apis/CloudFront-2013-05-12.json +4593 -0
- data/apis/CloudFront-2013-08-26.json +4849 -0
- data/apis/CloudSearch-2011-02-01.json +2080 -0
- data/apis/CloudWatch-2010-08-01.json +1206 -0
- data/apis/DataPipeline-2012-10-29.json +901 -0
- data/apis/DirectConnect-2012-10-25.json +825 -0
- data/apis/DynamoDB-2011-12-05.json +2857 -0
- data/apis/DynamoDB-2012-08-10.json +3127 -0
- data/apis/EC2-2013-06-15.json +13600 -0
- data/apis/EC2-2013-10-01.json +14574 -0
- data/apis/EMR-2009-03-31.json +957 -0
- data/apis/ElastiCache-2012-11-15.json +2921 -0
- data/apis/ElastiCache-2013-06-15.json +3586 -0
- data/apis/ElasticBeanstalk-2010-12-01.json +2225 -0
- data/apis/ElasticLoadBalancing-2012-06-01.json +1215 -0
- data/apis/ElasticTranscoder-2012-09-25.json +3692 -0
- data/apis/Glacier-2012-06-01.json +1058 -0
- data/apis/IAM-2010-05-08.json +2863 -0
- data/apis/ImportExport-2010-06-01.json +328 -0
- data/apis/OpsWorks-2013-02-18.json +3546 -0
- data/apis/RDS-2013-01-10.json +6772 -0
- data/apis/RDS-2013-02-12.json +7151 -0
- data/apis/RDS-2013-05-15.json +7809 -0
- data/apis/Redshift-2012-12-01.json +4180 -0
- data/apis/Route53-2012-12-12.json +1018 -0
- data/apis/S3-2006-03-01.json +3787 -0
- data/apis/SDB-2009-04-15.json +539 -0
- data/apis/SES-2010-12-01.json +678 -0
- data/apis/SNS-2010-03-31.json +870 -0
- data/apis/SQS-2012-11-05.json +798 -0
- data/apis/STS-2011-06-15.json +352 -0
- data/apis/SWF-2012-01-25.json +5451 -0
- data/apis/StorageGateway-2012-06-30.json +1696 -0
- data/apis/Support-2013-04-15.json +794 -0
- data/apis/configuration/endpoints.json +1337 -0
- data/apis/source/autoscaling-2011-01-01.json +3215 -0
- data/apis/source/autoscaling-2011-01-01.paginators.json +52 -0
- data/apis/source/cloudformation-2010-05-15.json +1260 -0
- data/apis/source/cloudformation-2010-05-15.paginators.json +24 -0
- data/apis/source/cloudfront-2012-05-05.json +6588 -0
- data/apis/source/cloudfront-2012-05-05.paginators.json +28 -0
- data/apis/source/cloudfront-2013-05-12.json +7614 -0
- data/apis/source/cloudfront-2013-05-12.paginators.json +28 -0
- data/apis/source/cloudfront-2013-08-26.json +8016 -0
- data/apis/source/cloudfront-2013-08-26.paginators.json +28 -0
- data/apis/source/cloudsearch-2011-02-01.json +3585 -0
- data/apis/source/cloudsearch-2011-02-01.paginators.json +13 -0
- data/apis/source/datapipeline-2012-10-29.json +2144 -0
- data/apis/source/datapipeline-2012-10-29.paginators.json +25 -0
- data/apis/source/directconnect-2012-10-25.json +1271 -0
- data/apis/source/directconnect-2012-10-25.paginators.json +16 -0
- data/apis/source/dynamodb-2011-12-05.json +4380 -0
- data/apis/source/dynamodb-2011-12-05.paginators.json +24 -0
- data/apis/source/dynamodb-2012-08-10.json +4839 -0
- data/apis/source/dynamodb-2012-08-10.paginators.json +24 -0
- data/apis/source/ec2-2013-02-01.json +18820 -0
- data/apis/source/ec2-2013-02-01.paginators.json +115 -0
- data/apis/source/ec2-2013-06-15.json +18820 -0
- data/apis/source/ec2-2013-06-15.paginators.json +115 -0
- data/apis/source/ec2-2013-10-01.json +19885 -0
- data/apis/source/ec2-2013-10-01.paginators.json +115 -0
- data/apis/source/elasticache-2012-11-15.json +4403 -0
- data/apis/source/elasticache-2012-11-15.paginators.json +64 -0
- data/apis/source/elasticache-2013-06-15.json +5421 -0
- data/apis/source/elasticache-2013-06-15.paginators.json +64 -0
- data/apis/source/elasticbeanstalk-2010-12-01.json +3151 -0
- data/apis/source/elasticbeanstalk-2010-12-01.paginators.json +25 -0
- data/apis/source/elasticloadbalancing-2012-06-01.json +2041 -0
- data/apis/source/elasticloadbalancing-2012-06-01.paginators.json +18 -0
- data/apis/source/elasticmapreduce-2009-03-31.json +1478 -0
- data/apis/source/elasticmapreduce-2009-03-31.paginators.json +7 -0
- data/apis/source/elastictranscoder-2012-09-25.json +6148 -0
- data/apis/source/elastictranscoder-2012-09-25.paginators.json +20 -0
- data/apis/source/email-2010-12-01.json +892 -0
- data/apis/source/email-2010-12-01.paginators.json +13 -0
- data/apis/source/glacier-2012-06-01.json +3147 -0
- data/apis/source/glacier-2012-06-01.paginators.json +28 -0
- data/apis/source/iam-2010-05-08.json +5857 -0
- data/apis/source/iam-2010-05-08.paginators.json +116 -0
- data/apis/source/importexport-2010-06-01.json +876 -0
- data/apis/source/importexport-2010-06-01.paginators.json +10 -0
- data/apis/source/monitoring-2010-08-01.json +1910 -0
- data/apis/source/monitoring-2010-08-01.paginators.json +24 -0
- data/apis/source/opsworks-2013-02-18.json +5848 -0
- data/apis/source/opsworks-2013-02-18.paginators.json +46 -0
- data/apis/source/rds-2013-01-10.json +9283 -0
- data/apis/source/rds-2013-01-10.paginators.json +105 -0
- data/apis/source/rds-2013-02-12.json +9777 -0
- data/apis/source/rds-2013-02-12.paginators.json +105 -0
- data/apis/source/rds-2013-05-15.json +10618 -0
- data/apis/source/rds-2013-05-15.paginators.json +105 -0
- data/apis/source/redshift-2012-12-01.json +5742 -0
- data/apis/source/redshift-2012-12-01.paginators.json +74 -0
- data/apis/source/route53-2012-12-12.json +2067 -0
- data/apis/source/route53-2012-12-12.paginators.json +33 -0
- data/apis/source/s3-2006-03-01.json +4261 -0
- data/apis/source/s3-2006-03-01.paginators.json +46 -0
- data/apis/source/sdb-2009-04-15.json +1145 -0
- data/apis/source/sdb-2009-04-15.paginators.json +15 -0
- data/apis/source/sns-2010-03-31.json +2234 -0
- data/apis/source/sns-2010-03-31.paginators.json +19 -0
- data/apis/source/sqs-2012-11-05.json +1162 -0
- data/apis/source/sqs-2012-11-05.paginators.json +7 -0
- data/apis/source/storagegateway-2012-06-30.json +9487 -0
- data/apis/source/storagegateway-2012-06-30.paginators.json +28 -0
- data/apis/source/sts-2011-06-15.json +627 -0
- data/apis/source/support-2013-04-15.json +1261 -0
- data/apis/source/support-2013-04-15.paginators.json +31 -0
- data/apis/source/swf-2012-01-25.json +8744 -0
- data/apis/source/swf-2012-01-25.paginators.json +46 -0
- data/aws-sdk-core.gemspec +21 -0
- data/bin/aws.rb +156 -0
- data/doc-src/images/lastnode.png +0 -0
- data/doc-src/images/node.png +0 -0
- data/doc-src/images/vline.png +0 -0
- data/doc-src/plugins/apis.rb +205 -0
- data/doc-src/templates/default/fulldoc/html/css/common.css +90 -0
- data/doc-src/templates/default/fulldoc/html/js/tabs.js +21 -0
- data/doc-src/templates/default/fulldoc/html/setup.rb +61 -0
- data/doc-src/templates/default/layout/html/footer.erb +29 -0
- data/doc-src/templates/default/layout/html/setup.rb +3 -0
- data/features/autoscaling/client.feature +22 -0
- data/features/autoscaling/setup.rb +6 -0
- data/features/cloudformation/client.feature +18 -0
- data/features/cloudformation/setup.rb +6 -0
- data/features/cloudfront/client.feature +21 -0
- data/features/cloudfront/setup.rb +6 -0
- data/features/cloudsearch/client.feature +18 -0
- data/features/cloudsearch/setup.rb +6 -0
- data/features/cloudwatch/client.feature +21 -0
- data/features/cloudwatch/setup.rb +6 -0
- data/features/common/step_definitions.rb +65 -0
- data/features/datapipeline/client.feature +18 -0
- data/features/datapipeline/setup.rb +6 -0
- data/features/directconnect/client.feature +18 -0
- data/features/directconnect/setup.rb +6 -0
- data/features/dynamodb/client.feature +21 -0
- data/features/dynamodb/setup.rb +8 -0
- data/features/dynamodb/simplified.feature +32 -0
- data/features/dynamodb/step_definitions.rb +3 -0
- data/features/ec2/client.feature +21 -0
- data/features/ec2/setup.rb +6 -0
- data/features/ec2/step_definitions.rb +19 -0
- data/features/elasticache/client.feature +18 -0
- data/features/elasticache/setup.rb +6 -0
- data/features/elasticbeanstalk/client.feature +18 -0
- data/features/elasticbeanstalk/setup.rb +6 -0
- data/features/elasticloadbalancing/client.feature +18 -0
- data/features/elasticloadbalancing/setup.rb +6 -0
- data/features/elastictranscoder/client.feature +18 -0
- data/features/elastictranscoder/setup.rb +6 -0
- data/features/emr/client.feature +18 -0
- data/features/emr/setup.rb +6 -0
- data/features/env.rb +23 -0
- data/features/glacier/client.feature +28 -0
- data/features/glacier/setup.rb +16 -0
- data/features/glacier/step_definitions.rb +25 -0
- data/features/iam/client.feature +18 -0
- data/features/iam/setup.rb +6 -0
- data/features/importexport/client.feature +18 -0
- data/features/importexport/setup.rb +6 -0
- data/features/opsworks/client.feature +18 -0
- data/features/opsworks/setup.rb +6 -0
- data/features/rds/client.feature +18 -0
- data/features/rds/setup.rb +6 -0
- data/features/redshift/client.feature +18 -0
- data/features/redshift/setup.rb +6 -0
- data/features/route53/client.feature +18 -0
- data/features/route53/setup.rb +6 -0
- data/features/s3/buckets.feature +22 -0
- data/features/s3/objects.feature +18 -0
- data/features/s3/setup.rb +17 -0
- data/features/s3/step_definitions.rb +66 -0
- data/features/s3/test.png +0 -0
- data/features/sdb/client.feature +18 -0
- data/features/sdb/setup.rb +6 -0
- data/features/ses/client.feature +18 -0
- data/features/ses/setup.rb +6 -0
- data/features/sns/client.feature +18 -0
- data/features/sns/setup.rb +6 -0
- data/features/sqs/client.feature +23 -0
- data/features/sqs/setup.rb +10 -0
- data/features/sqs/step_definitions.rb +18 -0
- data/features/storagegateway/client.feature +18 -0
- data/features/storagegateway/setup.rb +6 -0
- data/features/sts/client.feature +18 -0
- data/features/sts/setup.rb +6 -0
- data/features/swf/client.feature +21 -0
- data/features/swf/setup.rb +6 -0
- data/integration-test-config.json.sample +3 -0
- data/lib/aws-sdk-core.rb +11 -0
- data/lib/aws.rb +175 -0
- data/lib/aws/api/base_translator.rb +72 -0
- data/lib/aws/api/doc_example.rb +116 -0
- data/lib/aws/api/documentor.rb +140 -0
- data/lib/aws/api/operation_translator.rb +77 -0
- data/lib/aws/api/service_namer.rb +40 -0
- data/lib/aws/api/service_translators/cloud_front.rb +19 -0
- data/lib/aws/api/service_translators/dynamo_db.rb +7 -0
- data/lib/aws/api/service_translators/glacier.rb +37 -0
- data/lib/aws/api/service_translators/import_export.rb +15 -0
- data/lib/aws/api/service_translators/route53.rb +23 -0
- data/lib/aws/api/service_translators/s3.rb +11 -0
- data/lib/aws/api/service_translators/sqs.rb +10 -0
- data/lib/aws/api/service_translators/swf.rb +7 -0
- data/lib/aws/api/shape_translator.rb +96 -0
- data/lib/aws/api/translator.rb +150 -0
- data/lib/aws/api/visitor.rb +32 -0
- data/lib/aws/credentials.rb +35 -0
- data/lib/aws/error_handler.rb +48 -0
- data/lib/aws/errors.rb +83 -0
- data/lib/aws/json/builder.rb +77 -0
- data/lib/aws/json/error_parser.rb +20 -0
- data/lib/aws/json/parser.rb +67 -0
- data/lib/aws/json/serializer.rb +15 -0
- data/lib/aws/plugins/credentials.rb +48 -0
- data/lib/aws/plugins/dynamodb_extended_retries.rb +22 -0
- data/lib/aws/plugins/glacier_api_version.rb +19 -0
- data/lib/aws/plugins/glacier_checksums.rb +100 -0
- data/lib/aws/plugins/global_configuration.rb +79 -0
- data/lib/aws/plugins/json_protocol.rb +30 -0
- data/lib/aws/plugins/json_rpc_headers.rb +34 -0
- data/lib/aws/plugins/query_protocol.rb +11 -0
- data/lib/aws/plugins/regional_endpoint.rb +37 -0
- data/lib/aws/plugins/retry_errors.rb +149 -0
- data/lib/aws/plugins/s3_bucket_dns.rb +78 -0
- data/lib/aws/plugins/s3_complete_multipart_upload_fix.rb +38 -0
- data/lib/aws/plugins/s3_get_bucket_location_fix.rb +21 -0
- data/lib/aws/plugins/s3_md5s.rb +61 -0
- data/lib/aws/plugins/s3_redirects.rb +38 -0
- data/lib/aws/plugins/s3_regional_endpoint.rb +19 -0
- data/lib/aws/plugins/s3_signer.rb +9 -0
- data/lib/aws/plugins/signature_v2.rb +9 -0
- data/lib/aws/plugins/signature_v3.rb +9 -0
- data/lib/aws/plugins/signature_v4.rb +29 -0
- data/lib/aws/plugins/sqs_queue_urls.rb +33 -0
- data/lib/aws/plugins/swf_read_timeouts.rb +23 -0
- data/lib/aws/plugins/user_agent.rb +32 -0
- data/lib/aws/plugins/xml_protocol.rb +11 -0
- data/lib/aws/query/builder.rb +102 -0
- data/lib/aws/query/param.rb +43 -0
- data/lib/aws/query/param_list.rb +91 -0
- data/lib/aws/query/serializer.rb +24 -0
- data/lib/aws/request_handler.rb +39 -0
- data/lib/aws/response_handler.rb +38 -0
- data/lib/aws/service.rb +237 -0
- data/lib/aws/signers/base.rb +29 -0
- data/lib/aws/signers/handler.rb +18 -0
- data/lib/aws/signers/s3.rb +162 -0
- data/lib/aws/signers/v2.rb +48 -0
- data/lib/aws/signers/v3.rb +34 -0
- data/lib/aws/signers/v4.rb +142 -0
- data/lib/aws/structure.rb +38 -0
- data/lib/aws/timestamp_formatter.rb +16 -0
- data/lib/aws/util.rb +38 -0
- data/lib/aws/version.rb +3 -0
- data/lib/aws/xml/builder.rb +134 -0
- data/lib/aws/xml/error_parser.rb +24 -0
- data/lib/aws/xml/parser.rb +147 -0
- data/lib/aws/xml/serializer.rb +16 -0
- data/spec/aws/credentials_spec.rb +39 -0
- data/spec/aws/iam_spec.rb +17 -0
- data/spec/aws/json/builder_spec.rb +183 -0
- data/spec/aws/json/parser_spec.rb +238 -0
- data/spec/aws/operations_spec.rb +145 -0
- data/spec/aws/plugins/credentials_spec.rb +76 -0
- data/spec/aws/plugins/global_configuration_spec.rb +56 -0
- data/spec/aws/plugins/region_endpoint_spec.rb +77 -0
- data/spec/aws/plugins/retry_errors_spec.rb +253 -0
- data/spec/aws/query/builder_spec.rb +361 -0
- data/spec/aws/query/param_list_spec.rb +80 -0
- data/spec/aws/query/param_spec.rb +59 -0
- data/spec/aws/service_spec.rb +247 -0
- data/spec/aws/signers/v4_spec.rb +141 -0
- data/spec/aws/structure_spec.rb +103 -0
- data/spec/aws/xml/builder_spec.rb +404 -0
- data/spec/aws/xml/parser_spec.rb +716 -0
- data/spec/aws_spec.rb +89 -0
- data/spec/fixtures/api/swf.json +100 -0
- data/spec/fixtures/operations/cloudfront/list_distributions.yml +195 -0
- data/spec/fixtures/operations/cloudfront/max_items.yml +12 -0
- data/spec/fixtures/operations/dynamodb/error_parsing.yml +13 -0
- data/spec/fixtures/operations/glacier/error_parsing.yml +10 -0
- data/spec/fixtures/operations/glacier/list_vaults.yml +24 -0
- data/spec/fixtures/operations/iam/result_wrapped_elements.yml +31 -0
- data/spec/fixtures/operations/s3/304_response.yml +12 -0
- data/spec/fixtures/operations/s3/400_response.yml +12 -0
- data/spec/fixtures/operations/s3/403_response.yml +12 -0
- data/spec/fixtures/operations/s3/404_response.yml +12 -0
- data/spec/fixtures/operations/s3/comlete_multipart_upload_error.yml +18 -0
- data/spec/fixtures/operations/s3/create_bucket_with_location_constraint.yml +25 -0
- data/spec/fixtures/operations/s3/create_bucket_without_location_constraint.yml +9 -0
- data/spec/fixtures/operations/s3/delete_objects.yml +54 -0
- data/spec/fixtures/operations/s3/error_parsing.yml +17 -0
- data/spec/fixtures/operations/s3/get_bucket_location.yml +17 -0
- data/spec/fixtures/operations/s3/get_bucket_location_classic.yml +17 -0
- data/spec/fixtures/operations/s3/head_bucket_with_dns_incompatible_name.yml +12 -0
- data/spec/fixtures/operations/s3/head_object.yml +50 -0
- data/spec/fixtures/operations/s3/list_buckets.yml +41 -0
- data/spec/fixtures/operations/s3/md5_checksum_disabled.yml +10 -0
- data/spec/fixtures/operations/s3/md5_checksum_enabled.yml +8 -0
- data/spec/fixtures/operations/swf/list_domains.yml +20 -0
- data/spec/spec_helper.rb +55 -0
- data/tasks/apis.rake +51 -0
- data/tasks/docs.rake +59 -0
- data/tasks/test.rake +39 -0
- data/vendor/seahorse/.gitignore +5 -0
- data/vendor/seahorse/.simplecov +4 -0
- data/vendor/seahorse/.yardopts +10 -0
- data/vendor/seahorse/Gemfile +20 -0
- data/vendor/seahorse/LICENSE.txt +12 -0
- data/vendor/seahorse/README.md +129 -0
- data/vendor/seahorse/Rakefile +7 -0
- data/vendor/seahorse/ca-bundle.crt +3554 -0
- data/vendor/seahorse/lib/seahorse.rb +6 -0
- data/vendor/seahorse/lib/seahorse/client.rb +61 -0
- data/vendor/seahorse/lib/seahorse/client/base.rb +239 -0
- data/vendor/seahorse/lib/seahorse/client/block_io.rb +39 -0
- data/vendor/seahorse/lib/seahorse/client/configuration.rb +197 -0
- data/vendor/seahorse/lib/seahorse/client/handler.rb +26 -0
- data/vendor/seahorse/lib/seahorse/client/handler_builder.rb +49 -0
- data/vendor/seahorse/lib/seahorse/client/handler_list.rb +250 -0
- data/vendor/seahorse/lib/seahorse/client/http/endpoint.rb +95 -0
- data/vendor/seahorse/lib/seahorse/client/http/headers.rb +94 -0
- data/vendor/seahorse/lib/seahorse/client/http/plain_string_io.rb +11 -0
- data/vendor/seahorse/lib/seahorse/client/http/request.rb +78 -0
- data/vendor/seahorse/lib/seahorse/client/http/response.rb +45 -0
- data/vendor/seahorse/lib/seahorse/client/logging/formatter.rb +319 -0
- data/vendor/seahorse/lib/seahorse/client/logging/handler.rb +35 -0
- data/vendor/seahorse/lib/seahorse/client/net_http/connection_pool.rb +339 -0
- data/vendor/seahorse/lib/seahorse/client/net_http/handler.rb +109 -0
- data/vendor/seahorse/lib/seahorse/client/param_converter.rb +202 -0
- data/vendor/seahorse/lib/seahorse/client/param_validator.rb +139 -0
- data/vendor/seahorse/lib/seahorse/client/plugin.rb +80 -0
- data/vendor/seahorse/lib/seahorse/client/plugin_list.rb +142 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/api.rb +11 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/content_length.rb +22 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/endpoint.rb +36 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/json_simple.rb +34 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/logging.rb +37 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/net_http.rb +26 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/operation_methods.rb +48 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/param_conversion.rb +29 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/param_validation.rb +30 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/raise_response_errors.rb +29 -0
- data/vendor/seahorse/lib/seahorse/client/plugins/restful_bindings.rb +205 -0
- data/vendor/seahorse/lib/seahorse/client/request.rb +62 -0
- data/vendor/seahorse/lib/seahorse/client/request_context.rb +68 -0
- data/vendor/seahorse/lib/seahorse/client/response.rb +106 -0
- data/vendor/seahorse/lib/seahorse/client/xml/builder.rb +92 -0
- data/vendor/seahorse/lib/seahorse/model.rb +38 -0
- data/vendor/seahorse/lib/seahorse/model/api.rb +39 -0
- data/vendor/seahorse/lib/seahorse/model/node.rb +102 -0
- data/vendor/seahorse/lib/seahorse/model/operation.rb +32 -0
- data/vendor/seahorse/lib/seahorse/model/operation_input.rb +30 -0
- data/vendor/seahorse/lib/seahorse/model/operations.rb +59 -0
- data/vendor/seahorse/lib/seahorse/model/property.rb +141 -0
- data/vendor/seahorse/lib/seahorse/model/shapes/shape.rb +229 -0
- data/vendor/seahorse/lib/seahorse/model/types.rb +8 -0
- data/vendor/seahorse/lib/seahorse/version.rb +3 -0
- data/vendor/seahorse/seahorse.gemspec +20 -0
- data/vendor/seahorse/spec/fixtures/plugin.rb +4 -0
- data/vendor/seahorse/spec/seahorse/client/base_spec.rb +308 -0
- data/vendor/seahorse/spec/seahorse/client/configuration_spec.rb +118 -0
- data/vendor/seahorse/spec/seahorse/client/handler_builder_spec.rb +159 -0
- data/vendor/seahorse/spec/seahorse/client/handler_list_spec.rb +243 -0
- data/vendor/seahorse/spec/seahorse/client/handler_spec.rb +40 -0
- data/vendor/seahorse/spec/seahorse/client/http/endpoint_spec.rb +168 -0
- data/vendor/seahorse/spec/seahorse/client/http/headers_spec.rb +213 -0
- data/vendor/seahorse/spec/seahorse/client/http/plain_string_io_spec.rb +23 -0
- data/vendor/seahorse/spec/seahorse/client/http/request_spec.rb +142 -0
- data/vendor/seahorse/spec/seahorse/client/http/response_spec.rb +77 -0
- data/vendor/seahorse/spec/seahorse/client/logging/formatter_spec.rb +197 -0
- data/vendor/seahorse/spec/seahorse/client/logging/handler_spec.rb +63 -0
- data/vendor/seahorse/spec/seahorse/client/net_http/connection_pool_spec.rb +10 -0
- data/vendor/seahorse/spec/seahorse/client/net_http/handler_spec.rb +232 -0
- data/vendor/seahorse/spec/seahorse/client/param_converter_spec.rb +318 -0
- data/vendor/seahorse/spec/seahorse/client/param_validator_spec.rb +271 -0
- data/vendor/seahorse/spec/seahorse/client/plugin_list_spec.rb +166 -0
- data/vendor/seahorse/spec/seahorse/client/plugin_spec.rb +118 -0
- data/vendor/seahorse/spec/seahorse/client/plugins/content_length_spec.rb +19 -0
- data/vendor/seahorse/spec/seahorse/client/plugins/endpoint_spec.rb +43 -0
- data/vendor/seahorse/spec/seahorse/client/plugins/logging_spec.rb +46 -0
- data/vendor/seahorse/spec/seahorse/client/plugins/net_http_spec.rb +71 -0
- data/vendor/seahorse/spec/seahorse/client/plugins/operation_methods_spec.rb +74 -0
- data/vendor/seahorse/spec/seahorse/client/plugins/restful_bindings/uri_path_builder_spec.rb +91 -0
- data/vendor/seahorse/spec/seahorse/client/request_context_spec.rb +105 -0
- data/vendor/seahorse/spec/seahorse/client/request_spec.rb +102 -0
- data/vendor/seahorse/spec/seahorse/client/response_spec.rb +171 -0
- data/vendor/seahorse/spec/seahorse/client/xml/builder/xml_doc_spec.rb +142 -0
- data/vendor/seahorse/spec/seahorse/client/xml/builder_spec.rb +10 -0
- data/vendor/seahorse/spec/seahorse/client_spec.rb +13 -0
- data/vendor/seahorse/spec/seahorse/model/api_spec.rb +72 -0
- data/vendor/seahorse/spec/seahorse/model/node_spec.rb +114 -0
- data/vendor/seahorse/spec/seahorse/model/operation_input_spec.rb +53 -0
- data/vendor/seahorse/spec/seahorse/model/operation_spec.rb +48 -0
- data/vendor/seahorse/spec/seahorse/model/operations_spec.rb +64 -0
- data/vendor/seahorse/spec/seahorse/model/property_spec.rb +136 -0
- data/vendor/seahorse/spec/seahorse/model/shapes/shape_spec.rb +105 -0
- data/vendor/seahorse/spec/seahorse/version_spec.rb +11 -0
- data/vendor/seahorse/spec/spec_helper.rb +34 -0
- data/vendor/seahorse/tasks/ca_bundle.rake +23 -0
- data/vendor/seahorse/tasks/docs.rake +11 -0
- data/vendor/seahorse/tasks/test.rake +26 -0
- metadata +614 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@s3 @buckets
|
|
3
|
+
Feature: S3 Buckets
|
|
4
|
+
|
|
5
|
+
Scenario: CRUD buckets using the classic endpoint
|
|
6
|
+
Given I am using the S3 "us-east-1" region
|
|
7
|
+
When I create a bucket
|
|
8
|
+
Then the bucket should exist
|
|
9
|
+
When I delete the bucket
|
|
10
|
+
Then the bucket should not exist
|
|
11
|
+
|
|
12
|
+
Scenario: CRUD buckets using a regional endpoint
|
|
13
|
+
Given I am using the S3 "us-west-2" region
|
|
14
|
+
When I create a bucket
|
|
15
|
+
Then the bucket should exist
|
|
16
|
+
When I delete the bucket
|
|
17
|
+
Then the bucket should not exist
|
|
18
|
+
|
|
19
|
+
Scenario: Access bucket following 307 redirects
|
|
20
|
+
Given I am using the S3 "us-east-1" region
|
|
21
|
+
When I create a bucket with the location constraint "EU"
|
|
22
|
+
Then the bucket should have a location constraint of "EU"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@s3 @objects
|
|
3
|
+
Feature: S3 Objects
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given I create a bucket
|
|
7
|
+
|
|
8
|
+
Scenario: Putting nothing to an object
|
|
9
|
+
When I put nothing to the key "blank"
|
|
10
|
+
Then the object with the key "blank" should have a content length of 0
|
|
11
|
+
|
|
12
|
+
Scenario: Putting a multi-byte string to an object
|
|
13
|
+
When I put "åß∂ƒ©" to the key "multi"
|
|
14
|
+
Then the object with the key "multi" should have a content length of 11
|
|
15
|
+
|
|
16
|
+
Scenario: Putting a file to an object
|
|
17
|
+
When I put the test png to the key "img"
|
|
18
|
+
Then the object with the key "img" should have a content length of 976
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Before("@s3") do
|
|
2
|
+
@s3 = Aws.s3
|
|
3
|
+
@created_buckets = []
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
After("@s3") do
|
|
7
|
+
@created_buckets.each do |bucket|
|
|
8
|
+
loop do
|
|
9
|
+
objects = @s3.list_object_versions(bucket: bucket).data.versions.map do |v|
|
|
10
|
+
{ key: v.key, version_id: v.version_id }
|
|
11
|
+
end
|
|
12
|
+
break if objects.empty?
|
|
13
|
+
@s3.delete_objects(bucket: bucket, delete: { objects: objects })
|
|
14
|
+
end
|
|
15
|
+
@s3.delete_bucket(bucket: bucket)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
def create_bucket(options = {})
|
|
2
|
+
@bucket_name = "aws-sdk-test-#{Time.now.to_i}-#{rand(1000)}"
|
|
3
|
+
options[:bucket] = @bucket_name
|
|
4
|
+
if @s3.config.region != 'us-east-1' && !options[:create_bucket_configuration]
|
|
5
|
+
options[:create_bucket_configuration] = {
|
|
6
|
+
location_constraint: @s3.config.region
|
|
7
|
+
}
|
|
8
|
+
end
|
|
9
|
+
@s3.create_bucket(options)
|
|
10
|
+
@created_buckets << @bucket_name
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
Given(/^I am using the S3 "(.*?)" region$/) do |region|
|
|
14
|
+
@s3 = Aws.s3(region: region)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
When(/^I create a bucket$/) do
|
|
18
|
+
create_bucket
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
When(/^I create a bucket with the location constraint "(.*?)"$/) do |loc|
|
|
22
|
+
create_bucket(create_bucket_configuration: {
|
|
23
|
+
location_constraint: loc
|
|
24
|
+
})
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
Then(/^the bucket should have a location constraint of "(.*?)"$/) do |loc|
|
|
28
|
+
resp = @s3.get_bucket_location(bucket: @bucket_name)
|
|
29
|
+
expect(resp.data.location_constraint).to eq(loc)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
Then(/^the bucket should exist$/) do
|
|
33
|
+
expect { @s3.get_bucket_location(bucket: @bucket_name) }.not_to raise_error
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
When(/^I delete the bucket$/) do
|
|
37
|
+
@s3.delete_bucket(bucket: @bucket_name)
|
|
38
|
+
@created_buckets.delete(@bucket_name)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
Then(/^the bucket should not exist$/) do
|
|
42
|
+
eventually do
|
|
43
|
+
expect {
|
|
44
|
+
@s3.get_bucket_location(bucket: @bucket_name)
|
|
45
|
+
}.to raise_error(Aws::S3::Errors::NoSuchBucket)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
When(/^I put nothing to the key "(.*?)"$/) do |key|
|
|
50
|
+
@s3.put_object(bucket: @bucket_name, key: key)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
When(/^I put "(.*?)" to the key "(.*?)"$/) do |data, key|
|
|
54
|
+
@s3.put_object(bucket: @bucket_name, key: key, body: data)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
When(/^I put the test png to the key "(.*?)"$/) do |key|
|
|
58
|
+
file = File.open(File.join(File.dirname(__FILE__), 'test.png'), 'rb')
|
|
59
|
+
@s3.put_object(bucket: @bucket_name, key: key, body: file)
|
|
60
|
+
file.close
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
Then(/^the object with the key "(.*?)" should have a content length of (\d+)$/) do |key, size|
|
|
64
|
+
resp = @s3.head_object(bucket: @bucket_name, key: key)
|
|
65
|
+
expect(resp.data.content_length).to eq(size.to_i)
|
|
66
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@sdb @client
|
|
3
|
+
Feature: Amazon SimpleDB
|
|
4
|
+
|
|
5
|
+
Scenario: Making a basic request
|
|
6
|
+
When I call "list_domains" on "sdb"
|
|
7
|
+
Then the response "domain_names" should be an array
|
|
8
|
+
|
|
9
|
+
Scenario: Error handling
|
|
10
|
+
Given I call "domain_metadata" on "sdb" with:
|
|
11
|
+
"""
|
|
12
|
+
{ domain_name: 'fake-domain' }
|
|
13
|
+
"""
|
|
14
|
+
Then I expect the response error code to be "NoSuchDomain"
|
|
15
|
+
And I expect the response error message to include:
|
|
16
|
+
"""
|
|
17
|
+
The specified domain does not exist.
|
|
18
|
+
"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@ses @client
|
|
3
|
+
Feature: Amazon Simple Email Service
|
|
4
|
+
|
|
5
|
+
Scenario: Making a basic request
|
|
6
|
+
When I call "list_identities" on "ses"
|
|
7
|
+
Then the response "identities" should be an array
|
|
8
|
+
|
|
9
|
+
Scenario: Error handling
|
|
10
|
+
Given I call "verify_email_identity" on "ses" with:
|
|
11
|
+
"""
|
|
12
|
+
{ email_address: 'fake_email' }
|
|
13
|
+
"""
|
|
14
|
+
Then I expect the response error code to be "InvalidParameterValue"
|
|
15
|
+
And I expect the response error message to include:
|
|
16
|
+
"""
|
|
17
|
+
Invalid email address<fake_email>.
|
|
18
|
+
"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@sns @client
|
|
3
|
+
Feature: Amazon Simple Notification Service
|
|
4
|
+
|
|
5
|
+
Scenario: Making a basic request
|
|
6
|
+
When I call "list_topics" on "sns"
|
|
7
|
+
Then the response "topics" should be an array
|
|
8
|
+
|
|
9
|
+
Scenario: Error handling
|
|
10
|
+
Given I call "publish" on "sns" with:
|
|
11
|
+
"""
|
|
12
|
+
{ message: 'hello', topic_arn: 'fake_topic' }
|
|
13
|
+
"""
|
|
14
|
+
Then I expect the response error code to be "InvalidParameter"
|
|
15
|
+
And I expect the response error message to include:
|
|
16
|
+
"""
|
|
17
|
+
Invalid parameter: TopicArn Reason: fake_topic does not start with arn
|
|
18
|
+
"""
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@sqs @client
|
|
3
|
+
Feature: Amazon Simple Queue Service
|
|
4
|
+
|
|
5
|
+
Scenario: Making a basic request
|
|
6
|
+
When I call "list_queues" on "sqs"
|
|
7
|
+
Then the response "queue_urls" should be an array
|
|
8
|
+
|
|
9
|
+
Scenario: Cross Region Queue Operatoins
|
|
10
|
+
Given I create a queue in "us-west-1"
|
|
11
|
+
When I operate on that queue in "us-west-2"
|
|
12
|
+
Then the request should be made against "us-west-1"
|
|
13
|
+
|
|
14
|
+
Scenario: Error handling
|
|
15
|
+
Given I call "get_queue_url" on "sqs" with:
|
|
16
|
+
"""
|
|
17
|
+
{ queue_name: 'fake_queue' }
|
|
18
|
+
"""
|
|
19
|
+
Then I expect the response error code to be "NonExistentQueue"
|
|
20
|
+
And I expect the response error message to include:
|
|
21
|
+
"""
|
|
22
|
+
The specified queue does not exist for this wsdl version.
|
|
23
|
+
"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Given(/^I create a queue in "(.*?)"$/) do |region|
|
|
2
|
+
name = "aws-sdk-core-integration-test-#{Time.now.to_i}-#{rand(1000)}"
|
|
3
|
+
resp = Aws.sqs(region: region).create_queue(queue_name: name)
|
|
4
|
+
@queue_url = resp.queue_url
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
When(/^I operate on that queue in "(.*?)"$/) do |region|
|
|
8
|
+
@response = Aws.sqs(region: region).send_message(
|
|
9
|
+
queue_url: @queue_url,
|
|
10
|
+
message_body: 'hello'
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Then(/^the request should be made against "(.*?)"$/) do |region|
|
|
15
|
+
expect(@response.context.http_request.endpoint.to_s).to include(region)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@storagegateway @client
|
|
3
|
+
Feature: AWS Storage Gateway
|
|
4
|
+
|
|
5
|
+
Scenario: Making a basic request
|
|
6
|
+
When I call "list_gateways" on "storagegateway"
|
|
7
|
+
Then the response "gateways" should be an array
|
|
8
|
+
|
|
9
|
+
Scenario: Error handling
|
|
10
|
+
Given I call "list_volumes" on "storagegateway" with:
|
|
11
|
+
"""
|
|
12
|
+
{ gateway_arn: 'fake_gateway' }
|
|
13
|
+
"""
|
|
14
|
+
Then I expect the response error code to be "ValidationException"
|
|
15
|
+
And I expect the response error message to include:
|
|
16
|
+
"""
|
|
17
|
+
Value 'fake_gateway' at 'gatewayARN' failed to satisfy constraint
|
|
18
|
+
"""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@sts @client
|
|
3
|
+
Feature: AWS STS
|
|
4
|
+
|
|
5
|
+
Scenario: Making a basic request
|
|
6
|
+
When I call "get_session_token" on "sts"
|
|
7
|
+
Then the response data should include "credentials"
|
|
8
|
+
|
|
9
|
+
Scenario: Error handling
|
|
10
|
+
Given I call "get_federation_token" on "sts" with:
|
|
11
|
+
"""
|
|
12
|
+
{ name: 'temp', policy: '' }
|
|
13
|
+
"""
|
|
14
|
+
Then I expect the response error code to be "ValidationError"
|
|
15
|
+
And I expect the response error message to include:
|
|
16
|
+
"""
|
|
17
|
+
Value '' at 'policy' failed to satisfy constraint
|
|
18
|
+
"""
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# language: en
|
|
2
|
+
@swf @client
|
|
3
|
+
Feature: Amazon Simple Workflow Service
|
|
4
|
+
|
|
5
|
+
Scenario: Making a basic request
|
|
6
|
+
When I call "list_domains" on "swf" with:
|
|
7
|
+
"""
|
|
8
|
+
{ registration_status: 'REGISTERED' }
|
|
9
|
+
"""
|
|
10
|
+
Then the response "domain_infos" should be an array
|
|
11
|
+
|
|
12
|
+
Scenario: Error handling
|
|
13
|
+
Given I call "describe_domain" on "swf" with:
|
|
14
|
+
"""
|
|
15
|
+
{ name: 'fake_domain' }
|
|
16
|
+
"""
|
|
17
|
+
Then I expect the response error code to be "UnknownResourceFault"
|
|
18
|
+
And I expect the response error message to include:
|
|
19
|
+
"""
|
|
20
|
+
Unknown domain: fake_domain
|
|
21
|
+
"""
|
data/lib/aws-sdk-core.rb
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
require 'seahorse'
|
|
2
|
+
|
|
3
|
+
# @api private
|
|
4
|
+
module Seahorse::Model::Shapes
|
|
5
|
+
class FlatMapShape < MapShape; end
|
|
6
|
+
class FlatListShape < ListShape; end
|
|
7
|
+
Shape.register_type flat_map: FlatMapShape
|
|
8
|
+
Shape.register_type flat_list: FlatListShape
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
require_relative 'aws'
|
data/lib/aws.rb
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
module Aws
|
|
2
|
+
|
|
3
|
+
# @api private
|
|
4
|
+
GEM_ROOT = File.dirname(File.dirname(__FILE__))
|
|
5
|
+
|
|
6
|
+
@config = {}
|
|
7
|
+
|
|
8
|
+
autoload :Credentials, 'aws/credentials'
|
|
9
|
+
autoload :Errors, 'aws/errors'
|
|
10
|
+
autoload :ErrorHandler, 'aws/error_handler'
|
|
11
|
+
autoload :RequestHandler, 'aws/request_handler'
|
|
12
|
+
autoload :ResponseHandler, 'aws/response_handler'
|
|
13
|
+
autoload :Service, 'aws/service'
|
|
14
|
+
autoload :Structure, 'aws/structure'
|
|
15
|
+
autoload :TimestampFormatter, 'aws/timestamp_formatter'
|
|
16
|
+
autoload :Util, 'aws/util'
|
|
17
|
+
autoload :VERSION, 'aws/version'
|
|
18
|
+
|
|
19
|
+
# @api private
|
|
20
|
+
module Api
|
|
21
|
+
autoload :BaseTranslator, 'aws/api/base_translator'
|
|
22
|
+
autoload :Documentor, 'aws/api/documentor'
|
|
23
|
+
autoload :DocExample, 'aws/api/doc_example'
|
|
24
|
+
autoload :InputShapeTranslator, 'aws/api/shape_translator'
|
|
25
|
+
autoload :OperationTranslator, 'aws/api/operation_translator'
|
|
26
|
+
autoload :OutputShapeTranslator, 'aws/api/shape_translator'
|
|
27
|
+
autoload :ServiceNamer, 'aws/api/service_namer'
|
|
28
|
+
autoload :ShapeTranslator, 'aws/api/shape_translator'
|
|
29
|
+
autoload :Translator, 'aws/api/translator'
|
|
30
|
+
autoload :Visitor, 'aws/api/visitor'
|
|
31
|
+
|
|
32
|
+
module ServiceTranslators
|
|
33
|
+
autoload :CloudFront, 'aws/api/service_translators/cloud_front'
|
|
34
|
+
autoload :DynamoDB, 'aws/api/service_translators/dynamo_db'
|
|
35
|
+
autoload :Glacier, 'aws/api/service_translators/glacier'
|
|
36
|
+
autoload :ImportExport, 'aws/api/service_translators/import_export'
|
|
37
|
+
autoload :Route53, 'aws/api/service_translators/route53'
|
|
38
|
+
autoload :S3, 'aws/api/service_translators/s3'
|
|
39
|
+
autoload :SQS, 'aws/api/service_translators/sqs'
|
|
40
|
+
autoload :SWF, 'aws/api/service_translators/swf'
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# @api private
|
|
46
|
+
module Json
|
|
47
|
+
autoload :Builder, 'aws/json/builder'
|
|
48
|
+
autoload :ErrorParser, 'aws/json/error_parser'
|
|
49
|
+
autoload :Parser, 'aws/json/parser'
|
|
50
|
+
autoload :Serializer, 'aws/json/serializer'
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
module Plugins
|
|
54
|
+
autoload :Credentials, 'aws/plugins/credentials'
|
|
55
|
+
autoload :DynamoDBExtendedRetries, 'aws/plugins/dynamodb_extended_retries'
|
|
56
|
+
autoload :GlacierApiVersion, 'aws/plugins/glacier_api_version'
|
|
57
|
+
autoload :GlacierChecksums, 'aws/plugins/glacier_checksums'
|
|
58
|
+
autoload :GlobalConfiguration, 'aws/plugins/global_configuration'
|
|
59
|
+
autoload :JsonProtocol, 'aws/plugins/json_protocol'
|
|
60
|
+
autoload :JsonRpcHeaders, 'aws/plugins/json_rpc_headers'
|
|
61
|
+
autoload :QueryProtocol, 'aws/plugins/query_protocol'
|
|
62
|
+
autoload :RegionalEndpoint, 'aws/plugins/regional_endpoint'
|
|
63
|
+
autoload :RetryErrors, 'aws/plugins/retry_errors'
|
|
64
|
+
autoload :S3BucketDns, 'aws/plugins/s3_bucket_dns'
|
|
65
|
+
autoload :S3CompleteMultipartUploadFix, 'aws/plugins/s3_complete_multipart_upload_fix'
|
|
66
|
+
autoload :S3GetBucketLocationFix, 'aws/plugins/s3_get_bucket_location_fix'
|
|
67
|
+
autoload :S3Md5s, 'aws/plugins/s3_md5s'
|
|
68
|
+
autoload :S3Redirects, 'aws/plugins/s3_redirects'
|
|
69
|
+
autoload :S3Signer, 'aws/plugins/s3_signer'
|
|
70
|
+
autoload :SignatureV2, 'aws/plugins/signature_v2'
|
|
71
|
+
autoload :SignatureV3, 'aws/plugins/signature_v3'
|
|
72
|
+
autoload :SignatureV4, 'aws/plugins/signature_v4'
|
|
73
|
+
autoload :SQSQueueUrls, 'aws/plugins/sqs_queue_urls'
|
|
74
|
+
autoload :SWFReadTimeouts, 'aws/plugins/swf_read_timeouts'
|
|
75
|
+
autoload :UserAgent, 'aws/plugins/user_agent'
|
|
76
|
+
autoload :XmlProtocol, 'aws/plugins/xml_protocol'
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# @api private
|
|
80
|
+
module Query
|
|
81
|
+
autoload :Builder, 'aws/query/builder'
|
|
82
|
+
autoload :Param, 'aws/query/param'
|
|
83
|
+
autoload :ParamList, 'aws/query/param_list'
|
|
84
|
+
autoload :Serializer, 'aws/query/serializer'
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# @api private
|
|
88
|
+
module Signers
|
|
89
|
+
autoload :Base, 'aws/signers/base'
|
|
90
|
+
autoload :Handler, 'aws/signers/handler'
|
|
91
|
+
autoload :S3, 'aws/signers/s3'
|
|
92
|
+
autoload :V2, 'aws/signers/v2'
|
|
93
|
+
autoload :V3, 'aws/signers/v3'
|
|
94
|
+
autoload :V4, 'aws/signers/v4'
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# @api private
|
|
98
|
+
module Xml
|
|
99
|
+
autoload :Builder, 'aws/xml/builder'
|
|
100
|
+
autoload :ErrorParser, 'aws/xml/error_parser'
|
|
101
|
+
autoload :Parser, 'aws/xml/parser'
|
|
102
|
+
autoload :Serializer, 'aws/xml/serializer'
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
class << self
|
|
106
|
+
|
|
107
|
+
# @return [Hash] Returns a hash of default configuration options shared
|
|
108
|
+
# by all constructed clients.
|
|
109
|
+
attr_accessor :config
|
|
110
|
+
|
|
111
|
+
# Adds a plugin to every AWS client class. This registers the plugin
|
|
112
|
+
# with each versioned client for each service.
|
|
113
|
+
# @param [Plugin] plugin
|
|
114
|
+
# @return [void]
|
|
115
|
+
def add_plugin(plugin)
|
|
116
|
+
service_classes.values.each do |svc_class|
|
|
117
|
+
svc_class.add_plugin(plugin)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Removes a plugin to from AWS client class. This removes the plugin
|
|
122
|
+
# from each versioned client for each service.
|
|
123
|
+
# @param [Plugin] plugin
|
|
124
|
+
# @return [void]
|
|
125
|
+
def remove_plugin(plugin)
|
|
126
|
+
service_classes.values.each do |svc_class|
|
|
127
|
+
svc_class.remove_plugin(plugin)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
# @return [Array<Class>]
|
|
132
|
+
# @api private
|
|
133
|
+
def service_classes
|
|
134
|
+
@service_classes ||= {}
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Registers a new service interface. This method accepts a constant
|
|
138
|
+
# (class name) for the new service class and a list of client API
|
|
139
|
+
# versions.
|
|
140
|
+
#
|
|
141
|
+
# Aws.add_servcie(:S3, ['apis/S3-2006-03-01.json'])
|
|
142
|
+
#
|
|
143
|
+
# This method is called for each service defined in the apis directory of
|
|
144
|
+
# this project.
|
|
145
|
+
#
|
|
146
|
+
# @note You should normally not need to call this method directly.
|
|
147
|
+
#
|
|
148
|
+
# @param [Symbol] name The name of the new service class.
|
|
149
|
+
# @param [Array<String, Seahorse::Model::Api>] apis
|
|
150
|
+
# @return [Class<Service>]
|
|
151
|
+
def add_service(name, apis = [])
|
|
152
|
+
svc_class = const_set(name, Service.define(name.downcase.to_sym, apis))
|
|
153
|
+
service_classes[svc_class.identifier] = svc_class
|
|
154
|
+
self.class.send(:define_method, svc_class.identifier) do |options = {}|
|
|
155
|
+
svc_class.new(options)
|
|
156
|
+
end
|
|
157
|
+
svc_class
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
private
|
|
161
|
+
|
|
162
|
+
# @return Returns a hash of API paths grouped by their service class names.
|
|
163
|
+
def bundled_apis
|
|
164
|
+
Dir.glob(File.join(GEM_ROOT, 'apis', '*.json')).group_by do |path|
|
|
165
|
+
File.basename(path).split('-').first
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
bundled_apis.each do |svc_class_name, api_versions|
|
|
172
|
+
add_service(svc_class_name, api_versions)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
end
|