1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/resource-groups/ResourceGroups_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace ResourceGroups 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>A parameter for a group configuration item. For details about group service 29 * configuration syntax, see <a 30 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html">Service 31 * configurations for resource groups</a>.</p><p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/resource-groups-2017-11-27/GroupConfigurationParameter">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_RESOURCEGROUPS_API GroupConfigurationParameter 36 { 37 public: 38 GroupConfigurationParameter(); 39 GroupConfigurationParameter(Aws::Utils::Json::JsonView jsonValue); 40 GroupConfigurationParameter& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The name of the group configuration parameter. For the list of parameters 46 * that you can use with each configuration item type, see <a 47 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 48 * resource types and parameters</a>.</p> 49 */ GetName()50 inline const Aws::String& GetName() const{ return m_name; } 51 52 /** 53 * <p>The name of the group configuration parameter. For the list of parameters 54 * that you can use with each configuration item type, see <a 55 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 56 * resource types and parameters</a>.</p> 57 */ NameHasBeenSet()58 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 59 60 /** 61 * <p>The name of the group configuration parameter. For the list of parameters 62 * that you can use with each configuration item type, see <a 63 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 64 * resource types and parameters</a>.</p> 65 */ SetName(const Aws::String & value)66 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 67 68 /** 69 * <p>The name of the group configuration parameter. For the list of parameters 70 * that you can use with each configuration item type, see <a 71 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 72 * resource types and parameters</a>.</p> 73 */ SetName(Aws::String && value)74 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 75 76 /** 77 * <p>The name of the group configuration parameter. For the list of parameters 78 * that you can use with each configuration item type, see <a 79 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 80 * resource types and parameters</a>.</p> 81 */ SetName(const char * value)82 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 83 84 /** 85 * <p>The name of the group configuration parameter. For the list of parameters 86 * that you can use with each configuration item type, see <a 87 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 88 * resource types and parameters</a>.</p> 89 */ WithName(const Aws::String & value)90 inline GroupConfigurationParameter& WithName(const Aws::String& value) { SetName(value); return *this;} 91 92 /** 93 * <p>The name of the group configuration parameter. For the list of parameters 94 * that you can use with each configuration item type, see <a 95 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 96 * resource types and parameters</a>.</p> 97 */ WithName(Aws::String && value)98 inline GroupConfigurationParameter& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 99 100 /** 101 * <p>The name of the group configuration parameter. For the list of parameters 102 * that you can use with each configuration item type, see <a 103 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 104 * resource types and parameters</a>.</p> 105 */ WithName(const char * value)106 inline GroupConfigurationParameter& WithName(const char* value) { SetName(value); return *this;} 107 108 109 /** 110 * <p>The value or values to be used for the specified parameter. For the list of 111 * values you can use with each parameter, see <a 112 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 113 * resource types and parameters</a>.</p> 114 */ GetValues()115 inline const Aws::Vector<Aws::String>& GetValues() const{ return m_values; } 116 117 /** 118 * <p>The value or values to be used for the specified parameter. For the list of 119 * values you can use with each parameter, see <a 120 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 121 * resource types and parameters</a>.</p> 122 */ ValuesHasBeenSet()123 inline bool ValuesHasBeenSet() const { return m_valuesHasBeenSet; } 124 125 /** 126 * <p>The value or values to be used for the specified parameter. For the list of 127 * values you can use with each parameter, see <a 128 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 129 * resource types and parameters</a>.</p> 130 */ SetValues(const Aws::Vector<Aws::String> & value)131 inline void SetValues(const Aws::Vector<Aws::String>& value) { m_valuesHasBeenSet = true; m_values = value; } 132 133 /** 134 * <p>The value or values to be used for the specified parameter. For the list of 135 * values you can use with each parameter, see <a 136 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 137 * resource types and parameters</a>.</p> 138 */ SetValues(Aws::Vector<Aws::String> && value)139 inline void SetValues(Aws::Vector<Aws::String>&& value) { m_valuesHasBeenSet = true; m_values = std::move(value); } 140 141 /** 142 * <p>The value or values to be used for the specified parameter. For the list of 143 * values you can use with each parameter, see <a 144 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 145 * resource types and parameters</a>.</p> 146 */ WithValues(const Aws::Vector<Aws::String> & value)147 inline GroupConfigurationParameter& WithValues(const Aws::Vector<Aws::String>& value) { SetValues(value); return *this;} 148 149 /** 150 * <p>The value or values to be used for the specified parameter. For the list of 151 * values you can use with each parameter, see <a 152 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 153 * resource types and parameters</a>.</p> 154 */ WithValues(Aws::Vector<Aws::String> && value)155 inline GroupConfigurationParameter& WithValues(Aws::Vector<Aws::String>&& value) { SetValues(std::move(value)); return *this;} 156 157 /** 158 * <p>The value or values to be used for the specified parameter. For the list of 159 * values you can use with each parameter, see <a 160 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 161 * resource types and parameters</a>.</p> 162 */ AddValues(const Aws::String & value)163 inline GroupConfigurationParameter& AddValues(const Aws::String& value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } 164 165 /** 166 * <p>The value or values to be used for the specified parameter. For the list of 167 * values you can use with each parameter, see <a 168 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 169 * resource types and parameters</a>.</p> 170 */ AddValues(Aws::String && value)171 inline GroupConfigurationParameter& AddValues(Aws::String&& value) { m_valuesHasBeenSet = true; m_values.push_back(std::move(value)); return *this; } 172 173 /** 174 * <p>The value or values to be used for the specified parameter. For the list of 175 * values you can use with each parameter, see <a 176 * href="https://docs.aws.amazon.com/ARG/latest/APIReference/about-slg.html#about-slg-types">Supported 177 * resource types and parameters</a>.</p> 178 */ AddValues(const char * value)179 inline GroupConfigurationParameter& AddValues(const char* value) { m_valuesHasBeenSet = true; m_values.push_back(value); return *this; } 180 181 private: 182 183 Aws::String m_name; 184 bool m_nameHasBeenSet; 185 186 Aws::Vector<Aws::String> m_values; 187 bool m_valuesHasBeenSet; 188 }; 189 190 } // namespace Model 191 } // namespace ResourceGroups 192 } // namespace Aws 193