aws-sdk-athena 1.55.0 → 1.57.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d93a10bf117ae8c6ab4bb6e57c3fbe33d4b116abe69e9f38786486ebba621cfb
4
- data.tar.gz: c08af9b491cbacbd85e97ed2a1e9b93fc56a716704e33ed780fe738d14da62d3
3
+ metadata.gz: e34f601fcf51380c748dbd3595e720808fa00c01ceca0ebe652b53b1fa1b7184
4
+ data.tar.gz: cb4ea48fb27f210100ee23f7f8264aefaea1de779453dcb95375a3e08bc3b6f2
5
5
  SHA512:
6
- metadata.gz: 88a9ab5998ed7f54646b12ca95e92ede86b620ef0cbd6686d081862cc145b0b906772de30601fb0e9701911919e3c67c5fe9f7e11dbb0bf487d503e05e1e9e04
7
- data.tar.gz: e4113fed8f2052810d2db2883fed1715e46790e43595357b0c29cbfb71fe3a18a7ebb3a7313b63178bd067b84af0521281f7b2a901f94782aec384528b14d1e0
6
+ metadata.gz: 1b79e2c2b5a54c9bb76029fc1ea5006098fcf47938587ad8515f1a662a7da6067b1647c224d8fec2c33c734b0d76fd0b21db16e8330d1fe0ec72c14232e1df4f
7
+ data.tar.gz: 56fc0bb9205f293e4a5887a8de61336b9638abb641e8efcd91bbd8198872876394f9a983c3ec927ffdb2e8dfdb1fa836615f813d303fb1889015adfde3b48802
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.57.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.56.0 (2022-07-21)
10
+ ------------------
11
+
12
+ * Feature - This feature allows customers to retrieve runtime statistics for completed queries
13
+
4
14
  1.55.0 (2022-07-14)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.55.0
1
+ 1.57.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:athena)
@@ -79,8 +79,9 @@ module Aws::Athena
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::Athena::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::Athena
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::Athena
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::Athena::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Athena::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -1175,6 +1192,60 @@ module Aws::Athena
1175
1192
  req.send_request(options)
1176
1193
  end
1177
1194
 
1195
+ # Returns query execution runtime statistics related to a single
1196
+ # execution of a query if you have access to the workgroup in which the
1197
+ # query ran. The query execution runtime statistics is returned only
1198
+ # when QueryExecutionStatus$State is in a SUCCEEDED or FAILED state.
1199
+ #
1200
+ # @option params [required, String] :query_execution_id
1201
+ # The unique ID of the query execution.
1202
+ #
1203
+ # @return [Types::GetQueryRuntimeStatisticsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1204
+ #
1205
+ # * {Types::GetQueryRuntimeStatisticsOutput#query_runtime_statistics #query_runtime_statistics} => Types::QueryRuntimeStatistics
1206
+ #
1207
+ # @example Request syntax with placeholder values
1208
+ #
1209
+ # resp = client.get_query_runtime_statistics({
1210
+ # query_execution_id: "QueryExecutionId", # required
1211
+ # })
1212
+ #
1213
+ # @example Response structure
1214
+ #
1215
+ # resp.query_runtime_statistics.timeline.query_queue_time_in_millis #=> Integer
1216
+ # resp.query_runtime_statistics.timeline.query_planning_time_in_millis #=> Integer
1217
+ # resp.query_runtime_statistics.timeline.engine_execution_time_in_millis #=> Integer
1218
+ # resp.query_runtime_statistics.timeline.service_processing_time_in_millis #=> Integer
1219
+ # resp.query_runtime_statistics.timeline.total_execution_time_in_millis #=> Integer
1220
+ # resp.query_runtime_statistics.rows.input_rows #=> Integer
1221
+ # resp.query_runtime_statistics.rows.input_bytes #=> Integer
1222
+ # resp.query_runtime_statistics.rows.output_bytes #=> Integer
1223
+ # resp.query_runtime_statistics.rows.output_rows #=> Integer
1224
+ # resp.query_runtime_statistics.output_stage.stage_id #=> Integer
1225
+ # resp.query_runtime_statistics.output_stage.state #=> String
1226
+ # resp.query_runtime_statistics.output_stage.output_bytes #=> Integer
1227
+ # resp.query_runtime_statistics.output_stage.output_rows #=> Integer
1228
+ # resp.query_runtime_statistics.output_stage.input_bytes #=> Integer
1229
+ # resp.query_runtime_statistics.output_stage.input_rows #=> Integer
1230
+ # resp.query_runtime_statistics.output_stage.execution_time #=> Integer
1231
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.name #=> String
1232
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.identifier #=> String
1233
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.children #=> Array
1234
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.children[0] #=> Types::QueryStagePlanNode
1235
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.remote_sources #=> Array
1236
+ # resp.query_runtime_statistics.output_stage.query_stage_plan.remote_sources[0] #=> String
1237
+ # resp.query_runtime_statistics.output_stage.sub_stages #=> Array
1238
+ # resp.query_runtime_statistics.output_stage.sub_stages[0] #=> Types::QueryStage
1239
+ #
1240
+ # @see http://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetQueryRuntimeStatistics AWS API Documentation
1241
+ #
1242
+ # @overload get_query_runtime_statistics(params = {})
1243
+ # @param [Hash] params ({})
1244
+ def get_query_runtime_statistics(params = {}, options = {})
1245
+ req = build_request(:get_query_runtime_statistics, params)
1246
+ req.send_request(options)
1247
+ end
1248
+
1178
1249
  # Returns table metadata for the specified catalog, database, and table.
