aws-sdk-code-generator 0.2.4.pre → 0.4.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-code-generator/client_constructor.rb +4 -1
  3. data/lib/aws-sdk-code-generator/client_operation_documentation.rb +10 -4
  4. data/lib/aws-sdk-code-generator/code_builder.rb +78 -9
  5. data/lib/aws-sdk-code-generator/codegenerated_plugin.rb +34 -0
  6. data/lib/aws-sdk-code-generator/gem_builder.rb +4 -5
  7. data/lib/aws-sdk-code-generator/plugin_list.rb +29 -9
  8. data/lib/aws-sdk-code-generator/service.rb +22 -0
  9. data/lib/aws-sdk-code-generator/views/async_client_class.rb +6 -2
  10. data/lib/aws-sdk-code-generator/views/client_api_module.rb +18 -2
  11. data/lib/aws-sdk-code-generator/views/client_class.rb +7 -2
  12. data/lib/aws-sdk-code-generator/views/endpoint_parameters_class.rb +80 -0
  13. data/lib/aws-sdk-code-generator/views/endpoint_provider_class.rb +253 -0
  14. data/lib/aws-sdk-code-generator/views/endpoints_module.rb +177 -0
  15. data/lib/aws-sdk-code-generator/views/endpoints_plugin.rb +85 -0
  16. data/lib/aws-sdk-code-generator/views/gemspec.rb +4 -0
  17. data/lib/aws-sdk-code-generator/views/service_module.rb +15 -1
  18. data/lib/aws-sdk-code-generator/views/spec/endpoint_provider_spec_class.rb +198 -0
  19. data/lib/aws-sdk-code-generator/views/spec/spec_helper.rb +9 -4
  20. data/lib/aws-sdk-code-generator/views/types_module.rb +8 -7
  21. data/lib/aws-sdk-code-generator.rb +6 -0
  22. data/templates/async_client_class.mustache +2 -2
  23. data/templates/client_api_module.mustache +7 -0
  24. data/templates/client_class.mustache +4 -1
  25. data/templates/endpoint_parameters_class.mustache +50 -0
  26. data/templates/endpoint_provider_class.mustache +12 -0
  27. data/templates/endpoints_module.mustache +33 -0
  28. data/templates/endpoints_plugin.mustache +76 -0
  29. data/templates/gemspec.mustache +1 -1
  30. data/templates/spec/endpoint_provider_spec_class.mustache +76 -0
  31. data/templates/spec/spec_helper.mustache +5 -0
  32. metadata +14 -3
