aws-sdk-cloudwatchevidently 1.6.0 → 1.8.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.
@@ -432,6 +432,11 @@ module Aws::CloudWatchEvidently
432
432
  # statistical methods, and provides clear recommendations about which
433
433
  # variations perform better.
434
434
  #
435
+ # You can optionally specify a `segment` to have the experiment consider
436
+ # only certain audience types in the experiment, such as using only user
437
+ # sessions from a certain location or who use a certain internet
438
+ # browser.
439
+ #
435
440
  # Don't use this operation to update an existing experiment. Instead,
436
441
  # use [UpdateExperiment][1].
437
442
  #
@@ -476,6 +481,11 @@ module Aws::CloudWatchEvidently
476
481
  # This is represented in thousandths of a percent. For example, specify
477
482
  # 10,000 to allocate 10% of the available audience.
478
483
  #
484
+ # @option params [String] :segment
485
+ # Specifies an audience *segment* to use in the experiment. When a
486
+ # segment is used in an experiment, only user sessions that match the
487
+ # segment pattern are used in the experiment.
488
+ #
479
489
  # @option params [Hash<String,String>] :tags
480
490
  # Assigns one or more tags (key-value pairs) to the experiment.
481
491
  #
@@ -522,6 +532,7 @@ module Aws::CloudWatchEvidently
522
532
  # project: "ProjectRef", # required
523
533
  # randomization_salt: "RandomizationSalt",
524
534
  # sampling_rate: 1,
535
+ # segment: "SegmentRef",
525
536
  # tags: {
526
537
  # "TagKey" => "TagValue",
527
538
  # },
@@ -558,6 +569,7 @@ module Aws::CloudWatchEvidently
558
569
  # resp.experiment.randomization_salt #=> String
559
570
  # resp.experiment.sampling_rate #=> Integer
560
571
  # resp.experiment.schedule.analysis_complete_time #=> Time
572
+ # resp.experiment.segment #=> String
561
573
  # resp.experiment.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
562
574
  # resp.experiment.status_reason #=> String
563
575
  # resp.experiment.tags #=> Hash
@@ -744,7 +756,7 @@ module Aws::CloudWatchEvidently
744
756
  # use a randomization ID to determine which variation the user session
745
757
  # is served. This randomization ID is a combination of the entity ID and
746
758
  # `randomizationSalt`. If you omit `randomizationSalt`, Evidently uses
747
- # the launch name as the `randomizationsSalt`.
759
+ # the launch name as the `randomizationSalt`.
748
760
  #
749
761
  # @option params [Types::ScheduledSplitsLaunchConfig] :scheduled_splits_config
750
762
  # An array of structures that define the traffic allocation percentages
@@ -798,6 +810,15 @@ module Aws::CloudWatchEvidently
798
810
  # group_weights: { # required
799
811
  # "GroupName" => 1,
800
812
  # },
813
+ # segment_overrides: [
814
+ # {
815
+ # evaluation_order: 1, # required
816
+ # segment: "SegmentRef", # required
817
+ # weights: { # required
818
+ # "GroupName" => 1,
819
+ # },
820
+ # },
821
+ # ],
801
822
  # start_time: Time.now, # required
802
823
  # },
803
824
  # ],
@@ -832,6 +853,11 @@ module Aws::CloudWatchEvidently
832
853
  # resp.launch.scheduled_splits_definition.steps #=> Array
833
854
  # resp.launch.scheduled_splits_definition.steps[0].group_weights #=> Hash
834
855
  # resp.launch.scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
856
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides #=> Array
857
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
858
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
859
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
860
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
835
861
  # resp.launch.scheduled_splits_definition.steps[0].start_time #=> Time
836
862
  # resp.launch.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
837
863
  # resp.launch.status_reason #=> String
@@ -858,6 +884,26 @@ module Aws::CloudWatchEvidently
858
884
  #
859
885
  # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_UpdateProject.html
860
886
  #
