AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
AttackDetail.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/shield/Shield_EXPORTS.h>
11#include <aws/shield/model/AttackProperty.h>
12#include <aws/shield/model/Mitigation.h>
13#include <aws/shield/model/SubResourceSummary.h>
14#include <aws/shield/model/SummarizedCounter.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Shield {
26namespace Model {
27
34 public:
35 AWS_SHIELD_API AttackDetail() = default;
36 AWS_SHIELD_API AttackDetail(Aws::Utils::Json::JsonView jsonValue);
38 AWS_SHIELD_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::String& GetAttackId() const { return m_attackId; }
45 inline bool AttackIdHasBeenSet() const { return m_attackIdHasBeenSet; }
46 template <typename AttackIdT = Aws::String>
47 void SetAttackId(AttackIdT&& value) {
48 m_attackIdHasBeenSet = true;
49 m_attackId = std::forward<AttackIdT>(value);
50 }
51 template <typename AttackIdT = Aws::String>
52 AttackDetail& WithAttackId(AttackIdT&& value) {
53 SetAttackId(std::forward<AttackIdT>(value));
54 return *this;
55 }
57
59
62 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
63 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
64 template <typename ResourceArnT = Aws::String>
65 void SetResourceArn(ResourceArnT&& value) {
66 m_resourceArnHasBeenSet = true;
67 m_resourceArn = std::forward<ResourceArnT>(value);
68 }
69 template <typename ResourceArnT = Aws::String>
70 AttackDetail& WithResourceArn(ResourceArnT&& value) {
71 SetResourceArn(std::forward<ResourceArnT>(value));
72 return *this;
73 }
75
77
81 inline const Aws::Vector<SubResourceSummary>& GetSubResources() const { return m_subResources; }
82 inline bool SubResourcesHasBeenSet() const { return m_subResourcesHasBeenSet; }
83 template <typename SubResourcesT = Aws::Vector<SubResourceSummary>>
84 void SetSubResources(SubResourcesT&& value) {
85 m_subResourcesHasBeenSet = true;
86 m_subResources = std::forward<SubResourcesT>(value);
87 }
88 template <typename SubResourcesT = Aws::Vector<SubResourceSummary>>
89 AttackDetail& WithSubResources(SubResourcesT&& value) {
90 SetSubResources(std::forward<SubResourcesT>(value));
91 return *this;
92 }
93 template <typename SubResourcesT = SubResourceSummary>
94 AttackDetail& AddSubResources(SubResourcesT&& value) {
95 m_subResourcesHasBeenSet = true;
96 m_subResources.emplace_back(std::forward<SubResourcesT>(value));
97 return *this;
98 }
100
102
105 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
106 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
107 template <typename StartTimeT = Aws::Utils::DateTime>
108 void SetStartTime(StartTimeT&& value) {
109 m_startTimeHasBeenSet = true;
110 m_startTime = std::forward<StartTimeT>(value);
111 }
112 template <typename StartTimeT = Aws::Utils::DateTime>
113 AttackDetail& WithStartTime(StartTimeT&& value) {
114 SetStartTime(std::forward<StartTimeT>(value));
115 return *this;
116 }
118
120
123 inline const Aws::Utils::DateTime& GetEndTime() const { return m_endTime; }
124 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
125 template <typename EndTimeT = Aws::Utils::DateTime>
126 void SetEndTime(EndTimeT&& value) {
127 m_endTimeHasBeenSet = true;
128 m_endTime = std::forward<EndTimeT>(value);
129 }
130 template <typename EndTimeT = Aws::Utils::DateTime>
131 AttackDetail& WithEndTime(EndTimeT&& value) {
132 SetEndTime(std::forward<EndTimeT>(value));
133 return *this;
134 }
136
138
141 inline const Aws::Vector<SummarizedCounter>& GetAttackCounters() const { return m_attackCounters; }
142 inline bool AttackCountersHasBeenSet() const { return m_attackCountersHasBeenSet; }
143 template <typename AttackCountersT = Aws::Vector<SummarizedCounter>>
144 void SetAttackCounters(AttackCountersT&& value) {
145 m_attackCountersHasBeenSet = true;
146 m_attackCounters = std::forward<AttackCountersT>(value);
147 }
148 template <typename AttackCountersT = Aws::Vector<SummarizedCounter>>
149 AttackDetail& WithAttackCounters(AttackCountersT&& value) {
150 SetAttackCounters(std::forward<AttackCountersT>(value));
151 return *this;
152 }
153 template <typename AttackCountersT = SummarizedCounter>
154 AttackDetail& AddAttackCounters(AttackCountersT&& value) {
155 m_attackCountersHasBeenSet = true;
156 m_attackCounters.emplace_back(std::forward<AttackCountersT>(value));
157 return *this;
158 }
160
162
169 inline const Aws::Vector<AttackProperty>& GetAttackProperties() const { return m_attackProperties; }
170 inline bool AttackPropertiesHasBeenSet() const { return m_attackPropertiesHasBeenSet; }
171 template <typename AttackPropertiesT = Aws::Vector<AttackProperty>>
172 void SetAttackProperties(AttackPropertiesT&& value) {
173 m_attackPropertiesHasBeenSet = true;
174 m_attackProperties = std::forward<AttackPropertiesT>(value);
175 }
176 template <typename AttackPropertiesT = Aws::Vector<AttackProperty>>
177 AttackDetail& WithAttackProperties(AttackPropertiesT&& value) {
178 SetAttackProperties(std::forward<AttackPropertiesT>(value));
179 return *this;
180 }
181 template <typename AttackPropertiesT = AttackProperty>
182 AttackDetail& AddAttackProperties(AttackPropertiesT&& value) {
183 m_attackPropertiesHasBeenSet = true;
184 m_attackProperties.emplace_back(std::forward<AttackPropertiesT>(value));
185 return *this;
186 }
188
190
193 inline const Aws::Vector<Mitigation>& GetMitigations() const { return m_mitigations; }
194 inline bool MitigationsHasBeenSet() const { return m_mitigationsHasBeenSet; }
195 template <typename MitigationsT = Aws::Vector<Mitigation>>
196 void SetMitigations(MitigationsT&& value) {
197 m_mitigationsHasBeenSet = true;
198 m_mitigations = std::forward<MitigationsT>(value);
199 }
200 template <typename MitigationsT = Aws::Vector<Mitigation>>
201 AttackDetail& WithMitigations(MitigationsT&& value) {
202 SetMitigations(std::forward<MitigationsT>(value));
203 return *this;
204 }
205 template <typename MitigationsT = Mitigation>
206 AttackDetail& AddMitigations(MitigationsT&& value) {
207 m_mitigationsHasBeenSet = true;
208 m_mitigations.emplace_back(std::forward<MitigationsT>(value));
209 return *this;
210 }
212 private:
213 Aws::String m_attackId;
214
215 Aws::String m_resourceArn;
216
217 Aws::Vector<SubResourceSummary> m_subResources;
218
219 Aws::Utils::DateTime m_startTime{};
220
221 Aws::Utils::DateTime m_endTime{};
222
223 Aws::Vector<SummarizedCounter> m_attackCounters;
224
225 Aws::Vector<AttackProperty> m_attackProperties;
226
227 Aws::Vector<Mitigation> m_mitigations;
228 bool m_attackIdHasBeenSet = false;
229 bool m_resourceArnHasBeenSet = false;
230 bool m_subResourcesHasBeenSet = false;
231 bool m_startTimeHasBeenSet = false;
232 bool m_endTimeHasBeenSet = false;
233 bool m_attackCountersHasBeenSet = false;
234 bool m_attackPropertiesHasBeenSet = false;
235 bool m_mitigationsHasBeenSet = false;
236};
237
238} // namespace Model
239} // namespace Shield
240} // namespace Aws
void SetResourceArn(ResourceArnT &&value)
void SetAttackCounters(AttackCountersT &&value)
AttackDetail & WithAttackCounters(AttackCountersT &&value)
const Aws::String & GetAttackId() const
AttackDetail & WithSubResources(SubResourcesT &&value)
AttackDetail & AddAttackCounters(AttackCountersT &&value)
void SetEndTime(EndTimeT &&value)
AWS_SHIELD_API AttackDetail(Aws::Utils::Json::JsonView jsonValue)
void SetAttackProperties(AttackPropertiesT &&value)
const Aws::Utils::DateTime & GetStartTime() const
AttackDetail & WithAttackId(AttackIdT &&value)
void SetSubResources(SubResourcesT &&value)
void SetStartTime(StartTimeT &&value)
const Aws::Vector< SummarizedCounter > & GetAttackCounters() const
AWS_SHIELD_API AttackDetail()=default
const Aws::Vector< Mitigation > & GetMitigations() const
AttackDetail & WithResourceArn(ResourceArnT &&value)
AttackDetail & WithAttackProperties(AttackPropertiesT &&value)
AWS_SHIELD_API Aws::Utils::Json::JsonValue Jsonize() const
void SetMitigations(MitigationsT &&value)
const Aws::String & GetResourceArn() const
AttackDetail & WithEndTime(EndTimeT &&value)
AWS_SHIELD_API AttackDetail & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetEndTime() const
AttackDetail & AddMitigations(MitigationsT &&value)
AttackDetail & WithStartTime(StartTimeT &&value)
void SetAttackId(AttackIdT &&value)
const Aws::Vector< SubResourceSummary > & GetSubResources() const
const Aws::Vector< AttackProperty > & GetAttackProperties() const
AttackDetail & AddSubResources(SubResourcesT &&value)
AttackDetail & AddAttackProperties(AttackPropertiesT &&value)
AttackDetail & WithMitigations(MitigationsT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue