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/ds/DirectoryService_EXPORTS.h>
8 #include <aws/ds/DirectoryServiceRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace DirectoryService
15 {
16 namespace Model
17 {
18 
19   /**
20    * <p>Contains the inputs for the <a>EnableSso</a> operation.</p><p><h3>See
21    * Also:</h3>   <a
22    * href="http://docs.aws.amazon.com/goto/WebAPI/ds-2015-04-16/EnableSsoRequest">AWS
23    * API Reference</a></p>
24    */
25   class AWS_DIRECTORYSERVICE_API EnableSsoRequest : public DirectoryServiceRequest
26   {
27   public:
28     EnableSsoRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "EnableSso"; }
35 
36     Aws::String SerializePayload() const override;
37 
38     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39 
40 
41     /**
42      * <p>The identifier of the directory for which to enable single-sign on.</p>
43      */
GetDirectoryId()44     inline const Aws::String& GetDirectoryId() const{ return m_directoryId; }
45 
46     /**
47      * <p>The identifier of the directory for which to enable single-sign on.</p>
48      */
DirectoryIdHasBeenSet()49     inline bool DirectoryIdHasBeenSet() const { return m_directoryIdHasBeenSet; }
50 
51     /**
52      * <p>The identifier of the directory for which to enable single-sign on.</p>
53      */
SetDirectoryId(const Aws::String & value)54     inline void SetDirectoryId(const Aws::String& value) { m_directoryIdHasBeenSet = true; m_directoryId = value; }
55 
56     /**
57      * <p>The identifier of the directory for which to enable single-sign on.</p>
58      */
SetDirectoryId(Aws::String && value)59     inline void SetDirectoryId(Aws::String&& value) { m_directoryIdHasBeenSet = true; m_directoryId = std::move(value); }
60 
61     /**
62      * <p>The identifier of the directory for which to enable single-sign on.</p>
63      */
SetDirectoryId(const char * value)64     inline void SetDirectoryId(const char* value) { m_directoryIdHasBeenSet = true; m_directoryId.assign(value); }
65 
66     /**
67      * <p>The identifier of the directory for which to enable single-sign on.</p>
68      */
WithDirectoryId(const Aws::String & value)69     inline EnableSsoRequest& WithDirectoryId(const Aws::String& value) { SetDirectoryId(value); return *this;}
70 
71     /**
72      * <p>The identifier of the directory for which to enable single-sign on.</p>
73      */
WithDirectoryId(Aws::String && value)74     inline EnableSsoRequest& WithDirectoryId(Aws::String&& value) { SetDirectoryId(std::move(value)); return *this;}
75 
76     /**
77      * <p>The identifier of the directory for which to enable single-sign on.</p>
78      */
WithDirectoryId(const char * value)79     inline EnableSsoRequest& WithDirectoryId(const char* value) { SetDirectoryId(value); return *this;}
80 
81 
82     /**
83      * <p>The username of an alternate account to use to enable single-sign on. This is
84      * only used for AD Connector directories. This account must have privileges to add
85      * a service principal name.</p> <p>If the AD Connector service account does not
86      * have privileges to add a service principal name, you can specify an alternate
87      * account with the <i>UserName</i> and <i>Password</i> parameters. These
88      * credentials are only used to enable single sign-on and are not stored by the
89      * service. The AD Connector service account is not changed.</p>
90      */
GetUserName()91     inline const Aws::String& GetUserName() const{ return m_userName; }
92 
93     /**
94      * <p>The username of an alternate account to use to enable single-sign on. This is
95      * only used for AD Connector directories. This account must have privileges to add
96      * a service principal name.</p> <p>If the AD Connector service account does not
97      * have privileges to add a service principal name, you can specify an alternate
98      * account with the <i>UserName</i> and <i>Password</i> parameters. These
99      * credentials are only used to enable single sign-on and are not stored by the
100      * service. The AD Connector service account is not changed.</p>
101      */
UserNameHasBeenSet()102     inline bool UserNameHasBeenSet() const { return m_userNameHasBeenSet; }
103 
104     /**
105      * <p>The username of an alternate account to use to enable single-sign on. This is
106      * only used for AD Connector directories. This account must have privileges to add
107      * a service principal name.</p> <p>If the AD Connector service account does not
108      * have privileges to add a service principal name, you can specify an alternate
109      * account with the <i>UserName</i> and <i>Password</i> parameters. These
110      * credentials are only used to enable single sign-on and are not stored by the
111      * service. The AD Connector service account is not changed.</p>
112      */
SetUserName(const Aws::String & value)113     inline void SetUserName(const Aws::String& value) { m_userNameHasBeenSet = true; m_userName = value; }
114 
115     /**
116      * <p>The username of an alternate account to use to enable single-sign on. This is
117      * only used for AD Connector directories. This account must have privileges to add
118      * a service principal name.</p> <p>If the AD Connector service account does not
119      * have privileges to add a service principal name, you can specify an alternate
120      * account with the <i>UserName</i> and <i>Password</i> parameters. These
121      * credentials are only used to enable single sign-on and are not stored by the
122      * service. The AD Connector service account is not changed.</p>
123      */
SetUserName(Aws::String && value)124     inline void SetUserName(Aws::String&& value) { m_userNameHasBeenSet = true; m_userName = std::move(value); }
125 
126     /**
127      * <p>The username of an alternate account to use to enable single-sign on. This is
128      * only used for AD Connector directories. This account must have privileges to add
129      * a service principal name.</p> <p>If the AD Connector service account does not
130      * have privileges to add a service principal name, you can specify an alternate
131      * account with the <i>UserName</i> and <i>Password</i> parameters. These
132      * credentials are only used to enable single sign-on and are not stored by the
133      * service. The AD Connector service account is not changed.</p>
134      */
SetUserName(const char * value)135     inline void SetUserName(const char* value) { m_userNameHasBeenSet = true; m_userName.assign(value); }
136 
137     /**
138      * <p>The username of an alternate account to use to enable single-sign on. This is
139      * only used for AD Connector directories. This account must have privileges to add
140      * a service principal name.</p> <p>If the AD Connector service account does not
141      * have privileges to add a service principal name, you can specify an alternate
142      * account with the <i>UserName</i> and <i>Password</i> parameters. These
143      * credentials are only used to enable single sign-on and are not stored by the
144      * service. The AD Connector service account is not changed.</p>
145      */
WithUserName(const Aws::String & value)146     inline EnableSsoRequest& WithUserName(const Aws::String& value) { SetUserName(value); return *this;}
147 
148     /**
149      * <p>The username of an alternate account to use to enable single-sign on. This is
150      * only used for AD Connector directories. This account must have privileges to add
151      * a service principal name.</p> <p>If the AD Connector service account does not
152      * have privileges to add a service principal name, you can specify an alternate
153      * account with the <i>UserName</i> and <i>Password</i> parameters. These
154      * credentials are only used to enable single sign-on and are not stored by the
155      * service. The AD Connector service account is not changed.</p>
156      */
WithUserName(Aws::String && value)157     inline EnableSsoRequest& WithUserName(Aws::String&& value) { SetUserName(std::move(value)); return *this;}
158 
159     /**
160      * <p>The username of an alternate account to use to enable single-sign on. This is
161      * only used for AD Connector directories. This account must have privileges to add
162      * a service principal name.</p> <p>If the AD Connector service account does not
163      * have privileges to add a service principal name, you can specify an alternate
164      * account with the <i>UserName</i> and <i>Password</i> parameters. These
165      * credentials are only used to enable single sign-on and are not stored by the
166      * service. The AD Connector service account is not changed.</p>
167      */
WithUserName(const char * value)168     inline EnableSsoRequest& WithUserName(const char* value) { SetUserName(value); return *this;}
169 
170 
171     /**
172      * <p>The password of an alternate account to use to enable single-sign on. This is
173      * only used for AD Connector directories. For more information, see the
174      * <i>UserName</i> parameter.</p>
175      */
GetPassword()176     inline const Aws::String& GetPassword() const{ return m_password; }
177 
178     /**
179      * <p>The password of an alternate account to use to enable single-sign on. This is
180      * only used for AD Connector directories. For more information, see the
181      * <i>UserName</i> parameter.</p>
182      */
PasswordHasBeenSet()183     inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; }
184 
185     /**
186      * <p>The password of an alternate account to use to enable single-sign on. This is
187      * only used for AD Connector directories. For more information, see the
188      * <i>UserName</i> parameter.</p>
189      */
SetPassword(const Aws::String & value)190     inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; }
191 
192     /**
193      * <p>The password of an alternate account to use to enable single-sign on. This is
194      * only used for AD Connector directories. For more information, see the
195      * <i>UserName</i> parameter.</p>
196      */
SetPassword(Aws::String && value)197     inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); }
198 
199     /**
200      * <p>The password of an alternate account to use to enable single-sign on. This is
201      * only used for AD Connector directories. For more information, see the
202      * <i>UserName</i> parameter.</p>
203      */
SetPassword(const char * value)204     inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); }
205 
206     /**
207      * <p>The password of an alternate account to use to enable single-sign on. This is
208      * only used for AD Connector directories. For more information, see the
209      * <i>UserName</i> parameter.</p>
210      */
WithPassword(const Aws::String & value)211     inline EnableSsoRequest& WithPassword(const Aws::String& value) { SetPassword(value); return *this;}
212 
213     /**
214      * <p>The password of an alternate account to use to enable single-sign on. This is
215      * only used for AD Connector directories. For more information, see the
216      * <i>UserName</i> parameter.</p>
217      */
WithPassword(Aws::String && value)218     inline EnableSsoRequest& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;}
219 
220     /**
221      * <p>The password of an alternate account to use to enable single-sign on. This is
222      * only used for AD Connector directories. For more information, see the
223      * <i>UserName</i> parameter.</p>
224      */
WithPassword(const char * value)225     inline EnableSsoRequest& WithPassword(const char* value) { SetPassword(value); return *this;}
226 
227   private:
228 
229     Aws::String m_directoryId;
230     bool m_directoryIdHasBeenSet;
231 
232     Aws::String m_userName;
233     bool m_userNameHasBeenSet;
234 
235     Aws::String m_password;
236     bool m_passwordHasBeenSet;
237   };
238 
239 } // namespace Model
240 } // namespace DirectoryService
241 } // namespace Aws
242