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/config/ConfigService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/config/model/OrganizationResourceDetailedStatus.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 ConfigService
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Organization conformance pack creation or deletion status in each member
30    * account. This includes the name of the conformance pack, the status, error code
31    * and error message when the conformance pack creation or deletion failed.
32    * </p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/OrganizationConformancePackDetailedStatus">AWS
34    * API Reference</a></p>
35    */
36   class AWS_CONFIGSERVICE_API OrganizationConformancePackDetailedStatus
37   {
38   public:
39     OrganizationConformancePackDetailedStatus();
40     OrganizationConformancePackDetailedStatus(Aws::Utils::Json::JsonView jsonValue);
41     OrganizationConformancePackDetailedStatus& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The 12-digit account ID of a member account.</p>
47      */
GetAccountId()48     inline const Aws::String& GetAccountId() const{ return m_accountId; }
49 
50     /**
51      * <p>The 12-digit account ID of a member account.</p>
52      */
AccountIdHasBeenSet()53     inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
54 
55     /**
56      * <p>The 12-digit account ID of a member account.</p>
57      */
SetAccountId(const Aws::String & value)58     inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; }
59 
60     /**
61      * <p>The 12-digit account ID of a member account.</p>
62      */
SetAccountId(Aws::String && value)63     inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); }
64 
65     /**
66      * <p>The 12-digit account ID of a member account.</p>
67      */
SetAccountId(const char * value)68     inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); }
69 
70     /**
71      * <p>The 12-digit account ID of a member account.</p>
72      */
WithAccountId(const Aws::String & value)73     inline OrganizationConformancePackDetailedStatus& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;}
74 
75     /**
76      * <p>The 12-digit account ID of a member account.</p>
77      */
WithAccountId(Aws::String && value)78     inline OrganizationConformancePackDetailedStatus& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;}
79 
80     /**
81      * <p>The 12-digit account ID of a member account.</p>
82      */
WithAccountId(const char * value)83     inline OrganizationConformancePackDetailedStatus& WithAccountId(const char* value) { SetAccountId(value); return *this;}
84 
85 
86     /**
87      * <p>The name of conformance pack deployed in the member account.</p>
88      */
GetConformancePackName()89     inline const Aws::String& GetConformancePackName() const{ return m_conformancePackName; }
90 
91     /**
92      * <p>The name of conformance pack deployed in the member account.</p>
93      */
ConformancePackNameHasBeenSet()94     inline bool ConformancePackNameHasBeenSet() const { return m_conformancePackNameHasBeenSet; }
95 
96     /**
97      * <p>The name of conformance pack deployed in the member account.</p>
98      */
SetConformancePackName(const Aws::String & value)99     inline void SetConformancePackName(const Aws::String& value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName = value; }
100 
101     /**
102      * <p>The name of conformance pack deployed in the member account.</p>
103      */
SetConformancePackName(Aws::String && value)104     inline void SetConformancePackName(Aws::String&& value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName = std::move(value); }
105 
106     /**
107      * <p>The name of conformance pack deployed in the member account.</p>
108      */
SetConformancePackName(const char * value)109     inline void SetConformancePackName(const char* value) { m_conformancePackNameHasBeenSet = true; m_conformancePackName.assign(value); }
110 
111     /**
112      * <p>The name of conformance pack deployed in the member account.</p>
113      */
WithConformancePackName(const Aws::String & value)114     inline OrganizationConformancePackDetailedStatus& WithConformancePackName(const Aws::String& value) { SetConformancePackName(value); return *this;}
115 
116     /**
117      * <p>The name of conformance pack deployed in the member account.</p>
118      */
WithConformancePackName(Aws::String && value)119     inline OrganizationConformancePackDetailedStatus& WithConformancePackName(Aws::String&& value) { SetConformancePackName(std::move(value)); return *this;}
120 
121     /**
122      * <p>The name of conformance pack deployed in the member account.</p>
123      */
WithConformancePackName(const char * value)124     inline OrganizationConformancePackDetailedStatus& WithConformancePackName(const char* value) { SetConformancePackName(value); return *this;}
125 
126 
127     /**
128      * <p>Indicates deployment status for conformance pack in a member account. When
129      * master account calls <code>PutOrganizationConformancePack</code> action for the
130      * first time, conformance pack status is created in the member account. When
131      * master account calls <code>PutOrganizationConformancePack</code> action for the
132      * second time, conformance pack status is updated in the member account.
133      * Conformance pack status is deleted when the master account deletes
134      * <code>OrganizationConformancePack</code> and disables service access for
135      * <code>config-multiaccountsetup.amazonaws.com</code>. </p> <p> Config sets the
136      * state of the conformance pack to:</p> <ul> <li> <p>
137      * <code>CREATE_SUCCESSFUL</code> when conformance pack has been created in the
138      * member account. </p> </li> <li> <p> <code>CREATE_IN_PROGRESS</code> when
139      * conformance pack is being created in the member account.</p> </li> <li> <p>
140      * <code>CREATE_FAILED</code> when conformance pack creation has failed in the
141      * member account.</p> </li> <li> <p> <code>DELETE_FAILED</code> when conformance
142      * pack deletion has failed in the member account.</p> </li> <li> <p>
143      * <code>DELETE_IN_PROGRESS</code> when conformance pack is being deleted in the
144      * member account.</p> </li> <li> <p> <code>DELETE_SUCCESSFUL</code> when
145      * conformance pack has been deleted in the member account. </p> </li> <li> <p>
146      * <code>UPDATE_SUCCESSFUL</code> when conformance pack has been updated in the
147      * member account.</p> </li> <li> <p> <code>UPDATE_IN_PROGRESS</code> when
148      * conformance pack is being updated in the member account.</p> </li> <li> <p>
149      * <code>UPDATE_FAILED</code> when conformance pack deletion has failed in the
150      * member account.</p> </li> </ul>
151      */
GetStatus()152     inline const OrganizationResourceDetailedStatus& GetStatus() const{ return m_status; }
153 
154     /**
155      * <p>Indicates deployment status for conformance pack in a member account. When
156      * master account calls <code>PutOrganizationConformancePack</code> action for the
157      * first time, conformance pack status is created in the member account. When
158      * master account calls <code>PutOrganizationConformancePack</code> action for the
159      * second time, conformance pack status is updated in the member account.
160      * Conformance pack status is deleted when the master account deletes
161      * <code>OrganizationConformancePack</code> and disables service access for
162      * <code>config-multiaccountsetup.amazonaws.com</code>. </p> <p> Config sets the
163      * state of the conformance pack to:</p> <ul> <li> <p>
164      * <code>CREATE_SUCCESSFUL</code> when conformance pack has been created in the
165      * member account. </p> </li> <li> <p> <code>CREATE_IN_PROGRESS</code> when
166      * conformance pack is being created in the member account.</p> </li> <li> <p>
167      * <code>CREATE_FAILED</code> when conformance pack creation has failed in the
168      * member account.</p> </li> <li> <p> <code>DELETE_FAILED</code> when conformance
169      * pack deletion has failed in the member account.</p> </li> <li> <p>
170      * <code>DELETE_IN_PROGRESS</code> when conformance pack is being deleted in the
171      * member account.</p> </li> <li> <p> <code>DELETE_SUCCESSFUL</code> when
172      * conformance pack has been deleted in the member account. </p> </li> <li> <p>
173      * <code>UPDATE_SUCCESSFUL</code> when conformance pack has been updated in the
174      * member account.</p> </li> <li> <p> <code>UPDATE_IN_PROGRESS</code> when
175      * conformance pack is being updated in the member account.</p> </li> <li> <p>
176      * <code>UPDATE_FAILED</code> when conformance pack deletion has failed in the
177      * member account.</p> </li> </ul>
178      */
StatusHasBeenSet()179     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
180 
181     /**
182      * <p>Indicates deployment status for conformance pack in a member account. When
183      * master account calls <code>PutOrganizationConformancePack</code> action for the
184      * first time, conformance pack status is created in the member account. When
185      * master account calls <code>PutOrganizationConformancePack</code> action for the
186      * second time, conformance pack status is updated in the member account.
187      * Conformance pack status is deleted when the master account deletes
188      * <code>OrganizationConformancePack</code> and disables service access for
189      * <code>config-multiaccountsetup.amazonaws.com</code>. </p> <p> Config sets the
190      * state of the conformance pack to:</p> <ul> <li> <p>
191      * <code>CREATE_SUCCESSFUL</code> when conformance pack has been created in the
192      * member account. </p> </li> <li> <p> <code>CREATE_IN_PROGRESS</code> when
193      * conformance pack is being created in the member account.</p> </li> <li> <p>
194      * <code>CREATE_FAILED</code> when conformance pack creation has failed in the
195      * member account.</p> </li> <li> <p> <code>DELETE_FAILED</code> when conformance
196      * pack deletion has failed in the member account.</p> </li> <li> <p>
197      * <code>DELETE_IN_PROGRESS</code> when conformance pack is being deleted in the
198      * member account.</p> </li> <li> <p> <code>DELETE_SUCCESSFUL</code> when
199      * conformance pack has been deleted in the member account. </p> </li> <li> <p>
200      * <code>UPDATE_SUCCESSFUL</code> when conformance pack has been updated in the
201      * member account.</p> </li> <li> <p> <code>UPDATE_IN_PROGRESS</code> when
202      * conformance pack is being updated in the member account.</p> </li> <li> <p>
203      * <code>UPDATE_FAILED</code> when conformance pack deletion has failed in the
204      * member account.</p> </li> </ul>
205      */
SetStatus(const OrganizationResourceDetailedStatus & value)206     inline void SetStatus(const OrganizationResourceDetailedStatus& value) { m_statusHasBeenSet = true; m_status = value; }
207 
208     /**
209      * <p>Indicates deployment status for conformance pack in a member account. When
210      * master account calls <code>PutOrganizationConformancePack</code> action for the
211      * first time, conformance pack status is created in the member account. When
212      * master account calls <code>PutOrganizationConformancePack</code> action for the
213      * second time, conformance pack status is updated in the member account.
214      * Conformance pack status is deleted when the master account deletes
215      * <code>OrganizationConformancePack</code> and disables service access for
216      * <code>config-multiaccountsetup.amazonaws.com</code>. </p> <p> Config sets the
217      * state of the conformance pack to:</p> <ul> <li> <p>
218      * <code>CREATE_SUCCESSFUL</code> when conformance pack has been created in the
219      * member account. </p> </li> <li> <p> <code>CREATE_IN_PROGRESS</code> when
220      * conformance pack is being created in the member account.</p> </li> <li> <p>
221      * <code>CREATE_FAILED</code> when conformance pack creation has failed in the
222      * member account.</p> </li> <li> <p> <code>DELETE_FAILED</code> when conformance
223      * pack deletion has failed in the member account.</p> </li> <li> <p>
224      * <code>DELETE_IN_PROGRESS</code> when conformance pack is being deleted in the
225      * member account.</p> </li> <li> <p> <code>DELETE_SUCCESSFUL</code> when
226      * conformance pack has been deleted in the member account. </p> </li> <li> <p>
227      * <code>UPDATE_SUCCESSFUL</code> when conformance pack has been updated in the
228      * member account.</p> </li> <li> <p> <code>UPDATE_IN_PROGRESS</code> when
229      * conformance pack is being updated in the member account.</p> </li> <li> <p>
230      * <code>UPDATE_FAILED</code> when conformance pack deletion has failed in the
231      * member account.</p> </li> </ul>
232      */
SetStatus(OrganizationResourceDetailedStatus && value)233     inline void SetStatus(OrganizationResourceDetailedStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
234 
235     /**
236      * <p>Indicates deployment status for conformance pack in a member account. When
237      * master account calls <code>PutOrganizationConformancePack</code> action for the
238      * first time, conformance pack status is created in the member account. When
239      * master account calls <code>PutOrganizationConformancePack</code> action for the
240      * second time, conformance pack status is updated in the member account.
241      * Conformance pack status is deleted when the master account deletes
242      * <code>OrganizationConformancePack</code> and disables service access for
243      * <code>config-multiaccountsetup.amazonaws.com</code>. </p> <p> Config sets the
244      * state of the conformance pack to:</p> <ul> <li> <p>
245      * <code>CREATE_SUCCESSFUL</code> when conformance pack has been created in the
246      * member account. </p> </li> <li> <p> <code>CREATE_IN_PROGRESS</code> when
247      * conformance pack is being created in the member account.</p> </li> <li> <p>
248      * <code>CREATE_FAILED</code> when conformance pack creation has failed in the
249      * member account.</p> </li> <li> <p> <code>DELETE_FAILED</code> when conformance
250      * pack deletion has failed in the member account.</p> </li> <li> <p>
251      * <code>DELETE_IN_PROGRESS</code> when conformance pack is being deleted in the
252      * member account.</p> </li> <li> <p> <code>DELETE_SUCCESSFUL</code> when
253      * conformance pack has been deleted in the member account. </p> </li> <li> <p>
254      * <code>UPDATE_SUCCESSFUL</code> when conformance pack has been updated in the
255      * member account.</p> </li> <li> <p> <code>UPDATE_IN_PROGRESS</code> when
256      * conformance pack is being updated in the member account.</p> </li> <li> <p>
257      * <code>UPDATE_FAILED</code> when conformance pack deletion has failed in the
258      * member account.</p> </li> </ul>
259      */
WithStatus(const OrganizationResourceDetailedStatus & value)260     inline OrganizationConformancePackDetailedStatus& WithStatus(const OrganizationResourceDetailedStatus& value) { SetStatus(value); return *this;}
261 
262     /**
263      * <p>Indicates deployment status for conformance pack in a member account. When
264      * master account calls <code>PutOrganizationConformancePack</code> action for the
265      * first time, conformance pack status is created in the member account. When
266      * master account calls <code>PutOrganizationConformancePack</code> action for the
267      * second time, conformance pack status is updated in the member account.
268      * Conformance pack status is deleted when the master account deletes
269      * <code>OrganizationConformancePack</code> and disables service access for
270      * <code>config-multiaccountsetup.amazonaws.com</code>. </p> <p> Config sets the
271      * state of the conformance pack to:</p> <ul> <li> <p>
272      * <code>CREATE_SUCCESSFUL</code> when conformance pack has been created in the
273      * member account. </p> </li> <li> <p> <code>CREATE_IN_PROGRESS</code> when
274      * conformance pack is being created in the member account.</p> </li> <li> <p>
275      * <code>CREATE_FAILED</code> when conformance pack creation has failed in the
276      * member account.</p> </li> <li> <p> <code>DELETE_FAILED</code> when conformance
277      * pack deletion has failed in the member account.</p> </li> <li> <p>
278      * <code>DELETE_IN_PROGRESS</code> when conformance pack is being deleted in the
279      * member account.</p> </li> <li> <p> <code>DELETE_SUCCESSFUL</code> when
280      * conformance pack has been deleted in the member account. </p> </li> <li> <p>
281      * <code>UPDATE_SUCCESSFUL</code> when conformance pack has been updated in the
282      * member account.</p> </li> <li> <p> <code>UPDATE_IN_PROGRESS</code> when
283      * conformance pack is being updated in the member account.</p> </li> <li> <p>
284      * <code>UPDATE_FAILED</code> when conformance pack deletion has failed in the
285      * member account.</p> </li> </ul>
286      */
WithStatus(OrganizationResourceDetailedStatus && value)287     inline OrganizationConformancePackDetailedStatus& WithStatus(OrganizationResourceDetailedStatus&& value) { SetStatus(std::move(value)); return *this;}
288 
289 
290     /**
291      * <p>An error code that is returned when conformance pack creation or deletion
292      * failed in the member account. </p>
293      */
GetErrorCode()294     inline const Aws::String& GetErrorCode() const{ return m_errorCode; }
295 
296     /**
297      * <p>An error code that is returned when conformance pack creation or deletion
298      * failed in the member account. </p>
299      */
ErrorCodeHasBeenSet()300     inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; }
301 
302     /**
303      * <p>An error code that is returned when conformance pack creation or deletion
304      * failed in the member account. </p>
305      */
SetErrorCode(const Aws::String & value)306     inline void SetErrorCode(const Aws::String& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; }
307 
308     /**
309      * <p>An error code that is returned when conformance pack creation or deletion
310      * failed in the member account. </p>
311      */
SetErrorCode(Aws::String && value)312     inline void SetErrorCode(Aws::String&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); }
313 
314     /**
315      * <p>An error code that is returned when conformance pack creation or deletion
316      * failed in the member account. </p>
317      */
SetErrorCode(const char * value)318     inline void SetErrorCode(const char* value) { m_errorCodeHasBeenSet = true; m_errorCode.assign(value); }
319 
320     /**
321      * <p>An error code that is returned when conformance pack creation or deletion
322      * failed in the member account. </p>
323      */
WithErrorCode(const Aws::String & value)324     inline OrganizationConformancePackDetailedStatus& WithErrorCode(const Aws::String& value) { SetErrorCode(value); return *this;}
325 
326     /**
327      * <p>An error code that is returned when conformance pack creation or deletion
328      * failed in the member account. </p>
329      */
WithErrorCode(Aws::String && value)330     inline OrganizationConformancePackDetailedStatus& WithErrorCode(Aws::String&& value) { SetErrorCode(std::move(value)); return *this;}
331 
332     /**
333      * <p>An error code that is returned when conformance pack creation or deletion
334      * failed in the member account. </p>
335      */
WithErrorCode(const char * value)336     inline OrganizationConformancePackDetailedStatus& WithErrorCode(const char* value) { SetErrorCode(value); return *this;}
337 
338 
339     /**
340      * <p>An error message indicating that conformance pack account creation or
341      * deletion has failed due to an error in the member account. </p>
342      */
GetErrorMessage()343     inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; }
344 
345     /**
346      * <p>An error message indicating that conformance pack account creation or
347      * deletion has failed due to an error in the member account. </p>
348      */
ErrorMessageHasBeenSet()349     inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; }
350 
351     /**
352      * <p>An error message indicating that conformance pack account creation or
353      * deletion has failed due to an error in the member account. </p>
354      */
SetErrorMessage(const Aws::String & value)355     inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; }
356 
357     /**
358      * <p>An error message indicating that conformance pack account creation or
359      * deletion has failed due to an error in the member account. </p>
360      */
SetErrorMessage(Aws::String && value)361     inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); }
362 
363     /**
364      * <p>An error message indicating that conformance pack account creation or
365      * deletion has failed due to an error in the member account. </p>
366      */
SetErrorMessage(const char * value)367     inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); }
368 
369     /**
370      * <p>An error message indicating that conformance pack account creation or
371      * deletion has failed due to an error in the member account. </p>
372      */
WithErrorMessage(const Aws::String & value)373     inline OrganizationConformancePackDetailedStatus& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;}
374 
375     /**
376      * <p>An error message indicating that conformance pack account creation or
377      * deletion has failed due to an error in the member account. </p>
378      */
WithErrorMessage(Aws::String && value)379     inline OrganizationConformancePackDetailedStatus& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;}
380 
381     /**
382      * <p>An error message indicating that conformance pack account creation or
383      * deletion has failed due to an error in the member account. </p>
384      */
WithErrorMessage(const char * value)385     inline OrganizationConformancePackDetailedStatus& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;}
386 
387 
388     /**
389      * <p>The timestamp of the last status update.</p>
390      */
GetLastUpdateTime()391     inline const Aws::Utils::DateTime& GetLastUpdateTime() const{ return m_lastUpdateTime; }
392 
393     /**
394      * <p>The timestamp of the last status update.</p>
395      */
LastUpdateTimeHasBeenSet()396     inline bool LastUpdateTimeHasBeenSet() const { return m_lastUpdateTimeHasBeenSet; }
397 
398     /**
399      * <p>The timestamp of the last status update.</p>
400      */
SetLastUpdateTime(const Aws::Utils::DateTime & value)401     inline void SetLastUpdateTime(const Aws::Utils::DateTime& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = value; }
402 
403     /**
404      * <p>The timestamp of the last status update.</p>
405      */
SetLastUpdateTime(Aws::Utils::DateTime && value)406     inline void SetLastUpdateTime(Aws::Utils::DateTime&& value) { m_lastUpdateTimeHasBeenSet = true; m_lastUpdateTime = std::move(value); }
407 
408     /**
409      * <p>The timestamp of the last status update.</p>
410      */
WithLastUpdateTime(const Aws::Utils::DateTime & value)411     inline OrganizationConformancePackDetailedStatus& WithLastUpdateTime(const Aws::Utils::DateTime& value) { SetLastUpdateTime(value); return *this;}
412 
413     /**
414      * <p>The timestamp of the last status update.</p>
415      */
WithLastUpdateTime(Aws::Utils::DateTime && value)416     inline OrganizationConformancePackDetailedStatus& WithLastUpdateTime(Aws::Utils::DateTime&& value) { SetLastUpdateTime(std::move(value)); return *this;}
417 
418   private:
419 
420     Aws::String m_accountId;
421     bool m_accountIdHasBeenSet;
422 
423     Aws::String m_conformancePackName;
424     bool m_conformancePackNameHasBeenSet;
425 
426     OrganizationResourceDetailedStatus m_status;
427     bool m_statusHasBeenSet;
428 
429     Aws::String m_errorCode;
430     bool m_errorCodeHasBeenSet;
431 
432     Aws::String m_errorMessage;
433     bool m_errorMessageHasBeenSet;
434 
435     Aws::Utils::DateTime m_lastUpdateTime;
436     bool m_lastUpdateTimeHasBeenSet;
437   };
438 
439 } // namespace Model
440 } // namespace ConfigService
441 } // namespace Aws
442