aws-sdk-cloudwatchevidently 1.4.0 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -159,6 +159,7 @@ module Aws::CloudWatchEvidently
159
159
  # project: "ProjectRef", # required
160
160
  # randomization_salt: "RandomizationSalt",
161
161
  # sampling_rate: 1,
162
+ # segment: "SegmentRef",
162
163
  # tags: {
163
164
  # "TagKey" => "TagValue",
164
165
  # },
@@ -216,6 +217,12 @@ module Aws::CloudWatchEvidently
216
217
  # specify 10,000 to allocate 10% of the available audience.
217
218
  # @return [Integer]
218
219
  #
220
+ # @!attribute [rw] segment
221
+ # Specifies an audience *segment* to use in the experiment. When a
222
+ # segment is used in an experiment, only user sessions that match the
223
+ # segment pattern are used in the experiment.
224
+ # @return [String]
225
+ #
219
226
  # @!attribute [rw] tags
220
227
  # Assigns one or more tags (key-value pairs) to the experiment.
221
228
  #
@@ -245,6 +252,7 @@ module Aws::CloudWatchEvidently
245
252
  :project,
246
253
  :randomization_salt,
247
254
  :sampling_rate,
255
+ :segment,
248
256
  :tags,
249
257
  :treatments)
250
258
  SENSITIVE = []
@@ -408,6 +416,15 @@ module Aws::CloudWatchEvidently
408
416
  # group_weights: { # required
409
417
  # "GroupName" => 1,
410
418
  # },
419
+ # segment_overrides: [
420
+ # {
421
+ # evaluation_order: 1, # required
422
+ # segment: "SegmentRef", # required
423
+ # weights: { # required
424
+ # "GroupName" => 1,
425
+ # },
426
+ # },
427
+ # ],
411
428
  # start_time: Time.now, # required
412
429
  # },
413
430
  # ],
@@ -445,7 +462,7 @@ module Aws::CloudWatchEvidently
445
462
  # must use a randomization ID to determine which variation the user
446
463
  # session is served. This randomization ID is a combination of the
447
464
  # entity ID and `randomizationSalt`. If you omit `randomizationSalt`,
448
- # Evidently uses the launch name as the `randomizationsSalt`.
465
+ # Evidently uses the launch name as the `randomizationSalt`.
449
466
  # @return [String]
450
467
  #
451
468
  # @!attribute [rw] scheduled_splits_config
@@ -569,6 +586,73 @@ module Aws::CloudWatchEvidently
569
586
  include Aws::Structure
570
587
  end
571
588
 
589
+ # @note When making an API call, you may pass CreateSegmentRequest
590
+ # data as a hash:
591
+ #
592
+ # {
593
+ # description: "Description",
594
+ # name: "SegmentName", # required
595
+ # pattern: "SegmentPattern", # required
596
+ # tags: {
597
+ # "TagKey" => "TagValue",
598
+ # },
599
+ # }
600
+ #
601
+ # @!attribute [rw] description
602
+ # An optional description for this segment.
603
+ # @return [String]
604
+ #
605
+ # @!attribute [rw] name
606
+ # A name for the segment.
607
+ # @return [String]
608
+ #
609
+ # @!attribute [rw] pattern
610
+ # The pattern to use for the segment. For more information about
611
+ # pattern syntax, see [ Segment rule pattern syntax][1].
612
+ #
613
+ #
614
+ #
615
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments-syntax.html
616
+ # @return [String]
617
+ #
618
+ # @!attribute [rw] tags
619
+ # Assigns one or more tags (key-value pairs) to the segment.
620
+ #
621
+ # Tags can help you organize and categorize your resources. You can
622
+ # also use them to scope user permissions by granting a user
623
+ # permission to access or change only resources with certain tag
624
+ # values.
625
+ #
626
+ # Tags don't have any semantic meaning to Amazon Web Services and are
627
+ # interpreted strictly as strings of characters.
628
+ #
629
+ # <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>
630
+ # @return [Hash<String,String>]
631
+ #
632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateSegmentRequest AWS API Documentation
633
+ #
634
+ class CreateSegmentRequest < Struct.new(
635
+ :description,
636
+ :name,
637
+ :pattern,
638
+ :tags)
639
+ SENSITIVE = []
640
+ include Aws::Structure
641
+ end
642
+
643
+ # @!attribute [rw] segment
644
+ # A structure that contains the complete information about the segment
645
+ # that was just created.
646
+ # @return [Types::Segment]
647
+ #
648
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/CreateSegmentResponse AWS API Documentation
649
+ #
650
+ class CreateSegmentResponse < Struct.new(
651
+ :segment)
652
+ SENSITIVE = []
653
+ include Aws::Structure
654
+ end
655
+
572
656
  # @note When making an API call, you may pass DeleteExperimentRequest