@@ -0,0 +1,198 @@
1
+ # frozen_string_literal: true
2
+
3
+ module AwsSdkCodeGenerator
4
+ module Views
5
+ module Spec
6
+ class EndpointProviderSpecClass < View
7
+
8
+ # @param [Hash] options
9
+ # @option options [required, Service] :service
10
+ def initialize(options)
11
+ @service = options.fetch(:service)
12
+ test_cases = @service.endpoint_tests.fetch('testCases', [])
13
+ @endpoint_tests = test_cases.map do |endpoint_test|
14
+ EndpointProviderTest.new(
15
+ service: @service,
16
+ documentation: endpoint_test['documentation'],
17
+ params: endpoint_test['params'],
18
+ tags: endpoint_test['tags'],
19
+ expect: endpoint_test['expect'],
20
+ operation_inputs: endpoint_test['operationInputs']
21
+ )
22
+ end
23
+ end
24
+
25
+ # @return [Array<EndpointProviderTest>]
26
+ attr_reader :endpoint_tests
27
+
28
+ # @return [String|nil]
29
+ def generated_src_warning
30
+ return if @service.protocol == 'api-gateway'
31
+ GENERATED_SRC_WARNING
32
+ end
33
+
34
+ def module_name
35
+ @service.module_name
36
+ end
37
+
38
+ class EndpointProviderTest
39
+ def initialize(options)
40
+ @service = options[:service]
41
+ @documentation = options[:documentation]
42
+ @params = options[:params]&.map do |key, value|
43
+ [Underscore.underscore(key).to_sym, value]
44
+ end.to_h
45
+ @tags = options[:tags]
46
+ @expect = options[:expect]
47
+ operation_inputs = options[:operation_inputs] || []
48
+ @operation_inputs = operation_inputs.map do |operation_inputs_test|
49
+ OperationInputsTest.new(
50
+ service: @service,
51
+ operation_name: Underscore.underscore(
52
+ operation_inputs_test['operationName']
53
+ ),
54
+ operation_params: operation_inputs_test['operationParams'] || [],
55
+ built_in_params: operation_inputs_test['builtInParams'] || [],
56
+ client_params: operation_inputs_test['clientParams'] || []
57
+ )
58
+ end
59
+ end
60
+
61
+ # @return [String]
62
+ attr_reader :documentation
63
+
64
+ # @return [Hash<Symbol, String>]
65
+ attr_reader :params
66
+
67
+ # @return [Array<String>]
68
+ attr_reader :tags
69
+
70
+ # @return [Hash]
71
+ attr_reader :expect
72
+
73
+ # # @return [Array<OperationInput>]
74
+ attr_reader :operation_inputs
75
+
76
+ def expect_error?
77
+ !@expect['error'].nil?
78
+ end
79
+
80
+ def expected_auth
81
+ if expect_auth?
82
+ @expect['endpoint']['properties']['authSchemes'].first
83
+ end
84
+ end
85
+
86
+ def expect_auth?
87
+ @expect['endpoint'] &&
88
+ @expect['endpoint']['properties'] &&
89
+ @expect['endpoint']['properties']['authSchemes'] &&
90
+ !@expect['endpoint']['properties']['authSchemes'].empty?
91
+ end
92
+
93
+ def expected_headers
94
+ @expect['endpoint']['headers'].map { |k,v| Param.new(k, v.join(",")) }
95
+ end
96
+
97
+ def expect_headers?
98
+ @expect['endpoint'] &&
99
+ @expect['endpoint']['headers'] &&
100
+ !@expect['endpoint']['headers'].empty?
101
+ end
102
+
103
+ end
104
+
105
+ class OperationInputsTest
106
+
107
+ def initialize(options)
108
+ @service = options[:service]
109
+ @operation_name = options[:operation_name]
110
+ @operation_params = options[:operation_params].map do |k,v|
111
+ Param.new(Underscore.underscore(k), transform_operation_values(v))
112
+ end
113
+ @client_params = options[:client_params].map do |k,v|
114
+ Param.new(Underscore.underscore(k), v)
115
+ end
116
+
117
+ @client_params += options[:built_in_params].map do |k,v|
118
+ built_in_to_param(k, v)
119
+ end
120
+ # the expected default of UseGlobalEndpoint does not match the SDK's default value
121
+ if @service.identifier == 's3' && !options[:built_in_params].include?('AWS::S3::UseGlobalEndpoint')
122
+ @client_params << built_in_to_param('AWS::S3::UseGlobalEndpoint', false)
123
+ end
124
+ end
125
+
126
+ # @return String
127
+ attr_reader :operation_name
128
+
129
+ # @return [Hash<String, String>]
130
+ attr_reader :operation_params
131
+
132
+ # @return [Hash<String, String>]
133
+ attr_reader :client_params
134
+
135
+ private
136
+ def transform_operation_values(value)
137
+ case value
138
+ when Hash
139
+ value.each_with_object({}) do |(k, v), o|
140
+ o[Underscore.underscore(k)] = transform_operation_values(v)
141
+ end
142
+ when Array
143
+ value.map { |v| transform_operation_values(v) }
144
+ else
145
+ value
146
+ end
147
+ end
148
+
149
+ def built_in_to_param(built_in, value)
150
+ case built_in
151
+ when 'AWS::Region'
152
+ Param.new('region', value)
153
+ when 'AWS::UseFIPS'
154
+ Param.new('use_fips_endpoint', value)
155
+ when 'AWS::UseDualStack'
156
+ Param.new('use_dualstack_endpoint', value)
157
+ when 'AWS::STS::UseGlobalEndpoint'
158
+ Param.new('sts_regional_endpoints', value ? 'legacy' : 'regional')
159
+ when 'AWS::S3::UseGlobalEndpoint'
160
+ Param.new('s3_us_east_1_regional_endpoint', value ? 'legacy' : 'regional')
161
+ when 'AWS::S3::Accelerate'
162
+ Param.new('use_accelerate_endpoint', value)
163
+ when 'AWS::S3::ForcePathStyle'
164
+ Param.new('force_path_style', value)
165
+ when 'AWS::S3::UseArnRegion'
166
+ Param.new('s3_use_arn_region', value)
167
+ when 'AWS::S3Control::UseArnRegion'
168
+ Param.new('s3_use_arn_region', value)
169
+ when 'AWS::S3::DisableMultiRegionAccessPoints'
170
+ Param.new('s3_disable_multiregion_access_points', value)
171
+ when 'SDK::Endpoint'
172
+ Param.new('endpoint', value)
173
+ else
174
+ raise ArgumentError, "#{built_in} not supported."
175
+ end
176
+ end
177
+ end
178
+
179
+ class Param
180
+ def initialize(param, value)
181
+ @param = param
182
+ @value = value
183
+ end
184
+ attr_accessor :param
185
+
186
+ def value
187
+ if @value.is_a? String
188
+ "'#{@value}'"
189
+ else
190
+ @value
191
+ end
192
+ end
193
+ end
194
+
195
+ end
196
+ end
197
+ end
198
+ end
@@ -9,13 +9,14 @@ module AwsSdkCodeGenerator
9
9
 