887
+ # @option params [Types::ProjectAppConfigResourceConfig] :app_config_resource
888
+ # Use this parameter if the project will use *client-side evaluation
889
+ # powered by AppConfig*. Client-side evaluation allows your application
890
+ # to assign variations to user sessions locally instead of by calling
891
+ # the [EvaluateFeature][1] operation. This mitigates the latency and
892
+ # availability risks that come with an API call. For more information,
893
+ # see [ Client-side evaluation - powered by AppConfig.][2]
894
+ #
895
+ # This parameter is a structure that contains information about the
896
+ # AppConfig application and environment that will be used as for
897
+ # client-side evaluation.
898
+ #
899
+ # To create a project that uses client-side evaluation, you must have
900
+ # the `evidently:ExportProjectAsConfiguration` permission.
901
+ #
902
+ #
903
+ #
904
+ # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
905
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-client-side-evaluation.html
906
+ #
861
907
  # @option params [Types::ProjectDataDeliveryConfig] :data_delivery
862
908
  # A structure that contains information about where Evidently is to
863
909
  # store evaluation events for longer term storage, if you choose to do
@@ -890,6 +936,10 @@ module Aws::CloudWatchEvidently
890
936
  # @example Request syntax with placeholder values
891
937
  #
892
938
  # resp = client.create_project({
939
+ # app_config_resource: {
940
+ # application_id: "AppConfigResourceId",
941
+ # environment_id: "AppConfigResourceId",
942
+ # },
893
943
  # data_delivery: {
894
944
  # cloud_watch_logs: {
895
945
  # log_group: "CwLogGroupSafeName",
@@ -910,6 +960,9 @@ module Aws::CloudWatchEvidently
910
960
  #
911
961
  # resp.project.active_experiment_count #=> Integer
912
962
  # resp.project.active_launch_count #=> Integer
963
+ # resp.project.app_config_resource.application_id #=> String
964
+ # resp.project.app_config_resource.configuration_profile_id #=> String
965
+ # resp.project.app_config_resource.environment_id #=> String
913
966
  # resp.project.arn #=> String
914
967
  # resp.project.created_time #=> Time
915
968
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -934,6 +987,86 @@ module Aws::CloudWatchEvidently
934
987
  req.send_request(options)
935
988
  end
936
989
 
990
+ # Use this operation to define a *segment* of your audience. A segment
991
+ # is a portion of your audience that share one or more characteristics.
992
+ # Examples could be Chrome browser users, users in Europe, or Firefox
993
+ # browser users in Europe who also fit other criteria that your
994
+ # application collects, such as age.
995
+ #
996
+ # Using a segment in an experiment limits that experiment to evaluate
997
+ # only the users who match the segment criteria. Using one or more
998
+ # segments in a launch allows you to define different traffic splits for
999
+ # the different audience segments.
1000
+ #
1001
+ # <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>
1002
+ #
1003
+ # @option params [String] :description
1004
+ # An optional description for this segment.
1005
+ #
1006
+ # @option params [required, String] :name
1007
+ # A name for the segment.
1008
+ #
1009
+ # @option params [required, String] :pattern
1010
+ # The pattern to use for the segment. For more information about pattern
1011
+ # syntax, see [ Segment rule pattern syntax][1].
1012
+ #
1013
+ # **SDK automatically handles json encoding and base64 encoding for you
1014
+ # when the required value (Hash, Array, etc.) is provided according to
1015
+ # the description.**
1016
+ #
1017
+ #
1018
+ #
1019
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html#CloudWatch-Evidently-segments-syntax.html
1020
+ #
1021
+ # @option params [Hash<String,String>] :tags
1022
+ # Assigns one or more tags (key-value pairs) to the segment.
1023
+ #
1024
+ # Tags can help you organize and categorize your resources. You can also
1025
+ # use them to scope user permissions by granting a user permission to
1026
+ # access or change only resources with certain tag values.
1027
+ #
1028
+ # Tags don't have any semantic meaning to Amazon Web Services and are
1029
+ # interpreted strictly as strings of characters.
1030
+ #
1031
+ # <p>You can associate as many as 50 tags with a segment.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html">Tagging Amazon Web Services resources</a>.</p>
1032
+ #
1033
+ # @return [Types::CreateSegmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1034
+ #
1035
+ # * {Types::CreateSegmentResponse#segment #segment} => Types::Segment
1036
+ #
1037
+ # @example Request syntax with placeholder values
1038
+ #
1039
+ # resp = client.create_segment({
1040
+ # description: "Description",
1041
+ # name: "SegmentName", # required
1042
+ # pattern: "SegmentPattern", # required
1043
+ # tags: {
1044
+ # "TagKey" => "TagValue",
1045
+ # },
1046
+ # })
1047
+ #
1048
+ # @example Response structure
1049
+ #
1050
+ # resp.segment.arn #=> String
1051
+ # resp.segment.created_time #=> Time
1052
+ # resp.segment.description #=> String
1053
+ # resp.segment.experiment_count #=> Integer
1054
+ # resp.segment.last_updated_time #=> Time
1055
+ # resp.segment.launch_count #=> Integer
1056
+ # resp.segment.name #=> String
1057
+ # resp.segment.pattern #=> String
1058
+ # resp.segment.tags #=> Hash
1059
+ # resp.segment.tags["TagKey"] #=> String
1060
+ #
1061
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateSegment AWS API Documentation
1062
+ #
1063
+ # @overload create_segment(params = {})
1064
+ # @param [Hash] params ({})
1065
+ def create_segment(params = {}, options = {})
1066
+ req = build_request(:create_segment, params)
1067
+ req.send_request(options)
1068
+ end
1069
+
937
1070
  # Deletes an Evidently experiment. The feature used for the experiment
