AWS SDK for C++

AWS SDK for C++ Version 1.11.845

Loading...
Searching...
No Matches
Threat.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/securityagent/SecurityAgent_EXPORTS.h>
11#include <aws/securityagent/model/StrideCategory.h>
12#include <aws/securityagent/model/ThreatActor.h>
13#include <aws/securityagent/model/ThreatAnchorShape.h>
14#include <aws/securityagent/model/ThreatEvidenceShape.h>
15#include <aws/securityagent/model/ThreatSeverity.h>
16#include <aws/securityagent/model/ThreatStatus.h>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace SecurityAgent {
28namespace Model {
29
36class Threat {
37 public:
38 AWS_SECURITYAGENT_API Threat() = default;
39 AWS_SECURITYAGENT_API Threat(Aws::Utils::Json::JsonView jsonValue);
40 AWS_SECURITYAGENT_API Threat& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_SECURITYAGENT_API Aws::Utils::Json::JsonValue Jsonize() const;
42
44
47 inline const Aws::String& GetThreatId() const { return m_threatId; }
48 inline bool ThreatIdHasBeenSet() const { return m_threatIdHasBeenSet; }
49 template <typename ThreatIdT = Aws::String>
50 void SetThreatId(ThreatIdT&& value) {
51 m_threatIdHasBeenSet = true;
52 m_threatId = std::forward<ThreatIdT>(value);
53 }
54 template <typename ThreatIdT = Aws::String>
55 Threat& WithThreatId(ThreatIdT&& value) {
56 SetThreatId(std::forward<ThreatIdT>(value));
57 return *this;
58 }
60
62
65 inline const Aws::String& GetThreatJobId() const { return m_threatJobId; }
66 inline bool ThreatJobIdHasBeenSet() const { return m_threatJobIdHasBeenSet; }
67 template <typename ThreatJobIdT = Aws::String>
68 void SetThreatJobId(ThreatJobIdT&& value) {
69 m_threatJobIdHasBeenSet = true;
70 m_threatJobId = std::forward<ThreatJobIdT>(value);
71 }
72 template <typename ThreatJobIdT = Aws::String>
73 Threat& WithThreatJobId(ThreatJobIdT&& value) {
74 SetThreatJobId(std::forward<ThreatJobIdT>(value));
75 return *this;
76 }
78
80
83 inline const Aws::String& GetTitle() const { return m_title; }
84 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
85 template <typename TitleT = Aws::String>
86 void SetTitle(TitleT&& value) {
87 m_titleHasBeenSet = true;
88 m_title = std::forward<TitleT>(value);
89 }
90 template <typename TitleT = Aws::String>
91 Threat& WithTitle(TitleT&& value) {
92 SetTitle(std::forward<TitleT>(value));
93 return *this;
94 }
96
98
101 inline const Aws::String& GetStatement() const { return m_statement; }
102 inline bool StatementHasBeenSet() const { return m_statementHasBeenSet; }
103 template <typename StatementT = Aws::String>
104 void SetStatement(StatementT&& value) {
105 m_statementHasBeenSet = true;
106 m_statement = std::forward<StatementT>(value);
107 }
108 template <typename StatementT = Aws::String>
109 Threat& WithStatement(StatementT&& value) {
110 SetStatement(std::forward<StatementT>(value));
111 return *this;
112 }
114
116
119 inline ThreatSeverity GetSeverity() const { return m_severity; }
120 inline bool SeverityHasBeenSet() const { return m_severityHasBeenSet; }
121 inline void SetSeverity(ThreatSeverity value) {
122 m_severityHasBeenSet = true;
123 m_severity = value;
124 }
126 SetSeverity(value);
127 return *this;
128 }
130
132
135 inline ThreatStatus GetStatus() const { return m_status; }
136 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
137 inline void SetStatus(ThreatStatus value) {
138 m_statusHasBeenSet = true;
139 m_status = value;
140 }
142 SetStatus(value);
143 return *this;
144 }
146
148
151 inline const Aws::String& GetComments() const { return m_comments; }
152 inline bool CommentsHasBeenSet() const { return m_commentsHasBeenSet; }
153 template <typename CommentsT = Aws::String>
154 void SetComments(CommentsT&& value) {
155 m_commentsHasBeenSet = true;
156 m_comments = std::forward<CommentsT>(value);
157 }
158 template <typename CommentsT = Aws::String>
159 Threat& WithComments(CommentsT&& value) {
160 SetComments(std::forward<CommentsT>(value));
161 return *this;
162 }
164
166
169 inline const Aws::String& GetThreatSource() const { return m_threatSource; }
170 inline bool ThreatSourceHasBeenSet() const { return m_threatSourceHasBeenSet; }
171 template <typename ThreatSourceT = Aws::String>
172 void SetThreatSource(ThreatSourceT&& value) {
173 m_threatSourceHasBeenSet = true;
174 m_threatSource = std::forward<ThreatSourceT>(value);
175 }
176 template <typename ThreatSourceT = Aws::String>
177 Threat& WithThreatSource(ThreatSourceT&& value) {
178 SetThreatSource(std::forward<ThreatSourceT>(value));
179 return *this;
180 }
182
184
187 inline const Aws::String& GetPrerequisites() const { return m_prerequisites; }
188 inline bool PrerequisitesHasBeenSet() const { return m_prerequisitesHasBeenSet; }
189 template <typename PrerequisitesT = Aws::String>
190 void SetPrerequisites(PrerequisitesT&& value) {
191 m_prerequisitesHasBeenSet = true;
192 m_prerequisites = std::forward<PrerequisitesT>(value);
193 }
194 template <typename PrerequisitesT = Aws::String>
195 Threat& WithPrerequisites(PrerequisitesT&& value) {
196 SetPrerequisites(std::forward<PrerequisitesT>(value));
197 return *this;
198 }
200
202
205 inline const Aws::String& GetThreatAction() const { return m_threatAction; }
206 inline bool ThreatActionHasBeenSet() const { return m_threatActionHasBeenSet; }
207 template <typename ThreatActionT = Aws::String>
208 void SetThreatAction(ThreatActionT&& value) {
209 m_threatActionHasBeenSet = true;
210 m_threatAction = std::forward<ThreatActionT>(value);
211 }
212 template <typename ThreatActionT = Aws::String>
213 Threat& WithThreatAction(ThreatActionT&& value) {
214 SetThreatAction(std::forward<ThreatActionT>(value));
215 return *this;
216 }
218
220
223 inline const Aws::String& GetThreatImpact() const { return m_threatImpact; }
224 inline bool ThreatImpactHasBeenSet() const { return m_threatImpactHasBeenSet; }
225 template <typename ThreatImpactT = Aws::String>
226 void SetThreatImpact(ThreatImpactT&& value) {
227 m_threatImpactHasBeenSet = true;
228 m_threatImpact = std::forward<ThreatImpactT>(value);
229 }
230 template <typename ThreatImpactT = Aws::String>
231 Threat& WithThreatImpact(ThreatImpactT&& value) {
232 SetThreatImpact(std::forward<ThreatImpactT>(value));
233 return *this;
234 }
236
238
241 inline const Aws::Vector<Aws::String>& GetImpactedGoal() const { return m_impactedGoal; }
242 inline bool ImpactedGoalHasBeenSet() const { return m_impactedGoalHasBeenSet; }
243 template <typename ImpactedGoalT = Aws::Vector<Aws::String>>
244 void SetImpactedGoal(ImpactedGoalT&& value) {
245 m_impactedGoalHasBeenSet = true;
246 m_impactedGoal = std::forward<ImpactedGoalT>(value);
247 }
248 template <typename ImpactedGoalT = Aws::Vector<Aws::String>>
249 Threat& WithImpactedGoal(ImpactedGoalT&& value) {
250 SetImpactedGoal(std::forward<ImpactedGoalT>(value));
251 return *this;
252 }
253 template <typename ImpactedGoalT = Aws::String>
254 Threat& AddImpactedGoal(ImpactedGoalT&& value) {
255 m_impactedGoalHasBeenSet = true;
256 m_impactedGoal.emplace_back(std::forward<ImpactedGoalT>(value));
257 return *this;
258 }
260
262
265 inline const Aws::Vector<Aws::String>& GetImpactedAssets() const { return m_impactedAssets; }
266 inline bool ImpactedAssetsHasBeenSet() const { return m_impactedAssetsHasBeenSet; }
267 template <typename ImpactedAssetsT = Aws::Vector<Aws::String>>
268 void SetImpactedAssets(ImpactedAssetsT&& value) {
269 m_impactedAssetsHasBeenSet = true;
270 m_impactedAssets = std::forward<ImpactedAssetsT>(value);
271 }
272 template <typename ImpactedAssetsT = Aws::Vector<Aws::String>>
273 Threat& WithImpactedAssets(ImpactedAssetsT&& value) {
274 SetImpactedAssets(std::forward<ImpactedAssetsT>(value));
275 return *this;
276 }
277 template <typename ImpactedAssetsT = Aws::String>
278 Threat& AddImpactedAssets(ImpactedAssetsT&& value) {
279 m_impactedAssetsHasBeenSet = true;
280 m_impactedAssets.emplace_back(std::forward<ImpactedAssetsT>(value));
281 return *this;
282 }
284
286
289 inline const ThreatAnchorShape& GetAnchor() const { return m_anchor; }
290 inline bool AnchorHasBeenSet() const { return m_anchorHasBeenSet; }
291 template <typename AnchorT = ThreatAnchorShape>
292 void SetAnchor(AnchorT&& value) {
293 m_anchorHasBeenSet = true;
294 m_anchor = std::forward<AnchorT>(value);
295 }
296 template <typename AnchorT = ThreatAnchorShape>
297 Threat& WithAnchor(AnchorT&& value) {
298 SetAnchor(std::forward<AnchorT>(value));
299 return *this;
300 }
302
304
307 inline const Aws::Vector<ThreatEvidenceShape>& GetEvidence() const { return m_evidence; }
308 inline bool EvidenceHasBeenSet() const { return m_evidenceHasBeenSet; }
309 template <typename EvidenceT = Aws::Vector<ThreatEvidenceShape>>
310 void SetEvidence(EvidenceT&& value) {
311 m_evidenceHasBeenSet = true;
312 m_evidence = std::forward<EvidenceT>(value);
313 }
314 template <typename EvidenceT = Aws::Vector<ThreatEvidenceShape>>
315 Threat& WithEvidence(EvidenceT&& value) {
316 SetEvidence(std::forward<EvidenceT>(value));
317 return *this;
318 }
319 template <typename EvidenceT = ThreatEvidenceShape>
320 Threat& AddEvidence(EvidenceT&& value) {
321 m_evidenceHasBeenSet = true;
322 m_evidence.emplace_back(std::forward<EvidenceT>(value));
323 return *this;
324 }
326
328
331 inline const Aws::Vector<StrideCategory>& GetStride() const { return m_stride; }
332 inline bool StrideHasBeenSet() const { return m_strideHasBeenSet; }
333 template <typename StrideT = Aws::Vector<StrideCategory>>
334 void SetStride(StrideT&& value) {
335 m_strideHasBeenSet = true;
336 m_stride = std::forward<StrideT>(value);
337 }
338 template <typename StrideT = Aws::Vector<StrideCategory>>
339 Threat& WithStride(StrideT&& value) {
340 SetStride(std::forward<StrideT>(value));
341 return *this;
342 }
344 m_strideHasBeenSet = true;
345 m_stride.push_back(value);
346 return *this;
347 }
349
351
354 inline const Aws::String& GetRecommendation() const { return m_recommendation; }
355 inline bool RecommendationHasBeenSet() const { return m_recommendationHasBeenSet; }
356 template <typename RecommendationT = Aws::String>
357 void SetRecommendation(RecommendationT&& value) {
358 m_recommendationHasBeenSet = true;
359 m_recommendation = std::forward<RecommendationT>(value);
360 }
361 template <typename RecommendationT = Aws::String>
362 Threat& WithRecommendation(RecommendationT&& value) {
363 SetRecommendation(std::forward<RecommendationT>(value));
364 return *this;
365 }
367
369
372 inline ThreatActor GetCreatedBy() const { return m_createdBy; }
373 inline bool CreatedByHasBeenSet() const { return m_createdByHasBeenSet; }
374 inline void SetCreatedBy(ThreatActor value) {
375 m_createdByHasBeenSet = true;
376 m_createdBy = value;
377 }
379 SetCreatedBy(value);
380 return *this;
381 }
383
385
388 inline ThreatActor GetUpdatedBy() const { return m_updatedBy; }
389 inline bool UpdatedByHasBeenSet() const { return m_updatedByHasBeenSet; }
390 inline void SetUpdatedBy(ThreatActor value) {
391 m_updatedByHasBeenSet = true;
392 m_updatedBy = value;
393 }
395 SetUpdatedBy(value);
396 return *this;
397 }
399
401
404 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
405 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
406 template <typename CreatedAtT = Aws::Utils::DateTime>
407 void SetCreatedAt(CreatedAtT&& value) {
408 m_createdAtHasBeenSet = true;
409 m_createdAt = std::forward<CreatedAtT>(value);
410 }
411 template <typename CreatedAtT = Aws::Utils::DateTime>
412 Threat& WithCreatedAt(CreatedAtT&& value) {
413 SetCreatedAt(std::forward<CreatedAtT>(value));
414 return *this;
415 }
417
419
422 inline const Aws::Utils::DateTime& GetUpdatedAt() const { return m_updatedAt; }
423 inline bool UpdatedAtHasBeenSet() const { return m_updatedAtHasBeenSet; }
424 template <typename UpdatedAtT = Aws::Utils::DateTime>
425 void SetUpdatedAt(UpdatedAtT&& value) {
426 m_updatedAtHasBeenSet = true;
427 m_updatedAt = std::forward<UpdatedAtT>(value);
428 }
429 template <typename UpdatedAtT = Aws::Utils::DateTime>
430 Threat& WithUpdatedAt(UpdatedAtT&& value) {
431 SetUpdatedAt(std::forward<UpdatedAtT>(value));
432 return *this;
433 }
435 private:
436 Aws::String m_threatId;
437
438 Aws::String m_threatJobId;
439
440 Aws::String m_title;
441
442 Aws::String m_statement;
443
445
447
448 Aws::String m_comments;
449
450 Aws::String m_threatSource;
451
452 Aws::String m_prerequisites;
453
454 Aws::String m_threatAction;
455
456 Aws::String m_threatImpact;
457
458 Aws::Vector<Aws::String> m_impactedGoal;
459
460 Aws::Vector<Aws::String> m_impactedAssets;
461
462 ThreatAnchorShape m_anchor;
463
465
467
468 Aws::String m_recommendation;
469
471
473
474 Aws::Utils::DateTime m_createdAt{};
475
476 Aws::Utils::DateTime m_updatedAt{};
477 bool m_threatIdHasBeenSet = false;
478 bool m_threatJobIdHasBeenSet = false;
479 bool m_titleHasBeenSet = false;
480 bool m_statementHasBeenSet = false;
481 bool m_severityHasBeenSet = false;
482 bool m_statusHasBeenSet = false;
483 bool m_commentsHasBeenSet = false;
484 bool m_threatSourceHasBeenSet = false;
485 bool m_prerequisitesHasBeenSet = false;
486 bool m_threatActionHasBeenSet = false;
487 bool m_threatImpactHasBeenSet = false;
488 bool m_impactedGoalHasBeenSet = false;
489 bool m_impactedAssetsHasBeenSet = false;
490 bool m_anchorHasBeenSet = false;
491 bool m_evidenceHasBeenSet = false;
492 bool m_strideHasBeenSet = false;
493 bool m_recommendationHasBeenSet = false;
494 bool m_createdByHasBeenSet = false;
495 bool m_updatedByHasBeenSet = false;
496 bool m_createdAtHasBeenSet = false;
497 bool m_updatedAtHasBeenSet = false;
498};
499
500} // namespace Model
501} // namespace SecurityAgent
502} // namespace Aws
Threat & AddImpactedAssets(ImpactedAssetsT &&value)
Definition Threat.h:278
Threat & AddImpactedGoal(ImpactedGoalT &&value)
Definition Threat.h:254
bool PrerequisitesHasBeenSet() const
Definition Threat.h:188
const Aws::Vector< StrideCategory > & GetStride() const
Definition Threat.h:331
void SetUpdatedBy(ThreatActor value)
Definition Threat.h:390
Threat & WithImpactedAssets(ImpactedAssetsT &&value)
Definition Threat.h:273
void SetStatement(StatementT &&value)
Definition Threat.h:104
Threat & WithCreatedBy(ThreatActor value)
Definition Threat.h:378
Threat & WithPrerequisites(PrerequisitesT &&value)
Definition Threat.h:195
ThreatActor GetCreatedBy() const
Definition Threat.h:372
void SetThreatJobId(ThreatJobIdT &&value)
Definition Threat.h:68
const Aws::Utils::DateTime & GetCreatedAt() const
Definition Threat.h:404
Threat & WithTitle(TitleT &&value)
Definition Threat.h:91
void SetCreatedAt(CreatedAtT &&value)
Definition Threat.h:407
Threat & AddStride(StrideCategory value)
Definition Threat.h:343
Threat & WithStride(StrideT &&value)
Definition Threat.h:339
Threat & WithAnchor(AnchorT &&value)
Definition Threat.h:297
void SetAnchor(AnchorT &&value)
Definition Threat.h:292
ThreatSeverity GetSeverity() const
Definition Threat.h:119
Threat & WithThreatSource(ThreatSourceT &&value)
Definition Threat.h:177
const Aws::String & GetComments() const
Definition Threat.h:151
const Aws::String & GetPrerequisites() const
Definition Threat.h:187
AWS_SECURITYAGENT_API Threat & operator=(Aws::Utils::Json::JsonView jsonValue)
Threat & WithThreatId(ThreatIdT &&value)
Definition Threat.h:55
Threat & WithImpactedGoal(ImpactedGoalT &&value)
Definition Threat.h:249
const Aws::String & GetThreatSource() const
Definition Threat.h:169
const Aws::String & GetThreatImpact() const
Definition Threat.h:223
const Aws::Vector< Aws::String > & GetImpactedGoal() const
Definition Threat.h:241
const Aws::Vector< Aws::String > & GetImpactedAssets() const
Definition Threat.h:265
const Aws::String & GetThreatJobId() const
Definition Threat.h:65
const ThreatAnchorShape & GetAnchor() const
Definition Threat.h:289
Threat & WithRecommendation(RecommendationT &&value)
Definition Threat.h:362
Threat & WithStatement(StatementT &&value)
Definition Threat.h:109
Threat & WithComments(CommentsT &&value)
Definition Threat.h:159
void SetComments(CommentsT &&value)
Definition Threat.h:154
const Aws::String & GetRecommendation() const
Definition Threat.h:354
bool ImpactedGoalHasBeenSet() const
Definition Threat.h:242
Threat & WithUpdatedAt(UpdatedAtT &&value)
Definition Threat.h:430
void SetUpdatedAt(UpdatedAtT &&value)
Definition Threat.h:425
void SetSeverity(ThreatSeverity value)
Definition Threat.h:121
ThreatStatus GetStatus() const
Definition Threat.h:135
void SetCreatedBy(ThreatActor value)
Definition Threat.h:374
Threat & WithThreatImpact(ThreatImpactT &&value)
Definition Threat.h:231
Threat & WithStatus(ThreatStatus value)
Definition Threat.h:141
AWS_SECURITYAGENT_API Threat()=default
void SetStatus(ThreatStatus value)
Definition Threat.h:137
AWS_SECURITYAGENT_API Aws::Utils::Json::JsonValue Jsonize() const
void SetThreatImpact(ThreatImpactT &&value)
Definition Threat.h:226
void SetImpactedAssets(ImpactedAssetsT &&value)
Definition Threat.h:268
bool ImpactedAssetsHasBeenSet() const
Definition Threat.h:266
void SetTitle(TitleT &&value)
Definition Threat.h:86
bool ThreatSourceHasBeenSet() const
Definition Threat.h:170
bool ThreatJobIdHasBeenSet() const
Definition Threat.h:66
void SetRecommendation(RecommendationT &&value)
Definition Threat.h:357
Threat & WithUpdatedBy(ThreatActor value)
Definition Threat.h:394
void SetImpactedGoal(ImpactedGoalT &&value)
Definition Threat.h:244
void SetThreatId(ThreatIdT &&value)
Definition Threat.h:50
const Aws::String & GetThreatAction() const
Definition Threat.h:205
void SetPrerequisites(PrerequisitesT &&value)
Definition Threat.h:190
const Aws::String & GetTitle() const
Definition Threat.h:83
bool RecommendationHasBeenSet() const
Definition Threat.h:355
bool ThreatImpactHasBeenSet() const
Definition Threat.h:224
Threat & WithThreatJobId(ThreatJobIdT &&value)
Definition Threat.h:73
const Aws::Utils::DateTime & GetUpdatedAt() const
Definition Threat.h:422
Threat & AddEvidence(EvidenceT &&value)
Definition Threat.h:320
const Aws::String & GetThreatId() const
Definition Threat.h:47
const Aws::String & GetStatement() const
Definition Threat.h:101
Threat & WithEvidence(EvidenceT &&value)
Definition Threat.h:315
Threat & WithCreatedAt(CreatedAtT &&value)
Definition Threat.h:412
const Aws::Vector< ThreatEvidenceShape > & GetEvidence() const
Definition Threat.h:307
Threat & WithSeverity(ThreatSeverity value)
Definition Threat.h:125
void SetEvidence(EvidenceT &&value)
Definition Threat.h:310
void SetStride(StrideT &&value)
Definition Threat.h:334
void SetThreatAction(ThreatActionT &&value)
Definition Threat.h:208
bool ThreatActionHasBeenSet() const
Definition Threat.h:206
void SetThreatSource(ThreatSourceT &&value)
Definition Threat.h:172
AWS_SECURITYAGENT_API Threat(Aws::Utils::Json::JsonView jsonValue)
Threat & WithThreatAction(ThreatActionT &&value)
Definition Threat.h:213
ThreatActor GetUpdatedBy() const
Definition Threat.h:388
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue