aws-sdk-eks 1.76.0 → 1.78.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: d5153478f0a086c082ff6312714743ec3f896a52594dd6f60a14475c3956b75b
4
- data.tar.gz: 2801d7864851484371bb11bb474a9686baf556580fdecdfff5db34aa6902e1e1
3
+ metadata.gz: 1c31f5985547d9ebf26f971c4bbda91de7f2f9eb70131ae4ee618bfcb39a29da
4
+ data.tar.gz: 988284801850b9440dd94aa2c22941b151cdc9040f395ae842602462e0e18ff6
5
5
  SHA512:
6
- metadata.gz: de98df51b9b1f7590f2e29de81dfe0b1203ba74cadaeced4add7e5b5cee6023e98f946cb490e6649b3c0361bc12bb1407eba6671f72bffd563c746f13b7c81bf
7
- data.tar.gz: 1504c201a82e11ef7f78eb27e08bfae728831ab611e975c69dbaa15102113ffa916ad58bae981581c19fafc684f9950141d56f55565ed09f33059cc914b9bf97
6
+ metadata.gz: 95737a3d7482c7f84166c9ea7617a9ec5cd3e1e1f8320999ea2b1b8cf50393bb87cae586c19631995078139028be50a742b40108307a4bc0cd68c69f1f10479e
7
+ data.tar.gz: f3542d7f41be385fa8ed53a109f9ee20af608abeccea2e5e6c181f27a47981544338d9ed65de5dd4e71219315c720a21358c582aacccc8d798dddfd7aa386377
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.78.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.77.0 (2022-09-12)
10
+ ------------------
11
+
12
+ * Feature - Adding support for local Amazon EKS clusters on Outposts
13
+
4
14
  1.76.0 (2022-09-07)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.76.0
