aws-sdk-states 1.48.0 → 1.50.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c928569511640f102fe9d703c486023e464a5f7b94390a40529a15a58cf4cfe
4
- data.tar.gz: 17558bb419e53c21aca88dbe53ea68c6567ecdd911c74272cc86b11efac5133a
3
+ metadata.gz: f8a4391c3c1388779afc11712f7082efc08dee8d3c0ce3a3f7d971f849c56e6b
4
+ data.tar.gz: 41c13bf8db8a02f7d66b69e2095ea73588ddc0c920232f72eb62cd30673e38d7
5
5
  SHA512:
6
- metadata.gz: 556166d97d5598f20a42fedfd9408c3317c42d29e634b0c828fc1edc7b3ada1dae0db2498ac335e63640100bc57051c0c193f208b0353f705631bec148cd65c8
7
- data.tar.gz: 76a4575e8fb35f68422279805b5896342ca3e90b55fdb04175d9a594f27f10398e3b87659fb714c3763a66f26982c2faab12fdc75811be8fa1af00ee0b467588
6
+ metadata.gz: 2884d9201413a2723096e9fc42899297dac3dd623b10913bc38b90ca63ae1cc7b11049015a60e39902c98b5a6d59c8d9e8356d6f64cfce3cf4a789adcd4cd98c
7
+ data.tar.gz: e16841af64a6a0fe88b7fd6265ecf6e6015a3df6da8bdbfc769f9b7bb28c66880c4e0e4f6bd4a10ef279a41549e0a9c615e7c928899e28db095c9bbeace6bc99
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.50.0 (2022-11-18)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for using Step Functions service integrations to invoke any cross-account AWS resource, even if that service doesn't support resource-based policies or cross-account calls. See https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
8
+
9
+ 1.49.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.48.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.48.0
1
+ 1.50.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(:states)
@@ -79,8 +79,9 @@ module Aws::States
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::States::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::States
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::States
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::States::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::States::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
  #
@@ -362,8 +379,8 @@ module Aws::States
362
379
  # @!group API Operations
363
380
 
364
381
  # Creates an activity. An activity is a task that you write in any
365
- # programming language and host on any machine that has access to AWS
366
- # Step Functions. Activities must poll Step Functions using the
382
+ # programming language and host on any machine that has access to Step
383
+ # Functions. Activities must poll Step Functions using the
367
384
  # `GetActivityTask` API action and respond using `SendTask*` API
368
385
  # actions. This function lets Step Functions know the existence of your
369
386
  # activity and returns an identifier for use in a state machine and when
@@ -386,9 +403,9 @@ module Aws::States
386
403
  #
387
404
  # @option params [required, String] :name
388
405
  # The name of the activity to create. This name must be unique for your
389
- # AWS account and region for 90 days. For more information, see [ Limits
390
- # Related to State Machine Executions][1] in the *AWS Step Functions
391
- # Developer Guide*.
406
+ # Amazon Web Services account and region for 90 days. For more
407
+ # information, see [ Limits Related to State Machine Executions][1] in
408
+ # the *Step Functions Developer Guide*.
392
409
  #
393
410
  # A name must *not* contain:
394
411
  #
@@ -413,8 +430,8 @@ module Aws::States
413
430
  # The list of tags to add to a resource.
414
431
  #
415
432
  # An array of key-value pairs. For more information, see [Using Cost
416
- # Allocation Tags][1] in the *AWS Billing and Cost Management User
417
- # Guide*, and [Controlling Access Using IAM Tags][2].
433
+ # Allocation Tags][1] in the *Amazon Web Services Billing and Cost
434
+ # Management User Guide*, and [Controlling Access Using IAM Tags][2].
418
435
  #
419
436
  # Tags may only contain Unicode letters, digits, white space, or these
420
437
  # symbols: `_ . : / = + - @`.
@@ -460,7 +477,7 @@ module Aws::States
460
477
  # transition next (`Choice` states), stop an execution with an error