573
657
  # data as a hash:
574
658
  #
@@ -680,6 +764,29 @@ module Aws::CloudWatchEvidently
680
764
  #
681
765
  class DeleteProjectResponse < Aws::EmptyStructure; end
682
766
 
767
+ # @note When making an API call, you may pass DeleteSegmentRequest
768
+ # data as a hash:
769
+ #
770
+ # {
771
+ # segment: "SegmentRef", # required
772
+ # }
773
+ #
774
+ # @!attribute [rw] segment
775
+ # Specifies the segment to delete.
776
+ # @return [String]
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteSegmentRequest AWS API Documentation
779
+ #
780
+ class DeleteSegmentRequest < Struct.new(
781
+ :segment)
782
+ SENSITIVE = []
783
+ include Aws::Structure
784
+ end
785
+
786
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/DeleteSegmentResponse AWS API Documentation
787
+ #
788
+ class DeleteSegmentResponse < Aws::EmptyStructure; end
789
+
683
790
  # @note When making an API call, you may pass EvaluateFeatureRequest
684
791
  # data as a hash:
685
792
  #
@@ -697,9 +804,17 @@ module Aws::CloudWatchEvidently
697
804
  # @return [String]
698
805
  #
699
806
  # @!attribute [rw] evaluation_context
700
- # A JSON block of attributes that you can optionally pass in. This
701
- # JSON block is included in the evaluation events sent to Evidently
702
- # from the user session.
807
+ # A JSON object of attributes that you can optionally pass in as part
808
+ # of the evaluation event sent to Evidently from the user session.
809
+ # Evidently can use this value to match user sessions with defined
810
+ # audience segments. For more information, see [Use segments to focus
811
+ # your audience][1].
812
+ #
813
+ # <p>If you include this parameter, the value must be a JSON object. A JSON array is not supported.</p>
814
+ #
815
+ #
816
+ #
817
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently-segments.html
703
818
  # @return [String]
704
819
  #
705
820
  # @!attribute [rw] feature
@@ -973,6 +1088,11 @@ module Aws::CloudWatchEvidently
973
1088
  # the analysis of the experiment.
974
1089
  # @return [Types::ExperimentSchedule]
975
1090
  #
1091
+ # @!attribute [rw] segment
1092
+ # The audience segment being used for the experiment, if a segment is
1093
+ # being used.
1094
+ # @return [String]
1095
+ #
976
1096
  # @!attribute [rw] status
977
1097
  # The current state of the experiment.
978
1098
  # @return [String]
@@ -1012,6 +1132,7 @@ module Aws::CloudWatchEvidently
1012
1132
  :randomization_salt,
1013
1133
  :sampling_rate,
1014
1134
  :schedule,
1135
+ :segment,
1015
1136
  :status,
1016
1137
  :status_reason,
1017
1138
  :tags,
@@ -1351,6 +1472,7 @@ module Aws::CloudWatchEvidently
1351
1472
  #
1352
1473
  # @!attribute [rw] end_time
1353
1474
  # The date and time that the experiment ended, if it is completed.
1475
+ # This must be no longer than 30 days after the experiment start time.
1354
1476
  # @return [Time]
1355
1477
  #
1356
1478
  # @!attribute [rw] experiment
@@ -1429,6 +1551,13 @@ module Aws::CloudWatchEvidently
1429
1551
  include Aws::Structure
1430
1552
  end
1431
1553
 
1554
+ # @!attribute [rw] details
1555
+ # If the experiment doesn't yet have enough events to provide valid
1556
+ # results, this field is returned with the message `Not enough events
1557
+ # to generate results`. If there are enough events to provide valid
1558
+ # results, this field is not returned.
1559
+ # @return [String]
1560
+ #
1432
1561
  # @!attribute [rw] reports
1433
1562
  # An array of structures that include the reports that you requested.
1434
1563
  # @return [Array<Types::ExperimentReport>]
@@ -1445,6 +1574,7 @@ module Aws::CloudWatchEvidently
1445
1574
  # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetExperimentResultsResponse AWS API Documentation
