aws-sdk-core 2.0.0.rc14 → 2.0.0.rc15

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.
Files changed (173) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -3
  3. data/apis/AutoScaling.api.json +1943 -0
  4. data/apis/{autoscaling-2011-01-01.paginators.json → AutoScaling.paginators.json} +0 -0
  5. data/apis/CloudFormation.api.json +785 -0
  6. data/apis/{cloudformation-2010-05-15.paginators.json → CloudFormation.paginators.json} +0 -0
  7. data/apis/CloudFront.api.json +2581 -0
  8. data/apis/{cloudfront-2014-05-31.paginators.json → CloudFront.paginators.json} +0 -0
  9. data/apis/{cloudfront-2014-01-31.waiters.json → CloudFront.waiters.json} +0 -0
  10. data/apis/CloudSearch.api.json +1955 -0
  11. data/apis/{cloudsearch-2013-01-01.paginators.json → CloudSearch.paginators.json} +0 -0
  12. data/apis/CloudSearchDomain.api.json +349 -0
  13. data/apis/CloudTrail.api.json +559 -0
  14. data/apis/{cloudtrail-2013-11-01.paginators.json → CloudTrail.paginators.json} +0 -0
  15. data/apis/CloudWatch.api.json +917 -0
  16. data/apis/{monitoring-2010-08-01.paginators.json → CloudWatch.paginators.json} +0 -0
  17. data/apis/CloudWatchLogs.api.json +816 -0
  18. data/apis/{logs-2014-03-28.paginators.json → CloudWatchLogs.paginators.json} +0 -0
  19. data/apis/CognitoIdentity.api.json +631 -0
  20. data/apis/CognitoSync.api.json +721 -0
  21. data/apis/DataPipeline.api.json +940 -0
  22. data/apis/{datapipeline-2012-10-29.paginators.json → DataPipeline.paginators.json} +0 -0
  23. data/apis/DirectConnect.api.json +833 -0
  24. data/apis/{directconnect-2012-10-25.paginators.json → DirectConnect.paginators.json} +0 -0
  25. data/apis/DynamoDB.api.json +1210 -0
  26. data/apis/{dynamodb-2011-12-05.paginators.json → DynamoDB.paginators.json} +0 -0
  27. data/apis/{dynamodb-2012-08-10.waiters.json → DynamoDB.waiters.json} +0 -0
  28. data/apis/EC2.api.json +9914 -0
  29. data/apis/{ec2-2014-06-15.paginators.json → EC2.paginators.json} +0 -0
  30. data/apis/{ec2-2014-06-15.resources.json → EC2.resources.json} +0 -0
  31. data/apis/{ec2-2014-06-15.waiters.json → EC2.waiters.json} +0 -0
  32. data/apis/EMR.api.json +1339 -0
  33. data/apis/{elasticmapreduce-2009-03-31.paginators.json → EMR.paginators.json} +0 -0
  34. data/apis/ElastiCache.api.json +3410 -0
  35. data/apis/{elasticache-2014-03-24.paginators.json → ElastiCache.paginators.json} +0 -0
  36. data/apis/ElasticBeanstalk.api.json +1540 -0
  37. data/apis/{elasticbeanstalk-2010-12-01.paginators.json → ElasticBeanstalk.paginators.json} +0 -0
  38. data/apis/ElasticLoadBalancing.api.json +2131 -0
  39. data/apis/{elasticloadbalancing-2012-06-01.paginators.json → ElasticLoadBalancing.paginators.json} +0 -0
  40. data/apis/ElasticTranscoder.api.json +1647 -0
  41. data/apis/{elastictranscoder-2012-09-25.paginators.json → ElasticTranscoder.paginators.json} +0 -0
  42. data/apis/Glacier.api.json +1456 -0
  43. data/apis/{glacier-2012-06-01.paginators.json → Glacier.paginators.json} +0 -0
  44. data/apis/{glacier-2012-06-01.resources.json → Glacier.resources.json} +0 -0
  45. data/apis/{glacier-2012-06-01.waiters.json → Glacier.waiters.json} +0 -0
  46. data/apis/IAM.api.json +4033 -0
  47. data/apis/{iam-2010-05-08.paginators.json → IAM.paginators.json} +0 -0
  48. data/apis/{iam-2010-05-08.resources.json → IAM.resources.json} +0 -0
  49. data/apis/ImportExport.api.json +515 -0
  50. data/apis/{importexport-2010-06-01.paginators.json → ImportExport.paginators.json} +0 -0
  51. data/apis/Kinesis.api.json +548 -0
  52. data/apis/{kinesis-2013-12-02.paginators.json → Kinesis.paginators.json} +0 -0
  53. data/apis/OpsWorks.api.json +2524 -0
  54. data/apis/{opsworks-2013-02-18.paginators.json → OpsWorks.paginators.json} +0 -0
  55. data/apis/RDS.api.json +4473 -0
  56. data/apis/{rds-2013-02-12.paginators.json → RDS.paginators.json} +0 -0
  57. data/apis/{rds-2013-09-09.waiters.json → RDS.waiters.json} +0 -0
  58. data/apis/Redshift.api.json +4482 -0
  59. data/apis/{redshift-2012-12-01.paginators.json → Redshift.paginators.json} +0 -0
  60. data/apis/{redshift-2012-12-01.waiters.json → Redshift.waiters.json} +0 -0
  61. data/apis/Route53.api.json +1935 -0
  62. data/apis/{route53-2013-04-01.paginators.json → Route53.paginators.json} +0 -0
  63. data/apis/Route53Domains.api.json +1129 -0
  64. data/apis/{s3-2006-03-01.api.json → S3.api.json} +336 -942
  65. data/apis/{s3-2006-03-01.paginators.json → S3.paginators.json} +1 -1
  66. data/apis/{s3-2006-03-01.resources.json → S3.resources.json} +0 -0
  67. data/apis/{s3-2006-03-01.waiters.json → S3.waiters.json} +0 -0
  68. data/apis/SES.api.json +644 -0
  69. data/apis/{email-2010-12-01.paginators.json → SES.paginators.json} +0 -0
  70. data/apis/{email-2010-12-01.waiters.json → SES.waiters.json} +0 -0
  71. data/apis/SNS.api.json +1760 -0
  72. data/apis/{sns-2010-03-31.paginators.json → SNS.paginators.json} +0 -0
  73. data/apis/{sns-2010-03-31.resources.json → SNS.resources.json} +0 -0
  74. data/apis/SQS.api.json +1113 -0
  75. data/apis/{sqs-2012-11-05.paginators.json → SQS.paginators.json} +0 -0
  76. data/apis/{sqs-2012-11-05.resources.json → SQS.resources.json} +0 -0
  77. data/apis/STS.api.json +594 -0
  78. data/apis/SWF.api.json +2656 -0
  79. data/apis/{swf-2012-01-25.paginators.json → SWF.paginators.json} +0 -0
  80. data/apis/SimpleDB.api.json +954 -0
  81. data/apis/{sdb-2009-04-15.paginators.json → SimpleDB.paginators.json} +0 -0
  82. data/apis/StorageGateway.api.json +2311 -0
  83. data/apis/{storagegateway-2013-06-30.paginators.json → StorageGateway.paginators.json} +0 -0
  84. data/apis/Support.api.json +869 -0
  85. data/apis/{support-2013-04-15.paginators.json → Support.paginators.json} +0 -0
  86. data/lib/aws.rb +96 -53
  87. data/lib/aws/api/documenter.rb +238 -0
  88. data/lib/aws/api/{documentor.rb → operation_documenter.rb} +9 -5
  89. data/lib/aws/api/{doc_example.rb → operation_example.rb} +8 -7
  90. data/lib/aws/api/service_customizations.rb +3 -1
  91. data/lib/aws/client.rb +38 -0
  92. data/lib/aws/credential_provider_chain.rb +1 -0
  93. data/lib/aws/dynamodb/attribute_value.rb +87 -0
  94. data/lib/aws/empty_structure.rb +4 -3
  95. data/lib/aws/endpoint_provider.rb +1 -0
  96. data/lib/aws/errors.rb +2 -0
  97. data/lib/aws/instance_profile_credentials.rb +1 -1
  98. data/lib/aws/plugins/csd_conditional_signing.rb +32 -0
  99. data/lib/aws/plugins/dynamodb_simple_attributes.rb +179 -0
  100. data/lib/aws/plugins/global_configuration.rb +13 -3
  101. data/lib/aws/plugins/protocols/json_rpc.rb +9 -7
  102. data/lib/aws/plugins/regional_endpoint.rb +1 -1
  103. data/lib/aws/plugins/request_signer.rb +13 -6
  104. data/lib/aws/plugins/response_paging.rb +1 -2
  105. data/lib/aws/plugins/s3_url_encoded_keys.rb +92 -0
  106. data/lib/aws/plugins/user_agent.rb +1 -2
  107. data/lib/aws/signers/v4.rb +1 -1
  108. data/lib/aws/structure.rb +49 -2
  109. data/lib/aws/version.rb +1 -1
  110. data/lib/aws/xml/builder.rb +1 -0
  111. data/lib/seahorse.rb +2 -1
  112. data/lib/seahorse/client/handler_list.rb +10 -3
  113. data/lib/seahorse/client/http/request.rb +0 -8
  114. data/lib/seahorse/client/xml/builder.rb +0 -1
  115. data/lib/seahorse/model/shape_map.rb +1 -0
  116. data/lib/seahorse/model/shapes.rb +5 -0
  117. metadata +93 -107
  118. data/apis/autoscaling-2011-01-01.api.json +0 -3063
  119. data/apis/cloudformation-2010-05-15.api.json +0 -1306
  120. data/apis/cloudfront-2014-01-31.api.json +0 -3478
  121. data/apis/cloudfront-2014-01-31.paginators.json +0 -32
  122. data/apis/cloudfront-2014-05-31.api.json +0 -3540
  123. data/apis/cloudfront-2014-05-31.waiters.json +0 -29
  124. data/apis/cloudsearch-2011-02-01.api.json +0 -2093
  125. data/apis/cloudsearch-2011-02-01.paginators.json +0 -13
  126. data/apis/cloudsearch-2013-01-01.api.json +0 -2655
  127. data/apis/cloudsearchdomain-2013-01-01.api.json +0 -508
  128. data/apis/cloudtrail-2013-11-01.api.json +0 -773
  129. data/apis/cognito-identity-2014-06-30.api.json +0 -884
  130. data/apis/cognito-sync-2014-06-30.api.json +0 -1029
  131. data/apis/datapipeline-2012-10-29.api.json +0 -1432
  132. data/apis/directconnect-2012-10-25.api.json +0 -1174
  133. data/apis/dynamodb-2011-12-05.api.json +0 -1208
  134. data/apis/dynamodb-2011-12-05.waiters.json +0 -27
  135. data/apis/dynamodb-2012-08-10.api.json +0 -1857
  136. data/apis/dynamodb-2012-08-10.paginators.json +0 -26
  137. data/apis/ec2-2014-06-15.api.json +0 -11670
  138. data/apis/elasticache-2014-03-24.api.json +0 -4789
  139. data/apis/elasticache-2014-07-15.api.json +0 -4826
  140. data/apis/elasticache-2014-07-15.paginators.json +0 -76
  141. data/apis/elasticbeanstalk-2010-12-01.api.json +0 -2442
  142. data/apis/elasticloadbalancing-2012-06-01.api.json +0 -2605
  143. data/apis/elasticmapreduce-2009-03-31.api.json +0 -2282
  144. data/apis/elastictranscoder-2012-09-25.api.json +0 -2478
  145. data/apis/email-2010-12-01.api.json +0 -954
  146. data/apis/glacier-2012-06-01.api.json +0 -2012
  147. data/apis/iam-2010-05-08.api.json +0 -5322
  148. data/apis/importexport-2010-06-01.api.json +0 -687
  149. data/apis/kinesis-2013-12-02.api.json +0 -769
  150. data/apis/logs-2014-03-28.api.json +0 -942
  151. data/apis/manifest.json +0 -259
  152. data/apis/monitoring-2010-08-01.api.json +0 -1338
  153. data/apis/opsworks-2013-02-18.api.json +0 -4348
  154. data/apis/rds-2013-01-10.api.json +0 -6074
  155. data/apis/rds-2013-01-10.paginators.json +0 -97
  156. data/apis/rds-2013-02-12.api.json +0 -6392
  157. data/apis/rds-2013-09-09.api.json +0 -6564
  158. data/apis/rds-2013-09-09.paginators.json +0 -110
  159. data/apis/redshift-2012-12-01.api.json +0 -6318
  160. data/apis/route53-2013-04-01.api.json +0 -2493
  161. data/apis/route53domains-2014-05-15.api.json +0 -1622
  162. data/apis/sdb-2009-04-15.api.json +0 -1178
  163. data/apis/sns-2010-03-31.api.json +0 -2275
  164. data/apis/sqs-2012-11-05.api.json +0 -1438
  165. data/apis/storagegateway-2013-06-30.api.json +0 -3153
  166. data/apis/sts-2011-06-15.api.json +0 -786
  167. data/apis/support-2013-04-15.api.json +0 -1379
  168. data/apis/swf-2012-01-25.api.json +0 -4463
  169. data/lib/aws/api/manifest.rb +0 -29
  170. data/lib/aws/api/manifest_builder.rb +0 -57
  171. data/lib/aws/api/minifier.rb +0 -42
  172. data/lib/aws/response_handler.rb +0 -38
  173. data/lib/aws/service_builder.rb +0 -56