938
1071
  # is not deleted.
939
1072
  #
@@ -1054,6 +1187,30 @@ module Aws::CloudWatchEvidently
1054
1187
  req.send_request(options)
1055
1188
  end
1056
1189
 
1190
+ # Deletes a segment. You can't delete a segment that is being used in a
1191
+ # launch or experiment, even if that launch or experiment is not
1192
+ # currently running.
1193
+ #
1194
+ # @option params [required, String] :segment
1195
+ # Specifies the segment to delete.
1196
+ #
1197
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1198
+ #
1199
+ # @example Request syntax with placeholder values
1200
+ #
1201
+ # resp = client.delete_segment({
1202
+ # segment: "SegmentRef", # required
1203
+ # })
1204
+ #
1205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteSegment AWS API Documentation
1206
+ #
1207
+ # @overload delete_segment(params = {})
1208
+ # @param [Hash] params ({})
1209
+ def delete_segment(params = {}, options = {})
1210
+ req = build_request(:delete_segment, params)
1211
+ req.send_request(options)
1212
+ end
1213
+
1057
1214
  # This operation assigns a feature variation to one given user session.
1058
1215
  # You pass in an `entityID` that represents the user. Evidently then
1059
1216
  # checks the evaluation rules and assigns the variation.
@@ -1062,21 +1219,7 @@ module Aws::CloudWatchEvidently
1062
1219
  # user's `entityID` matches an override rule, the user is served the
1063
1220
  # variation specified by that rule.
1064
1221
  #
1065
- # Next, if there is a launch of the feature, the user might be assigned
1066
- # to a variation in the launch. The chance of this depends on the
1067
- # percentage of users that are allocated to that launch. If the user is
1068
- # enrolled in the launch, the variation they are served depends on the
1069
- # allocation of the various feature variations used for the launch.
1070
- #
1071
- # If the user is not assigned to a launch, and there is an ongoing
1072
- # experiment for this feature, the user might be assigned to a variation
1073
- # in the experiment. The chance of this depends on the percentage of
1074
- # users that are allocated to that experiment. If the user is enrolled
1075
- # in the experiment, the variation they are served depends on the
1076
- # allocation of the various feature variations used for the experiment.
1077
- #
1078
- # If the user is not assigned to a launch or experiment, they are served
1079
- # the default variation.
1222
+ # <p>If there is a current launch with this feature that uses segment overrides, and if the user session's <code>evaluationContext</code> matches a segment rule defined in a segment override, the configuration in the segment overrides is used. For more information about segments, see <a href="https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_CreateSegment.html">CreateSegment</a> and <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html">Use segments to focus your audience</a>.</p> <p>If there is a launch with no segment overrides, the user might be assigned to a variation in the launch. The chance of this depends on the percentage of users that are allocated to that launch. If the user is enrolled in the launch, the variation they are served depends on the allocation of the various feature variations used for the launch.</p> <p>If the user is not assigned to a launch, and there is an ongoing experiment for this feature, the user might be assigned to a variation in the experiment. The chance of this depends on the percentage of users that are allocated to that experiment.</p> <p>If the experiment uses a segment, then only user sessions with <code>evaluationContext</code> values that match the segment rule are used in the experiment.</p> <p>If the user is enrolled in the experiment, the variation they are served depends on the allocation of the various feature variations used for the experiment. </p> <p>If the user is not assigned to a launch or experiment, they are served the default variation.</p>
1080
1223
  #