10
10
  # @param [Hash] options
11
11
  # @option options [required, Service] :service
12
+ # @option options[required, String] :aws_sdk_core_lib_path
12
13
  def initialize(options)
13
- service = options.fetch(:service)
14
- @gem_name = service.gem_name
15
- @gem_dependencies = service.gem_dependencies.map do |gem_name, _|
14
+ @service = options.fetch(:service)
15
+ @gem_name = @service.gem_name
16
+ @gem_dependencies = @service.gem_dependencies.map do |gem_name, _|
16
17
  { dependency: gem_name }
17
18
  end
18
- @custom = service.protocol == 'api-gateway'
19
+ @custom = @service.protocol == 'api-gateway'
19
20
  end
20
21
 
21
22
  attr_reader :gem_name
@@ -27,6 +28,10 @@ module AwsSdkCodeGenerator
27
28
  GENERATED_SRC_WARNING
28
29
  end
29
30
 
31
+ def included_in_core
32
+ @service.included_in_core?
33
+ end
34
+
30
35
  end
31
36
  end
32
37
  end
@@ -141,13 +141,14 @@ module AwsSdkCodeGenerator
141
141
  elsif shape['union']
142
142
  "@note #{shape_name} is a union - when making an API calls you"\
143
143
  ' must set exactly one of the members.'
144
- else
145
- note = "@note When making an API call, you may pass #{shape_name}\n"
146
- note += " data as a hash:\n\n"
147
- note += ' ' + SyntaxExampleHash.new(
148
- shape: shape(shape_name),
149
- api: @service.api,
150
- ).format(' ')
144
+ # This doc block is no longer useful, but keeping for records
145
+ # else
146
+ # note = "@note When making an API call, you may pass #{shape_name}\n"
147
+ # note += " data as a hash:\n\n"
148
+ # note += ' ' + SyntaxExampleHash.new(
149
+ # shape: shape(shape_name),
150
+ # api: @service.api,
151
+ # ).format(' ')
151
152
  end
152
153
  end
153
154
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'aws-sdk-code-generator/api'
4
4
  require_relative 'aws-sdk-code-generator/apply_docs'
5
+ require_relative 'aws-sdk-code-generator/codegenerated_plugin'
5
6
  require_relative 'aws-sdk-code-generator/client_constructor'