@@ -1,29 +0,0 @@
1
- require 'multi_json'
2
-
3
- module Aws
4
- module Api
5
- # @api private
6
- class Manifest
7
-
8
- # @api private
9
- DEFAULT_MANIFEST_PATH = File.join(GEM_ROOT, 'apis', 'manifest.json')
10
-
11
- # @param [Hash] manifest
12
- def initialize(manifest)
13
- @services = manifest.map do |name,verisons|
14
- Entry.new(name, name.downcase.to_sym, verisons)
15
- end
16
- end
17
-
18
- # @return [Array<Service>]
19
- attr_reader :services
20
-
21
- def self.default_manifest
22
- new(MultiJson.load(File.read(DEFAULT_MANIFEST_PATH)))
23
- end
24
-
25
- Entry = Struct.new(:name, :identifier, :versions)
26
-
27
- end
28
- end
29
- end
@@ -1,57 +0,0 @@
1
- require 'multi_json'
2
-
3
- module Aws
4
- module Api
5
- # @api private
6
- class ManifestBuilder
7
-
8
- # @param [String] directory The folder to scan for API files.
9
- def initialize(directory)
10
- @directory = directory
11
- end
12
-
13
- def build
14
- manifest = {}
15
- Dir.glob(File.join(@directory, '*.api.json')).each do |path|
16
- api = JSON.load(File.read(path))
17
- service = compute_service_name(api)
18
- version = api['metadata']['apiVersion']
19
- manifest[service] ||= {}
20
- manifest[service][version] = entry(path, api)
21
- end
22
- manifest
23
- end
24
-
25
- private
26
-
27
- def compute_service_name(api)
28
- metadata = api['metadata']
29
- name = metadata['serviceAbbreviation'] || metadata['serviceFullName']
30
- name = name.sub('Amazon', '').sub('AWS', '').gsub(/\W+/, '')
31
- name
32
- end
33
-
34
- def compatible_with(api)
35
- api['metadata']['compatibleWith']
36
- end
37
-
38
- def path_for(file_type, api)
39
- prefix = api['metadata']['endpointPrefix']
40
- version = api['metadata']['apiVersion']
41
- path = File.join(@directory, "#{prefix}-#{version}.#{file_type}.json")
42
- path if File.exists?(path)
43
- end
44
-
45
- def entry(path, api)
46
- entry = {
47
- 'api' => path,
48
- 'paginators' => path_for('paginators', api),
49
- 'waiters' => path_for('waiters', api),
50
- 'resources' => path_for('resources', api),
51
- 'compatibleWith' => compatible_with(api),
52
- }.delete_if { |k,v| v.nil? }
53
- end
54
-
55
- end
56
- end
57
- end
@@ -1,42 +0,0 @@
1
- require 'multi_json'
2
-
3
- module Aws
4
- module Api
5
-
6
- # @api private
7
- # Generates smaller API models by removing:
8
- #
9
- # * documentation
10
- # * whitespace
11
- #
12
- class Minifier
13
-
14
- def self.minify(src, target)
15
- json = MultiJson.load(File.read(src))
16
- json = new(json).minify
17
- File.open(target, 'w') { |f| f.write(MultiJson.dump(json)) }
18
- end
19
-
20
- def initialize(json)
21
- @json = json
22
- end
23
-
24
- def minify(value = @json)
25
- case value
26
- when Hash
27
- value.inject({}) do |h, (k, v)|
28
- unless k == 'documentation'
29
- h[k] = minify(v)
30
- end
31
- h
32
- end
33
- when Array
34
- value.map { |v| minify(v) }
35
- else
36
- value
37
- end
38
- end
39
-
40
- end
41
- end
42
- end
@@ -1,38 +0,0 @@
1
- module Aws
2
- # @api private
3
- class ResponseHandler
4
-
5
- def initialize(parser)
6
- @parser = parser
7
- end
8
-
9
- attr_accessor :handler
10
-
11
- def call(context)
12
- @handler.call(context).on(200..299) do |response|
13
- rules = context.operation.output
14
- response.error = nil
15
- response.data = case
16
- when rules.raw_payload? then empty_struct(rules)
17
- when rules.payload then parse_payload(rules, context)
18
- else parse(rules, context)
19
- end
20
- end
21
- end
22
-
23
- def empty_struct(rules)
24
- Structure.new(rules.members.keys)
25
- end
26
-
27
- def parse_payload(rules, context)
28
- data = empty_struct(rules)
29
- data[rules.payload] = parse(rules.payload_member, context)
30
- data
31
- end
32
-
33
- def parse(rules, context)
34
- @parser.parse(rules, context.http_response.body_contents)
35
- end
36
-
37
- end
38
- end
@@ -1,56 +0,0 @@
1
- module Aws
2
- class ServiceBuilder
3
- class << self
4
-
5
- # @param [Symbol] identifier
6
- # @option options [required, String, Hash, Seahorse::Model::Api] 'api'
7
- # @option options [String, Hash, Paging::Provider] 'paging'
8
- # @return [Module<Service>]
9
- def new(identifier, options = {})
10
- svc_module = Module.new
11
- svc_module.send(:extend, Service)
12
- svc_module.const_set(:Errors, Module.new { extend Errors::DynamicErrors })
13
- svc_module.const_set(:Client, client_class(identifier, options))
14
- svc_module
15
- end
16
-
17
- private
18
-
19
- def client_class(identifier, options)
20
- client_class = Class.new(Seahorse::Client::Base)
21
- client_class.const_set(:IDENTIFIER, identifier)
22
- client_class.const_set(:PAGING_PROVIDER, paging_provider(options))
23
- client_class.set_api(api(options))
24
- Api::ServiceCustomizations.apply(client_class)
25
- client_class
26
- end
27
-
28
- def api(options)
29
- api = options['api']
30
- case api
31
- when Seahorse::Model::Api then api
32
- when Hash then Seahorse::Model::Api.new(api)
33
- when String then Seahorse::Model::Api.new(load_json(api))
34
- else
35
- raise ArgumentError, "expected :api to be an Api, Hash or String"
36
- end
37
- end
38
-
39
- def paging_provider(options)
40
- paginators = options['paginators']
41
- case paginators
42
- when Paging::Provider then paginators
43
- when Hash then Paging::Provider.new(paginators)
44
- when String then Paging::Provider.new(load_json(paginators))
45
- when nil then Paging::NullProvider.new
46
- end
47
- end
48
-
49
- def load_json(path)
50
- path = File.join(GEM_ROOT, path) unless path.match(/^#{File::SEPARATOR}/)
51
- MultiJson.load(File.read(path))
52
- end
53
-
54
- end
55
- end
56
- end