1446
1575
  #
1447
1576
  class GetExperimentResultsResponse < Struct.new(
1577
+ :details,
1448
1578
  :reports,
1449
1579
  :results_data,
1450
1580
  :timestamps)
@@ -1557,6 +1687,38 @@ module Aws::CloudWatchEvidently
1557
1687
  include Aws::Structure
1558
1688
  end
1559
1689
 
1690
+ # @note When making an API call, you may pass GetSegmentRequest
1691
+ # data as a hash:
1692
+ #
1693
+ # {
1694
+ # segment: "SegmentRef", # required
1695
+ # }
1696
+ #
1697
+ # @!attribute [rw] segment
1698
+ # The ARN of the segment to return information for.
1699
+ # @return [String]
1700
+ #
1701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetSegmentRequest AWS API Documentation
1702
+ #
1703
+ class GetSegmentRequest < Struct.new(
1704
+ :segment)
1705
+ SENSITIVE = []
1706
+ include Aws::Structure
1707
+ end
1708
+
1709
+ # @!attribute [rw] segment
1710
+ # A structure that contains the complete information about the
1711
+ # segment.
1712
+ # @return [Types::Segment]
1713
+ #
1714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/GetSegmentResponse AWS API Documentation
1715
+ #
1716
+ class GetSegmentResponse < Struct.new(
1717
+ :segment)
1718
+ SENSITIVE = []
1719
+ include Aws::Structure
1720
+ end
1721
+
1560
1722
  # Unexpected error while processing the request. Retry the request.
1561
1723
  #
1562
1724
  # @!attribute [rw] message
@@ -1962,6 +2124,112 @@ module Aws::CloudWatchEvidently
1962
2124
  include Aws::Structure
1963
2125
  end
1964
2126
 
2127
+ # @note When making an API call, you may pass ListSegmentReferencesRequest
2128
+ # data as a hash:
2129
+ #
2130
+ # {
2131
+ # max_results: 1,
2132
+ # next_token: "NextToken",
2133
+ # segment: "SegmentRef", # required
2134
+ # type: "EXPERIMENT", # required, accepts EXPERIMENT, LAUNCH
2135
+ # }
2136
+ #
2137
+ # @!attribute [rw] max_results
2138
+ # The maximum number of results to include in the response. If you
2139
+ # omit this, the default of 50 is used.
2140
+ # @return [Integer]
2141
+ #
2142
+ # @!attribute [rw] next_token
2143
+ # The token to use when requesting the next set of results. You
2144
+ # received this token from a previous `ListSegmentReferences`
2145
+ # operation.
2146
+ # @return [String]
2147
+ #
2148
+ # @!attribute [rw] segment
2149
+ # The ARN of the segment that you want to view information for.
2150
+ # @return [String]
2151
+ #
2152
+ # @!attribute [rw] type
2153
+ # Specifies whether to return information about launches or
2154
+ # experiments that use this segment.
2155
+ # @return [String]
2156
+ #
2157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentReferencesRequest AWS API Documentation
2158
+ #
2159
+ class ListSegmentReferencesRequest < Struct.new(
2160
+ :max_results,
2161
+ :next_token,
2162
+ :segment,
2163
+ :type)
2164
+ SENSITIVE = []
2165
+ include Aws::Structure
2166
+ end
2167
+
2168
+ # @!attribute [rw] next_token
2169
+ # The token to use in a subsequent `ListSegmentReferences` operation
2170
+ # to return the next set of results.
2171
+ # @return [String]
2172
+ #
2173
+ # @!attribute [rw] referenced_by
2174
+ # An array of structures, where each structure contains information
2175
+ # about one experiment or launch that uses this segment.
2176
+ # @return [Array<Types::RefResource>]
2177
+ #
2178
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentReferencesResponse AWS API Documentation
2179
+ #
2180
+ class ListSegmentReferencesResponse < Struct.new(
2181
+ :next_token,
2182
+ :referenced_by)
2183
+ SENSITIVE = []
2184
+ include Aws::Structure
2185
+ end
2186
+
2187
+ # @note When making an API call, you may pass ListSegmentsRequest
2188
+ # data as a hash:
2189
+ #
2190
+ # {
2191
+ # max_results: 1,
2192
+ # next_token: "NextToken",
2193
+ # }
2194
+ #
2195
+ # @!attribute [rw] max_results
2196
+ # The maximum number of results to include in the response. If you
2197
+ # omit this, the default of 50 is used.
2198
+ # @return [Integer]
2199
+ #
2200
+ # @!attribute [rw] next_token
2201
+ # The token to use when requesting the next set of results. You
2202
+ # received this token from a previous `ListSegments` operation.
2203
+ # @return [String]
2204
+ #
2205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentsRequest AWS API Documentation
2206
+ #
2207
+ class ListSegmentsRequest < Struct.new(
2208
+ :max_results,
2209
+ :next_token)
2210
+ SENSITIVE = []
2211
+ include Aws::Structure
2212
+ end
2213
+
2214
+ # @!attribute [rw] next_token
2215
+ # The token to use in a subsequent `ListSegments` operation to return
2216
+ # the next set of results.
2217
+ # @return [String]
2218
+ #
2219
+ # @!attribute [rw] segments
2220
+ # An array of structures that contain information about the segments
2221
+ # in this Region.
2222
+ # @return [Array<Types::Segment>]
2223
+ #
2224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/ListSegmentsResponse AWS API Documentation
2225
+ #
2226
+ class ListSegmentsResponse < Struct.new(
2227
+ :next_token,
2228
+ :segments)
2229
+ SENSITIVE = []
2230
+ include Aws::Structure
2231
+ end
2232
+
1965
2233
  # @note When making an API call, you may pass ListTagsForResourceRequest
