/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include This structure defines the traffic allocation percentages among the feature
* variations during one step of a launch, and the start time of that
* step.See Also:
AWS
* API Reference
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.
*/ inline const Aws::MapThe 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.
*/ inline bool GroupWeightsHasBeenSet() const { return m_groupWeightsHasBeenSet; } /** *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.
*/ inline void SetGroupWeights(const Aws::MapThe 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.
*/ inline void SetGroupWeights(Aws::MapThe 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.
*/ inline ScheduledSplitConfig& WithGroupWeights(const Aws::MapThe 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.
*/ inline ScheduledSplitConfig& WithGroupWeights(Aws::MapThe 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.
*/ inline ScheduledSplitConfig& AddGroupWeights(const Aws::String& key, long long value) { m_groupWeightsHasBeenSet = true; m_groupWeights.emplace(key, value); return *this; } /** *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.
*/ inline ScheduledSplitConfig& AddGroupWeights(Aws::String&& key, long long value) { m_groupWeightsHasBeenSet = true; m_groupWeights.emplace(std::move(key), value); return *this; } /** *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.
*/ inline ScheduledSplitConfig& AddGroupWeights(const char* key, long long value) { m_groupWeightsHasBeenSet = true; m_groupWeights.emplace(key, value); return *this; } /** *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.
*/ inline const Aws::VectorUse 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.
*/ inline bool SegmentOverridesHasBeenSet() const { return m_segmentOverridesHasBeenSet; } /** *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.
*/ inline void SetSegmentOverrides(const Aws::VectorUse 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.
*/ inline void SetSegmentOverrides(Aws::VectorUse 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.
*/ inline ScheduledSplitConfig& WithSegmentOverrides(const Aws::VectorUse 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.
*/ inline ScheduledSplitConfig& WithSegmentOverrides(Aws::VectorUse 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.
*/ inline ScheduledSplitConfig& AddSegmentOverrides(const SegmentOverride& value) { m_segmentOverridesHasBeenSet = true; m_segmentOverrides.push_back(value); return *this; } /** *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.
*/ inline ScheduledSplitConfig& AddSegmentOverrides(SegmentOverride&& value) { m_segmentOverridesHasBeenSet = true; m_segmentOverrides.push_back(std::move(value)); return *this; } /** *The date and time that this step of the launch starts.
*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *The date and time that this step of the launch starts.
*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *The date and time that this step of the launch starts.
*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *The date and time that this step of the launch starts.
*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *The date and time that this step of the launch starts.
*/ inline ScheduledSplitConfig& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *The date and time that this step of the launch starts.
*/ inline ScheduledSplitConfig& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} private: Aws::Map