461
478
  # (`Fail` states), and so on. State machines are specified using a
462
479
  # JSON-based, structured language. For more information, see [Amazon
463
- # States Language][1] in the AWS Step Functions User Guide.
480
+ # States Language][1] in the Step Functions User Guide.
464
481
  #
465
482
  # <note markdown="1"> This operation is eventually consistent. The results are best effort
466
483
  # and may not reflect very recent updates and changes.
@@ -522,7 +539,7 @@ module Aws::States
522
539
  # logged.
523
540
  #
524
541
  # <note markdown="1"> By default, the `level` is set to `OFF`. For more information see [Log
525
- # Levels][1] in the AWS Step Functions User Guide.
542
+ # Levels][1] in the Step Functions User Guide.
526
543
  #
527
544
  # </note>
528
545
  #
@@ -534,8 +551,8 @@ module Aws::States
534
551
  # Tags to be added when creating a state machine.
535
552
  #
536
553
  # An array of key-value pairs. For more information, see [Using Cost
537
- # Allocation Tags][1] in the *AWS Billing and Cost Management User
538
- # Guide*, and [Controlling Access Using IAM Tags][2].
554
+ # Allocation Tags][1] in the *Amazon Web Services Billing and Cost
555
+ # Management User Guide*, and [Controlling Access Using IAM Tags][2].
539
556
  #
540
557
  # Tags may only contain Unicode letters, digits, white space, or these
541
558
  # symbols: `_ . : / = + - @`.
@@ -546,7 +563,7 @@ module Aws::States
546
563
  # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html
547
564
  #
548
565
  # @option params [Types::TracingConfiguration] :tracing_configuration
549
- # Selects whether AWS X-Ray tracing is enabled.
566
+ # Selects whether X-Ray tracing is enabled.
550
567
  #
551
568
  # @return [Types::CreateStateMachineOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
552
569
  #
@@ -622,7 +639,7 @@ module Aws::States
622
639
  # the state machine's status to `DELETING` and begins the deletion
623
640
  # process.
624
641
  #
625
- # <note markdown="1"> For `EXPRESS`state machines, the deletion will happen eventually
642
+ # <note markdown="1"> For `EXPRESS` state machines, the deletion will happen eventually
626
643
  # (usually less than a minute). Running executions may emit logs after
627
644
  # `DeleteStateMachine` API is called.
628
645
  #
@@ -852,6 +869,10 @@ module Aws::States
852
869
  # task is available within 60 seconds, the poll returns a `taskToken`
853
870
  # with a null string.
854
871
  #
872
+ # <note markdown="1"> This API action isn't logged in CloudTrail.
873
+ #
874
+ # </note>
875
+ #
855
876
  # Workers should set their client side socket timeout to at least 65
856
877
  # seconds (5 seconds higher than the maximum time the service may hold
857
878
  # the poll request).
@@ -987,6 +1008,7 @@ module Aws::States
987
1008
  # resp.events[0].task_scheduled_event_details.parameters #=> String
988
1009
  # resp.events[0].task_scheduled_event_details.timeout_in_seconds #=> Integer
989
1010
  # resp.events[0].task_scheduled_event_details.heartbeat_in_seconds #=> Integer
1011
+ # resp.events[0].task_scheduled_event_details.task_credentials.role_arn #=> String
990
1012
  # resp.events[0].task_start_failed_event_details.resource_type #=> String
991
1013
  # resp.events[0].task_start_failed_event_details.resource #=> String
992
1014
  # resp.events[0].task_start_failed_event_details.error #=> String
@@ -1037,6 +1059,7 @@ module Aws::States
1037
1059
  # resp.events[0].lambda_function_scheduled_event_details.input #=> String
1038
1060
  # resp.events[0].lambda_function_scheduled_event_details.input_details.truncated #=> Boolean
1039
1061
  # resp.events[0].lambda_function_scheduled_event_details.timeout_in_seconds #=> Integer