1966
2234
  # data as a hash:
1967
2235
  #
@@ -2550,6 +2818,53 @@ module Aws::CloudWatchEvidently
2550
2818
  include Aws::Structure
2551
2819
  end
2552
2820
 
2821
+ # A structure that contains information about one experiment or launch
2822
+ # that uses the specified segment.
2823
+ #
2824
+ # @!attribute [rw] arn
2825
+ # The ARN of the experiment or launch.
2826
+ # @return [String]
2827
+ #
2828
+ # @!attribute [rw] end_time
2829
+ # The day and time that this experiment or launch ended.
2830
+ # @return [String]
2831
+ #
2832
+ # @!attribute [rw] last_updated_on
2833
+ # The day and time that this experiment or launch was most recently
2834
+ # updated.
2835
+ # @return [String]
2836
+ #
2837
+ # @!attribute [rw] name
2838
+ # The name of the experiment or launch.
2839
+ # @return [String]
2840
+ #
2841
+ # @!attribute [rw] start_time
2842
+ # The day and time that this experiment or launch started.
2843
+ # @return [String]
2844
+ #
2845
+ # @!attribute [rw] status
2846
+ # The status of the experiment or launch.
2847
+ # @return [String]
2848
+ #
2849
+ # @!attribute [rw] type
2850
+ # Specifies whether the resource that this structure contains
2851
+ # information about is an experiment or a launch.
2852
+ # @return [String]
2853
+ #
2854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/RefResource AWS API Documentation
2855
+ #
2856
+ class RefResource < Struct.new(
2857
+ :arn,
2858
+ :end_time,
2859
+ :last_updated_on,
2860
+ :name,
2861
+ :start_time,
2862
+ :status,
2863
+ :type)
2864
+ SENSITIVE = []
2865
+ include Aws::Structure
2866
+ end
2867
+
2553
2868
  # The request references a resource that does not exist.
2554
2869
  #
2555
2870
  # @!attribute [rw] message
@@ -2630,8 +2945,30 @@ module Aws::CloudWatchEvidently
2630
2945
  # during one step of a launch. This is a set of key-value pairs. The
2631
2946
  # keys are variation names. The values represent the percentage of
2632
2947
  # traffic to allocate to that variation during this step.
2948
+ #
2949
+ # The values is expressed in thousandths of a percent, so assigning a
2950
+ # weight of 50000 assigns 50% of traffic to that variation.
2951
+ #
2952
+ # If the sum of the weights for all the variations in a segment
2953
+ # override does not add up to 100,000, then the remaining traffic that
2954
+ # matches this segment is not assigned by this segment override, and
2955
+ # instead moves on to the next segment override or the default traffic
2956
+ # split.
2633
2957
  # @return [Hash<String,Integer>]
2634
2958
  #
