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/mq/model/ChangeType.h>
9 #include <aws/core/utils/memory/stl/AWSString.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 MQ
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Returns a list of all broker users. Does not apply to RabbitMQ
29    * brokers.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/mq-2017-11-27/UserSummary">AWS API
31    * Reference</a></p>
32    */
33   class AWS_MQ_API UserSummary
34   {
35   public:
36     UserSummary();
37     UserSummary(Aws::Utils::Json::JsonView jsonValue);
38     UserSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The type of change pending for the broker user.</p>
44      */
GetPendingChange()45     inline const ChangeType& GetPendingChange() const{ return m_pendingChange; }
46 
47     /**
48      * <p>The type of change pending for the broker user.</p>
49      */
PendingChangeHasBeenSet()50     inline bool PendingChangeHasBeenSet() const { return m_pendingChangeHasBeenSet; }
51 
52     /**
53      * <p>The type of change pending for the broker user.</p>
54      */
SetPendingChange(const ChangeType & value)55     inline void SetPendingChange(const ChangeType& value) { m_pendingChangeHasBeenSet = true; m_pendingChange = value; }
56 
57     /**
58      * <p>The type of change pending for the broker user.</p>
59      */
SetPendingChange(ChangeType && value)60     inline void SetPendingChange(ChangeType&& value) { m_pendingChangeHasBeenSet = true; m_pendingChange = std::move(value); }
61 
62     /**
63      * <p>The type of change pending for the broker user.</p>
64      */
WithPendingChange(const ChangeType & value)65     inline UserSummary& WithPendingChange(const ChangeType& value) { SetPendingChange(value); return *this;}
66 
67     /**
68      * <p>The type of change pending for the broker user.</p>
69      */
WithPendingChange(ChangeType && value)70     inline UserSummary& WithPendingChange(ChangeType&& value) { SetPendingChange(std::move(value)); return *this;}
71 
72 
73     /**
74      * <p>Required. The username of the broker user. This value can contain only
75      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
76      * This value must be 2-100 characters long.</p>
77      */
GetUsername()78     inline const Aws::String& GetUsername() const{ return m_username; }
79 
80     /**
81      * <p>Required. The username of the broker user. This value can contain only
82      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
83      * This value must be 2-100 characters long.</p>
84      */
UsernameHasBeenSet()85     inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; }
86 
87     /**
88      * <p>Required. The username of the broker user. This value can contain only
89      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
90      * This value must be 2-100 characters long.</p>
91      */
SetUsername(const Aws::String & value)92     inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; }
93 
94     /**
95      * <p>Required. The username of the broker user. This value can contain only
96      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
97      * This value must be 2-100 characters long.</p>
98      */
SetUsername(Aws::String && value)99     inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); }
100 
101     /**
102      * <p>Required. The username of the broker user. This value can contain only
103      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
104      * This value must be 2-100 characters long.</p>
105      */
SetUsername(const char * value)106     inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); }
107 
108     /**
109      * <p>Required. The username of the broker user. This value can contain only
110      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
111      * This value must be 2-100 characters long.</p>
112      */
WithUsername(const Aws::String & value)113     inline UserSummary& WithUsername(const Aws::String& value) { SetUsername(value); return *this;}
114 
115     /**
116      * <p>Required. The username of the broker user. This value can contain only
117      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
118      * This value must be 2-100 characters long.</p>
119      */
WithUsername(Aws::String && value)120     inline UserSummary& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;}
121 
122     /**
123      * <p>Required. The username of the broker user. This value can contain only
124      * alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~).
125      * This value must be 2-100 characters long.</p>
126      */
WithUsername(const char * value)127     inline UserSummary& WithUsername(const char* value) { SetUsername(value); return *this;}
128 
129   private:
130 
131     ChangeType m_pendingChange;
132     bool m_pendingChangeHasBeenSet;
133 
134     Aws::String m_username;
135     bool m_usernameHasBeenSet;
136   };
137 
138 } // namespace Model
139 } // namespace MQ
140 } // namespace Aws
141