1081
1224
  # @option params [required, String] :entity_id
1082
1225
  # An internal ID that represents a unique user of the application. This
@@ -1084,14 +1227,22 @@ module Aws::CloudWatchEvidently
1084
1227
  # feature.
1085
1228
  #
1086
1229
  # @option params [String] :evaluation_context
1087
- # A JSON block of attributes that you can optionally pass in. This JSON
1088
- # block is included in the evaluation events sent to Evidently from the
1089
- # user session.
1230
+ # A JSON object of attributes that you can optionally pass in as part of
1231
+ # the evaluation event sent to Evidently from the user session.
1232
+ # Evidently can use this value to match user sessions with defined
1233
+ # audience segments. For more information, see [Use segments to focus
1234
+ # your audience][1].
1235
+ #
1236
+ # <p>If you include this parameter, the value must be a JSON object. A JSON array is not supported.</p>
1090
1237
  #
1091
1238
  # **SDK automatically handles json encoding and base64 encoding for you
1092
1239
  # when the required value (Hash, Array, etc.) is provided according to
1093
1240
  # the description.**
1094
1241
  #
1242
+ #
1243
+ #
1244
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html
1245
+ #
1095
1246
  # @option params [required, String] :feature
1096
1247
  # The name of the feature being evaluated.
1097
1248
  #
@@ -1181,6 +1332,7 @@ module Aws::CloudWatchEvidently
1181
1332
  # resp.experiment.randomization_salt #=> String
1182
1333
  # resp.experiment.sampling_rate #=> Integer
1183
1334
  # resp.experiment.schedule.analysis_complete_time #=> Time
1335
+ # resp.experiment.segment #=> String
1184
1336
  # resp.experiment.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1185
1337
  # resp.experiment.status_reason #=> String
1186
1338
  # resp.experiment.tags #=> Hash
@@ -1203,7 +1355,12 @@ module Aws::CloudWatchEvidently
1203
1355
 
1204
1356
  # Retrieves the results of a running or completed experiment. No results
1205
1357
  # are available until there have been 100 events for each variation and
1206
- # at least 10 minutes have passed since the start of the experiment.
1358
+ # at least 10 minutes have passed since the start of the experiment. To
1359
+ # increase the statistical power, Evidently performs an additional
1360
+ # offline p-value analysis at the end of the experiment. Offline p-value
1361
+ # analysis can detect statistical significance in some cases where the
1362
+ # anytime p-values used during the experiment do not find statistical
1363
+ # significance.
1207
1364
  #
1208
1365
  # Experiment results are available up to 63 days after the start of the
1209
1366
  # experiment. They are not available after that because of CloudWatch
@@ -1425,6 +1582,11 @@ module Aws::CloudWatchEvidently
1425
1582
  # resp.launch.scheduled_splits_definition.steps #=> Array
1426
1583
  # resp.launch.scheduled_splits_definition.steps[0].group_weights #=> Hash
1427
1584
  # resp.launch.scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
1585
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides #=> Array
1586
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
1587
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
1588
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
1589
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
1428
1590
  # resp.launch.scheduled_splits_definition.steps[0].start_time #=> Time
1429
1591
  # resp.launch.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1430
1592
  # resp.launch.status_reason #=> String
@@ -1466,6 +1628,9 @@ module Aws::CloudWatchEvidently
1466
1628
  #
1467
1629
  # resp.project.active_experiment_count #=> Integer
1468
1630
  # resp.project.active_launch_count #=> Integer
1631
+ # resp.project.app_config_resource.application_id #=> String
1632
+ # resp.project.app_config_resource.configuration_profile_id #=> String
1633
+ # resp.project.app_config_resource.environment_id #=> String
1469
1634
  # resp.project.arn #=> String
1470
1635
  # resp.project.created_time #=> Time
1471
1636
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -1490,6 +1655,44 @@ module Aws::CloudWatchEvidently
1490
1655
  req.send_request(options)
1491
1656
  end