2959
+ # @!attribute [rw] segment_overrides
2960
+ # Use this parameter to specify different traffic splits for one or
2961
+ # more audience *segments*. A segment is a portion of your audience
2962
+ # that share one or more characteristics. Examples could be Chrome
2963
+ # browser users, users in Europe, or Firefox browser users in Europe
2964
+ # who also fit other criteria that your application collects, such as
2965
+ # age.
2966
+ #
2967
+ # This parameter is an array of up to six segment override objects.
2968
+ # Each of these objects specifies a segment that you have already
2969
+ # created, and defines the traffic split for that segment.
2970
+ # @return [Array<Types::SegmentOverride>]
2971
+ #
2635
2972
  # @!attribute [rw] start_time
2636
2973
  # The date and time that this step of the launch starts.
2637
2974
  # @return [Time]
@@ -2640,6 +2977,7 @@ module Aws::CloudWatchEvidently
2640
2977
  #
2641
2978
  class ScheduledSplit < Struct.new(
2642
2979
  :group_weights,
2980
+ :segment_overrides,
2643
2981
  :start_time)
2644
2982
  SENSITIVE = []
2645
2983
  include Aws::Structure
@@ -2656,6 +2994,15 @@ module Aws::CloudWatchEvidently
2656
2994
  # group_weights: { # required
2657
2995
  # "GroupName" => 1,
2658
2996
  # },
2997
+ # segment_overrides: [
2998
+ # {
2999
+ # evaluation_order: 1, # required
3000
+ # segment: "SegmentRef", # required
3001
+ # weights: { # required
3002
+ # "GroupName" => 1,
3003
+ # },
3004
+ # },
3005
+ # ],
2659
3006
  # start_time: Time.now, # required
2660
3007
  # }
2661
3008
  #
@@ -2664,8 +3011,23 @@ module Aws::CloudWatchEvidently
2664
3011
  # during one step of a launch. This is a set of key-value pairs. The
2665
3012
  # keys are variation names. The values represent the percentage of
2666
3013
  # traffic to allocate to that variation during this step.
3014
+ #
3015
+ # <p>The values is expressed in thousandths of a percent, so assigning a weight of 50000 assigns 50% of traffic to that variation.</p> <p>If the sum of the weights for all the variations in a segment override does not add up to 100,000, then the remaining traffic that matches this segment is not assigned by this segment override, and instead moves on to the next segment override or the default traffic split.</p>
2667
3016
  # @return [Hash<String,Integer>]
2668
3017
  #
3018
+ # @!attribute [rw] segment_overrides
3019
+ # Use this parameter to specify different traffic splits for one or
3020
+ # more audience *segments*. A segment is a portion of your audience
3021
+ # that share one or more characteristics. Examples could be Chrome
3022
+ # browser users, users in Europe, or Firefox browser users in Europe
3023
+ # who also fit other criteria that your application collects, such as
3024
+ # age.
3025
+ #
3026
+ # This parameter is an array of up to six segment override objects.
3027
+ # Each of these objects specifies a segment that you have already
3028
+ # created, and defines the traffic split for that segment.
3029
+ # @return [Array<Types::SegmentOverride>]
3030
+ #
2669
3031
  # @!attribute [rw] start_time
2670
3032
  # The date and time that this step of the launch starts.
2671
3033
  # @return [Time]
@@ -2674,6 +3036,7 @@ module Aws::CloudWatchEvidently
2674
3036
  #
2675
3037
  class ScheduledSplitConfig < Struct.new(
2676
3038
  :group_weights,
3039
+ :segment_overrides,
2677
3040
  :start_time)
2678
3041
  SENSITIVE = []
2679
3042
  include Aws::Structure
@@ -2692,6 +3055,15 @@ module Aws::CloudWatchEvidently
2692
3055
  # group_weights: { # required
2693
3056
  # "GroupName" => 1,
2694
3057
  # },
3058
+ # segment_overrides: [
3059
+ # {
3060
+ # evaluation_order: 1, # required
3061
+ # segment: "SegmentRef", # required
3062
+ # weights: { # required
3063
+ # "GroupName" => 1,
3064
+ # },
3065
+ # },
3066
+ # ],
2695
3067
  # start_time: Time.now, # required
2696
3068
  # },
2697
3069
  # ],
@@ -2729,6 +3101,109 @@ module Aws::CloudWatchEvidently
2729
3101
  include Aws::Structure
2730
3102
  end
2731
3103
 
