aws-sdk-cloudwatchevidently 1.6.0 → 1.7.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: 6f3f58c6a280d62dbd2882697ce813b620de949d15a155b590b342baade0cb7b
4
- data.tar.gz: 066babd43b4b8b6f7d8fe99117d3844a8c6a53766873f36425a1f3907c4425e9
3
+ metadata.gz: 4352786a1a2bcffc214628561d2977a5bcd7d338a2ca25953d82e5afc1db05d8
4
+ data.tar.gz: 74d74255ee28ebb23b0bc9412bb0cd03c3095c2cdaee0c4f24bd6a04e701f641
5
5
  SHA512:
6
- metadata.gz: 1971f9f8bcb807c344947a3f772dea1596736763a59dfe6b4e6b6dfbdf3c4fa59076d029110f0fd4e91541d8774fce5185e55992880e9b6f785d9f9f5b61a616
7
- data.tar.gz: 3e4872f524c53b4af5866be95324240d37d2c38628612d0999a610beb1c2c9e35d197ffd3c20f4c23d0b498871a3c655d13b88ab7c5c924a630024569dcd09f3
6
+ metadata.gz: 16db33c1eb62957bd975a1ac65c716e7ef06873479dc2e16362cb3342a8cf634f7bad7eb57df2ef037e7eca9ee1962e2eba8c4be94f79972cd8418d9c00f51a1
7
+ data.tar.gz: c3468817b724c738170b7e81a530e0d649af4047d9c5a76ad5c1e836ea5e43df7a3bc592337bf875f086305a83e0181af2addffed5ba5308d1ac933745fa8204
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.7.0 (2022-07-15)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for the new segmentation feature.
8
+
4
9
  1.6.0 (2022-05-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.6.0
1
+ 1.7.0
@@ -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
@@ -934,6 +960,86 @@ module Aws::CloudWatchEvidently
934
960
  req.send_request(options)
935
961
  end
936
962
 
963
+ # Use this operation to define a *segment* of your audience. A segment
964
+ # is a portion of your audience that share one or more characteristics.
965
+ # Examples could be Chrome browser users, users in Europe, or Firefox
966
+ # browser users in Europe who also fit other criteria that your
967
+ # application collects, such as age.
968
+ #
969
+ # Using a segment in an experiment limits that experiment to evaluate
970
+ # 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
972
+ # the different audience segments.
973
+ #
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>
975
+ #
976
+ # @option params [String] :description
977
+ # An optional description for this segment.
978
+ #
979
+ # @option params [required, String] :name
980
+ # A name for the segment.
981
+ #
982
+ # @option params [required, String] :pattern
983
+ # The pattern to use for the segment. For more information about pattern
984
+ # syntax, see [ Segment rule pattern syntax][1].
985
+ #
986
+ # **SDK automatically handles json encoding and base64 encoding for you
987
+ # when the required value (Hash, Array, etc.) is provided according to
988
+ # the description.**
989
+ #
990
+ #
991
+ #
992
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments-syntax.html
993
+ #
994
+ # @option params [Hash<String,String>] :tags
995
+ # Assigns one or more tags (key-value pairs) to the segment.
996
+ #
997
+ # Tags can help you organize and categorize your resources. You can also
998
+ # use them to scope user permissions by granting a user permission to
999
+ # access or change only resources with certain tag values.
1000
+ #
1001
+ # Tags don't have any semantic meaning to Amazon Web Services and are
1002
+ # interpreted strictly as strings of characters.
1003
+ #
1004
+ # <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>
1005
+ #
1006
+ # @return [Types::CreateSegmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1007
+ #
1008
+ # * {Types::CreateSegmentResponse#segment #segment} => Types::Segment
1009
+ #
1010
+ # @example Request syntax with placeholder values
1011
+ #
1012
+ # resp = client.create_segment({
1013
+ # description: "Description",
1014
+ # name: "SegmentName", # required
1015
+ # pattern: "SegmentPattern", # required
1016
+ # tags: {
1017
+ # "TagKey" => "TagValue",
1018
+ # },
1019
+ # })
1020
+ #
1021
+ # @example Response structure
1022
+ #
1023
+ # resp.segment.arn #=> String
1024
+ # resp.segment.created_time #=> Time
1025
+ # resp.segment.description #=> String
1026
+ # resp.segment.experiment_count #=> Integer
1027
+ # resp.segment.last_updated_time #=> Time
1028
+ # resp.segment.launch_count #=> Integer
1029
+ # resp.segment.name #=> String
1030
+ # resp.segment.pattern #=> String
1031
+ # resp.segment.tags #=> Hash
1032
+ # resp.segment.tags["TagKey"] #=> String
1033
+ #
1034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateSegment AWS API Documentation
1035
+ #
1036
+ # @overload create_segment(params = {})
1037
+ # @param [Hash] params ({})
1038
+ def create_segment(params = {}, options = {})
1039
+ req = build_request(:create_segment, params)
1040
+ req.send_request(options)
1041
+ end
1042
+
937
1043
  # Deletes an Evidently experiment. The feature used for the experiment
938
1044
  # is not deleted.
939
1045
  #
@@ -1054,6 +1160,30 @@ module Aws::CloudWatchEvidently
1054
1160
  req.send_request(options)
1055
1161
  end
1056
1162
 
1163
+ # Deletes a segment. You can't delete a segment that is being used in a
1164
+ # launch or experiment, even if that launch or experiment is not
1165
+ # currently running.
1166
+ #
1167
+ # @option params [required, String] :segment
1168
+ # Specifies the segment to delete.
1169
+ #
1170
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1171
+ #
1172
+ # @example Request syntax with placeholder values
1173
+ #
1174
+ # resp = client.delete_segment({
1175
+ # segment: "SegmentRef", # required
1176
+ # })
1177
+ #
1178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteSegment AWS API Documentation
1179
+ #
1180
+ # @overload delete_segment(params = {})
1181
+ # @param [Hash] params ({})
1182
+ def delete_segment(params = {}, options = {})
1183
+ req = build_request(:delete_segment, params)
1184
+ req.send_request(options)
1185
+ end
1186
+
1057
1187
  # This operation assigns a feature variation to one given user session.
1058
1188
  # You pass in an `entityID` that represents the user. Evidently then
1059
1189
  # checks the evaluation rules and assigns the variation.
@@ -1062,21 +1192,7 @@ module Aws::CloudWatchEvidently
1062
1192
  # user's `entityID` matches an override rule, the user is served the
1063
1193
  # variation specified by that rule.
1064
1194
  #
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.
1195
+ # <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
1196
  #
1081
1197
  # @option params [required, String] :entity_id
1082
1198
  # An internal ID that represents a unique user of the application. This
@@ -1084,14 +1200,22 @@ module Aws::CloudWatchEvidently
1084
1200
  # feature.
1085
1201
  #
1086
1202
  # @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.
1203
+ # A JSON object of attributes that you can optionally pass in as part of
1204
+ # the evaluation event sent to Evidently from the user session.
1205
+ # Evidently can use this value to match user sessions with defined
1206
+ # audience segments. For more information, see [Use segments to focus
1207
+ # your audience][1].
1208
+ #
1209
+ # <p>If you include this parameter, the value must be a JSON object. A JSON array is not supported.</p>
1090
1210
  #
1091
1211
  # **SDK automatically handles json encoding and base64 encoding for you
1092
1212
  # when the required value (Hash, Array, etc.) is provided according to
1093
1213
  # the description.**
1094
1214
  #
1215
+ #
1216
+ #
1217
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html
1218
+ #
1095
1219
  # @option params [required, String] :feature
1096
1220
  # The name of the feature being evaluated.
1097
1221
  #
@@ -1181,6 +1305,7 @@ module Aws::CloudWatchEvidently
1181
1305
  # resp.experiment.randomization_salt #=> String
1182
1306
  # resp.experiment.sampling_rate #=> Integer
1183
1307
  # resp.experiment.schedule.analysis_complete_time #=> Time
1308
+ # resp.experiment.segment #=> String
1184
1309
  # resp.experiment.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1185
1310
  # resp.experiment.status_reason #=> String
1186
1311
  # resp.experiment.tags #=> Hash
@@ -1425,6 +1550,11 @@ module Aws::CloudWatchEvidently
1425
1550
  # resp.launch.scheduled_splits_definition.steps #=> Array
1426
1551
  # resp.launch.scheduled_splits_definition.steps[0].group_weights #=> Hash
1427
1552
  # resp.launch.scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
1553
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides #=> Array
1554
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
1555
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
1556
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
1557
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
1428
1558
  # resp.launch.scheduled_splits_definition.steps[0].start_time #=> Time
1429
1559
  # resp.launch.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1430
1560
  # resp.launch.status_reason #=> String
@@ -1490,6 +1620,44 @@ module Aws::CloudWatchEvidently
1490
1620
  req.send_request(options)
1491
1621
  end
1492
1622
 
1623
+ # Returns information about the specified segment. Specify the segment
1624
+ # you want to view by specifying its ARN.
1625
+ #
1626
+ # @option params [required, String] :segment
1627
+ # The ARN of the segment to return information for.
1628
+ #
1629
+ # @return [Types::GetSegmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1630
+ #
1631
+ # * {Types::GetSegmentResponse#segment #segment} => Types::Segment
1632
+ #
1633
+ # @example Request syntax with placeholder values
1634
+ #
1635
+ # resp = client.get_segment({
1636
+ # segment: "SegmentRef", # required
1637
+ # })
1638
+ #
1639
+ # @example Response structure
1640
+ #
1641
+ # resp.segment.arn #=> String
1642
+ # resp.segment.created_time #=> Time
1643
+ # resp.segment.description #=> String
1644
+ # resp.segment.experiment_count #=> Integer
1645
+ # resp.segment.last_updated_time #=> Time
1646
+ # resp.segment.launch_count #=> Integer
1647
+ # resp.segment.name #=> String
1648
+ # resp.segment.pattern #=> String
1649
+ # resp.segment.tags #=> Hash
1650
+ # resp.segment.tags["TagKey"] #=> String
1651
+ #
1652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetSegment AWS API Documentation
1653
+ #
1654
+ # @overload get_segment(params = {})
1655
+ # @param [Hash] params ({})
1656
+ def get_segment(params = {}, options = {})
1657
+ req = build_request(:get_segment, params)
1658
+ req.send_request(options)
1659
+ end
1660
+
1493
1661
  # Returns configuration details about all the experiments in the
1494
1662
  # specified project.
1495
1663
  #
@@ -1547,6 +1715,7 @@ module Aws::CloudWatchEvidently
1547
1715
  # resp.experiments[0].randomization_salt #=> String
1548
1716
  # resp.experiments[0].sampling_rate #=> Integer
1549
1717
  # resp.experiments[0].schedule.analysis_complete_time #=> Time
1718
+ # resp.experiments[0].segment #=> String
1550
1719
  # resp.experiments[0].status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1551
1720
  # resp.experiments[0].status_reason #=> String
1552
1721
  # resp.experiments[0].tags #=> Hash
@@ -1682,6 +1851,11 @@ module Aws::CloudWatchEvidently
1682
1851
  # resp.launches[0].scheduled_splits_definition.steps #=> Array
1683
1852
  # resp.launches[0].scheduled_splits_definition.steps[0].group_weights #=> Hash
1684
1853
  # resp.launches[0].scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
1854
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides #=> Array
1855
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
1856
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
1857
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
1858
+ # resp.launches[0].scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
1685
1859
  # resp.launches[0].scheduled_splits_definition.steps[0].start_time #=> Time
1686
1860
  # resp.launches[0].status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1687
1861
  # resp.launches[0].status_reason #=> String
@@ -1750,6 +1924,110 @@ module Aws::CloudWatchEvidently
1750
1924
  req.send_request(options)
1751
1925
  end
1752
1926
 
1927
+ # Use this operation to find which experiments or launches are using a
1928
+ # specified segment.
1929
+ #
1930
+ # @option params [Integer] :max_results
1931
+ # The maximum number of results to include in the response. If you omit
1932
+ # this, the default of 50 is used.
1933
+ #
1934
+ # @option params [String] :next_token
1935
+ # The token to use when requesting the next set of results. You received
1936
+ # this token from a previous `ListSegmentReferences` operation.
1937
+ #
1938
+ # @option params [required, String] :segment
1939
+ # The ARN of the segment that you want to view information for.
1940
+ #
1941
+ # @option params [required, String] :type
1942
+ # Specifies whether to return information about launches or experiments
1943
+ # that use this segment.
1944
+ #
1945
+ # @return [Types::ListSegmentReferencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1946
+ #
1947
+ # * {Types::ListSegmentReferencesResponse#next_token #next_token} => String
1948
+ # * {Types::ListSegmentReferencesResponse#referenced_by #referenced_by} => Array&lt;Types::RefResource&gt;
1949
+ #
1950
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1951
+ #
1952
+ # @example Request syntax with placeholder values
1953
+ #
1954
+ # resp = client.list_segment_references({
1955
+ # max_results: 1,
1956
+ # next_token: "NextToken",
1957
+ # segment: "SegmentRef", # required
1958
+ # type: "EXPERIMENT", # required, accepts EXPERIMENT, LAUNCH
1959
+ # })
1960
+ #
1961
+ # @example Response structure
1962
+ #
1963
+ # resp.next_token #=> String
1964
+ # resp.referenced_by #=> Array
1965
+ # resp.referenced_by[0].arn #=> String
1966
+ # resp.referenced_by[0].end_time #=> String
1967
+ # resp.referenced_by[0].last_updated_on #=> String
1968
+ # resp.referenced_by[0].name #=> String
1969
+ # resp.referenced_by[0].start_time #=> String
1970
+ # resp.referenced_by[0].status #=> String
1971
+ # resp.referenced_by[0].type #=> String
1972
+ #
1973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentReferences AWS API Documentation
1974
+ #
1975
+ # @overload list_segment_references(params = {})
1976
+ # @param [Hash] params ({})
1977
+ def list_segment_references(params = {}, options = {})
1978
+ req = build_request(:list_segment_references, params)
1979
+ req.send_request(options)
1980
+ end
1981
+
1982
+ # Returns a list of audience segments that you have created in your
1983
+ # account in this Region.
1984
+ #
1985
+ # @option params [Integer] :max_results
1986
+ # The maximum number of results to include in the response. If you omit
1987
+ # this, the default of 50 is used.
1988
+ #
1989
+ # @option params [String] :next_token
1990
+ # The token to use when requesting the next set of results. You received
1991
+ # this token from a previous `ListSegments` operation.
1992
+ #
1993
+ # @return [Types::ListSegmentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1994
+ #
1995
+ # * {Types::ListSegmentsResponse#next_token #next_token} => String
1996
+ # * {Types::ListSegmentsResponse#segments #segments} => Array&lt;Types::Segment&gt;
1997
+ #
1998
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1999
+ #
2000
+ # @example Request syntax with placeholder values
2001
+ #
2002
+ # resp = client.list_segments({
2003
+ # max_results: 1,
2004
+ # next_token: "NextToken",
2005
+ # })
2006
+ #
2007
+ # @example Response structure
2008
+ #
2009
+ # resp.next_token #=> String
2010
+ # resp.segments #=> Array
2011
+ # resp.segments[0].arn #=> String
2012
+ # resp.segments[0].created_time #=> Time
2013
+ # resp.segments[0].description #=> String
2014
+ # resp.segments[0].experiment_count #=> Integer
2015
+ # resp.segments[0].last_updated_time #=> Time
2016
+ # resp.segments[0].launch_count #=> Integer
2017
+ # resp.segments[0].name #=> String
2018
+ # resp.segments[0].pattern #=> String
2019
+ # resp.segments[0].tags #=> Hash
2020
+ # resp.segments[0].tags["TagKey"] #=> String
2021
+ #
2022
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegments AWS API Documentation
2023
+ #
2024
+ # @overload list_segments(params = {})
2025
+ # @param [Hash] params ({})
2026
+ def list_segments(params = {}, options = {})
2027
+ req = build_request(:list_segments, params)
2028
+ req.send_request(options)
2029
+ end
2030
+
1753
2031
  # Displays the tags associated with an Evidently resource.
1754
2032
  #
1755
2033
  # @option params [required, String] :resource_arn
@@ -1914,6 +2192,11 @@ module Aws::CloudWatchEvidently
1914
2192
  # resp.launch.scheduled_splits_definition.steps #=> Array
1915
2193
  # resp.launch.scheduled_splits_definition.steps[0].group_weights #=> Hash
1916
2194
  # resp.launch.scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
2195
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides #=> Array
2196
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
2197
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
2198
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
2199
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
1917
2200
  # resp.launch.scheduled_splits_definition.steps[0].start_time #=> Time
1918
2201
  # resp.launch.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
1919
2202
  # resp.launch.status_reason #=> String
@@ -2071,6 +2354,53 @@ module Aws::CloudWatchEvidently
2071
2354
  req.send_request(options)
2072
2355
  end
2073
2356
 
2357
+ # Use this operation to test a rules pattern that you plan to use to
2358
+ # create an audience segment. For more information about segments, see
2359
+ # [CreateSegment][1].
2360
+ #
2361
+ #
2362
+ #
2363
+ # [1]: https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_CreateSegment.html
2364
+ #
2365
+ # @option params [required, String] :pattern
2366
+ # The pattern to test.
2367
+ #
2368
+ # **SDK automatically handles json encoding and base64 encoding for you
2369
+ # when the required value (Hash, Array, etc.) is provided according to
2370
+ # the description.**
2371
+ #
2372
+ # @option params [required, String] :payload
2373
+ # A sample `evaluationContext` JSON block to test against the specified
2374
+ # pattern.
2375
+ #
2376
+ # **SDK automatically handles json encoding and base64 encoding for you
2377
+ # when the required value (Hash, Array, etc.) is provided according to
2378
+ # the description.**
2379
+ #
2380
+ # @return [Types::TestSegmentPatternResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2381
+ #
2382
+ # * {Types::TestSegmentPatternResponse#match #match} => Boolean
2383
+ #
2384
+ # @example Request syntax with placeholder values
2385
+ #
2386
+ # resp = client.test_segment_pattern({
2387
+ # pattern: "SegmentPattern", # required
2388
+ # payload: "JsonValue", # required
2389
+ # })
2390
+ #
2391
+ # @example Response structure
2392
+ #
2393
+ # resp.match #=> Boolean
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TestSegmentPattern AWS API Documentation
2396
+ #
2397
+ # @overload test_segment_pattern(params = {})
2398
+ # @param [Hash] params ({})
2399
+ def test_segment_pattern(params = {}, options = {})
2400
+ req = build_request(:test_segment_pattern, params)
2401
+ req.send_request(options)
2402
+ end
2403
+
2074
2404
  # Removes one or more tags from the specified resource.
2075
2405
  #
2076
2406
  # @option params [required, String] :resource_arn
@@ -2135,6 +2465,10 @@ module Aws::CloudWatchEvidently
2135
2465
  # entity ID and `randomizationSalt`. If you omit `randomizationSalt`,
2136
2466
  # Evidently uses the experiment name as the `randomizationSalt`.
2137
2467
  #
2468
+ # @option params [Boolean] :remove_segment
2469
+ # Removes a segment from being used in an experiment. You can't use
2470
+ # this parameter if the experiment is currently running.
2471
+ #
2138
2472
  # @option params [Integer] :sampling_rate
2139
2473
  # The portion of the available audience that you want to allocate to
2140
2474
  # this experiment, in thousandths of a percent. The available audience
@@ -2144,6 +2478,12 @@ module Aws::CloudWatchEvidently
2144
2478
  # This is represented in thousandths of a percent. For example, specify
2145
2479
  # 20,000 to allocate 20% of the available audience.
2146
2480
  #
2481
+ # @option params [String] :segment
2482
+ # Adds an audience *segment* to an experiment. When a segment is used in
2483
+ # an experiment, only user sessions that match the segment pattern are
2484
+ # used in the experiment. You can't use this parameter if the
2485
+ # experiment is currently running.
2486
+ #
2147
2487
  # @option params [Array<Types::TreatmentConfig>] :treatments
2148
2488
  # An array of structures that define the variations being tested in the
2149
2489
  # experiment.
@@ -2177,7 +2517,9 @@ module Aws::CloudWatchEvidently
2177
2517
  # },
2178
2518
  # project: "ProjectRef", # required
2179
2519
  # randomization_salt: "RandomizationSalt",
2520
+ # remove_segment: false,
2180
2521
  # sampling_rate: 1,
2522
+ # segment: "SegmentRef",
2181
2523
  # treatments: [
2182
2524
  # {
2183
2525
  # description: "Description",
@@ -2211,6 +2553,7 @@ module Aws::CloudWatchEvidently
2211
2553
  # resp.experiment.randomization_salt #=> String
2212
2554
  # resp.experiment.sampling_rate #=> Integer
2213
2555
  # resp.experiment.schedule.analysis_complete_time #=> Time
2556
+ # resp.experiment.segment #=> String
2214
2557
  # resp.experiment.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
2215
2558
  # resp.experiment.status_reason #=> String
2216
2559
  # resp.experiment.tags #=> Hash
@@ -2420,6 +2763,15 @@ module Aws::CloudWatchEvidently
2420
2763
  # group_weights: { # required
2421
2764
  # "GroupName" => 1,
2422
2765
  # },
2766
+ # segment_overrides: [
2767
+ # {
2768
+ # evaluation_order: 1, # required
2769
+ # segment: "SegmentRef", # required
2770
+ # weights: { # required
2771
+ # "GroupName" => 1,
2772
+ # },
2773
+ # },
2774
+ # ],
2423
2775
  # start_time: Time.now, # required
2424
2776
  # },
2425
2777
  # ],
@@ -2451,6 +2803,11 @@ module Aws::CloudWatchEvidently
2451
2803
  # resp.launch.scheduled_splits_definition.steps #=> Array
2452
2804
  # resp.launch.scheduled_splits_definition.steps[0].group_weights #=> Hash
2453
2805
  # resp.launch.scheduled_splits_definition.steps[0].group_weights["GroupName"] #=> Integer
2806
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides #=> Array
2807
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].evaluation_order #=> Integer
2808
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].segment #=> String
2809
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights #=> Hash
2810
+ # resp.launch.scheduled_splits_definition.steps[0].segment_overrides[0].weights["GroupName"] #=> Integer
2454
2811
  # resp.launch.scheduled_splits_definition.steps[0].start_time #=> Time
2455
2812
  # resp.launch.status #=> String, one of "CREATED", "UPDATING", "RUNNING", "COMPLETED", "CANCELLED"
2456
2813
  # resp.launch.status_reason #=> String
@@ -2607,7 +2964,7 @@ module Aws::CloudWatchEvidently
2607
2964
  params: params,
2608
2965
  config: config)
2609
2966
  context[:gem_name] = 'aws-sdk-cloudwatchevidently'
2610
- context[:gem_version] = '1.6.0'
2967
+ context[:gem_version] = '1.7.0'
2611
2968
  Seahorse::Client::Request.new(handlers, context)
2612
2969
  end
2613
2970