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/mq/MQ_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/mq/model/AuthenticationStrategy.h> 10 #include <aws/core/utils/DateTime.h> 11 #include <aws/mq/model/EngineType.h> 12 #include <aws/mq/model/ConfigurationRevision.h> 13 #include <aws/core/utils/memory/stl/AWSMap.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 template<typename RESULT_TYPE> 19 class AmazonWebServiceResult; 20 21 namespace Utils 22 { 23 namespace Json 24 { 25 class JsonValue; 26 } // namespace Json 27 } // namespace Utils 28 namespace MQ 29 { 30 namespace Model 31 { 32 class AWS_MQ_API DescribeConfigurationResult 33 { 34 public: 35 DescribeConfigurationResult(); 36 DescribeConfigurationResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 37 DescribeConfigurationResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 38 39 40 /** 41 * <p>Required. The ARN of the configuration.</p> 42 */ GetArn()43 inline const Aws::String& GetArn() const{ return m_arn; } 44 45 /** 46 * <p>Required. The ARN of the configuration.</p> 47 */ SetArn(const Aws::String & value)48 inline void SetArn(const Aws::String& value) { m_arn = value; } 49 50 /** 51 * <p>Required. The ARN of the configuration.</p> 52 */ SetArn(Aws::String && value)53 inline void SetArn(Aws::String&& value) { m_arn = std::move(value); } 54 55 /** 56 * <p>Required. The ARN of the configuration.</p> 57 */ SetArn(const char * value)58 inline void SetArn(const char* value) { m_arn.assign(value); } 59 60 /** 61 * <p>Required. The ARN of the configuration.</p> 62 */ WithArn(const Aws::String & value)63 inline DescribeConfigurationResult& WithArn(const Aws::String& value) { SetArn(value); return *this;} 64 65 /** 66 * <p>Required. The ARN of the configuration.</p> 67 */ WithArn(Aws::String && value)68 inline DescribeConfigurationResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 69 70 /** 71 * <p>Required. The ARN of the configuration.</p> 72 */ WithArn(const char * value)73 inline DescribeConfigurationResult& WithArn(const char* value) { SetArn(value); return *this;} 74 75 76 /** 77 * <p>Optional. The authentication strategy associated with the configuration. The 78 * default is SIMPLE.</p> 79 */ GetAuthenticationStrategy()80 inline const AuthenticationStrategy& GetAuthenticationStrategy() const{ return m_authenticationStrategy; } 81 82 /** 83 * <p>Optional. The authentication strategy associated with the configuration. The 84 * default is SIMPLE.</p> 85 */ SetAuthenticationStrategy(const AuthenticationStrategy & value)86 inline void SetAuthenticationStrategy(const AuthenticationStrategy& value) { m_authenticationStrategy = value; } 87 88 /** 89 * <p>Optional. The authentication strategy associated with the configuration. The 90 * default is SIMPLE.</p> 91 */ SetAuthenticationStrategy(AuthenticationStrategy && value)92 inline void SetAuthenticationStrategy(AuthenticationStrategy&& value) { m_authenticationStrategy = std::move(value); } 93 94 /** 95 * <p>Optional. The authentication strategy associated with the configuration. The 96 * default is SIMPLE.</p> 97 */ WithAuthenticationStrategy(const AuthenticationStrategy & value)98 inline DescribeConfigurationResult& WithAuthenticationStrategy(const AuthenticationStrategy& value) { SetAuthenticationStrategy(value); return *this;} 99 100 /** 101 * <p>Optional. The authentication strategy associated with the configuration. The 102 * default is SIMPLE.</p> 103 */ WithAuthenticationStrategy(AuthenticationStrategy && value)104 inline DescribeConfigurationResult& WithAuthenticationStrategy(AuthenticationStrategy&& value) { SetAuthenticationStrategy(std::move(value)); return *this;} 105 106 107 /** 108 * <p>Required. The date and time of the configuration revision.</p> 109 */ GetCreated()110 inline const Aws::Utils::DateTime& GetCreated() const{ return m_created; } 111 112 /** 113 * <p>Required. The date and time of the configuration revision.</p> 114 */ SetCreated(const Aws::Utils::DateTime & value)115 inline void SetCreated(const Aws::Utils::DateTime& value) { m_created = value; } 116 117 /** 118 * <p>Required. The date and time of the configuration revision.</p> 119 */ SetCreated(Aws::Utils::DateTime && value)120 inline void SetCreated(Aws::Utils::DateTime&& value) { m_created = std::move(value); } 121 122 /** 123 * <p>Required. The date and time of the configuration revision.</p> 124 */ WithCreated(const Aws::Utils::DateTime & value)125 inline DescribeConfigurationResult& WithCreated(const Aws::Utils::DateTime& value) { SetCreated(value); return *this;} 126 127 /** 128 * <p>Required. The date and time of the configuration revision.</p> 129 */ WithCreated(Aws::Utils::DateTime && value)130 inline DescribeConfigurationResult& WithCreated(Aws::Utils::DateTime&& value) { SetCreated(std::move(value)); return *this;} 131 132 133 /** 134 * <p>Required. The description of the configuration.</p> 135 */ GetDescription()136 inline const Aws::String& GetDescription() const{ return m_description; } 137 138 /** 139 * <p>Required. The description of the configuration.</p> 140 */ SetDescription(const Aws::String & value)141 inline void SetDescription(const Aws::String& value) { m_description = value; } 142 143 /** 144 * <p>Required. The description of the configuration.</p> 145 */ SetDescription(Aws::String && value)146 inline void SetDescription(Aws::String&& value) { m_description = std::move(value); } 147 148 /** 149 * <p>Required. The description of the configuration.</p> 150 */ SetDescription(const char * value)151 inline void SetDescription(const char* value) { m_description.assign(value); } 152 153 /** 154 * <p>Required. The description of the configuration.</p> 155 */ WithDescription(const Aws::String & value)156 inline DescribeConfigurationResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 157 158 /** 159 * <p>Required. The description of the configuration.</p> 160 */ WithDescription(Aws::String && value)161 inline DescribeConfigurationResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 162 163 /** 164 * <p>Required. The description of the configuration.</p> 165 */ WithDescription(const char * value)166 inline DescribeConfigurationResult& WithDescription(const char* value) { SetDescription(value); return *this;} 167 168 169 /** 170 * <p>Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ 171 * and RABBITMQ.</p> 172 */ GetEngineType()173 inline const EngineType& GetEngineType() const{ return m_engineType; } 174 175 /** 176 * <p>Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ 177 * and RABBITMQ.</p> 178 */ SetEngineType(const EngineType & value)179 inline void SetEngineType(const EngineType& value) { m_engineType = value; } 180 181 /** 182 * <p>Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ 183 * and RABBITMQ.</p> 184 */ SetEngineType(EngineType && value)185 inline void SetEngineType(EngineType&& value) { m_engineType = std::move(value); } 186 187 /** 188 * <p>Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ 189 * and RABBITMQ.</p> 190 */ WithEngineType(const EngineType & value)191 inline DescribeConfigurationResult& WithEngineType(const EngineType& value) { SetEngineType(value); return *this;} 192 193 /** 194 * <p>Required. The type of broker engine. Currently, Amazon MQ supports ACTIVEMQ 195 * and RABBITMQ.</p> 196 */ WithEngineType(EngineType && value)197 inline DescribeConfigurationResult& WithEngineType(EngineType&& value) { SetEngineType(std::move(value)); return *this;} 198 199 200 /** 201 * <p>Required. The broker engine's version. For a list of supported engine 202 * versions, see, <a 203 * href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported 204 * engines</a>.</p> 205 */ GetEngineVersion()206 inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } 207 208 /** 209 * <p>Required. The broker engine's version. For a list of supported engine 210 * versions, see, <a 211 * href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported 212 * engines</a>.</p> 213 */ SetEngineVersion(const Aws::String & value)214 inline void SetEngineVersion(const Aws::String& value) { m_engineVersion = value; } 215 216 /** 217 * <p>Required. The broker engine's version. For a list of supported engine 218 * versions, see, <a 219 * href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported 220 * engines</a>.</p> 221 */ SetEngineVersion(Aws::String && value)222 inline void SetEngineVersion(Aws::String&& value) { m_engineVersion = std::move(value); } 223 224 /** 225 * <p>Required. The broker engine's version. For a list of supported engine 226 * versions, see, <a 227 * href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported 228 * engines</a>.</p> 229 */ SetEngineVersion(const char * value)230 inline void SetEngineVersion(const char* value) { m_engineVersion.assign(value); } 231 232 /** 233 * <p>Required. The broker engine's version. For a list of supported engine 234 * versions, see, <a 235 * href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported 236 * engines</a>.</p> 237 */ WithEngineVersion(const Aws::String & value)238 inline DescribeConfigurationResult& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} 239 240 /** 241 * <p>Required. The broker engine's version. For a list of supported engine 242 * versions, see, <a 243 * href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported 244 * engines</a>.</p> 245 */ WithEngineVersion(Aws::String && value)246 inline DescribeConfigurationResult& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} 247 248 /** 249 * <p>Required. The broker engine's version. For a list of supported engine 250 * versions, see, <a 251 * href="https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/broker-engine.html">Supported 252 * engines</a>.</p> 253 */ WithEngineVersion(const char * value)254 inline DescribeConfigurationResult& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} 255 256 257 /** 258 * <p>Required. The unique ID that Amazon MQ generates for the configuration.</p> 259 */ GetId()260 inline const Aws::String& GetId() const{ return m_id; } 261 262 /** 263 * <p>Required. The unique ID that Amazon MQ generates for the configuration.</p> 264 */ SetId(const Aws::String & value)265 inline void SetId(const Aws::String& value) { m_id = value; } 266 267 /** 268 * <p>Required. The unique ID that Amazon MQ generates for the configuration.</p> 269 */ SetId(Aws::String && value)270 inline void SetId(Aws::String&& value) { m_id = std::move(value); } 271 272 /** 273 * <p>Required. The unique ID that Amazon MQ generates for the configuration.</p> 274 */ SetId(const char * value)275 inline void SetId(const char* value) { m_id.assign(value); } 276 277 /** 278 * <p>Required. The unique ID that Amazon MQ generates for the configuration.</p> 279 */ WithId(const Aws::String & value)280 inline DescribeConfigurationResult& WithId(const Aws::String& value) { SetId(value); return *this;} 281 282 /** 283 * <p>Required. The unique ID that Amazon MQ generates for the configuration.</p> 284 */ WithId(Aws::String && value)285 inline DescribeConfigurationResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 286 287 /** 288 * <p>Required. The unique ID that Amazon MQ generates for the configuration.</p> 289 */ WithId(const char * value)290 inline DescribeConfigurationResult& WithId(const char* value) { SetId(value); return *this;} 291 292 293 /** 294 * <p>Required. The latest revision of the configuration.</p> 295 */ GetLatestRevision()296 inline const ConfigurationRevision& GetLatestRevision() const{ return m_latestRevision; } 297 298 /** 299 * <p>Required. The latest revision of the configuration.</p> 300 */ SetLatestRevision(const ConfigurationRevision & value)301 inline void SetLatestRevision(const ConfigurationRevision& value) { m_latestRevision = value; } 302 303 /** 304 * <p>Required. The latest revision of the configuration.</p> 305 */ SetLatestRevision(ConfigurationRevision && value)306 inline void SetLatestRevision(ConfigurationRevision&& value) { m_latestRevision = std::move(value); } 307 308 /** 309 * <p>Required. The latest revision of the configuration.</p> 310 */ WithLatestRevision(const ConfigurationRevision & value)311 inline DescribeConfigurationResult& WithLatestRevision(const ConfigurationRevision& value) { SetLatestRevision(value); return *this;} 312 313 /** 314 * <p>Required. The latest revision of the configuration.</p> 315 */ WithLatestRevision(ConfigurationRevision && value)316 inline DescribeConfigurationResult& WithLatestRevision(ConfigurationRevision&& value) { SetLatestRevision(std::move(value)); return *this;} 317 318 319 /** 320 * <p>Required. The name of the configuration. This value can contain only 321 * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). 322 * This value must be 1-150 characters long.</p> 323 */ GetName()324 inline const Aws::String& GetName() const{ return m_name; } 325 326 /** 327 * <p>Required. The name of the configuration. This value can contain only 328 * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). 329 * This value must be 1-150 characters long.</p> 330 */ SetName(const Aws::String & value)331 inline void SetName(const Aws::String& value) { m_name = value; } 332 333 /** 334 * <p>Required. The name of the configuration. This value can contain only 335 * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). 336 * This value must be 1-150 characters long.</p> 337 */ SetName(Aws::String && value)338 inline void SetName(Aws::String&& value) { m_name = std::move(value); } 339 340 /** 341 * <p>Required. The name of the configuration. This value can contain only 342 * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). 343 * This value must be 1-150 characters long.</p> 344 */ SetName(const char * value)345 inline void SetName(const char* value) { m_name.assign(value); } 346 347 /** 348 * <p>Required. The name of the configuration. This value can contain only 349 * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). 350 * This value must be 1-150 characters long.</p> 351 */ WithName(const Aws::String & value)352 inline DescribeConfigurationResult& WithName(const Aws::String& value) { SetName(value); return *this;} 353 354 /** 355 * <p>Required. The name of the configuration. This value can contain only 356 * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). 357 * This value must be 1-150 characters long.</p> 358 */ WithName(Aws::String && value)359 inline DescribeConfigurationResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 360 361 /** 362 * <p>Required. The name of the configuration. This value can contain only 363 * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). 364 * This value must be 1-150 characters long.</p> 365 */ WithName(const char * value)366 inline DescribeConfigurationResult& WithName(const char* value) { SetName(value); return *this;} 367 368 369 /** 370 * <p>The list of all tags associated with this configuration.</p> 371 */ GetTags()372 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; } 373 374 /** 375 * <p>The list of all tags associated with this configuration.</p> 376 */ SetTags(const Aws::Map<Aws::String,Aws::String> & value)377 inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; } 378 379 /** 380 * <p>The list of all tags associated with this configuration.</p> 381 */ SetTags(Aws::Map<Aws::String,Aws::String> && value)382 inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); } 383 384 /** 385 * <p>The list of all tags associated with this configuration.</p> 386 */ WithTags(const Aws::Map<Aws::String,Aws::String> & value)387 inline DescribeConfigurationResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;} 388 389 /** 390 * <p>The list of all tags associated with this configuration.</p> 391 */ WithTags(Aws::Map<Aws::String,Aws::String> && value)392 inline DescribeConfigurationResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;} 393 394 /** 395 * <p>The list of all tags associated with this configuration.</p> 396 */ AddTags(const Aws::String & key,const Aws::String & value)397 inline DescribeConfigurationResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; } 398 399 /** 400 * <p>The list of all tags associated with this configuration.</p> 401 */ AddTags(Aws::String && key,const Aws::String & value)402 inline DescribeConfigurationResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; } 403 404 /** 405 * <p>The list of all tags associated with this configuration.</p> 406 */ AddTags(const Aws::String & key,Aws::String && value)407 inline DescribeConfigurationResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } 408 409 /** 410 * <p>The list of all tags associated with this configuration.</p> 411 */ AddTags(Aws::String && key,Aws::String && value)412 inline DescribeConfigurationResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; } 413 414 /** 415 * <p>The list of all tags associated with this configuration.</p> 416 */ AddTags(const char * key,Aws::String && value)417 inline DescribeConfigurationResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; } 418 419 /** 420 * <p>The list of all tags associated with this configuration.</p> 421 */ AddTags(Aws::String && key,const char * value)422 inline DescribeConfigurationResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; } 423 424 /** 425 * <p>The list of all tags associated with this configuration.</p> 426 */ AddTags(const char * key,const char * value)427 inline DescribeConfigurationResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; } 428 429 private: 430 431 Aws::String m_arn; 432 433 AuthenticationStrategy m_authenticationStrategy; 434 435 Aws::Utils::DateTime m_created; 436 437 Aws::String m_description; 438 439 EngineType m_engineType; 440 441 Aws::String m_engineVersion; 442 443 Aws::String m_id; 444 445 ConfigurationRevision m_latestRevision; 446 447 Aws::String m_name; 448 449 Aws::Map<Aws::String, Aws::String> m_tags; 450 }; 451 452 } // namespace Model 453 } // namespace MQ 454 } // namespace Aws 455