1
+ 1.78.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/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:eks)
@@ -79,8 +79,9 @@ module Aws::EKS
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::RestJson)
84
+ add_plugin(Aws::EKS::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::EKS
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::EKS
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::EKS::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::EKS::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -433,7 +450,7 @@ module Aws::EKS
433
450
  # The name of the cluster to associate the configuration to.
434
451
  #
435
452
  # @option params [required, Types::OidcIdentityProviderConfigRequest] :oidc
436
- # An object that represents an OpenID Connect (OIDC) identity provider
453
+ # An object representing an OpenID Connect (OIDC) identity provider
437
454
  # configuration.
438
455
  #
439
456
  # @option params [Hash<String,String>] :tags
@@ -673,7 +690,11 @@ module Aws::EKS
673
690
  #
674
691
  # @option params [String] :version
675
692
  # The desired Kubernetes version for your cluster. If you don't specify
676
- # a value here, the latest version available in Amazon EKS is used.
693
+ # a value here, the default version available in Amazon EKS is used.
694
+ #
695
+ # <note markdown="1"> The default version might not be the latest version available.
696
+ #
697
+ # </note>
677
698
  #
678
699
  # @option params [required, String] :role_arn
679
700
  # The Amazon Resource Name (ARN) of the IAM role that provides
@@ -736,6 +757,18 @@ module Aws::EKS
736
757
  # @option params [Array<Types::EncryptionConfig>] :encryption_config
737
758
  # The encryption configuration for the cluster.
738
759
  #
760
+ # @option params [Types::OutpostConfigRequest] :outpost_config
761
+ # An object representing the configuration of your local Amazon EKS
762
+ # cluster on an Amazon Web Services Outpost. Before creating a local
763
+ # cluster on an Outpost, review [Creating an Amazon EKS cluster on an
764
+ # Amazon Web Services Outpost][1] in the *Amazon EKS User Guide*. This
765
+ # object isn't available for creating Amazon EKS clusters on the Amazon
766
+ # Web Services cloud.
767
+ #
768
+ #
769
+ #
770
+ # [1]: https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html
771
+ #
739
772
  # @return [Types::CreateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
740
773
  #
741
774
  # * {Types::CreateClusterResponse#cluster #cluster} => Types::Cluster
@@ -802,6 +835,10 @@ module Aws::EKS
802
835
  # },
803
836
  # },
804
837
  # ],
838
+ # outpost_config: {
839
+ # outpost_arns: ["String"], # required
840
+ # control_plane_instance_type: "String", # required
841
+ # },
805
842
  # })
806
843
  #
807
844
  # @example Response structure
@@ -845,6 +882,15 @@ module Aws::EKS
845
882
  # resp.cluster.connector_config.activation_expiry #=> Time
846
883
  # resp.cluster.connector_config.provider #=> String
847
884
  # resp.cluster.connector_config.role_arn #=> String
885
+ # resp.cluster.id #=> String
886
+ # resp.cluster.health.issues #=> Array
887
+ # resp.cluster.health.issues[0].code #=> String, one of "AccessDenied", "ClusterUnreachable", "ConfigurationConflict", "InternalFailure", "ResourceLimitExceeded", "ResourceNotFound"
888
+ # resp.cluster.health.issues[0].message #=> String
889
+ # resp.cluster.health.issues[0].resource_ids #=> Array
890
+ # resp.cluster.health.issues[0].resource_ids[0] #=> String
891
+ # resp.cluster.outpost_config.outpost_arns #=> Array
892
+ # resp.cluster.outpost_config.outpost_arns[0] #=> String
893
+ # resp.cluster.outpost_config.control_plane_instance_type #=> String
848
894
  #
849
895
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateCluster AWS API Documentation
850
896
  #
@@ -1427,6 +1473,15 @@ module Aws::EKS
1427
1473
  # resp.cluster.connector_config.activation_expiry #=> Time
1428
1474
  # resp.cluster.connector_config.provider #=> String
1429
1475
  # resp.cluster.connector_config.role_arn #=> String
1476
+ # resp.cluster.id #=> String
1477
+ # resp.cluster.health.issues #=> Array
1478
+ # resp.cluster.health.issues[0].code #=> String, one of "AccessDenied", "ClusterUnreachable", "ConfigurationConflict", "InternalFailure", "ResourceLimitExceeded", "ResourceNotFound"
1479
+ # resp.cluster.health.issues[0].message #=> String
1480
+ # resp.cluster.health.issues[0].resource_ids #=> Array
1481
+ # resp.cluster.health.issues[0].resource_ids[0] #=> String
1482
+ # resp.cluster.outpost_config.outpost_arns #=> Array
1483
+ # resp.cluster.outpost_config.outpost_arns[0] #=> String
1484
+ # resp.cluster.outpost_config.control_plane_instance_type #=> String
1430
1485
  #
1431
1486
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteCluster AWS API Documentation
1432
1487
  #
@@ -1625,6 +1680,15 @@ module Aws::EKS
1625
1680
  # resp.cluster.connector_config.activation_expiry #=> Time
1626
1681
  # resp.cluster.connector_config.provider #=> String
1627
1682
  # resp.cluster.connector_config.role_arn #=> String
1683
+ # resp.cluster.id #=> String
1684
+ # resp.cluster.health.issues #=> Array
1685
+ # resp.cluster.health.issues[0].code #=> String, one of "AccessDenied", "ClusterUnreachable", "ConfigurationConflict", "InternalFailure", "ResourceLimitExceeded", "ResourceNotFound"
1686
+ # resp.cluster.health.issues[0].message #=> String
1687
+ # resp.cluster.health.issues[0].resource_ids #=> Array
1688
+ # resp.cluster.health.issues[0].resource_ids[0] #=> String
1689
+ # resp.cluster.outpost_config.outpost_arns #=> Array
1690
+ # resp.cluster.outpost_config.outpost_arns[0] #=> String
1691
+ # resp.cluster.outpost_config.control_plane_instance_type #=> String
1628
1692
  #
1629
1693
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeregisterCluster AWS API Documentation
1630
1694
  #
@@ -1867,6 +1931,15 @@ module Aws::EKS
1867
1931
  # resp.cluster.connector_config.activation_expiry #=> Time
1868
1932
  # resp.cluster.connector_config.provider #=> String
1869
1933
  # resp.cluster.connector_config.role_arn #=> String
1934
+ # resp.cluster.id #=> String
1935
+ # resp.cluster.health.issues #=> Array
1936
+ # resp.cluster.health.issues[0].code #=> String, one of "AccessDenied", "ClusterUnreachable", "ConfigurationConflict", "InternalFailure", "ResourceLimitExceeded", "ResourceNotFound"
1937
+ # resp.cluster.health.issues[0].message #=> String
1938
+ # resp.cluster.health.issues[0].resource_ids #=> Array
1939
+ # resp.cluster.health.issues[0].resource_ids[0] #=> String
1940
+ # resp.cluster.outpost_config.outpost_arns #=> Array
1941
+ # resp.cluster.outpost_config.outpost_arns[0] #=> String
1942
+ # resp.cluster.outpost_config.control_plane_instance_type #=> String
1870
1943
  #
1871
1944
  #
1872
1945
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -1943,7 +2016,7 @@ module Aws::EKS
1943
2016
  # associated to.
1944
2017
  #
1945
2018
  # @option params [required, Types::IdentityProviderConfig] :identity_provider_config
1946
- # An object that represents an identity provider configuration.
2019
+ # An object representing an identity provider configuration.
1947
2020
  #
1948
2021
  # @return [Types::DescribeIdentityProviderConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1949
2022
  #
@@ -2137,7 +2210,7 @@ module Aws::EKS
2137
2210
  # The name of the cluster to disassociate an identity provider from.
2138
2211
  #
2139
2212
  # @option params [required, Types::IdentityProviderConfig] :identity_provider_config
2140
- # An object that represents an identity provider configuration.
2213
+ # An object representing an identity provider configuration.
2141
2214
  #
2142
2215
  # @option params [String] :client_request_token
2143
2216
  # A unique, case-sensitive identifier that you provide to ensure the
@@ -2691,6 +2764,15 @@ module Aws::EKS
2691
2764
  # resp.cluster.connector_config.activation_expiry #=> Time
2692
2765
  # resp.cluster.connector_config.provider #=> String
2693
2766
  # resp.cluster.connector_config.role_arn #=> String
2767
+ # resp.cluster.id #=> String
2768
+ # resp.cluster.health.issues #=> Array
2769
+ # resp.cluster.health.issues[0].code #=> String, one of "AccessDenied", "ClusterUnreachable", "ConfigurationConflict", "InternalFailure", "ResourceLimitExceeded", "ResourceNotFound"
2770
+ # resp.cluster.health.issues[0].message #=> String
2771
+ # resp.cluster.health.issues[0].resource_ids #=> Array
2772
+ # resp.cluster.health.issues[0].resource_ids[0] #=> String
2773
+ # resp.cluster.outpost_config.outpost_arns #=> Array
2774
+ # resp.cluster.outpost_config.outpost_arns[0] #=> String
2775
+ # resp.cluster.outpost_config.control_plane_instance_type #=> String
2694
2776
  #
2695
2777
  # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/RegisterCluster AWS API Documentation
2696
2778
  #
@@ -3305,7 +3387,7 @@ module Aws::EKS
3305
3387
  params: params,
3306
3388
  config: config)
