/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the evidently-2021-02-01.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.CloudWatchEvidently.Model { /// /// This structure defines the traffic allocation percentages among the feature variations /// during one step of a launch, and the start time of that step. /// public partial class ScheduledSplitConfig { private Dictionary _groupWeights = new Dictionary(); private List _segmentOverrides = new List(); private DateTime? _startTime; /// /// Gets and sets the property GroupWeights. /// /// The traffic allocation percentages among the feature variations during one step of /// a launch. This is a set of key-value pairs. The keys are variation names. The values /// represent the percentage of traffic to allocate to that variation during this step. /// /// /// /// The values is expressed in thousandths of a percent, so assigning a weight of 50000 /// assigns 50% of traffic to that variation. /// /// /// /// 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. /// /// [AWSProperty(Required=true, Min=0, Max=5)] public Dictionary GroupWeights { get { return this._groupWeights; } set { this._groupWeights = value; } } // Check to see if GroupWeights property is set internal bool IsSetGroupWeights() { return this._groupWeights != null && this._groupWeights.Count > 0; } /// /// Gets and sets the property SegmentOverrides. /// /// Use this parameter to specify different traffic splits for one or more audience segments. /// A segment is a portion of your audience that share one or more characteristics. Examples /// could be Chrome browser users, users in Europe, or Firefox browser users in Europe /// who also fit other criteria that your application collects, such as age. /// /// /// /// This parameter is an array of up to six segment override objects. Each of these objects /// specifies a segment that you have already created, and defines the traffic split for /// that segment. /// /// [AWSProperty(Min=0, Max=6)] public List SegmentOverrides { get { return this._segmentOverrides; } set { this._segmentOverrides = value; } } // Check to see if SegmentOverrides property is set internal bool IsSetSegmentOverrides() { return this._segmentOverrides != null && this._segmentOverrides.Count > 0; } /// /// Gets and sets the property StartTime. /// /// The date and time that this step of the launch starts. /// /// [AWSProperty(Required=true)] public DateTime StartTime { get { return this._startTime.GetValueOrDefault(); } set { this._startTime = value; } } // Check to see if StartTime property is set internal bool IsSetStartTime() { return this._startTime.HasValue; } } }