1062
+ # resp.events[0].lambda_function_scheduled_event_details.task_credentials.role_arn #=> String
1040
1063
  # resp.events[0].lambda_function_start_failed_event_details.error #=> String
1041
1064
  # resp.events[0].lambda_function_start_failed_event_details.cause #=> String
1042
1065
  # resp.events[0].lambda_function_succeeded_event_details.output #=> String
@@ -1429,11 +1452,14 @@ module Aws::States
1429
1452
 
1430
1453
  # Starts a state machine execution.
1431
1454
  #
1432
- # <note markdown="1"> `StartExecution` is idempotent. If `StartExecution` is called with the
1433
- # same name and input as a running execution, the call will succeed and
1434
- # return the same response as the original request. If the execution is
1435
- # closed or if the input is different, it will return a 400
1436
- # `ExecutionAlreadyExists` error. Names can be reused after 90 days.
1455
+ # <note markdown="1"> `StartExecution` is idempotent for `STANDARD` workflows. For a
1456
+ # `STANDARD` workflow, if `StartExecution` is called with the same name
1457
+ # and input as a running execution, the call will succeed and return the
1458
+ # same response as the original request. If the execution is closed or
1459
+ # if the input is different, it will return a `400
1460
+ # ExecutionAlreadyExists` error. Names can be reused after 90 days.
1461
+ #
1462
+ # `StartExecution` is not idempotent for `EXPRESS` workflows.
1437
1463
  #
1438
1464
  # </note>
1439
1465
  #
@@ -1441,10 +1467,10 @@ module Aws::States
1441
1467
  # The Amazon Resource Name (ARN) of the state machine to execute.
1442
1468
  #
1443
1469
  # @option params [String] :name
1444
- # The name of the execution. This name must be unique for your AWS
1445
- # account, region, and state machine for 90 days. For more information,
1446
- # see [ Limits Related to State Machine Executions][1] in the *AWS Step
1447
- # Functions Developer Guide*.
1470
+ # The name of the execution. This name must be unique for your Amazon
1471
+ # Web Services account, region, and state machine for 90 days. For more
1472
+ # information, see [ Limits Related to State Machine Executions][1] in
1473
+ # the *Step Functions Developer Guide*.
1448
1474
  #
1449
1475
  # A name must *not* contain:
1450
1476
  #
@@ -1480,8 +1506,8 @@ module Aws::States
1480
1506
  # bytes in UTF-8 encoding.
1481
1507
  #
1482
1508
  # @option params [String] :trace_header
1483
- # Passes the AWS X-Ray trace header. The trace header can also be passed
1484
- # in the request payload.
1509
+ # Passes the X-Ray trace header. The trace header can also be passed in
1510
+ # the request payload.
1485
1511
  #
1486
1512
  # @return [Types::StartExecutionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1487
1513
  #
@@ -1512,6 +1538,19 @@ module Aws::States
1512
1538
  end
1513
1539
 
1514
1540
  # Starts a Synchronous Express state machine execution.
1541
+ # `StartSyncExecution` is not available for `STANDARD` workflows.
1542
+ #
1543
+ # <note markdown="1"> `StartSyncExecution` will return a `200 OK` response, even if your
1544
+ # execution fails, because the status code in the API response doesn't
1545
+ # reflect function errors. Error codes are reserved for errors that
1546
+ # prevent your execution from running, such as permissions errors, limit
1547
+ # errors, or issues with your state machine code and configuration.
1548
+ #
1549
+ # </note>
1550
+ #
1551
+ # <note markdown="1"> This API action isn't logged in CloudTrail.
1552
+ #
1553
+ # </note>
1515
1554
  #
1516
1555
  # @option params [required, String] :state_machine_arn
1517
1556
  # The Amazon Resource Name (ARN) of the state machine to execute.
@@ -1534,8 +1573,8 @@ module Aws::States
1534
1573
  # bytes in UTF-8 encoding.