3307
3389
  context[:gem_name] = 'aws-sdk-eks'
3308
- context[:gem_version] = '1.76.0'
3390
+ context[:gem_version] = '1.78.0'
3309
3391
  Seahorse::Client::Request.new(handlers, context)
3310
3392
  end
3311
3393
 
@@ -40,6 +40,10 @@ module Aws::EKS
40
40
  Certificate = Shapes::StructureShape.new(name: 'Certificate')
41
41
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
42
42
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
43
+ ClusterHealth = Shapes::StructureShape.new(name: 'ClusterHealth')
44
+ ClusterIssue = Shapes::StructureShape.new(name: 'ClusterIssue')
45
+ ClusterIssueCode = Shapes::StringShape.new(name: 'ClusterIssueCode')
46
+ ClusterIssueList = Shapes::ListShape.new(name: 'ClusterIssueList')
43
47
  ClusterName = Shapes::StringShape.new(name: 'ClusterName')
44
48
  ClusterStatus = Shapes::StringShape.new(name: 'ClusterStatus')
45
49
  Compatibilities = Shapes::ListShape.new(name: 'Compatibilities')
@@ -142,6 +146,8 @@ module Aws::EKS
142
146
  OIDC = Shapes::StructureShape.new(name: 'OIDC')
143
147
  OidcIdentityProviderConfig = Shapes::StructureShape.new(name: 'OidcIdentityProviderConfig')
144
148
  OidcIdentityProviderConfigRequest = Shapes::StructureShape.new(name: 'OidcIdentityProviderConfigRequest')
149
+ OutpostConfigRequest = Shapes::StructureShape.new(name: 'OutpostConfigRequest')
150
+ OutpostConfigResponse = Shapes::StructureShape.new(name: 'OutpostConfigResponse')
145
151
  PercentCapacity = Shapes::IntegerShape.new(name: 'PercentCapacity')
146
152
  Provider = Shapes::StructureShape.new(name: 'Provider')
147
153
  RegisterClusterRequest = Shapes::StructureShape.new(name: 'RegisterClusterRequest')
@@ -293,8 +299,21 @@ module Aws::EKS
293
299
  Cluster.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
294
300
  Cluster.add_member(:encryption_config, Shapes::ShapeRef.new(shape: EncryptionConfigList, location_name: "encryptionConfig"))
295
301
  Cluster.add_member(:connector_config, Shapes::ShapeRef.new(shape: ConnectorConfigResponse, location_name: "connectorConfig"))
302
+ Cluster.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
303
+ Cluster.add_member(:health, Shapes::ShapeRef.new(shape: ClusterHealth, location_name: "health"))
304
+ Cluster.add_member(:outpost_config, Shapes::ShapeRef.new(shape: OutpostConfigResponse, location_name: "outpostConfig"))
296
305
  Cluster.struct_class = Types::Cluster
