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/iam/IAM_EXPORTS.h>
8 #include <aws/iam/IAMRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace IAM
15 {
16 namespace Model
17 {
18 
19   /**
20    */
21   class AWS_IAM_API AddUserToGroupRequest : public IAMRequest
22   {
23   public:
24     AddUserToGroupRequest();
25 
26     // Service request name is the Operation name which will send this request out,
27     // each operation should has unique request name, so that we can get operation's name from this request.
28     // Note: this is not true for response, multiple operations may have the same response name,
29     // so we can not get operation's name from response.
GetServiceRequestName()30     inline virtual const char* GetServiceRequestName() const override { return "AddUserToGroup"; }
31 
32     Aws::String SerializePayload() const override;
33 
34   protected:
35     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
36 
37   public:
38 
39     /**
40      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
41      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
42      * consisting of upper and lowercase alphanumeric characters with no spaces. You
43      * can also include any of the following characters: _+=,.@-</p>
44      */
GetGroupName()45     inline const Aws::String& GetGroupName() const{ return m_groupName; }
46 
47     /**
48      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
49      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
50      * consisting of upper and lowercase alphanumeric characters with no spaces. You
51      * can also include any of the following characters: _+=,.@-</p>
52      */
GroupNameHasBeenSet()53     inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
54 
55     /**
56      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
57      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
58      * consisting of upper and lowercase alphanumeric characters with no spaces. You
59      * can also include any of the following characters: _+=,.@-</p>
60      */
SetGroupName(const Aws::String & value)61     inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; }
62 
63     /**
64      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
65      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
66      * consisting of upper and lowercase alphanumeric characters with no spaces. You
67      * can also include any of the following characters: _+=,.@-</p>
68      */
SetGroupName(Aws::String && value)69     inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = std::move(value); }
70 
71     /**
72      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
73      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
74      * consisting of upper and lowercase alphanumeric characters with no spaces. You
75      * can also include any of the following characters: _+=,.@-</p>
76      */
SetGroupName(const char * value)77     inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); }
78 
79     /**
80      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
81      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
82      * consisting of upper and lowercase alphanumeric characters with no spaces. You
83      * can also include any of the following characters: _+=,.@-</p>
84      */
WithGroupName(const Aws::String & value)85     inline AddUserToGroupRequest& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;}
86 
87     /**
88      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
89      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
90      * consisting of upper and lowercase alphanumeric characters with no spaces. You
91      * can also include any of the following characters: _+=,.@-</p>
92      */
WithGroupName(Aws::String && value)93     inline AddUserToGroupRequest& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;}
94 
95     /**
96      * <p>The name of the group to update.</p> <p>This parameter allows (through its <a
97      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
98      * consisting of upper and lowercase alphanumeric characters with no spaces. You
99      * can also include any of the following characters: _+=,.@-</p>
100      */
WithGroupName(const char * value)101     inline AddUserToGroupRequest& WithGroupName(const char* value) { SetGroupName(value); return *this;}
102 
103 
104     /**
105      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
106      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
107      * consisting of upper and lowercase alphanumeric characters with no spaces. You
108      * can also include any of the following characters: _+=,.@-</p>
109      */
GetUserName()110     inline const Aws::String& GetUserName() const{ return m_userName; }
111 
112     /**
113      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
114      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
115      * consisting of upper and lowercase alphanumeric characters with no spaces. You
116      * can also include any of the following characters: _+=,.@-</p>
117      */
UserNameHasBeenSet()118     inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
119 
120     /**
121      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
122      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
123      * consisting of upper and lowercase alphanumeric characters with no spaces. You
124      * can also include any of the following characters: _+=,.@-</p>
125      */
SetUserName(const Aws::String & value)126     inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; }
127 
128     /**
129      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
130      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
131      * consisting of upper and lowercase alphanumeric characters with no spaces. You
132      * can also include any of the following characters: _+=,.@-</p>
133      */
SetUserName(Aws::String && value)134     inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); }
135 
136     /**
137      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
138      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
139      * consisting of upper and lowercase alphanumeric characters with no spaces. You
140      * can also include any of the following characters: _+=,.@-</p>
141      */
SetUserName(const char * value)142     inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); }
143 
144     /**
145      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
146      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
147      * consisting of upper and lowercase alphanumeric characters with no spaces. You
148      * can also include any of the following characters: _+=,.@-</p>
149      */
WithUserName(const Aws::String & value)150     inline AddUserToGroupRequest& WithUserName(const Aws::String& value) { SetUserName(value); return *this;}
151 
152     /**
153      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
154      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
155      * consisting of upper and lowercase alphanumeric characters with no spaces. You
156      * can also include any of the following characters: _+=,.@-</p>
157      */
WithUserName(Aws::String && value)158     inline AddUserToGroupRequest& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;}
159 
160     /**
161      * <p>The name of the user to add.</p> <p>This parameter allows (through its <a
162      * href="http://wikipedia.org/wiki/regex">regex pattern</a>) a string of characters
163      * consisting of upper and lowercase alphanumeric characters with no spaces. You
164      * can also include any of the following characters: _+=,.@-</p>
165      */
WithUserName(const char * value)166     inline AddUserToGroupRequest& WithUserName(const char* value) { SetUserName(value); return *this;}
167 
168   private:
169 
170     Aws::String m_groupName;
171     bool m_groupNameHasBeenSet;
172 
173     Aws::String m_userName;
174     bool m_userNameHasBeenSet;
175   };
176 
177 } // namespace Model
178 } // namespace IAM
179 } // namespace Aws
180