1535
1574
  #
1536
1575
  # @option params [String] :trace_header
1537
- # Passes the AWS X-Ray trace header. The trace header can also be passed
1538
- # in the request payload.
1576
+ # Passes the X-Ray trace header. The trace header can also be passed in
1577
+ # the request payload.
1539
1578
  #
1540
1579
  # @return [Types::StartSyncExecutionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1541
1580
  #
@@ -1631,8 +1670,8 @@ module Aws::States
1631
1670
  # Add a tag to a Step Functions resource.
1632
1671
  #
1633
1672
  # An array of key-value pairs. For more information, see [Using Cost
1634
- # Allocation Tags][1] in the *AWS Billing and Cost Management User
1635
- # Guide*, and [Controlling Access Using IAM Tags][2].
1673
+ # Allocation Tags][1] in the *Amazon Web Services Billing and Cost
1674
+ # Management User Guide*, and [Controlling Access Using IAM Tags][2].
1636
1675
  #
1637
1676
  # Tags may only contain Unicode letters, digits, white space, or these
1638
1677
  # symbols: `_ . : / = + - @`.
@@ -1734,7 +1773,7 @@ module Aws::States
1734
1773
  # options.
1735
1774
  #
1736
1775
  # @option params [Types::TracingConfiguration] :tracing_configuration
1737
- # Selects whether AWS X-Ray tracing is enabled.
1776
+ # Selects whether X-Ray tracing is enabled.
1738
1777
  #
1739
1778
  # @return [Types::UpdateStateMachineOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1740
1779
  #
@@ -1788,7 +1827,7 @@ module Aws::States
1788
1827
  params: params,
1789
1828
  config: config)
1790
1829
  context[:gem_name] = 'aws-sdk-states'
1791
- context[:gem_version] = '1.48.0'
1830
+ context[:gem_version] = '1.50.0'
1792
1831
  Seahorse::Client::Request.new(handlers, context)
1793
1832
  end
1794
1833
 
@@ -100,6 +100,7 @@ module Aws::States
100
100
  LogDestinationList = Shapes::ListShape.new(name: 'LogDestinationList')
101
101
  LogLevel = Shapes::StringShape.new(name: 'LogLevel')
102
102
  LoggingConfiguration = Shapes::StructureShape.new(name: 'LoggingConfiguration')
103
+ LongArn = Shapes::StringShape.new(name: 'LongArn')
103
104
  MapIterationEventDetails = Shapes::StructureShape.new(name: 'MapIterationEventDetails')
104
105
  MapStateStartedEventDetails = Shapes::StructureShape.new(name: 'MapStateStartedEventDetails')
105
106
  MissingRequiredParameter = Shapes::StructureShape.new(name: 'MissingRequiredParameter')
@@ -143,6 +144,7 @@ module Aws::States
143
144
  TagResourceInput = Shapes::StructureShape.new(name: 'TagResourceInput')
144
145
  TagResourceOutput = Shapes::StructureShape.new(name: 'TagResourceOutput')
145
146
  TagValue = Shapes::StringShape.new(name: 'TagValue')
147
+ TaskCredentials = Shapes::StructureShape.new(name: 'TaskCredentials')
146
148
  TaskDoesNotExist = Shapes::StructureShape.new(name: 'TaskDoesNotExist')
147
149
  TaskFailedEventDetails = Shapes::StructureShape.new(name: 'TaskFailedEventDetails')
148
150
  TaskScheduledEventDetails = Shapes::StructureShape.new(name: 'TaskScheduledEventDetails')
@@ -438,6 +440,7 @@ module Aws::States
438
440
  LambdaFunctionScheduledEventDetails.add_member(:input, Shapes::ShapeRef.new(shape: SensitiveData, location_name: "input"))
439
441
  LambdaFunctionScheduledEventDetails.add_member(:input_details, Shapes::ShapeRef.new(shape: HistoryEventExecutionDataDetails, location_name: "inputDetails"))
