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/ssm/SSM_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/ssm/model/DocumentParameterType.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 SSM 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>Parameters specified in a System Manager document that run on the server when 29 * the command is run. </p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DocumentParameter">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_SSM_API DocumentParameter 34 { 35 public: 36 DocumentParameter(); 37 DocumentParameter(Aws::Utils::Json::JsonView jsonValue); 38 DocumentParameter& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The name of the parameter.</p> 44 */ GetName()45 inline const Aws::String& GetName() const{ return m_name; } 46 47 /** 48 * <p>The name of the parameter.</p> 49 */ NameHasBeenSet()50 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 51 52 /** 53 * <p>The name of the parameter.</p> 54 */ SetName(const Aws::String & value)55 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 56 57 /** 58 * <p>The name of the parameter.</p> 59 */ SetName(Aws::String && value)60 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 61 62 /** 63 * <p>The name of the parameter.</p> 64 */ SetName(const char * value)65 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 66 67 /** 68 * <p>The name of the parameter.</p> 69 */ WithName(const Aws::String & value)70 inline DocumentParameter& WithName(const Aws::String& value) { SetName(value); return *this;} 71 72 /** 73 * <p>The name of the parameter.</p> 74 */ WithName(Aws::String && value)75 inline DocumentParameter& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 76 77 /** 78 * <p>The name of the parameter.</p> 79 */ WithName(const char * value)80 inline DocumentParameter& WithName(const char* value) { SetName(value); return *this;} 81 82 83 /** 84 * <p>The type of parameter. The type can be either String or StringList.</p> 85 */ GetType()86 inline const DocumentParameterType& GetType() const{ return m_type; } 87 88 /** 89 * <p>The type of parameter. The type can be either String or StringList.</p> 90 */ TypeHasBeenSet()91 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 92 93 /** 94 * <p>The type of parameter. The type can be either String or StringList.</p> 95 */ SetType(const DocumentParameterType & value)96 inline void SetType(const DocumentParameterType& value) { m_typeHasBeenSet = true; m_type = value; } 97 98 /** 99 * <p>The type of parameter. The type can be either String or StringList.</p> 100 */ SetType(DocumentParameterType && value)101 inline void SetType(DocumentParameterType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 102 103 /** 104 * <p>The type of parameter. The type can be either String or StringList.</p> 105 */ WithType(const DocumentParameterType & value)106 inline DocumentParameter& WithType(const DocumentParameterType& value) { SetType(value); return *this;} 107 108 /** 109 * <p>The type of parameter. The type can be either String or StringList.</p> 110 */ WithType(DocumentParameterType && value)111 inline DocumentParameter& WithType(DocumentParameterType&& value) { SetType(std::move(value)); return *this;} 112 113 114 /** 115 * <p>A description of what the parameter does, how to use it, the default value, 116 * and whether or not the parameter is optional.</p> 117 */ GetDescription()118 inline const Aws::String& GetDescription() const{ return m_description; } 119 120 /** 121 * <p>A description of what the parameter does, how to use it, the default value, 122 * and whether or not the parameter is optional.</p> 123 */ DescriptionHasBeenSet()124 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 125 126 /** 127 * <p>A description of what the parameter does, how to use it, the default value, 128 * and whether or not the parameter is optional.</p> 129 */ SetDescription(const Aws::String & value)130 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 131 132 /** 133 * <p>A description of what the parameter does, how to use it, the default value, 134 * and whether or not the parameter is optional.</p> 135 */ SetDescription(Aws::String && value)136 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 137 138 /** 139 * <p>A description of what the parameter does, how to use it, the default value, 140 * and whether or not the parameter is optional.</p> 141 */ SetDescription(const char * value)142 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 143 144 /** 145 * <p>A description of what the parameter does, how to use it, the default value, 146 * and whether or not the parameter is optional.</p> 147 */ WithDescription(const Aws::String & value)148 inline DocumentParameter& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 149 150 /** 151 * <p>A description of what the parameter does, how to use it, the default value, 152 * and whether or not the parameter is optional.</p> 153 */ WithDescription(Aws::String && value)154 inline DocumentParameter& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 155 156 /** 157 * <p>A description of what the parameter does, how to use it, the default value, 158 * and whether or not the parameter is optional.</p> 159 */ WithDescription(const char * value)160 inline DocumentParameter& WithDescription(const char* value) { SetDescription(value); return *this;} 161 162 163 /** 164 * <p>If specified, the default values for the parameters. Parameters without a 165 * default value are required. Parameters with a default value are optional.</p> 166 */ GetDefaultValue()167 inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } 168 169 /** 170 * <p>If specified, the default values for the parameters. Parameters without a 171 * default value are required. Parameters with a default value are optional.</p> 172 */ DefaultValueHasBeenSet()173 inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } 174 175 /** 176 * <p>If specified, the default values for the parameters. Parameters without a 177 * default value are required. Parameters with a default value are optional.</p> 178 */ SetDefaultValue(const Aws::String & value)179 inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } 180 181 /** 182 * <p>If specified, the default values for the parameters. Parameters without a 183 * default value are required. Parameters with a default value are optional.</p> 184 */ SetDefaultValue(Aws::String && value)185 inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } 186 187 /** 188 * <p>If specified, the default values for the parameters. Parameters without a 189 * default value are required. Parameters with a default value are optional.</p> 190 */ SetDefaultValue(const char * value)191 inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } 192 193 /** 194 * <p>If specified, the default values for the parameters. Parameters without a 195 * default value are required. Parameters with a default value are optional.</p> 196 */ WithDefaultValue(const Aws::String & value)197 inline DocumentParameter& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} 198 199 /** 200 * <p>If specified, the default values for the parameters. Parameters without a 201 * default value are required. Parameters with a default value are optional.</p> 202 */ WithDefaultValue(Aws::String && value)203 inline DocumentParameter& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} 204 205 /** 206 * <p>If specified, the default values for the parameters. Parameters without a 207 * default value are required. Parameters with a default value are optional.</p> 208 */ WithDefaultValue(const char * value)209 inline DocumentParameter& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} 210 211 private: 212 213 Aws::String m_name; 214 bool m_nameHasBeenSet; 215 216 DocumentParameterType m_type; 217 bool m_typeHasBeenSet; 218 219 Aws::String m_description; 220 bool m_descriptionHasBeenSet; 221 222 Aws::String m_defaultValue; 223 bool m_defaultValueHasBeenSet; 224 }; 225 226 } // namespace Model 227 } // namespace SSM 228 } // namespace Aws 229