3104
+ # This structure contains information about one audience *segment*. You
3105
+ # can use segments in your experiments and launches to narrow the user
3106
+ # sessions used for experiment or launch to only the user sessions that
3107
+ # match one or more criteria.
3108
+ #
3109
+ # @!attribute [rw] arn
3110
+ # The ARN of the segment.
3111
+ # @return [String]
3112
+ #
3113
+ # @!attribute [rw] created_time
3114
+ # The date and time that this segment was created.
3115
+ # @return [Time]
3116
+ #
3117
+ # @!attribute [rw] description
3118
+ # The customer-created description for this segment.
3119
+ # @return [String]
3120
+ #
3121
+ # @!attribute [rw] experiment_count
3122
+ # The number of experiments that this segment is used in. This count
3123
+ # includes all current experiments, not just those that are currently
3124
+ # running.
3125
+ # @return [Integer]
3126
+ #
3127
+ # @!attribute [rw] last_updated_time
3128
+ # The date and time that this segment was most recently updated.
3129
+ # @return [Time]
3130
+ #
3131
+ # @!attribute [rw] launch_count
3132
+ # The number of launches that this segment is used in. This count
3133
+ # includes all current launches, not just those that are currently
3134
+ # running.
3135
+ # @return [Integer]
3136
+ #
3137
+ # @!attribute [rw] name
3138
+ # The name of the segment.
3139
+ # @return [String]
3140
+ #
3141
+ # @!attribute [rw] pattern
3142
+ # @return [String]
3143
+ #
3144
+ # @!attribute [rw] tags
3145
+ # The list of tag keys and values associated with this launch.
3146
+ # @return [Hash<String,String>]
3147
+ #
3148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/Segment AWS API Documentation
3149
+ #
3150
+ class Segment < Struct.new(
3151
+ :arn,
3152
+ :created_time,
3153
+ :description,
3154
+ :experiment_count,
3155
+ :last_updated_time,
3156
+ :launch_count,
3157
+ :name,
3158
+ :pattern,
3159
+ :tags)
3160
+ SENSITIVE = []
3161
+ include Aws::Structure
3162
+ end
3163
+
3164
+ # This structure specifies a segment that you have already created, and
3165
+ # defines the traffic split for that segment to be used in a launch.
3166
+ #
3167
+ # @note When making an API call, you may pass SegmentOverride
3168
+ # data as a hash:
3169
+ #
3170
+ # {
3171
+ # evaluation_order: 1, # required
3172
+ # segment: "SegmentRef", # required
3173
+ # weights: { # required
3174
+ # "GroupName" => 1,
3175
+ # },
3176
+ # }
3177
+ #
3178
+ # @!attribute [rw] evaluation_order
3179
+ # A number indicating the order to use to evaluate segment overrides,
3180
+ # if there are more than one. Segment overrides with lower numbers are
3181
+ # evaluated first.
3182
+ # @return [Integer]
3183
+ #
3184
+ # @!attribute [rw] segment
3185
+ # The ARN of the segment to use.
3186
+ # @return [String]
3187
+ #
3188
+ # @!attribute [rw] weights
3189
+ # The traffic allocation percentages among the feature variations to
3190
+ # assign to this segment. This is a set of key-value pairs. The keys
3191
+ # are variation names. The values represent the amount of traffic to
3192
+ # allocate to that variation for this segment. This is expressed in
3193
+ # thousandths of a percent, so a weight of 50000 represents 50% of
3194
+ # traffic.
3195
+ # @return [Hash<String,Integer>]
3196
+ #
3197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/SegmentOverride AWS API Documentation
3198
+ #
3199
+ class SegmentOverride < Struct.new(
3200
+ :evaluation_order,
3201
+ :segment,
3202
+ :weights)
3203
+ SENSITIVE = []
3204
+ include Aws::Structure
3205
+ end
3206
+
2732
3207
  # The request would cause a service quota to be exceeded.
2733
3208
  #
2734
3209
  # @!attribute [rw] message
@@ -2785,7 +3260,8 @@ module Aws::CloudWatchEvidently
2785
3260
  # }
2786
3261
  #
2787
3262
  # @!attribute [rw] analysis_complete_time
2788
- # The date and time to end the experiment.
3263
+ # The date and time to end the experiment. This must be no more than
3264
+ # 30 days after the experiment starts.
2789
3265
  # @return [Time]
2790
3266
  #
2791
3267
  # @!attribute [rw] experiment
@@ -2990,6 +3466,44 @@ module Aws::CloudWatchEvidently
2990
3466
  #