1179
1250
  #
1180
1251
  # @option params [required, String] :catalog_name
@@ -1372,6 +1443,8 @@ module Aws::Athena
1372
1443
  # * {Types::ListEngineVersionsOutput#engine_versions #engine_versions} => Array<Types::EngineVersion>
1373
1444
  # * {Types::ListEngineVersionsOutput#next_token #next_token} => String
1374
1445
  #
1446
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1447
+ #
1375
1448
  # @example Request syntax with placeholder values
1376
1449
  #
1377
1450
  # resp = client.list_engine_versions({
@@ -2120,7 +2193,7 @@ module Aws::Athena
2120
2193
  params: params,
2121
2194
  config: config)
2122
2195
  context[:gem_name] = 'aws-sdk-athena'
2123
- context[:gem_version] = '1.55.0'
2196
+ context[:gem_version] = '1.57.0'
2124
2197
  Seahorse::Client::Request.new(handlers, context)
2125
2198
  end
2126
2199
 
@@ -82,6 +82,8 @@ module Aws::Athena
82
82
  GetQueryExecutionOutput = Shapes::StructureShape.new(name: 'GetQueryExecutionOutput')
83
83
  GetQueryResultsInput = Shapes::StructureShape.new(name: 'GetQueryResultsInput')
84
84
  GetQueryResultsOutput = Shapes::StructureShape.new(name: 'GetQueryResultsOutput')
85
+ GetQueryRuntimeStatisticsInput = Shapes::StructureShape.new(name: 'GetQueryRuntimeStatisticsInput')
86
+ GetQueryRuntimeStatisticsOutput = Shapes::StructureShape.new(name: 'GetQueryRuntimeStatisticsOutput')
85
87
  GetTableMetadataInput = Shapes::StructureShape.new(name: 'GetTableMetadataInput')
86
88
  GetTableMetadataOutput = Shapes::StructureShape.new(name: 'GetTableMetadataOutput')
87
89
  GetWorkGroupInput = Shapes::StructureShape.new(name: 'GetWorkGroupInput')
@@ -142,6 +144,13 @@ module Aws::Athena
142
144
  QueryExecutionState = Shapes::StringShape.new(name: 'QueryExecutionState')
143
145
  QueryExecutionStatistics = Shapes::StructureShape.new(name: 'QueryExecutionStatistics')
144
146
  QueryExecutionStatus = Shapes::StructureShape.new(name: 'QueryExecutionStatus')
147
+ QueryRuntimeStatistics = Shapes::StructureShape.new(name: 'QueryRuntimeStatistics')
148
+ QueryRuntimeStatisticsRows = Shapes::StructureShape.new(name: 'QueryRuntimeStatisticsRows')
149
+ QueryRuntimeStatisticsTimeline = Shapes::StructureShape.new(name: 'QueryRuntimeStatisticsTimeline')
150
+ QueryStage = Shapes::StructureShape.new(name: 'QueryStage')
151
+ QueryStagePlanNode = Shapes::StructureShape.new(name: 'QueryStagePlanNode')
152
+ QueryStagePlanNodes = Shapes::ListShape.new(name: 'QueryStagePlanNodes')
153
+ QueryStages = Shapes::ListShape.new(name: 'QueryStages')
145
154
  QueryString = Shapes::StringShape.new(name: 'QueryString')
146
155
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
147
156
  ResultConfiguration = Shapes::StructureShape.new(name: 'ResultConfiguration')
@@ -159,6 +168,7 @@ module Aws::Athena
159
168
  StopQueryExecutionInput = Shapes::StructureShape.new(name: 'StopQueryExecutionInput')
160
169
  StopQueryExecutionOutput = Shapes::StructureShape.new(name: 'StopQueryExecutionOutput')
161
170
  String = Shapes::StringShape.new(name: 'String')