6
7
  require_relative 'aws-sdk-code-generator/client_operation_documentation'
7
8
  require_relative 'aws-sdk-code-generator/client_operation_list'
@@ -53,9 +54,14 @@ require_relative 'aws-sdk-code-generator/views/features/smoke_step_definitions'
53
54
  require_relative 'aws-sdk-code-generator/views/features/smoke'
54
55
  require_relative 'aws-sdk-code-generator/views/gemspec'
55
56
  require_relative 'aws-sdk-code-generator/views/resource_class'
57
+ require_relative 'aws-sdk-code-generator/views/endpoint_parameters_class'
58
+ require_relative 'aws-sdk-code-generator/views/endpoint_provider_class'
59
+ require_relative 'aws-sdk-code-generator/views/endpoints_module'
60
+ require_relative 'aws-sdk-code-generator/views/endpoints_plugin'
56
61
  require_relative 'aws-sdk-code-generator/views/root_resource_class'
57
62
  require_relative 'aws-sdk-code-generator/views/service_module'
58
63
  require_relative 'aws-sdk-code-generator/views/spec/spec_helper'
64
+ require_relative 'aws-sdk-code-generator/views/spec/endpoint_provider_spec_class'
59
65
  require_relative 'aws-sdk-code-generator/views/types_module'
60
66
  require_relative 'aws-sdk-code-generator/views/event_streams_module'
61
67
  require_relative 'aws-sdk-code-generator/views/authorizer_class'
@@ -66,11 +66,11 @@ module {{module_name}}
66
66
 
