aws-sdk-cloudwatchevidently 1.7.0 → 1.9.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: 4352786a1a2bcffc214628561d2977a5bcd7d338a2ca25953d82e5afc1db05d8
4
- data.tar.gz: 74d74255ee28ebb23b0bc9412bb0cd03c3095c2cdaee0c4f24bd6a04e701f641
3
+ metadata.gz: 3a5922ec245fc04279c4c344b952324eecef4d9f61711586b9505d661fa55fe5
4
+ data.tar.gz: '0907e82068cc44f4c58a7e04b3079caa26d0e64e4989a1aae7dd297d1366355e'
5
5
  SHA512:
6
- metadata.gz: 16db33c1eb62957bd975a1ac65c716e7ef06873479dc2e16362cb3342a8cf634f7bad7eb57df2ef037e7eca9ee1962e2eba8c4be94f79972cd8418d9c00f51a1
7
- data.tar.gz: c3468817b724c738170b7e81a530e0d649af4047d9c5a76ad5c1e836ea5e43df7a3bc592337bf875f086305a83e0181af2addffed5ba5308d1ac933745fa8204
6
+ metadata.gz: 7a7af285fa0df5f4d1b7e2d346154734e698ed8f4de3e2df6b8524c9df5ba8eb44bd067402fe186d4a3f0d803dab5b629e3b219941fac7d3831e311389bf919a
7
+ data.tar.gz: 4fbc8ffcfd23d403fd25d651c829b9d8480a70141be8d51323c7d96f51a04c82e282908fe771f7d3480e347ed3e6b101319bdbedaa6b09610de642709c073832
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.9.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.8.0 (2022-09-13)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for the client-side evaluation - powered by AWS AppConfig feature.
13
+
4
14
  1.7.0 (2022-07-15)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.7.0
1
+ 1.9.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(:cloudwatchevidently)
@@ -79,8 +79,9 @@ module Aws::CloudWatchEvidently
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::CloudWatchEvidently::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::CloudWatchEvidently
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::CloudWatchEvidently
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::CloudWatchEvidently::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::CloudWatchEvidently::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
  #
@@ -884,6 +901,26 @@ module Aws::CloudWatchEvidently
884
901
  #
885
902
  # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_UpdateProject.html
886
903
  #
904
+ # @option params [Types::ProjectAppConfigResourceConfig] :app_config_resource
905
+ # Use this parameter if the project will use *client-side evaluation
906
+ # powered by AppConfig*. Client-side evaluation allows your application
907
+ # to assign variations to user sessions locally instead of by calling
908
+ # the [EvaluateFeature][1] operation. This mitigates the latency and
909
+ # availability risks that come with an API call. For more information,
910
+ # see [ Client-side evaluation - powered by AppConfig.][2]
911
+ #
912
+ # This parameter is a structure that contains information about the
913
+ # AppConfig application and environment that will be used as for
914
+ # client-side evaluation.
915
+ #
916
+ # To create a project that uses client-side evaluation, you must have
917
+ # the `evidently:ExportProjectAsConfiguration` permission.
918
+ #
919
+ #
920
+ #
921
+ # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
922
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-client-side-evaluation.html
923
+ #
887
924
  # @option params [Types::ProjectDataDeliveryConfig] :data_delivery
888
925
  # A structure that contains information about where Evidently is to
889
926
  # store evaluation events for longer term storage, if you choose to do
@@ -916,6 +953,10 @@ module Aws::CloudWatchEvidently
916
953
  # @example Request syntax with placeholder values
917
954
  #
918
955
  # resp = client.create_project({
956
+ # app_config_resource: {
957
+ # application_id: "AppConfigResourceId",
958
+ # environment_id: "AppConfigResourceId",
959
+ # },
919
960
  # data_delivery: {
920
961
  # cloud_watch_logs: {
921
962
  # log_group: "CwLogGroupSafeName",
@@ -936,6 +977,9 @@ module Aws::CloudWatchEvidently
936
977
  #
937
978
  # resp.project.active_experiment_count #=> Integer
938
979
  # resp.project.active_launch_count #=> Integer
980
+ # resp.project.app_config_resource.application_id #=> String
981
+ # resp.project.app_config_resource.configuration_profile_id #=> String
982
+ # resp.project.app_config_resource.environment_id #=> String
939
983
  # resp.project.arn #=> String