171
+ StringList = Shapes::ListShape.new(name: 'StringList')
162
172
  TableMetadata = Shapes::StructureShape.new(name: 'TableMetadata')
163
173
  TableMetadataList = Shapes::ListShape.new(name: 'TableMetadataList')
164
174
  TableTypeString = Shapes::StringShape.new(name: 'TableTypeString')
@@ -387,6 +397,12 @@ module Aws::Athena
387
397
  GetQueryResultsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
388
398
  GetQueryResultsOutput.struct_class = Types::GetQueryResultsOutput
389
399
 
400
+ GetQueryRuntimeStatisticsInput.add_member(:query_execution_id, Shapes::ShapeRef.new(shape: QueryExecutionId, required: true, location_name: "QueryExecutionId"))
401
+ GetQueryRuntimeStatisticsInput.struct_class = Types::GetQueryRuntimeStatisticsInput
402
+
403
+ GetQueryRuntimeStatisticsOutput.add_member(:query_runtime_statistics, Shapes::ShapeRef.new(shape: QueryRuntimeStatistics, location_name: "QueryRuntimeStatistics"))
404
+ GetQueryRuntimeStatisticsOutput.struct_class = Types::GetQueryRuntimeStatisticsOutput
405
+
390
406
  GetTableMetadataInput.add_member(:catalog_name, Shapes::ShapeRef.new(shape: CatalogNameString, required: true, location_name: "CatalogName"))
391
407
  GetTableMetadataInput.add_member(:database_name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "DatabaseName"))
392
408
  GetTableMetadataInput.add_member(:table_name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "TableName"))
@@ -559,6 +575,45 @@ module Aws::Athena
559
575
  QueryExecutionStatus.add_member(:athena_error, Shapes::ShapeRef.new(shape: AthenaError, location_name: "AthenaError"))
560
576
  QueryExecutionStatus.struct_class = Types::QueryExecutionStatus
561
577
 
578
+ QueryRuntimeStatistics.add_member(:timeline, Shapes::ShapeRef.new(shape: QueryRuntimeStatisticsTimeline, location_name: "Timeline"))
579
+ QueryRuntimeStatistics.add_member(:rows, Shapes::ShapeRef.new(shape: QueryRuntimeStatisticsRows, location_name: "Rows"))
580
+ QueryRuntimeStatistics.add_member(:output_stage, Shapes::ShapeRef.new(shape: QueryStage, location_name: "OutputStage"))
581
+ QueryRuntimeStatistics.struct_class = Types::QueryRuntimeStatistics
582
+
583
+ QueryRuntimeStatisticsRows.add_member(:input_rows, Shapes::ShapeRef.new(shape: Long, location_name: "InputRows"))
584
+ QueryRuntimeStatisticsRows.add_member(:input_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "InputBytes"))
585
+ QueryRuntimeStatisticsRows.add_member(:output_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "OutputBytes"))
586
+ QueryRuntimeStatisticsRows.add_member(:output_rows, Shapes::ShapeRef.new(shape: Long, location_name: "OutputRows"))
587
+ QueryRuntimeStatisticsRows.struct_class = Types::QueryRuntimeStatisticsRows
588
+
589
+ QueryRuntimeStatisticsTimeline.add_member(:query_queue_time_in_millis, Shapes::ShapeRef.new(shape: Long, location_name: "QueryQueueTimeInMillis"))
590
+ QueryRuntimeStatisticsTimeline.add_member(:query_planning_time_in_millis, Shapes::ShapeRef.new(shape: Long, location_name: "QueryPlanningTimeInMillis"))
591
+ QueryRuntimeStatisticsTimeline.add_member(:engine_execution_time_in_millis, Shapes::ShapeRef.new(shape: Long, location_name: "EngineExecutionTimeInMillis"))
592
+ QueryRuntimeStatisticsTimeline.add_member(:service_processing_time_in_millis, Shapes::ShapeRef.new(shape: Long, location_name: "ServiceProcessingTimeInMillis"))
593
+ QueryRuntimeStatisticsTimeline.add_member(:total_execution_time_in_millis, Shapes::ShapeRef.new(shape: Long, location_name: "TotalExecutionTimeInMillis"))
594
+ QueryRuntimeStatisticsTimeline.struct_class = Types::QueryRuntimeStatisticsTimeline
595
+
596
+ QueryStage.add_member(:stage_id, Shapes::ShapeRef.new(shape: Long, location_name: "StageId"))
597
+ QueryStage.add_member(:state, Shapes::ShapeRef.new(shape: String, location_name: "State"))
598
+ QueryStage.add_member(:output_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "OutputBytes"))
599
+ QueryStage.add_member(:output_rows, Shapes::ShapeRef.new(shape: Long, location_name: "OutputRows"))
600
+ QueryStage.add_member(:input_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "InputBytes"))
601
+ QueryStage.add_member(:input_rows, Shapes::ShapeRef.new(shape: Long, location_name: "InputRows"))
602
+ QueryStage.add_member(:execution_time, Shapes::ShapeRef.new(shape: Long, location_name: "ExecutionTime"))
603
+ QueryStage.add_member(:query_stage_plan, Shapes::ShapeRef.new(shape: QueryStagePlanNode, location_name: "QueryStagePlan"))
604
+ QueryStage.add_member(:sub_stages, Shapes::ShapeRef.new(shape: QueryStages, location_name: "SubStages"))
605
+ QueryStage.struct_class = Types::QueryStage
606
+
607
+ QueryStagePlanNode.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "Name"))
608
+ QueryStagePlanNode.add_member(:identifier, Shapes::ShapeRef.new(shape: String, location_name: "Identifier"))
609
+ QueryStagePlanNode.add_member(:children, Shapes::ShapeRef.new(shape: QueryStagePlanNodes, location_name: "Children"))
610
+ QueryStagePlanNode.add_member(:remote_sources, Shapes::ShapeRef.new(shape: StringList, location_name: "RemoteSources"))
611
+ QueryStagePlanNode.struct_class = Types::QueryStagePlanNode
612
+
613
+ QueryStagePlanNodes.member = Shapes::ShapeRef.new(shape: QueryStagePlanNode)
614
+
615
+ QueryStages.member = Shapes::ShapeRef.new(shape: QueryStage)
616
+
562
617
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
563
618
  ResourceNotFoundException.add_member(:resource_name, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "ResourceName"))
