aws-sdk-cloudwatchevidently 1.7.0 → 1.9.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: 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