2991
3467
  class TagResourceResponse < Aws::EmptyStructure; end
2992
3468
 
3469
+ # @note When making an API call, you may pass TestSegmentPatternRequest
3470
+ # data as a hash:
3471
+ #
3472
+ # {
3473
+ # pattern: "SegmentPattern", # required
3474
+ # payload: "JsonValue", # required
3475
+ # }
3476
+ #
3477
+ # @!attribute [rw] pattern
3478
+ # The pattern to test.
3479
+ # @return [String]
3480
+ #
3481
+ # @!attribute [rw] payload
3482
+ # A sample `evaluationContext` JSON block to test against the
3483
+ # specified pattern.
3484
+ # @return [String]
3485
+ #
3486
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TestSegmentPatternRequest AWS API Documentation
3487
+ #
3488
+ class TestSegmentPatternRequest < Struct.new(
3489
+ :pattern,
3490
+ :payload)
3491
+ SENSITIVE = []
3492
+ include Aws::Structure
3493
+ end
3494
+
3495
+ # @!attribute [rw] match
3496
+ # Returns `true` if the pattern matches the payload.
3497
+ # @return [Boolean]
3498
+ #
3499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/TestSegmentPatternResponse AWS API Documentation
3500
+ #
3501
+ class TestSegmentPatternResponse < Struct.new(
3502
+ :match)
3503
+ SENSITIVE = []
3504
+ include Aws::Structure
3505
+ end
3506
+
2993
3507
  # The request was denied because of request throttling. Retry the
2994
3508
  # request.
2995
3509
  #
@@ -3140,7 +3654,9 @@ module Aws::CloudWatchEvidently
3140
3654
  # },
3141
3655
  # project: "ProjectRef", # required
3142
3656
  # randomization_salt: "RandomizationSalt",
3657
+ # remove_segment: false,
3143
3658
  # sampling_rate: 1,
3659
+ # segment: "SegmentRef",
3144
3660
  # treatments: [
3145
3661
  # {
3146
3662
  # description: "Description",
@@ -3185,6 +3701,11 @@ module Aws::CloudWatchEvidently
3185
3701
  # Evidently uses the experiment name as the `randomizationSalt`.
3186
3702
  # @return [String]
3187
3703
  #
3704
+ # @!attribute [rw] remove_segment
3705
+ # Removes a segment from being used in an experiment. You can't use
3706
+ # this parameter if the experiment is currently running.
3707
+ # @return [Boolean]
3708
+ #
3188
3709
  # @!attribute [rw] sampling_rate
3189
3710
  # The portion of the available audience that you want to allocate to
3190
3711
  # this experiment, in thousandths of a percent. The available audience
@@ -3195,6 +3716,13 @@ module Aws::CloudWatchEvidently
3195
3716
  # specify 20,000 to allocate 20% of the available audience.
3196
3717
  # @return [Integer]
3197
3718
  #
3719
+ # @!attribute [rw] segment
3720
+ # Adds an audience *segment* to an experiment. When a segment is used
3721
+ # in an experiment, only user sessions that match the segment pattern
3722
+ # are used in the experiment. You can't use this parameter if the
3723
+ # experiment is currently running.
3724
+ # @return [String]
3725
+ #
3198
3726
  # @!attribute [rw] treatments
3199
3727
  # An array of structures that define the variations being tested in
3200
3728
  # the experiment.
@@ -3209,7 +3737,9 @@ module Aws::CloudWatchEvidently
3209
3737
  :online_ab_config,
3210
3738
  :project,
3211
3739
  :randomization_salt,
3740
+ :remove_segment,
3212
3741
  :sampling_rate,
3742
+ :segment,
3213
3743
  :treatments)
3214
3744
  SENSITIVE = []
3215
3745
  include Aws::Structure
@@ -3364,6 +3894,15 @@ module Aws::CloudWatchEvidently
3364
3894
  # group_weights: { # required
3365
3895
  # "GroupName" => 1,
3366
3896
  # },
3897
+ # segment_overrides: [
3898
+ # {
3899
+ # evaluation_order: 1, # required
3900
+ # segment: "SegmentRef", # required
3901
+ # weights: { # required
3902
+ # "GroupName" => 1,
3903
+ # },
3904
+ # },
3905
+ # ],
3367
3906
  # start_time: Time.now, # required
3368
3907
  # },
3369
3908
  # ],