940
984
  # resp.project.created_time #=> Time
941
985
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -968,10 +1012,10 @@ module Aws::CloudWatchEvidently
968
1012
  #
969
1013
  # Using a segment in an experiment limits that experiment to evaluate
970
1014
  # only the users who match the segment criteria. Using one or more
971
- # segments in a launch allow you to define different traffic splits for
1015
+ # segments in a launch allows you to define different traffic splits for
972
1016
  # the different audience segments.
973
1017
  #
974
- # <p>For more information about segment pattern syntax, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments-syntax.html"> Segment rule pattern syntax</a>.</p> <p>The pattern that you define for a segment is matched against the value of <code>evaluationContext</code>, which is passed into Evidently in the <a href="https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html">EvaluateFeature</a> operation, when Evidently assigns a feature variation to a user.</p>
1018
+ # <p>For more information about segment pattern syntax, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax.html"> Segment rule pattern syntax</a>.</p> <p>The pattern that you define for a segment is matched against the value of <code>evaluationContext</code>, which is passed into Evidently in the <a href="https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html">EvaluateFeature</a> operation, when Evidently assigns a feature variation to a user.</p>
975
1019
  #
976
1020
  # @option params [String] :description
977
1021
  # An optional description for this segment.
@@ -989,7 +1033,7 @@ module Aws::CloudWatchEvidently
989
1033
  #
990
1034
  #
991
1035
  #
992
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments-syntax.html
1036
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax.html
993
1037
  #
994
1038
  # @option params [Hash<String,String>] :tags
995
1039
  # Assigns one or more tags (key-value pairs) to the segment.
@@ -1328,7 +1372,12 @@ module Aws::CloudWatchEvidently
1328
1372
 
1329
1373
  # Retrieves the results of a running or completed experiment. No results
1330
1374
  # are available until there have been 100 events for each variation and
1331
- # at least 10 minutes have passed since the start of the experiment.
1375
+ # at least 10 minutes have passed since the start of the experiment. To
1376
+ # increase the statistical power, Evidently performs an additional
1377
+ # offline p-value analysis at the end of the experiment. Offline p-value
1378
+ # analysis can detect statistical significance in some cases where the
1379
+ # anytime p-values used during the experiment do not find statistical
1380
+ # significance.
1332
1381
  #
1333
1382
  # Experiment results are available up to 63 days after the start of the
1334
1383
  # experiment. They are not available after that because of CloudWatch
@@ -1596,6 +1645,9 @@ module Aws::CloudWatchEvidently
1596
1645
  #
1597
1646
  # resp.project.active_experiment_count #=> Integer
1598
1647
  # resp.project.active_launch_count #=> Integer
1648
+ # resp.project.app_config_resource.application_id #=> String
1649
+ # resp.project.app_config_resource.configuration_profile_id #=> String
1650
+ # resp.project.app_config_resource.environment_id #=> String
1599
1651
  # resp.project.arn #=> String
1600
1652
  # resp.project.created_time #=> Time
1601
1653
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -2840,6 +2892,20 @@ module Aws::CloudWatchEvidently
2840
2892
  # [2]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_UpdateProjectDataDelivery.html
2841
2893
  # [3]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_TagResource.html
2842
2894
  #
2895
+ # @option params [Types::ProjectAppConfigResourceConfig] :app_config_resource
2896
+ # Use this parameter if the project will use client-side evaluation
2897
+ # powered by AppConfig. Client-side evaluation allows your application
2898
+ # to assign variations to user sessions locally instead of by calling
2899
+ # the [EvaluateFeature][1] operation. This mitigates the latency and
2900
+ # availability risks that come with an API call. allows you to
2901
+ #
2902
+ # This parameter is a structure that contains information about the
2903
+ # AppConfig application that will be used for client-side evaluation.
2904
+ #
2905
+ #
2906
+ #
2907
+ # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
2908
+ #
2843
2909
  # @option params [String] :description
2844
2910
  # An optional description of the project.
2845
2911
  #
@@ -2853,6 +2919,10 @@ module Aws::CloudWatchEvidently
2853
2919
  # @example Request syntax with placeholder values
2854
2920
  #
2855
2921
  # resp = client.update_project({
2922
+ # app_config_resource: {
2923
+ # application_id: "AppConfigResourceId",
2924
+ # environment_id: "AppConfigResourceId",
2925
+ # },
2856
2926
  # description: "Description",
