/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CloudWatchEvidently { namespace Model { /** *

A structure that defines one launch group in a launch. A launch group is a * variation of the feature that you are including in the launch.

See * Also:

AWS * API Reference

*/ class LaunchGroup { public: AWS_CLOUDWATCHEVIDENTLY_API LaunchGroup(); AWS_CLOUDWATCHEVIDENTLY_API LaunchGroup(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUDWATCHEVIDENTLY_API LaunchGroup& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUDWATCHEVIDENTLY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A description of the launch group.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the launch group.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the launch group.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the launch group.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the launch group.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the launch group.

*/ inline LaunchGroup& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the launch group.

*/ inline LaunchGroup& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the launch group.

*/ inline LaunchGroup& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline const Aws::Map& GetFeatureVariations() const{ return m_featureVariations; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline bool FeatureVariationsHasBeenSet() const { return m_featureVariationsHasBeenSet; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline void SetFeatureVariations(const Aws::Map& value) { m_featureVariationsHasBeenSet = true; m_featureVariations = value; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline void SetFeatureVariations(Aws::Map&& value) { m_featureVariationsHasBeenSet = true; m_featureVariations = std::move(value); } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& WithFeatureVariations(const Aws::Map& value) { SetFeatureVariations(value); return *this;} /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& WithFeatureVariations(Aws::Map&& value) { SetFeatureVariations(std::move(value)); return *this;} /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& AddFeatureVariations(const Aws::String& key, const Aws::String& value) { m_featureVariationsHasBeenSet = true; m_featureVariations.emplace(key, value); return *this; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& AddFeatureVariations(Aws::String&& key, const Aws::String& value) { m_featureVariationsHasBeenSet = true; m_featureVariations.emplace(std::move(key), value); return *this; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& AddFeatureVariations(const Aws::String& key, Aws::String&& value) { m_featureVariationsHasBeenSet = true; m_featureVariations.emplace(key, std::move(value)); return *this; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& AddFeatureVariations(Aws::String&& key, Aws::String&& value) { m_featureVariationsHasBeenSet = true; m_featureVariations.emplace(std::move(key), std::move(value)); return *this; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& AddFeatureVariations(const char* key, Aws::String&& value) { m_featureVariationsHasBeenSet = true; m_featureVariations.emplace(key, std::move(value)); return *this; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& AddFeatureVariations(Aws::String&& key, const char* value) { m_featureVariationsHasBeenSet = true; m_featureVariations.emplace(std::move(key), value); return *this; } /** *

The feature variation for this launch group. This is a key-value pair.

*/ inline LaunchGroup& AddFeatureVariations(const char* key, const char* value) { m_featureVariationsHasBeenSet = true; m_featureVariations.emplace(key, value); return *this; } /** *

The name of the launch group.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the launch group.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the launch group.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the launch group.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the launch group.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the launch group.

*/ inline LaunchGroup& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the launch group.

*/ inline LaunchGroup& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the launch group.

*/ inline LaunchGroup& WithName(const char* value) { SetName(value); return *this;} private: Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::Map m_featureVariations; bool m_featureVariationsHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; }; } // namespace Model } // namespace CloudWatchEvidently } // namespace Aws