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/wellarchitected/WellArchitected_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/wellarchitected/model/LensStatus.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/core/utils/memory/stl/AWSMap.h>
12 #include <aws/wellarchitected/model/Risk.h>
13 #include <utility>
14 
15 namespace Aws
16 {
17 namespace Utils
18 {
19 namespace Json
20 {
21   class JsonValue;
22   class JsonView;
23 } // namespace Json
24 } // namespace Utils
25 namespace WellArchitected
26 {
27 namespace Model
28 {
29 
30   /**
31    * <p>A lens review summary of a workload.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/LensReviewSummary">AWS
33    * API Reference</a></p>
34    */
35   class AWS_WELLARCHITECTED_API LensReviewSummary
36   {
37   public:
38     LensReviewSummary();
39     LensReviewSummary(Aws::Utils::Json::JsonView jsonValue);
40     LensReviewSummary& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44 
GetLensAlias()45     inline const Aws::String& GetLensAlias() const{ return m_lensAlias; }
46 
47 
LensAliasHasBeenSet()48     inline bool LensAliasHasBeenSet() const { return m_lensAliasHasBeenSet; }
49 
50 
SetLensAlias(const Aws::String & value)51     inline void SetLensAlias(const Aws::String& value) { m_lensAliasHasBeenSet = true; m_lensAlias = value; }
52 
53 
SetLensAlias(Aws::String && value)54     inline void SetLensAlias(Aws::String&& value) { m_lensAliasHasBeenSet = true; m_lensAlias = std::move(value); }
55 
56 
SetLensAlias(const char * value)57     inline void SetLensAlias(const char* value) { m_lensAliasHasBeenSet = true; m_lensAlias.assign(value); }
58 
59 
WithLensAlias(const Aws::String & value)60     inline LensReviewSummary& WithLensAlias(const Aws::String& value) { SetLensAlias(value); return *this;}
61 
62 
WithLensAlias(Aws::String && value)63     inline LensReviewSummary& WithLensAlias(Aws::String&& value) { SetLensAlias(std::move(value)); return *this;}
64 
65 
WithLensAlias(const char * value)66     inline LensReviewSummary& WithLensAlias(const char* value) { SetLensAlias(value); return *this;}
67 
68 
69     /**
70      * <p>The version of the lens.</p>
71      */
GetLensVersion()72     inline const Aws::String& GetLensVersion() const{ return m_lensVersion; }
73 
74     /**
75      * <p>The version of the lens.</p>
76      */
LensVersionHasBeenSet()77     inline bool LensVersionHasBeenSet() const { return m_lensVersionHasBeenSet; }
78 
79     /**
80      * <p>The version of the lens.</p>
81      */
SetLensVersion(const Aws::String & value)82     inline void SetLensVersion(const Aws::String& value) { m_lensVersionHasBeenSet = true; m_lensVersion = value; }
83 
84     /**
85      * <p>The version of the lens.</p>
86      */
SetLensVersion(Aws::String && value)87     inline void SetLensVersion(Aws::String&& value) { m_lensVersionHasBeenSet = true; m_lensVersion = std::move(value); }
88 
89     /**
90      * <p>The version of the lens.</p>
91      */
SetLensVersion(const char * value)92     inline void SetLensVersion(const char* value) { m_lensVersionHasBeenSet = true; m_lensVersion.assign(value); }
93 
94     /**
95      * <p>The version of the lens.</p>
96      */
WithLensVersion(const Aws::String & value)97     inline LensReviewSummary& WithLensVersion(const Aws::String& value) { SetLensVersion(value); return *this;}
98 
99     /**
100      * <p>The version of the lens.</p>
101      */
WithLensVersion(Aws::String && value)102     inline LensReviewSummary& WithLensVersion(Aws::String&& value) { SetLensVersion(std::move(value)); return *this;}
103 
104     /**
105      * <p>The version of the lens.</p>
106      */
WithLensVersion(const char * value)107     inline LensReviewSummary& WithLensVersion(const char* value) { SetLensVersion(value); return *this;}
108 
109 
110 
GetLensName()111     inline const Aws::String& GetLensName() const{ return m_lensName; }
112 
113 
LensNameHasBeenSet()114     inline bool LensNameHasBeenSet() const { return m_lensNameHasBeenSet; }
115 
116 
SetLensName(const Aws::String & value)117     inline void SetLensName(const Aws::String& value) { m_lensNameHasBeenSet = true; m_lensName = value; }
118 
119 
SetLensName(Aws::String && value)120     inline void SetLensName(Aws::String&& value) { m_lensNameHasBeenSet = true; m_lensName = std::move(value); }
121 
122 
SetLensName(const char * value)123     inline void SetLensName(const char* value) { m_lensNameHasBeenSet = true; m_lensName.assign(value); }
124 
125 
WithLensName(const Aws::String & value)126     inline LensReviewSummary& WithLensName(const Aws::String& value) { SetLensName(value); return *this;}
127 
128 
WithLensName(Aws::String && value)129     inline LensReviewSummary& WithLensName(Aws::String&& value) { SetLensName(std::move(value)); return *this;}
130 
131 
WithLensName(const char * value)132     inline LensReviewSummary& WithLensName(const char* value) { SetLensName(value); return *this;}
133 
134 
135     /**
136      * <p>The status of the lens.</p>
137      */
GetLensStatus()138     inline const LensStatus& GetLensStatus() const{ return m_lensStatus; }
139 
140     /**
141      * <p>The status of the lens.</p>
142      */
LensStatusHasBeenSet()143     inline bool LensStatusHasBeenSet() const { return m_lensStatusHasBeenSet; }
144 
145     /**
146      * <p>The status of the lens.</p>
147      */
SetLensStatus(const LensStatus & value)148     inline void SetLensStatus(const LensStatus& value) { m_lensStatusHasBeenSet = true; m_lensStatus = value; }
149 
150     /**
151      * <p>The status of the lens.</p>
152      */
SetLensStatus(LensStatus && value)153     inline void SetLensStatus(LensStatus&& value) { m_lensStatusHasBeenSet = true; m_lensStatus = std::move(value); }
154 
155     /**
156      * <p>The status of the lens.</p>
157      */
WithLensStatus(const LensStatus & value)158     inline LensReviewSummary& WithLensStatus(const LensStatus& value) { SetLensStatus(value); return *this;}
159 
160     /**
161      * <p>The status of the lens.</p>
162      */
WithLensStatus(LensStatus && value)163     inline LensReviewSummary& WithLensStatus(LensStatus&& value) { SetLensStatus(std::move(value)); return *this;}
164 
165 
166 
GetUpdatedAt()167     inline const Aws::Utils::DateTime& GetUpdatedAt() const{ return m_updatedAt; }
168 
169 
UpdatedAtHasBeenSet()170     inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
171 
172 
SetUpdatedAt(const Aws::Utils::DateTime & value)173     inline void SetUpdatedAt(const Aws::Utils::DateTime& value) { m_updatedAtHasBeenSet = true; m_updatedAt = value; }
174 
175 
SetUpdatedAt(Aws::Utils::DateTime && value)176     inline void SetUpdatedAt(Aws::Utils::DateTime&& value) { m_updatedAtHasBeenSet = true; m_updatedAt = std::move(value); }
177 
178 
WithUpdatedAt(const Aws::Utils::DateTime & value)179     inline LensReviewSummary& WithUpdatedAt(const Aws::Utils::DateTime& value) { SetUpdatedAt(value); return *this;}
180 
181 
WithUpdatedAt(Aws::Utils::DateTime && value)182     inline LensReviewSummary& WithUpdatedAt(Aws::Utils::DateTime&& value) { SetUpdatedAt(std::move(value)); return *this;}
183 
184 
185 
GetRiskCounts()186     inline const Aws::Map<Risk, int>& GetRiskCounts() const{ return m_riskCounts; }
187 
188 
RiskCountsHasBeenSet()189     inline bool RiskCountsHasBeenSet() const { return m_riskCountsHasBeenSet; }
190 
191 
SetRiskCounts(const Aws::Map<Risk,int> & value)192     inline void SetRiskCounts(const Aws::Map<Risk, int>& value) { m_riskCountsHasBeenSet = true; m_riskCounts = value; }
193 
194 
SetRiskCounts(Aws::Map<Risk,int> && value)195     inline void SetRiskCounts(Aws::Map<Risk, int>&& value) { m_riskCountsHasBeenSet = true; m_riskCounts = std::move(value); }
196 
197 
WithRiskCounts(const Aws::Map<Risk,int> & value)198     inline LensReviewSummary& WithRiskCounts(const Aws::Map<Risk, int>& value) { SetRiskCounts(value); return *this;}
199 
200 
WithRiskCounts(Aws::Map<Risk,int> && value)201     inline LensReviewSummary& WithRiskCounts(Aws::Map<Risk, int>&& value) { SetRiskCounts(std::move(value)); return *this;}
202 
203 
AddRiskCounts(const Risk & key,int value)204     inline LensReviewSummary& AddRiskCounts(const Risk& key, int value) { m_riskCountsHasBeenSet = true; m_riskCounts.emplace(key, value); return *this; }
205 
206 
AddRiskCounts(Risk && key,int value)207     inline LensReviewSummary& AddRiskCounts(Risk&& key, int value) { m_riskCountsHasBeenSet = true; m_riskCounts.emplace(std::move(key), value); return *this; }
208 
209   private:
210 
211     Aws::String m_lensAlias;
212     bool m_lensAliasHasBeenSet;
213 
214     Aws::String m_lensVersion;
215     bool m_lensVersionHasBeenSet;
216 
217     Aws::String m_lensName;
218     bool m_lensNameHasBeenSet;
219 
220     LensStatus m_lensStatus;
221     bool m_lensStatusHasBeenSet;
222 
223     Aws::Utils::DateTime m_updatedAt;
224     bool m_updatedAtHasBeenSet;
225 
226     Aws::Map<Risk, int> m_riskCounts;
227     bool m_riskCountsHasBeenSet;
228   };
229 
230 } // namespace Model
231 } // namespace WellArchitected
232 } // namespace Aws
233