1492
1657
 
1658
+ # Returns information about the specified segment. Specify the segment
1659
+ # you want to view by specifying its ARN.
1660
+ #
1661
+ # @option params [required, String] :segment
1662
+ # The ARN of the segment to return information for.
1663
+ #
1664
+ # @return [Types::GetSegmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1665
+ #
1666
+ # * {Types::GetSegmentResponse#segment #segment} => Types::Segment
1667
+ #
1668
+ # @example Request syntax with placeholder values
1669
+ #
1670
+ # resp = client.get_segment({
1671
+ # segment: "SegmentRef", # required
1672
+ # })
1673
+ #
1674
+ # @example Response structure
1675
+ #
1676
+ # resp.segment.arn #=> String
1677
+ # resp.segment.created_time #=> Time
1678
+ # resp.segment.description #=> String
1679
+ # resp.segment.experiment_count #=> Integer
1680
+ # resp.segment.last_updated_time #=> Time
1681
+ # resp.segment.launch_count #=> Integer
1682
+ # resp.segment.name #=> String
1683
+ # resp.segment.pattern #=> String
1684
+ # resp.segment.tags #=> Hash
1685
+ # resp.segment.tags["TagKey"] #=> String
1686
+ #
1687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetSegment AWS API Documentation
1688
+ #
1689
+ # @overload get_segment(params = {})
1690
+ # @param [Hash] params ({})
1691
+ def get_segment(params = {}, options = {})
1692
+ req = build_request(:get_segment, params)
1693
+ req.send_request(options)
1694
+ end
1695
+
1493
1696
  # Returns configuration details about all the experiments in the
1494
1697
  # specified project.
1495
1698
  #
@@ -1547,6 +1750,7 @@ module Aws::CloudWatchEvidently
1547
1750
  # resp.experiments[0].randomization_salt #=> String
1548
1751
  # resp.experiments[0].sampling_rate #=> Integer
1549
1752
  # resp.experiments[0].schedule.analysis_complete_time #=> Time
1753
+ # resp.experiments[0].segment #=> String
1550
1754
  # resp.experiments[0].status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1551
1755
  # resp.experiments[0].status_reason #=> String
1552
1756
  # resp.experiments[0].tags #=> Hash
@@ -1682,6 +1886,11 @@ module Aws::CloudWatchEvidently
1682
1886
  # resp.launches[0].scheduled_splits_definition.steps #=> Array
1683
1887
  # resp.launches[0].scheduled_splits_definition.steps[0].group_weights #=> Hash
1684
1888
  # resp.launches[0].scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
1889
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides #=> Array
1890
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
1891
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
1892
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
1893
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
1685
1894
  # resp.launches[0].scheduled_splits_definition.steps[0].start_time #=> Time
1686
1895
  # resp.launches[0].status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1687
1896
  # resp.launches[0].status_reason #=> String
@@ -1750,6 +1959,110 @@ module Aws::CloudWatchEvidently
1750
1959
  req.send_request(options)
1751
1960
  end
1752
1961
 
