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/core/utils/memory/stl/AWSVector.h>
10 #include <aws/config/model/RemediationConfiguration.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>List of each of the failed remediations with specific reasons.</p><p><h3>See
30    * Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/FailedRemediationBatch">AWS
32    * API Reference</a></p>
33    */
34   class AWS_CONFIGSERVICE_API FailedRemediationBatch
35   {
36   public:
37     FailedRemediationBatch();
38     FailedRemediationBatch(Aws::Utils::Json::JsonView jsonValue);
39     FailedRemediationBatch& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>Returns a failure message. For example, the resource is already
45      * compliant.</p>
46      */
GetFailureMessage()47     inline const Aws::String& GetFailureMessage() const{ return m_failureMessage; }
48 
49     /**
50      * <p>Returns a failure message. For example, the resource is already
51      * compliant.</p>
52      */
FailureMessageHasBeenSet()53     inline bool FailureMessageHasBeenSet() const { return m_failureMessageHasBeenSet; }
54 
55     /**
56      * <p>Returns a failure message. For example, the resource is already
57      * compliant.</p>
58      */
SetFailureMessage(const Aws::String & value)59     inline void SetFailureMessage(const Aws::String& value) { m_failureMessageHasBeenSet = true; m_failureMessage = value; }
60 
61     /**
62      * <p>Returns a failure message. For example, the resource is already
63      * compliant.</p>
64      */
SetFailureMessage(Aws::String && value)65     inline void SetFailureMessage(Aws::String&& value) { m_failureMessageHasBeenSet = true; m_failureMessage = std::move(value); }
66 
67     /**
68      * <p>Returns a failure message. For example, the resource is already
69      * compliant.</p>
70      */
SetFailureMessage(const char * value)71     inline void SetFailureMessage(const char* value) { m_failureMessageHasBeenSet = true; m_failureMessage.assign(value); }
72 
73     /**
74      * <p>Returns a failure message. For example, the resource is already
75      * compliant.</p>
76      */
WithFailureMessage(const Aws::String & value)77     inline FailedRemediationBatch& WithFailureMessage(const Aws::String& value) { SetFailureMessage(value); return *this;}
78 
79     /**
80      * <p>Returns a failure message. For example, the resource is already
81      * compliant.</p>
82      */
WithFailureMessage(Aws::String && value)83     inline FailedRemediationBatch& WithFailureMessage(Aws::String&& value) { SetFailureMessage(std::move(value)); return *this;}
84 
85     /**
86      * <p>Returns a failure message. For example, the resource is already
87      * compliant.</p>
88      */
WithFailureMessage(const char * value)89     inline FailedRemediationBatch& WithFailureMessage(const char* value) { SetFailureMessage(value); return *this;}
90 
91 
92     /**
93      * <p>Returns remediation configurations of the failed items.</p>
94      */
GetFailedItems()95     inline const Aws::Vector<RemediationConfiguration>& GetFailedItems() const{ return m_failedItems; }
96 
97     /**
98      * <p>Returns remediation configurations of the failed items.</p>
99      */
FailedItemsHasBeenSet()100     inline bool FailedItemsHasBeenSet() const { return m_failedItemsHasBeenSet; }
101 
102     /**
103      * <p>Returns remediation configurations of the failed items.</p>
104      */
SetFailedItems(const Aws::Vector<RemediationConfiguration> & value)105     inline void SetFailedItems(const Aws::Vector<RemediationConfiguration>& value) { m_failedItemsHasBeenSet = true; m_failedItems = value; }
106 
107     /**
108      * <p>Returns remediation configurations of the failed items.</p>
109      */
SetFailedItems(Aws::Vector<RemediationConfiguration> && value)110     inline void SetFailedItems(Aws::Vector<RemediationConfiguration>&& value) { m_failedItemsHasBeenSet = true; m_failedItems = std::move(value); }
111 
112     /**
113      * <p>Returns remediation configurations of the failed items.</p>
114      */
WithFailedItems(const Aws::Vector<RemediationConfiguration> & value)115     inline FailedRemediationBatch& WithFailedItems(const Aws::Vector<RemediationConfiguration>& value) { SetFailedItems(value); return *this;}
116 
117     /**
118      * <p>Returns remediation configurations of the failed items.</p>
119      */
WithFailedItems(Aws::Vector<RemediationConfiguration> && value)120     inline FailedRemediationBatch& WithFailedItems(Aws::Vector<RemediationConfiguration>&& value) { SetFailedItems(std::move(value)); return *this;}
121 
122     /**
123      * <p>Returns remediation configurations of the failed items.</p>
124      */
AddFailedItems(const RemediationConfiguration & value)125     inline FailedRemediationBatch& AddFailedItems(const RemediationConfiguration& value) { m_failedItemsHasBeenSet = true; m_failedItems.push_back(value); return *this; }
126 
127     /**
128      * <p>Returns remediation configurations of the failed items.</p>
129      */
AddFailedItems(RemediationConfiguration && value)130     inline FailedRemediationBatch& AddFailedItems(RemediationConfiguration&& value) { m_failedItemsHasBeenSet = true; m_failedItems.push_back(std::move(value)); return *this; }
131 
132   private:
133 
134     Aws::String m_failureMessage;
135     bool m_failureMessageHasBeenSet;
136 
137     Aws::Vector<RemediationConfiguration> m_failedItems;
138     bool m_failedItemsHasBeenSet;
139   };
140 
141 } // namespace Model
142 } // namespace ConfigService
143 } // namespace Aws
144