/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A structure that contains the configuration of which variation to use as the
* "control" version. The "control" version is used for comparison with other
* variations. This structure also specifies how much experiment traffic is
* allocated to each variation.See Also:
AWS
* API Reference
The name of the variation that is the default variation that the other * variations are compared to.
*/ inline const Aws::String& GetControlTreatmentName() const{ return m_controlTreatmentName; } /** *The name of the variation that is the default variation that the other * variations are compared to.
*/ inline bool ControlTreatmentNameHasBeenSet() const { return m_controlTreatmentNameHasBeenSet; } /** *The name of the variation that is the default variation that the other * variations are compared to.
*/ inline void SetControlTreatmentName(const Aws::String& value) { m_controlTreatmentNameHasBeenSet = true; m_controlTreatmentName = value; } /** *The name of the variation that is the default variation that the other * variations are compared to.
*/ inline void SetControlTreatmentName(Aws::String&& value) { m_controlTreatmentNameHasBeenSet = true; m_controlTreatmentName = std::move(value); } /** *The name of the variation that is the default variation that the other * variations are compared to.
*/ inline void SetControlTreatmentName(const char* value) { m_controlTreatmentNameHasBeenSet = true; m_controlTreatmentName.assign(value); } /** *The name of the variation that is the default variation that the other * variations are compared to.
*/ inline OnlineAbDefinition& WithControlTreatmentName(const Aws::String& value) { SetControlTreatmentName(value); return *this;} /** *The name of the variation that is the default variation that the other * variations are compared to.
*/ inline OnlineAbDefinition& WithControlTreatmentName(Aws::String&& value) { SetControlTreatmentName(std::move(value)); return *this;} /** *The name of the variation that is the default variation that the other * variations are compared to.
*/ inline OnlineAbDefinition& WithControlTreatmentName(const char* value) { SetControlTreatmentName(value); return *this;} /** *A set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline const Aws::MapA set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline bool TreatmentWeightsHasBeenSet() const { return m_treatmentWeightsHasBeenSet; } /** *A set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline void SetTreatmentWeights(const Aws::MapA set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline void SetTreatmentWeights(Aws::MapA set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline OnlineAbDefinition& WithTreatmentWeights(const Aws::MapA set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline OnlineAbDefinition& WithTreatmentWeights(Aws::MapA set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline OnlineAbDefinition& AddTreatmentWeights(const Aws::String& key, long long value) { m_treatmentWeightsHasBeenSet = true; m_treatmentWeights.emplace(key, value); return *this; } /** *A set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline OnlineAbDefinition& AddTreatmentWeights(Aws::String&& key, long long value) { m_treatmentWeightsHasBeenSet = true; m_treatmentWeights.emplace(std::move(key), value); return *this; } /** *A set of key-value pairs. The keys are variation names, and the values are * the portion of experiment traffic to be assigned to that variation. The traffic * portion is specified in thousandths of a percent, so 20,000 for a variation * would allocate 20% of the experiment traffic to that variation.
*/ inline OnlineAbDefinition& AddTreatmentWeights(const char* key, long long value) { m_treatmentWeightsHasBeenSet = true; m_treatmentWeights.emplace(key, value); return *this; } private: Aws::String m_controlTreatmentName; bool m_controlTreatmentNameHasBeenSet = false; Aws::Map