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/sso-admin/SSOAdmin_EXPORTS.h>
8 #include <aws/sso-admin/model/StatusValues.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace SSOAdmin
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>A structure that is used to provide the status of the provisioning operation
30    * for a specified permission set.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/PermissionSetProvisioningStatus">AWS
32    * API Reference</a></p>
33    */
34   class AWS_SSOADMIN_API PermissionSetProvisioningStatus
35   {
36   public:
37     PermissionSetProvisioningStatus();
38     PermissionSetProvisioningStatus(Aws::Utils::Json::JsonView jsonValue);
39     PermissionSetProvisioningStatus& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>The status of the permission set provisioning process.</p>
45      */
GetStatus()46     inline const StatusValues& GetStatus() const{ return m_status; }
47 
48     /**
49      * <p>The status of the permission set provisioning process.</p>
50      */
StatusHasBeenSet()51     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
52 
53     /**
54      * <p>The status of the permission set provisioning process.</p>
55      */
SetStatus(const StatusValues & value)56     inline void SetStatus(const StatusValues& value) { m_statusHasBeenSet = true; m_status = value; }
57 
58     /**
59      * <p>The status of the permission set provisioning process.</p>
60      */
SetStatus(StatusValues && value)61     inline void SetStatus(StatusValues&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
62 
63     /**
64      * <p>The status of the permission set provisioning process.</p>
65      */
WithStatus(const StatusValues & value)66     inline PermissionSetProvisioningStatus& WithStatus(const StatusValues& value) { SetStatus(value); return *this;}
67 
68     /**
69      * <p>The status of the permission set provisioning process.</p>
70      */
WithStatus(StatusValues && value)71     inline PermissionSetProvisioningStatus& WithStatus(StatusValues&& value) { SetStatus(std::move(value)); return *this;}
72 
73 
74     /**
75      * <p>The identifier for tracking the request operation that is generated by the
76      * universally unique identifier (UUID) workflow.</p>
77      */
GetRequestId()78     inline const Aws::String& GetRequestId() const{ return m_requestId; }
79 
80     /**
81      * <p>The identifier for tracking the request operation that is generated by the
82      * universally unique identifier (UUID) workflow.</p>
83      */
RequestIdHasBeenSet()84     inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
85 
86     /**
87      * <p>The identifier for tracking the request operation that is generated by the
88      * universally unique identifier (UUID) workflow.</p>
89      */
SetRequestId(const Aws::String & value)90     inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
91 
92     /**
93      * <p>The identifier for tracking the request operation that is generated by the
94      * universally unique identifier (UUID) workflow.</p>
95      */
SetRequestId(Aws::String && value)96     inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
97 
98     /**
99      * <p>The identifier for tracking the request operation that is generated by the
100      * universally unique identifier (UUID) workflow.</p>
101      */
SetRequestId(const char * value)102     inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
103 
104     /**
105      * <p>The identifier for tracking the request operation that is generated by the
106      * universally unique identifier (UUID) workflow.</p>
107      */
WithRequestId(const Aws::String & value)108     inline PermissionSetProvisioningStatus& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
109 
110     /**
111      * <p>The identifier for tracking the request operation that is generated by the
112      * universally unique identifier (UUID) workflow.</p>
113      */
WithRequestId(Aws::String && value)114     inline PermissionSetProvisioningStatus& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
115 
116     /**
117      * <p>The identifier for tracking the request operation that is generated by the
118      * universally unique identifier (UUID) workflow.</p>
119      */
WithRequestId(const char * value)120     inline PermissionSetProvisioningStatus& WithRequestId(const char* value) { SetRequestId(value); return *this;}
121 
122 
123     /**
124      * <p>The identifier of the Amazon Web Services account from which to list the
125      * assignments.</p>
126      */
GetAccountId()127     inline const Aws::String& GetAccountId() const{ return m_accountId; }
128 
129     /**
130      * <p>The identifier of the Amazon Web Services account from which to list the
131      * assignments.</p>
132      */
AccountIdHasBeenSet()133     inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
134 
135     /**
136      * <p>The identifier of the Amazon Web Services account from which to list the
137      * assignments.</p>
138      */
SetAccountId(const Aws::String & value)139     inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
140 
141     /**
142      * <p>The identifier of the Amazon Web Services account from which to list the
143      * assignments.</p>
144      */
SetAccountId(Aws::String && value)145     inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
146 
147     /**
148      * <p>The identifier of the Amazon Web Services account from which to list the
149      * assignments.</p>
150      */
SetAccountId(const char * value)151     inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
152 
153     /**
154      * <p>The identifier of the Amazon Web Services account from which to list the
155      * assignments.</p>
156      */
WithAccountId(const Aws::String & value)157     inline PermissionSetProvisioningStatus& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
158 
159     /**
160      * <p>The identifier of the Amazon Web Services account from which to list the
161      * assignments.</p>
162      */
WithAccountId(Aws::String && value)163     inline PermissionSetProvisioningStatus& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
164 
165     /**
166      * <p>The identifier of the Amazon Web Services account from which to list the
167      * assignments.</p>
168      */
WithAccountId(const char * value)169     inline PermissionSetProvisioningStatus& WithAccountId(const char* value) { SetAccountId(value); return *this;}
170 
171 
172     /**
173      * <p>The ARN of the permission set that is being provisioned. For more information
174      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
175      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
176      * <i>Amazon Web Services General Reference</i>.</p>
177      */
GetPermissionSetArn()178     inline const Aws::String& GetPermissionSetArn() const{ return m_permissionSetArn; }
179 
180     /**
181      * <p>The ARN of the permission set that is being provisioned. For more information
182      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
183      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
184      * <i>Amazon Web Services General Reference</i>.</p>
185      */
PermissionSetArnHasBeenSet()186     inline bool PermissionSetArnHasBeenSet() const { return m_permissionSetArnHasBeenSet; }
187 
188     /**
189      * <p>The ARN of the permission set that is being provisioned. For more information
190      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
191      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
192      * <i>Amazon Web Services General Reference</i>.</p>
193      */
SetPermissionSetArn(const Aws::String & value)194     inline void SetPermissionSetArn(const Aws::String& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = value; }
195 
196     /**
197      * <p>The ARN of the permission set that is being provisioned. For more information
198      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
199      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
200      * <i>Amazon Web Services General Reference</i>.</p>
201      */
SetPermissionSetArn(Aws::String && value)202     inline void SetPermissionSetArn(Aws::String&& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = std::move(value); }
203 
204     /**
205      * <p>The ARN of the permission set that is being provisioned. For more information
206      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
207      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
208      * <i>Amazon Web Services General Reference</i>.</p>
209      */
SetPermissionSetArn(const char * value)210     inline void SetPermissionSetArn(const char* value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn.assign(value); }
211 
212     /**
213      * <p>The ARN of the permission set that is being provisioned. For more information
214      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
215      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
216      * <i>Amazon Web Services General Reference</i>.</p>
217      */
WithPermissionSetArn(const Aws::String & value)218     inline PermissionSetProvisioningStatus& WithPermissionSetArn(const Aws::String& value) { SetPermissionSetArn(value); return *this;}
219 
220     /**
221      * <p>The ARN of the permission set that is being provisioned. For more information
222      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
223      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
224      * <i>Amazon Web Services General Reference</i>.</p>
225      */
WithPermissionSetArn(Aws::String && value)226     inline PermissionSetProvisioningStatus& WithPermissionSetArn(Aws::String&& value) { SetPermissionSetArn(std::move(value)); return *this;}
227 
228     /**
229      * <p>The ARN of the permission set that is being provisioned. For more information
230      * about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon
231      * Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the
232      * <i>Amazon Web Services General Reference</i>.</p>
233      */
WithPermissionSetArn(const char * value)234     inline PermissionSetProvisioningStatus& WithPermissionSetArn(const char* value) { SetPermissionSetArn(value); return *this;}
235 
236 
237     /**
238      * <p>The message that contains an error or exception in case of an operation
239      * failure.</p>
240      */
GetFailureReason()241     inline const Aws::String& GetFailureReason() const{ return m_failureReason; }
242 
243     /**
244      * <p>The message that contains an error or exception in case of an operation
245      * failure.</p>
246      */
FailureReasonHasBeenSet()247     inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; }
248 
249     /**
250      * <p>The message that contains an error or exception in case of an operation
251      * failure.</p>
252      */
SetFailureReason(const Aws::String & value)253     inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; }
254 
255     /**
256      * <p>The message that contains an error or exception in case of an operation
257      * failure.</p>
258      */
SetFailureReason(Aws::String && value)259     inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); }
260 
261     /**
262      * <p>The message that contains an error or exception in case of an operation
263      * failure.</p>
264      */
SetFailureReason(const char * value)265     inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); }
266 
267     /**
268      * <p>The message that contains an error or exception in case of an operation
269      * failure.</p>
270      */
WithFailureReason(const Aws::String & value)271     inline PermissionSetProvisioningStatus& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;}
272 
273     /**
274      * <p>The message that contains an error or exception in case of an operation
275      * failure.</p>
276      */
WithFailureReason(Aws::String && value)277     inline PermissionSetProvisioningStatus& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;}
278 
279     /**
280      * <p>The message that contains an error or exception in case of an operation
281      * failure.</p>
282      */
WithFailureReason(const char * value)283     inline PermissionSetProvisioningStatus& WithFailureReason(const char* value) { SetFailureReason(value); return *this;}
284 
285 
286     /**
287      * <p>The date that the permission set was created.</p>
288      */
GetCreatedDate()289     inline const Aws::Utils::DateTime& GetCreatedDate() const{ return m_createdDate; }
290 
291     /**
292      * <p>The date that the permission set was created.</p>
293      */
CreatedDateHasBeenSet()294     inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
295 
296     /**
297      * <p>The date that the permission set was created.</p>
298      */
SetCreatedDate(const Aws::Utils::DateTime & value)299     inline void SetCreatedDate(const Aws::Utils::DateTime& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
300 
301     /**
302      * <p>The date that the permission set was created.</p>
303      */
SetCreatedDate(Aws::Utils::DateTime && value)304     inline void SetCreatedDate(Aws::Utils::DateTime&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
305 
306     /**
307      * <p>The date that the permission set was created.</p>
308      */
WithCreatedDate(const Aws::Utils::DateTime & value)309     inline PermissionSetProvisioningStatus& WithCreatedDate(const Aws::Utils::DateTime& value) { SetCreatedDate(value); return *this;}
310 
311     /**
312      * <p>The date that the permission set was created.</p>
313      */
WithCreatedDate(Aws::Utils::DateTime && value)314     inline PermissionSetProvisioningStatus& WithCreatedDate(Aws::Utils::DateTime&& value) { SetCreatedDate(std::move(value)); return *this;}
315 
316   private:
317 
318     StatusValues m_status;
319     bool m_statusHasBeenSet;
320 
321     Aws::String m_requestId;
322     bool m_requestIdHasBeenSet;
323 
324     Aws::String m_accountId;
325     bool m_accountIdHasBeenSet;
326 
327     Aws::String m_permissionSetArn;
328     bool m_permissionSetArnHasBeenSet;
329 
330     Aws::String m_failureReason;
331     bool m_failureReasonHasBeenSet;
332 
333     Aws::Utils::DateTime m_createdDate;
334     bool m_createdDateHasBeenSet;
335   };
336 
337 } // namespace Model
338 } // namespace SSOAdmin
339 } // namespace Aws
340