2857
2927
  # project: "ProjectRef", # required
2858
2928
  # })
@@ -2861,6 +2931,9 @@ module Aws::CloudWatchEvidently
2861
2931
  #
2862
2932
  # resp.project.active_experiment_count #=> Integer
2863
2933
  # resp.project.active_launch_count #=> Integer
2934
+ # resp.project.app_config_resource.application_id #=> String
2935
+ # resp.project.app_config_resource.configuration_profile_id #=> String
2936
+ # resp.project.app_config_resource.environment_id #=> String
2864
2937
  # resp.project.arn #=> String
2865
2938
  # resp.project.created_time #=> Time
2866
2939
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -2927,6 +3000,9 @@ module Aws::CloudWatchEvidently
2927
3000
  #
2928
3001
  # resp.project.active_experiment_count #=> Integer
2929
3002
  # resp.project.active_launch_count #=> Integer
3003
+ # resp.project.app_config_resource.application_id #=> String
3004
+ # resp.project.app_config_resource.configuration_profile_id #=> String
3005
+ # resp.project.app_config_resource.environment_id #=> String
2930
3006
  # resp.project.arn #=> String
2931
3007
  # resp.project.created_time #=> Time
2932
3008
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -2964,7 +3040,7 @@ module Aws::CloudWatchEvidently
2964
3040
  params: params,
2965
3041
  config: config)
2966
3042
  context[:gem_name] = 'aws-sdk-cloudwatchevidently'
2967
- context[:gem_version] = '1.7.0'
3043
+ context[:gem_version] = '1.9.0'
2968
3044
  Seahorse::Client::Request.new(handlers, context)
2969
3045
  end
2970
3046
 
@@ -14,6 +14,7 @@ module Aws::CloudWatchEvidently
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ AppConfigResourceId = Shapes::StringShape.new(name: 'AppConfigResourceId')
17
18
  Arn = Shapes::StringShape.new(name: 'Arn')
18
19
  BatchEvaluateFeatureRequest = Shapes::StructureShape.new(name: 'BatchEvaluateFeatureRequest')
19
20
  BatchEvaluateFeatureResponse = Shapes::StructureShape.new(name: 'BatchEvaluateFeatureResponse')
@@ -158,6 +159,8 @@ module Aws::CloudWatchEvidently
158
159
  OnlineAbDefinition = Shapes::StructureShape.new(name: 'OnlineAbDefinition')
159
160
  PrimitiveBoolean = Shapes::BooleanShape.new(name: 'PrimitiveBoolean')
160
161
  Project = Shapes::StructureShape.new(name: 'Project')
162
+ ProjectAppConfigResource = Shapes::StructureShape.new(name: 'ProjectAppConfigResource')
163
+ ProjectAppConfigResourceConfig = Shapes::StructureShape.new(name: 'ProjectAppConfigResourceConfig')
161
164
  ProjectArn = Shapes::StringShape.new(name: 'ProjectArn')
162
165
  ProjectDataDelivery = Shapes::StructureShape.new(name: 'ProjectDataDelivery')
163
166
  ProjectDataDeliveryConfig = Shapes::StructureShape.new(name: 'ProjectDataDeliveryConfig')
@@ -316,6 +319,7 @@ module Aws::CloudWatchEvidently
316
319
  CreateLaunchResponse.add_member(:launch, Shapes::ShapeRef.new(shape: Launch, required: true, location_name: "launch"))
317
320
  CreateLaunchResponse.struct_class = Types::CreateLaunchResponse
318
321
 
322
+ CreateProjectRequest.add_member(:app_config_resource, Shapes::ShapeRef.new(shape: ProjectAppConfigResourceConfig, location_name: "appConfigResource"))
319
323
  CreateProjectRequest.add_member(:data_delivery, Shapes::ShapeRef.new(shape: ProjectDataDeliveryConfig, location_name: "dataDelivery"))
320
324
  CreateProjectRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
321
325
  CreateProjectRequest.add_member(:name, Shapes::ShapeRef.new(shape: ProjectName, required: true, location_name: "name"))
@@ -696,6 +700,7 @@ module Aws::CloudWatchEvidently
696
700
 
697
701
  Project.add_member(:active_experiment_count, Shapes::ShapeRef.new(shape: Long, location_name: "activeExperimentCount"))