1962
+ # Use this operation to find which experiments or launches are using a
1963
+ # specified segment.
1964
+ #
1965
+ # @option params [Integer] :max_results
1966
+ # The maximum number of results to include in the response. If you omit
1967
+ # this, the default of 50 is used.
1968
+ #
1969
+ # @option params [String] :next_token
1970
+ # The token to use when requesting the next set of results. You received
1971
+ # this token from a previous `ListSegmentReferences` operation.
1972
+ #
1973
+ # @option params [required, String] :segment
1974
+ # The ARN of the segment that you want to view information for.
1975
+ #
1976
+ # @option params [required, String] :type
1977
+ # Specifies whether to return information about launches or experiments
1978
+ # that use this segment.
1979
+ #
1980
+ # @return [Types::ListSegmentReferencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1981
+ #
1982
+ # * {Types::ListSegmentReferencesResponse#next_token #next_token} => String
1983
+ # * {Types::ListSegmentReferencesResponse#referenced_by #referenced_by} => Array&lt;Types::RefResource&gt;
1984
+ #
1985
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1986
+ #
1987
+ # @example Request syntax with placeholder values
1988
+ #
1989
+ # resp = client.list_segment_references({
1990
+ # max_results: 1,
1991
+ # next_token: "NextToken",
1992
+ # segment: "SegmentRef", # required
1993
+ # type: "EXPERIMENT", # required, accepts EXPERIMENT, LAUNCH
1994
+ # })
1995
+ #
1996
+ # @example Response structure
1997
+ #
1998
+ # resp.next_token #=> String
1999
+ # resp.referenced_by #=> Array
2000
+ # resp.referenced_by[0].arn #=> String
2001
+ # resp.referenced_by[0].end_time #=> String
2002
+ # resp.referenced_by[0].last_updated_on #=> String
2003
+ # resp.referenced_by[0].name #=> String
2004
+ # resp.referenced_by[0].start_time #=> String
2005
+ # resp.referenced_by[0].status #=> String
2006
+ # resp.referenced_by[0].type #=> String
2007
+ #
2008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentReferences AWS API Documentation
2009
+ #
2010
+ # @overload list_segment_references(params = {})
2011
+ # @param [Hash] params ({})
2012
+ def list_segment_references(params = {}, options = {})
2013
+ req = build_request(:list_segment_references, params)
2014
+ req.send_request(options)
2015
+ end
2016
+
2017
+ # Returns a list of audience segments that you have created in your
2018
+ # account in this Region.
2019
+ #
2020
+ # @option params [Integer] :max_results
2021
+ # The maximum number of results to include in the response. If you omit
2022
+ # this, the default of 50 is used.
2023
+ #
2024
+ # @option params [String] :next_token
2025
+ # The token to use when requesting the next set of results. You received
2026
+ # this token from a previous `ListSegments` operation.
2027
+ #
2028
+ # @return [Types::ListSegmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2029
+ #
2030
+ # * {Types::ListSegmentsResponse#next_token #next_token} => String
2031
+ # * {Types::ListSegmentsResponse#segments #segments} => Array&lt;Types::Segment&gt;
2032
+ #
2033
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2034
+ #
2035
+ # @example Request syntax with placeholder values
2036
+ #
2037
+ # resp = client.list_segments({
2038
+ # max_results: 1,
2039
+ # next_token: "NextToken",
2040
+ # })
2041
+ #
2042
+ # @example Response structure
2043
+ #
2044
+ # resp.next_token #=> String
2045
+ # resp.segments #=> Array
2046
+ # resp.segments[0].arn #=> String
2047
+ # resp.segments[0].created_time #=> Time
2048
+ # resp.segments[0].description #=> String
2049
+ # resp.segments[0].experiment_count #=> Integer
2050
+ # resp.segments[0].last_updated_time #=> Time
2051
+ # resp.segments[0].launch_count #=> Integer
2052
+ # resp.segments[0].name #=> String
2053
+ # resp.segments[0].pattern #=> String
2054
+ # resp.segments[0].tags #=> Hash
2055
+ # resp.segments[0].tags["TagKey"] #=> String
2056
+ #
2057
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegments AWS API Documentation
2058
+ #
2059
+ # @overload list_segments(params = {})
2060
+ # @param [Hash] params ({})
2061
+ def list_segments(params = {}, options = {})
2062
+ req = build_request(:list_segments, params)
2063
+ req.send_request(options)
2064
+ end
2065
+
1753
2066
  # Displays the tags associated with an Evidently resource.
1754
2067
  #
1755
2068
  # @option params [required, String] :resource_arn
@@ -1914,6 +2227,11 @@ module Aws::CloudWatchEvidently
1914
2227
  # resp.launch.scheduled_splits_definition.steps #=> Array
1915
2228
  # resp.launch.scheduled_splits_definition.steps[0].group_weights #=> Hash
1916
2229
  # resp.launch.scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
2230
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides #=> Array
2231
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
2232
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
2233
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
2234
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
1917
2235
  # resp.launch.scheduled_splits_definition.steps[0].start_time #=> Time
1918
2236
  # resp.launch.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1919
2237
  # resp.launch.status_reason #=> String
@@ -2071,6 +2389,53 @@ module Aws::CloudWatchEvidently
2071
2389
  req.send_request(options)
2072
2390
  end
2073
2391
 