67
67
  {{#eventstream_input}}
68
68
  req.context[:input_event_stream_handler] = input_event_stream_handler
69
- req.handlers.add(Aws::Binary::EncodeHandler, priority: 95)
69
+ req.handlers.add(Aws::Binary::EncodeHandler, priority: 55)
70
70
  {{/eventstream_input}}
71
71
  {{#eventstream_output}}
72
72
  req.context[:output_event_stream_handler] = output_event_stream_handler
73
- req.handlers.add(Aws::Binary::DecodeHandler, priority: 95)
73
+ req.handlers.add(Aws::Binary::DecodeHandler, priority: 55)
74
74
  {{/eventstream_output}}
75
75
 
76
76
  req.send_request(options{{{block_option}}})
@@ -44,6 +44,13 @@ module {{module_name}}
44
44
  {{#http_checksum_required}}
45
45
  o.http_checksum_required = true
46
46
  {{/http_checksum_required}}
47
+ {{#http_checksum}}
48
+ o.http_checksum = {
49
+ {{#http_checksum}}
50
+ {{{key}}} => {{{value}}},
51
+ {{/http_checksum}}
52
+ }
53
+ {{/http_checksum}}
47
54
  {{#deprecated}}
48
55
  o.deprecated = true
49
56
  {{/deprecated}}
@@ -45,7 +45,7 @@ module {{module_name}}
45
45
  # seconds to wait when opening a HTTP session before raising a
46
46
  # `Timeout::Error`.
47
47
  #
48
- # @option options [Integer] :http_read_timeout (60) The default
48
+ # @option options [Float] :http_read_timeout (60) The default
49
49
  # number of seconds to wait for response data. This value can
50
50
  # safely be set per-request on the session.
51
51
  #
@@ -61,6 +61,9 @@ module {{module_name}}
61
61
  # disables this behaviour. This value can safely be set per
62
62
  # request on the session.
63
63
  #
64
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
65
+ # in seconds.
66
+ #
64
67
  # @option options [Boolean] :http_wire_trace (false) When `true`,
65
68
  # HTTP debug output will be sent to the `:logger`.
66
69
  #
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+ module {{module_name}}
7
+ # Endpoint parameters used to influence endpoints per request.
8
+ #
9
+ {{#parameters}}
10
+ {{documentation}}
11
+ {{/parameters}}
12
+ EndpointParameters = Struct.new(
13
+ {{#parameters}}
14
+ :{{underscore_name}},
15
+ {{/parameters}}
16
+ {{^parameters}}
17
+ nil
18
+ {{/parameters}}
19
+ ) do
20
+ include Aws::Structure
21
+
22
+ # @api private
23
+ class << self
24
+ PARAM_MAP = {
25
+ {{#parameters}}
26
+ '{{name}}' => :{{underscore_name}},
27
+ {{/parameters}}
28
+ }.freeze
29
+ end
30
+
31
+ def initialize(options = {})
32
+ {{#parameters}}
33
+ self[:{{underscore_name}}] = options[:{{underscore_name}}]
34
+ {{#default?}}
35
+ {{#boolean_default?}}
36
+ self[:{{underscore_name}}] = {{default}} if self[:{{underscore_name}}].nil?
37
+ {{/boolean_default?}}
38
+ {{^boolean_default?}}
39
+ self[:{{underscore_name}}] ||= '{{default}}' if self[:{{underscore_name}}].nil?
40
+ {{/boolean_default?}}
41
+ {{/default?}}
42
+ {{#required}}
43
+ if self[:{{underscore_name}}].nil?
44
+ raise ArgumentError, "Missing required EndpointParameter: :{{underscore_name}}"
45
+ end
46
+ {{/required}}
47
+ {{/parameters}}
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+ module {{module_name}}
7
+ class EndpointProvider
8
+ def resolve_endpoint(parameters)
9
+ {{{ endpoint_rules_code }}}
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+
7
+ module {{module_name}}
8
+ module Endpoints
9
+
10
+ {{#endpoint_classes}}
11
+ class {{name}}
12
+ def self.build(context)
13
+ {{#has_endpoint_built_in?}}
14
+ unless context.config.regional_endpoint
15
+ endpoint = context.config.endpoint.to_s
16
+ end
17
+ {{/has_endpoint_built_in?}}
18
+ {{module_name}}::EndpointParameters.new(
19
+ {{#parameters}}
20
+ {{#static_string?}}
21
+ {{key}}: "{{{value}}}",
22
+ {{/static_string?}}
23
+ {{^static_string?}}
24
+ {{key}}: {{{value}}},
25
+ {{/static_string?}}
26
+ {{/parameters}}
27
+ )
28
+ end
29
+ end
30
+
31
+ {{/endpoint_classes}}
32
+ end
33
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+
7
+ module {{module_name}}
8
+ module Plugins
9
+ class Endpoints < Seahorse::Client::Plugin
10
+ option(
11
+ :endpoint_provider,
12
+ doc_type: '{{module_name}}::EndpointProvider',
13
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
14
+ 'object that responds to `#resolve_endpoint(parameters)` '\
15
+ 'where `parameters` is a Struct similar to '\
16
+ '`{{module_name}}::EndpointParameters`'
17
+ ) do |cfg|
18
+ {{module_name}}::EndpointProvider.new
19
+ end
20
+
21
+ {{#endpoint_options}}
22
+ option(
23
+ :{{name}},
24
+ doc_type: '{{doc_type}}',
25
+ default: {{{default}}},
26
+ docstring: "{{{docstring}}}")
27
+
28
+ {{/endpoint_options}}
29
+ # @api private
30
+ class Handler < Seahorse::Client::Handler
31
+ def call(context)
32
+ # If endpoint was discovered, do not resolve or apply the endpoint.
33
+ unless context[:discovered_endpoint]
34
+ params = parameters_for_operation(context)
35
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
36
+
37
+ context.http_request.endpoint = endpoint.url
38
+ apply_endpoint_headers(context, endpoint.headers)
39
+ end
40
+
41
+ context[:endpoint_params] = params
42
+ context[:auth_scheme] =
43
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
44
+
45
+ @handler.call(context)
46
+ end
47
+
48
+ private
49
+
50
+ def apply_endpoint_headers(context, headers)
51
+ headers.each do |key, values|
52
+ value = values
53
+ .compact
54
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
55
+ .join(',')
56
+
57
+ context.http_request.headers[key] = value
58
+ end
59
+ end
60
+
61
+ def parameters_for_operation(context)
62
+ case context.operation_name
63
+ {{#endpoint_classes}}
64
+ when :{{operation_name}}
65
+ {{module_name}}::Endpoints::{{class_name}}.build(context)
66
+ {{/endpoint_classes}}
67
+ end
68
+ end
69
+ end
70
+
71
+ def add_handlers(handlers, _config)
72
+ handlers.add(Handler, step: :build, priority: 75)
73
+ end
74
+ end
75
+ end
76
+ end
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.license = 'Apache-2.0'
15
15
  spec.email = ['{{email}}']
16
16
  spec.require_paths = ['lib']
17
- spec.files = Dir['LICENSE.txt', 'CHANGELOG.md', 'VERSION', 'lib/**/*.rb']
17
+ spec.files = Dir{{{files}}}
18
18
 
19
19
  {{#metadata}}
20
20
  spec.metadata = {
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ {{#generated_src_warning}}
4
+ {{generated_src_warning}}
5
+ {{/generated_src_warning}}
6
+
7
+ require_relative 'spec_helper'
8
+
9
+ module {{module_name}}
10
+ describe EndpointProvider do
11
+ subject { {{module_name}}::EndpointProvider.new }
12
+
13
+ {{#endpoint_tests}}
14
+ context '{{documentation}}' do
15
+ let(:expected) do
16
+ {{{expect}}}
17
+ end
18
+
19
+ it 'produces the expected output from the EndpointProvider' do
20
+ params = EndpointParameters.new(**{{{params}}})
21
+ {{#expect_error?}}
22
+ expect do
23
+ subject.resolve_endpoint(params)
24
+ end.to raise_error(ArgumentError, expected['error'])
25
+ {{/expect_error?}}
26
+ {{^expect_error?}}
27
+ endpoint = subject.resolve_endpoint(params)
28
+ expect(endpoint.url).to eq(expected['endpoint']['url'])
29
+ expect(endpoint.headers).to eq(expected['endpoint']['headers'] || {})
30
+ expect(endpoint.properties).to eq(expected['endpoint']['properties'] || {})
31
+ {{/expect_error?}}
32
+ end
33
+ {{#operation_inputs}}
34
+
35
+ it 'produces the correct output from the client when calling {{operation_name}}' do
36
+ client = Client.new(
37
+ {{#client_params}}
38
+ {{param}}: {{{value}}},
39
+ {{/client_params}}
40
+ stub_responses: true
41
+ )
42
+ {{#expect_error?}}
43
+ expect do
44
+ client.{{operation_name}}(
45
+ {{#operation_params}}
46
+ {{param}}: {{{value}}},
47
+ {{/operation_params}}
48
+ )
49
+ end.to raise_error(ArgumentError, expected['error'])
50
+ {{/expect_error?}}
51
+ {{^expect_error?}}
52
+ {{#expect_auth?}}
53
+ expect_auth({{{expected_auth}}})
54
+ {{/expect_auth?}}
55
+ resp = client.{{operation_name}}(
56
+ {{#operation_params}}
57
+ {{param}}: {{{value}}},
58
+ {{/operation_params}}
59
+ )
60
+ expected_uri = URI.parse(expected['endpoint']['url'])
61
+ expect(resp.context.http_request.endpoint.to_s).to include(expected_uri.host)
62
+ expect(resp.context.http_request.endpoint.to_s).to include(expected_uri.scheme)
63
+ expect(resp.context.http_request.endpoint.to_s).to include(expected_uri.path)
64
+ {{#expect_headers?}}
65
+ {{#expected_headers}}
66
+ expect(resp.context.http_request.headers['{{param}}']).to eq({{{value}}})
67
+ {{/expected_headers}}
68
+ {{/expect_headers?}}
69
+ {{/expect_error?}}
70
+ end
71
+ {{/operation_inputs}}
72
+ end
73
+
74
+ {{/endpoint_tests}}
75
+ end
76
+ end
@@ -3,7 +3,12 @@
3
3
  {{#generated_src_warning}}
4
4
  {{generated_src_warning}}
5
5
  {{/generated_src_warning}}
6
+ {{#included_in_core}}
7
+ require_relative '../../shared_spec_helper'
8
+ {{/included_in_core}}
9
+ {{^included_in_core}}
6
10
  require_relative '../../aws-sdk-core/spec/shared_spec_helper'
11
+ {{/included_in_core}}
7
12
 
8
13
  $:.unshift(File.expand_path('../../lib', __FILE__))
9
14
  {{#gem_dependencies}}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-code-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4.pre
4
+ version: 0.4.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-20 00:00:00.000000000 Z
11
+ date: 2023-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
@@ -53,6 +53,7 @@ files:
53
53
  - lib/aws-sdk-code-generator/client_operation_list.rb
54
54
  - lib/aws-sdk-code-generator/client_response_structure_example.rb
55
55
  - lib/aws-sdk-code-generator/code_builder.rb
56
+ - lib/aws-sdk-code-generator/codegenerated_plugin.rb
56
57
  - lib/aws-sdk-code-generator/crosslink.rb
57
58
  - lib/aws-sdk-code-generator/docstring.rb
58
59
  - lib/aws-sdk-code-generator/error_list.rb
@@ -99,6 +100,10 @@ files:
99
100
  - lib/aws-sdk-code-generator/views/client_api_module.rb
100
101
  - lib/aws-sdk-code-generator/views/client_class.rb
101
102
  - lib/aws-sdk-code-generator/views/docstring.rb
103
+ - lib/aws-sdk-code-generator/views/endpoint_parameters_class.rb
104
+ - lib/aws-sdk-code-generator/views/endpoint_provider_class.rb
105
+ - lib/aws-sdk-code-generator/views/endpoints_module.rb
106
+ - lib/aws-sdk-code-generator/views/endpoints_plugin.rb
102
107
  - lib/aws-sdk-code-generator/views/errors_module.rb
103
108
  - lib/aws-sdk-code-generator/views/event_streams_module.rb
104
109
  - lib/aws-sdk-code-generator/views/features/env.rb
@@ -109,6 +114,7 @@ files:
109
114
  - lib/aws-sdk-code-generator/views/resource_class.rb
110
115
  - lib/aws-sdk-code-generator/views/root_resource_class.rb
111
116
  - lib/aws-sdk-code-generator/views/service_module.rb
117
+ - lib/aws-sdk-code-generator/views/spec/endpoint_provider_spec_class.rb
112
118
  - lib/aws-sdk-code-generator/views/spec/spec_helper.rb
113
119
  - lib/aws-sdk-code-generator/views/types_module.rb
114
120
  - lib/aws-sdk-code-generator/views/version.rb
@@ -123,6 +129,10 @@ files:
123
129
  - templates/client_class.mustache
124
130
  - templates/code.mustache
125
131
  - templates/documentation.mustache
132
+ - templates/endpoint_parameters_class.mustache
133
+ - templates/endpoint_provider_class.mustache
134
+ - templates/endpoints_module.mustache
135
+ - templates/endpoints_plugin.mustache
126
136
  - templates/errors_module.mustache
127
137
  - templates/event_streams_module.mustache
128
138
  - templates/features/env.mustache
@@ -135,6 +145,7 @@ files:
135
145
  - templates/resource_class.mustache
136
146
  - templates/root_resource_class.mustache
137
147
  - templates/service_module.mustache
148
+ - templates/spec/endpoint_provider_spec_class.mustache
138
149
  - templates/spec/spec_helper.mustache
139
150
  - templates/types_module.mustache
140
151
  - templates/version.mustache
@@ -158,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
169
  - !ruby/object:Gem::Version
159
170
  version: 1.3.1
160
171
  requirements: []
161
- rubygems_version: 3.2.7
172
+ rubygems_version: 3.2.22
162
173
  signing_key:
163
174
  specification_version: 4
164
175
  summary: AWS SDK for Ruby - Code Generator