440
442
  LambdaFunctionScheduledEventDetails.add_member(:timeout_in_seconds, Shapes::ShapeRef.new(shape: TimeoutInSeconds, location_name: "timeoutInSeconds", metadata: {"box"=>true}))
443
+ LambdaFunctionScheduledEventDetails.add_member(:task_credentials, Shapes::ShapeRef.new(shape: TaskCredentials, location_name: "taskCredentials"))
441
444
  LambdaFunctionScheduledEventDetails.struct_class = Types::LambdaFunctionScheduledEventDetails
442
445
 
443
446
  LambdaFunctionStartFailedEventDetails.add_member(:error, Shapes::ShapeRef.new(shape: SensitiveError, location_name: "error"))
@@ -613,6 +616,9 @@ module Aws::States
613
616
 
614
617
  TagResourceOutput.struct_class = Types::TagResourceOutput
615
618
 
619
+ TaskCredentials.add_member(:role_arn, Shapes::ShapeRef.new(shape: LongArn, location_name: "roleArn"))
620
+ TaskCredentials.struct_class = Types::TaskCredentials
621
+
616
622
  TaskDoesNotExist.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
617
623
  TaskDoesNotExist.struct_class = Types::TaskDoesNotExist
618
624
 
@@ -628,6 +634,7 @@ module Aws::States
628
634
  TaskScheduledEventDetails.add_member(:parameters, Shapes::ShapeRef.new(shape: ConnectorParameters, required: true, location_name: "parameters"))
629
635
  TaskScheduledEventDetails.add_member(:timeout_in_seconds, Shapes::ShapeRef.new(shape: TimeoutInSeconds, location_name: "timeoutInSeconds", metadata: {"box"=>true}))
630
636
  TaskScheduledEventDetails.add_member(:heartbeat_in_seconds, Shapes::ShapeRef.new(shape: TimeoutInSeconds, location_name: "heartbeatInSeconds", metadata: {"box"=>true}))
637
+ TaskScheduledEventDetails.add_member(:task_credentials, Shapes::ShapeRef.new(shape: TaskCredentials, location_name: "taskCredentials"))
631
638
  TaskScheduledEventDetails.struct_class = Types::TaskScheduledEventDetails
632
639
 
633
640
  TaskStartFailedEventDetails.add_member(:resource_type, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "resourceType"))
@@ -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::States
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,116 @@
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::States
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
+ dCI6eyJ1cmwiOiJodHRwczovL3N0YXRlcy1maXBzLntSZWdpb259LntQYXJ0
77
+ aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMi
78
+ Ont9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25k
79
+ aXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVu
80
+ YWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9u
81
+ ZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7
82
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMi
83
+ fSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
84
+ IjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoi
85
+ Z2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJz
86
+ dXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
87
+ bmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
88
+ b25zIjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlt7InJlZiI6IlJl
89
+ Z2lvbiJ9LCJ1cy1nb3Ytd2VzdC0xIl19XSwiZW5kcG9pbnQiOnsidXJsIjoi
90
+ aHR0cHM6Ly9zdGF0ZXMudXMtZ292LXdlc3QtMS5hbWF6b25hd3MuY29tIiwi
91
+ cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
92
+ In0seyJjb25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6
93
+ Ly9zdGF0ZXMtZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1
94
+ ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoi
95
+ ZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBT
96
+ IGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
97
+ cnQgRklQUyIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJm
98
+ biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3Rh
99
+ Y2sifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
100
+ b25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZu
101
+ IjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9
102
+ LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
103
+ cyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBz
104
+ Oi8vc3RhdGVzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNr
105
+ RG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5
106
+ cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJE
107
+ dWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBu
108
+ b3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29u
109
+ ZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vc3RhdGVz
110
+ LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3Bl
111
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
112
+ fQ==
113
+
114
+ JSON
115
+ end
116
+ end