564
619
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
@@ -607,6 +662,8 @@ module Aws::Athena
607
662
 
608
663
  StopQueryExecutionOutput.struct_class = Types::StopQueryExecutionOutput
609
664
 
665
+ StringList.member = Shapes::ShapeRef.new(shape: String)
666
+
610
667
  TableMetadata.add_member(:name, Shapes::ShapeRef.new(shape: NameString, required: true, location_name: "Name"))
611
668
  TableMetadata.add_member(:create_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreateTime"))
612
669
  TableMetadata.add_member(:last_access_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastAccessTime"))
@@ -927,6 +984,16 @@ module Aws::Athena
927
984
  )
928
985
  end)
929
986
 
987
+ api.add_operation(:get_query_runtime_statistics, Seahorse::Model::Operation.new.tap do |o|
988
+ o.name = "GetQueryRuntimeStatistics"
989
+ o.http_method = "POST"
990
+ o.http_request_uri = "/"
991
+ o.input = Shapes::ShapeRef.new(shape: GetQueryRuntimeStatisticsInput)
992
+ o.output = Shapes::ShapeRef.new(shape: GetQueryRuntimeStatisticsOutput)
993
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
994
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
995
+ end)
996
+
930
997
  api.add_operation(:get_table_metadata, Seahorse::Model::Operation.new.tap do |o|
931
998
  o.name = "GetTableMetadata"
932
999
  o.http_method = "POST"
@@ -989,6 +1056,12 @@ module Aws::Athena
989
1056
  o.output = Shapes::ShapeRef.new(shape: ListEngineVersionsOutput)
990
1057
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
991
1058
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1059
+ o[:pager] = Aws::Pager.new(
1060
+ limit_key: "max_results",
1061
+ tokens: {
1062
+ "next_token" => "next_token"
1063
+ }
1064
+ )
992
1065
  end)
993
1066
 
994
1067
  api.add_operation(:list_named_queries, Seahorse::Model::Operation.new.tap do |o|
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Athena
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Athena
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL2F0aGVuYS1maXBzLntSZWdpb259LntQYXJ0
77
+ aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMi
78
+ Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25k
79
+ aXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVu
80
+ YWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9u
81
+ ZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7
82
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMi
83
+ fSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
84
+ IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoi
85
+ Z2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJz
86
+ dXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
87
+ bmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
88
+ b25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9hdGhlbmEtZmlw
89
+ cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9w
90
+ ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
91
+ XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQg
92
+ YnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5
93
+ cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5F
94
+ cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1d
95
+ LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
96
+ ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
97
+ ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1
98
+ YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
99
+ aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXRoZW5hLntS
100
+ ZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIs
101
+ InByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2lu
102
+ dCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMg
103
+ ZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBE
104
+ dWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10s
105
+ ImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXRoZW5hLntSZWdpb259LntQ
106
+ YXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJo
107
+ ZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
108
+
109
+ JSON
110
+ end
111
+ end