297
306
 
307
+ ClusterHealth.add_member(:issues, Shapes::ShapeRef.new(shape: ClusterIssueList, location_name: "issues"))
308
+ ClusterHealth.struct_class = Types::ClusterHealth
309
+
310
+ ClusterIssue.add_member(:code, Shapes::ShapeRef.new(shape: ClusterIssueCode, location_name: "code"))
311
+ ClusterIssue.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
312
+ ClusterIssue.add_member(:resource_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "resourceIds"))
313
+ ClusterIssue.struct_class = Types::ClusterIssue
314
+
315
+ ClusterIssueList.member = Shapes::ShapeRef.new(shape: ClusterIssue)
316
+
298
317
  Compatibilities.member = Shapes::ShapeRef.new(shape: Compatibility)
299
318
 
300
319
  Compatibility.add_member(:cluster_version, Shapes::ShapeRef.new(shape: String, location_name: "clusterVersion"))
@@ -334,6 +353,7 @@ module Aws::EKS
334
353
  CreateClusterRequest.add_member(:client_request_token, Shapes::ShapeRef.new(shape: String, location_name: "clientRequestToken", metadata: {"idempotencyToken"=>true}))
335
354
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
336
355
  CreateClusterRequest.add_member(:encryption_config, Shapes::ShapeRef.new(shape: EncryptionConfigList, location_name: "encryptionConfig"))
356
+ CreateClusterRequest.add_member(:outpost_config, Shapes::ShapeRef.new(shape: OutpostConfigRequest, location_name: "outpostConfig"))
337
357
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
338
358
 
339
359
  CreateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
@@ -694,6 +714,14 @@ module Aws::EKS
694
714
  OidcIdentityProviderConfigRequest.add_member(:required_claims, Shapes::ShapeRef.new(shape: requiredClaimsMap, location_name: "requiredClaims"))
695
715
  OidcIdentityProviderConfigRequest.struct_class = Types::OidcIdentityProviderConfigRequest
696
716
 
717
+ OutpostConfigRequest.add_member(:outpost_arns, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "outpostArns"))
718
+ OutpostConfigRequest.add_member(:control_plane_instance_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "controlPlaneInstanceType"))
719
+ OutpostConfigRequest.struct_class = Types::OutpostConfigRequest
720
+
721
+ OutpostConfigResponse.add_member(:outpost_arns, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "outpostArns"))
722
+ OutpostConfigResponse.add_member(:control_plane_instance_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "controlPlaneInstanceType"))
723
+ OutpostConfigResponse.struct_class = Types::OutpostConfigResponse
724
+
697
725
  Provider.add_member(:key_arn, Shapes::ShapeRef.new(shape: String, location_name: "keyArn"))
698
726
  Provider.struct_class = Types::Provider
699
727
 
@@ -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::EKS
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,121 @@
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::EKS
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
+ dCI6eyJ1cmwiOiJodHRwczovL2Vrcy1maXBzLntSZWdpb259LntQYXJ0aXRp
77
+ b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
+ b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
+ ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
+ ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
+ IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
+ b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
+ dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
+ IjpbeyJmbiI6InN0cmluZ0VxdWFscyIsImFyZ3YiOlsiYXdzIix7ImZuIjoi
89
+ Z2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJu
90
+ YW1lIl19XX1dLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2ZpcHMuZWtz
91
+ LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3Bl
92
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9LHsi
93
+ Y29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2IjpbImF3
94
+ cy11cy1nb3YiLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFy
95
+ dGl0aW9uUmVzdWx0In0sIm5hbWUiXX1dfV0sImVuZHBvaW50Ijp7InVybCI6
96
+ Imh0dHBzOi8vZWtzLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3Vm
97
+ Zml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
98
+ bmRwb2ludCJ9LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6
99
+ Imh0dHBzOi8vZWtzLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNk
100
+ bnNTdWZmaXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
101
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoi
102
+ RklQUyBpcyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBz
103
+ dXBwb3J0IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
104
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVh
105
+ bFN0YWNrIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29u
106
+ ZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUs
107
+ eyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1
108
+ bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwi
109
+ cnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJo
110
+ dHRwczovL2Vrcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFj
111
+ a0Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0
112
+ eXBlIjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoi
113
+ RHVhbFN0YWNrIGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMg
114
+ bm90IHN1cHBvcnQgRHVhbFN0YWNrIiwidHlwZSI6ImVycm9yIn1dfSx7ImNv
115
+ bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2Vrcy57
116
+ UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0
117
+ aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0=
118
+
119
+ JSON
120
+ end
121
+ end