2392
+ # Use this operation to test a rules pattern that you plan to use to
2393
+ # create an audience segment. For more information about segments, see
2394
+ # [CreateSegment][1].
2395
+ #
2396
+ #
2397
+ #
2398
+ # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_CreateSegment.html
2399
+ #
2400
+ # @option params [required, String] :pattern
2401
+ # The pattern to test.
2402
+ #
2403
+ # **SDK automatically handles json encoding and base64 encoding for you
2404
+ # when the required value (Hash, Array, etc.) is provided according to
2405
+ # the description.**
2406
+ #
2407
+ # @option params [required, String] :payload
2408
+ # A sample `evaluationContext` JSON block to test against the specified
2409
+ # pattern.
2410
+ #
2411
+ # **SDK automatically handles json encoding and base64 encoding for you
2412
+ # when the required value (Hash, Array, etc.) is provided according to
2413
+ # the description.**
2414
+ #
2415
+ # @return [Types::TestSegmentPatternResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2416
+ #
2417
+ # * {Types::TestSegmentPatternResponse#match #match} => Boolean
2418
+ #
2419
+ # @example Request syntax with placeholder values
2420
+ #
2421
+ # resp = client.test_segment_pattern({
2422
+ # pattern: "SegmentPattern", # required
2423
+ # payload: "JsonValue", # required
2424
+ # })
2425
+ #
2426
+ # @example Response structure
2427
+ #
2428
+ # resp.match #=> Boolean
2429
+ #
2430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TestSegmentPattern AWS API Documentation
2431
+ #
2432
+ # @overload test_segment_pattern(params = {})
2433
+ # @param [Hash] params ({})
2434
+ def test_segment_pattern(params = {}, options = {})
2435
+ req = build_request(:test_segment_pattern, params)
2436
+ req.send_request(options)
2437
+ end
2438
+
2074
2439
  # Removes one or more tags from the specified resource.
2075
2440
  #
2076
2441
  # @option params [required, String] :resource_arn
@@ -2135,6 +2500,10 @@ module Aws::CloudWatchEvidently
2135
2500
  # entity ID and `randomizationSalt`. If you omit `randomizationSalt`,
2136
2501
  # Evidently uses the experiment name as the `randomizationSalt`.
2137
2502
  #
2503
+ # @option params [Boolean] :remove_segment
2504
+ # Removes a segment from being used in an experiment. You can't use
2505
+ # this parameter if the experiment is currently running.
2506
+ #
2138
2507
  # @option params [Integer] :sampling_rate
2139
2508
  # The portion of the available audience that you want to allocate to
2140
2509
  # this experiment, in thousandths of a percent. The available audience
@@ -2144,6 +2513,12 @@ module Aws::CloudWatchEvidently
2144
2513
  # This is represented in thousandths of a percent. For example, specify
2145
2514
  # 20,000 to allocate 20% of the available audience.
2146
2515
  #
2516
+ # @option params [String] :segment
2517
+ # Adds an audience *segment* to an experiment. When a segment is used in
2518
+ # an experiment, only user sessions that match the segment pattern are
2519
+ # used in the experiment. You can't use this parameter if the
2520
+ # experiment is currently running.
2521
+ #
2147
2522
  # @option params [Array<Types::TreatmentConfig>] :treatments
2148
2523
  # An array of structures that define the variations being tested in the
2149
2524
  # experiment.
@@ -2177,7 +2552,9 @@ module Aws::CloudWatchEvidently
2177
2552
  # },
2178
2553
  # project: "ProjectRef", # required
2179
2554
  # randomization_salt: "RandomizationSalt",
2555
+ # remove_segment: false,
2180
2556
  # sampling_rate: 1,
2557
+ # segment: "SegmentRef",
2181
2558
  # treatments: [
2182
2559
  # {
2183
2560
  # description: "Description",
@@ -2211,6 +2588,7 @@ module Aws::CloudWatchEvidently
2211
2588
  # resp.experiment.randomization_salt #=> String
2212
2589
  # resp.experiment.sampling_rate #=> Integer
2213
2590
  # resp.experiment.schedule.analysis_complete_time #=> Time
2591
+ # resp.experiment.segment #=> String
2214
2592
  # resp.experiment.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
2215
2593
  # resp.experiment.status_reason #=> String
2216
2594
  # resp.experiment.tags #=> Hash
@@ -2420,6 +2798,15 @@ module Aws::CloudWatchEvidently
2420
2798
  # group_weights: { # required