698
702
  Project.add_member(:active_launch_count, Shapes::ShapeRef.new(shape: Long, location_name: "activeLaunchCount"))
703
+ Project.add_member(:app_config_resource, Shapes::ShapeRef.new(shape: ProjectAppConfigResource, location_name: "appConfigResource"))
699
704
  Project.add_member(:arn, Shapes::ShapeRef.new(shape: ProjectArn, required: true, location_name: "arn"))
700
705
  Project.add_member(:created_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "createdTime"))
701
706
  Project.add_member(:data_delivery, Shapes::ShapeRef.new(shape: ProjectDataDelivery, location_name: "dataDelivery"))
@@ -709,6 +714,15 @@ module Aws::CloudWatchEvidently
709
714
  Project.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
710
715
  Project.struct_class = Types::Project
711
716
 
717
+ ProjectAppConfigResource.add_member(:application_id, Shapes::ShapeRef.new(shape: AppConfigResourceId, required: true, location_name: "applicationId"))
718
+ ProjectAppConfigResource.add_member(:configuration_profile_id, Shapes::ShapeRef.new(shape: AppConfigResourceId, required: true, location_name: "configurationProfileId"))
719
+ ProjectAppConfigResource.add_member(:environment_id, Shapes::ShapeRef.new(shape: AppConfigResourceId, required: true, location_name: "environmentId"))
720
+ ProjectAppConfigResource.struct_class = Types::ProjectAppConfigResource
721
+
722
+ ProjectAppConfigResourceConfig.add_member(:application_id, Shapes::ShapeRef.new(shape: AppConfigResourceId, location_name: "applicationId"))
723
+ ProjectAppConfigResourceConfig.add_member(:environment_id, Shapes::ShapeRef.new(shape: AppConfigResourceId, location_name: "environmentId"))
724
+ ProjectAppConfigResourceConfig.struct_class = Types::ProjectAppConfigResourceConfig
725
+
712
726
  ProjectDataDelivery.add_member(:cloud_watch_logs, Shapes::ShapeRef.new(shape: CloudWatchLogsDestination, location_name: "cloudWatchLogs"))
713
727
  ProjectDataDelivery.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
714
728
  ProjectDataDelivery.struct_class = Types::ProjectDataDelivery
@@ -954,6 +968,7 @@ module Aws::CloudWatchEvidently
954
968
  UpdateProjectDataDeliveryResponse.add_member(:project, Shapes::ShapeRef.new(shape: Project, required: true, location_name: "project"))
955
969
  UpdateProjectDataDeliveryResponse.struct_class = Types::UpdateProjectDataDeliveryResponse
956
970
 
971
+ UpdateProjectRequest.add_member(:app_config_resource, Shapes::ShapeRef.new(shape: ProjectAppConfigResourceConfig, location_name: "appConfigResource"))
957
972
  UpdateProjectRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "description"))
958
973
  UpdateProjectRequest.add_member(:project, Shapes::ShapeRef.new(shape: ProjectRef, required: true, location: "uri", location_name: "project"))
959
974
  UpdateProjectRequest.struct_class = Types::UpdateProjectRequest
@@ -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::CloudWatchEvidently
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,112 @@
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::CloudWatchEvidently
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
+ dCI6eyJ1cmwiOiJodHRwczovL2V2aWRlbnRseS1maXBzLntSZWdpb259LntQ
77
+ YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
78
+ ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
79
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJl
80
+ IGVuYWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0
81
+ IG9uZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMi
82
+ Olt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJ
83
+ UFMifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
84
+ b25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZu
85
+ IjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9
86
+ LCJzdXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7
87
+ ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
88
+ aXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9ldmlkZW50
89
+ bHktZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0i
90
+ LCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9p
91
+ bnQifV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVu
92
+ YWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQ
93
+ UyIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJv
94
+ b2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0
95
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
96
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
97
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
98
+ b3J0c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
99
+ Y29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZXZp
100
+ ZGVudGx5LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5z
101
+ U3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUi
102
+ OiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFs
103
+ U3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qg
104
+ c3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0
105
+ aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZXZpZGVudGx5
106
+ LntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3VmZml4fSIsInByb3Bl
107
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX1d
108
+ fQ==
109
+
110
+ JSON
111
+ end
112
+ end