2421
2799
  # "GroupName" => 1,
2422
2800
  # },
2801
+ # segment_overrides: [
2802
+ # {
2803
+ # evaluation_order: 1, # required
2804
+ # segment: "SegmentRef", # required
2805
+ # weights: { # required
2806
+ # "GroupName" => 1,
2807
+ # },
2808
+ # },
2809
+ # ],
2423
2810
  # start_time: Time.now, # required
2424
2811
  # },
2425
2812
  # ],
@@ -2451,6 +2838,11 @@ module Aws::CloudWatchEvidently
2451
2838
  # resp.launch.scheduled_splits_definition.steps #=> Array
2452
2839
  # resp.launch.scheduled_splits_definition.steps[0].group_weights #=> Hash
2453
2840
  # resp.launch.scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
2841
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides #=> Array
2842
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
2843
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
2844
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
2845
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
2454
2846
  # resp.launch.scheduled_splits_definition.steps[0].start_time #=> Time
2455
2847
  # resp.launch.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
2456
2848
  # resp.launch.status_reason #=> String
@@ -2483,6 +2875,20 @@ module Aws::CloudWatchEvidently
2483
2875
  # [2]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_UpdateProjectDataDelivery.html
2484
2876
  # [3]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_TagResource.html
2485
2877
  #
2878
+ # @option params [Types::ProjectAppConfigResourceConfig] :app_config_resource
2879
+ # Use this parameter if the project will use client-side evaluation
2880
+ # powered by AppConfig. Client-side evaluation allows your application
2881
+ # to assign variations to user sessions locally instead of by calling
2882
+ # the [EvaluateFeature][1] operation. This mitigates the latency and
2883
+ # availability risks that come with an API call. allows you to
2884
+ #
2885
+ # This parameter is a structure that contains information about the
2886
+ # AppConfig application that will be used for client-side evaluation.
2887
+ #
2888
+ #
2889
+ #
2890
+ # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html
2891
+ #
2486
2892
  # @option params [String] :description
2487
2893
  # An optional description of the project.
2488
2894
  #
@@ -2496,6 +2902,10 @@ module Aws::CloudWatchEvidently
2496
2902
  # @example Request syntax with placeholder values
2497
2903
  #
2498
2904
  # resp = client.update_project({
2905
+ # app_config_resource: {
2906
+ # application_id: "AppConfigResourceId",
2907
+ # environment_id: "AppConfigResourceId",
2908
+ # },
2499
2909
  # description: "Description",
2500
2910
  # project: "ProjectRef", # required
2501
2911
  # })
@@ -2504,6 +2914,9 @@ module Aws::CloudWatchEvidently
2504
2914
  #
2505
2915
  # resp.project.active_experiment_count #=> Integer
2506
2916
  # resp.project.active_launch_count #=> Integer
2917
+ # resp.project.app_config_resource.application_id #=> String
2918
+ # resp.project.app_config_resource.configuration_profile_id #=> String
2919
+ # resp.project.app_config_resource.environment_id #=> String
2507
2920
  # resp.project.arn #=> String
2508
2921
  # resp.project.created_time #=> Time
2509
2922
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -2570,6 +2983,9 @@ module Aws::CloudWatchEvidently
2570
2983
  #
2571
2984
  # resp.project.active_experiment_count #=> Integer
2572
2985
  # resp.project.active_launch_count #=> Integer
2986
+ # resp.project.app_config_resource.application_id #=> String
2987
+ # resp.project.app_config_resource.configuration_profile_id #=> String
2988
+ # resp.project.app_config_resource.environment_id #=> String
2573
2989
  # resp.project.arn #=> String
2574
2990
  # resp.project.created_time #=> Time
2575
2991
  # resp.project.data_delivery.cloud_watch_logs.log_group #=> String
@@ -2607,7 +3023,7 @@ module Aws::CloudWatchEvidently
2607
3023
  params: params,
2608
3024
  config: config)
2609
3025
  context[:gem_name] = 'aws-sdk-cloudwatchevidently'
2610
- context[:gem_version] = '1.6.0'
3026
+ context[:gem_version] = '1.8.0'
2611
3027
  Seahorse::Client::Request.new(handlers, context)
2612
3028
  end
2613
3029