AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
CreateCaseRequest.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/UUID.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/security-ir/SecurityIRRequest.h>
13#include <aws/security-ir/SecurityIR_EXPORTS.h>
14#include <aws/security-ir/model/EngagementType.h>
15#include <aws/security-ir/model/ImpactedAwsRegion.h>
16#include <aws/security-ir/model/ResolverType.h>
17#include <aws/security-ir/model/ThreatActorIp.h>
18#include <aws/security-ir/model/Watcher.h>
19
20#include <utility>
21
22namespace Aws {
23namespace SecurityIR {
24namespace Model {
25
29 public:
30 AWS_SECURITYIR_API CreateCaseRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateCase"; }
37
38 AWS_SECURITYIR_API Aws::String SerializePayload() const override;
39
41
47 inline const Aws::String& GetClientToken() const { return m_clientToken; }
48 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
49 template <typename ClientTokenT = Aws::String>
50 void SetClientToken(ClientTokenT&& value) {
51 m_clientTokenHasBeenSet = true;
52 m_clientToken = std::forward<ClientTokenT>(value);
53 }
54 template <typename ClientTokenT = Aws::String>
55 CreateCaseRequest& WithClientToken(ClientTokenT&& value) {
56 SetClientToken(std::forward<ClientTokenT>(value));
57 return *this;
58 }
60
62
66 inline ResolverType GetResolverType() const { return m_resolverType; }
67 inline bool ResolverTypeHasBeenSet() const { return m_resolverTypeHasBeenSet; }
68 inline void SetResolverType(ResolverType value) {
69 m_resolverTypeHasBeenSet = true;
70 m_resolverType = value;
71 }
73 SetResolverType(value);
74 return *this;
75 }
77
79
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 CreateCaseRequest& WithTitle(TitleT&& value) {
92 SetTitle(std::forward<TitleT>(value));
93 return *this;
94 }
96
98
102 inline const Aws::String& GetDescription() const { return m_description; }
103 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
104 template <typename DescriptionT = Aws::String>
105 void SetDescription(DescriptionT&& value) {
106 m_descriptionHasBeenSet = true;
107 m_description = std::forward<DescriptionT>(value);
108 }
109 template <typename DescriptionT = Aws::String>
110 CreateCaseRequest& WithDescription(DescriptionT&& value) {
111 SetDescription(std::forward<DescriptionT>(value));
112 return *this;
113 }
115
117
122 inline EngagementType GetEngagementType() const { return m_engagementType; }
123 inline bool EngagementTypeHasBeenSet() const { return m_engagementTypeHasBeenSet; }
125 m_engagementTypeHasBeenSet = true;
126 m_engagementType = value;
127 }
129 SetEngagementType(value);
130 return *this;
131 }
133
135
139 inline const Aws::Utils::DateTime& GetReportedIncidentStartDate() const { return m_reportedIncidentStartDate; }
140 inline bool ReportedIncidentStartDateHasBeenSet() const { return m_reportedIncidentStartDateHasBeenSet; }
141 template <typename ReportedIncidentStartDateT = Aws::Utils::DateTime>
142 void SetReportedIncidentStartDate(ReportedIncidentStartDateT&& value) {
143 m_reportedIncidentStartDateHasBeenSet = true;
144 m_reportedIncidentStartDate = std::forward<ReportedIncidentStartDateT>(value);
145 }
146 template <typename ReportedIncidentStartDateT = Aws::Utils::DateTime>
147 CreateCaseRequest& WithReportedIncidentStartDate(ReportedIncidentStartDateT&& value) {
148 SetReportedIncidentStartDate(std::forward<ReportedIncidentStartDateT>(value));
149 return *this;
150 }
152
154
162 inline const Aws::Vector<Aws::String>& GetImpactedAccounts() const { return m_impactedAccounts; }
163 inline bool ImpactedAccountsHasBeenSet() const { return m_impactedAccountsHasBeenSet; }
164 template <typename ImpactedAccountsT = Aws::Vector<Aws::String>>
165 void SetImpactedAccounts(ImpactedAccountsT&& value) {
166 m_impactedAccountsHasBeenSet = true;
167 m_impactedAccounts = std::forward<ImpactedAccountsT>(value);
168 }
169 template <typename ImpactedAccountsT = Aws::Vector<Aws::String>>
170 CreateCaseRequest& WithImpactedAccounts(ImpactedAccountsT&& value) {
171 SetImpactedAccounts(std::forward<ImpactedAccountsT>(value));
172 return *this;
173 }
174 template <typename ImpactedAccountsT = Aws::String>
175 CreateCaseRequest& AddImpactedAccounts(ImpactedAccountsT&& value) {
176 m_impactedAccountsHasBeenSet = true;
177 m_impactedAccounts.emplace_back(std::forward<ImpactedAccountsT>(value));
178 return *this;
179 }
181
183
187 inline const Aws::Vector<Watcher>& GetWatchers() const { return m_watchers; }
188 inline bool WatchersHasBeenSet() const { return m_watchersHasBeenSet; }
189 template <typename WatchersT = Aws::Vector<Watcher>>
190 void SetWatchers(WatchersT&& value) {
191 m_watchersHasBeenSet = true;
192 m_watchers = std::forward<WatchersT>(value);
193 }
194 template <typename WatchersT = Aws::Vector<Watcher>>
195 CreateCaseRequest& WithWatchers(WatchersT&& value) {
196 SetWatchers(std::forward<WatchersT>(value));
197 return *this;
198 }
199 template <typename WatchersT = Watcher>
200 CreateCaseRequest& AddWatchers(WatchersT&& value) {
201 m_watchersHasBeenSet = true;
202 m_watchers.emplace_back(std::forward<WatchersT>(value));
203 return *this;
204 }
206
208
213 inline const Aws::Vector<ThreatActorIp>& GetThreatActorIpAddresses() const { return m_threatActorIpAddresses; }
214 inline bool ThreatActorIpAddressesHasBeenSet() const { return m_threatActorIpAddressesHasBeenSet; }
215 template <typename ThreatActorIpAddressesT = Aws::Vector<ThreatActorIp>>
216 void SetThreatActorIpAddresses(ThreatActorIpAddressesT&& value) {
217 m_threatActorIpAddressesHasBeenSet = true;
218 m_threatActorIpAddresses = std::forward<ThreatActorIpAddressesT>(value);
219 }
220 template <typename ThreatActorIpAddressesT = Aws::Vector<ThreatActorIp>>
221 CreateCaseRequest& WithThreatActorIpAddresses(ThreatActorIpAddressesT&& value) {
222 SetThreatActorIpAddresses(std::forward<ThreatActorIpAddressesT>(value));
223 return *this;
224 }
225 template <typename ThreatActorIpAddressesT = ThreatActorIp>
226 CreateCaseRequest& AddThreatActorIpAddresses(ThreatActorIpAddressesT&& value) {
227 m_threatActorIpAddressesHasBeenSet = true;
228 m_threatActorIpAddresses.emplace_back(std::forward<ThreatActorIpAddressesT>(value));
229 return *this;
230 }
232
234
238 inline const Aws::Vector<Aws::String>& GetImpactedServices() const { return m_impactedServices; }
239 inline bool ImpactedServicesHasBeenSet() const { return m_impactedServicesHasBeenSet; }
240 template <typename ImpactedServicesT = Aws::Vector<Aws::String>>
241 void SetImpactedServices(ImpactedServicesT&& value) {
242 m_impactedServicesHasBeenSet = true;
243 m_impactedServices = std::forward<ImpactedServicesT>(value);
244 }
245 template <typename ImpactedServicesT = Aws::Vector<Aws::String>>
246 CreateCaseRequest& WithImpactedServices(ImpactedServicesT&& value) {
247 SetImpactedServices(std::forward<ImpactedServicesT>(value));
248 return *this;
249 }
250 template <typename ImpactedServicesT = Aws::String>
251 CreateCaseRequest& AddImpactedServices(ImpactedServicesT&& value) {
252 m_impactedServicesHasBeenSet = true;
253 m_impactedServices.emplace_back(std::forward<ImpactedServicesT>(value));
254 return *this;
255 }
257
259
263 inline const Aws::Vector<ImpactedAwsRegion>& GetImpactedAwsRegions() const { return m_impactedAwsRegions; }
264 inline bool ImpactedAwsRegionsHasBeenSet() const { return m_impactedAwsRegionsHasBeenSet; }
265 template <typename ImpactedAwsRegionsT = Aws::Vector<ImpactedAwsRegion>>
266 void SetImpactedAwsRegions(ImpactedAwsRegionsT&& value) {
267 m_impactedAwsRegionsHasBeenSet = true;
268 m_impactedAwsRegions = std::forward<ImpactedAwsRegionsT>(value);
269 }
270 template <typename ImpactedAwsRegionsT = Aws::Vector<ImpactedAwsRegion>>
271 CreateCaseRequest& WithImpactedAwsRegions(ImpactedAwsRegionsT&& value) {
272 SetImpactedAwsRegions(std::forward<ImpactedAwsRegionsT>(value));
273 return *this;
274 }
275 template <typename ImpactedAwsRegionsT = ImpactedAwsRegion>
276 CreateCaseRequest& AddImpactedAwsRegions(ImpactedAwsRegionsT&& value) {
277 m_impactedAwsRegionsHasBeenSet = true;
278 m_impactedAwsRegions.emplace_back(std::forward<ImpactedAwsRegionsT>(value));
279 return *this;
280 }
282
284
288 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
289 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
290 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
291 void SetTags(TagsT&& value) {
292 m_tagsHasBeenSet = true;
293 m_tags = std::forward<TagsT>(value);
294 }
295 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
296 CreateCaseRequest& WithTags(TagsT&& value) {
297 SetTags(std::forward<TagsT>(value));
298 return *this;
299 }
300 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
301 CreateCaseRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
302 m_tagsHasBeenSet = true;
303 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
304 return *this;
305 }
307 private:
309
310 ResolverType m_resolverType{ResolverType::NOT_SET};
311
312 Aws::String m_title;
313
314 Aws::String m_description;
315
316 EngagementType m_engagementType{EngagementType::NOT_SET};
317
318 Aws::Utils::DateTime m_reportedIncidentStartDate{};
319
320 Aws::Vector<Aws::String> m_impactedAccounts;
321
322 Aws::Vector<Watcher> m_watchers;
323
324 Aws::Vector<ThreatActorIp> m_threatActorIpAddresses;
325
326 Aws::Vector<Aws::String> m_impactedServices;
327
328 Aws::Vector<ImpactedAwsRegion> m_impactedAwsRegions;
329
331 bool m_clientTokenHasBeenSet = true;
332 bool m_resolverTypeHasBeenSet = false;
333 bool m_titleHasBeenSet = false;
334 bool m_descriptionHasBeenSet = false;
335 bool m_engagementTypeHasBeenSet = false;
336 bool m_reportedIncidentStartDateHasBeenSet = false;
337 bool m_impactedAccountsHasBeenSet = false;
338 bool m_watchersHasBeenSet = false;
339 bool m_threatActorIpAddressesHasBeenSet = false;
340 bool m_impactedServicesHasBeenSet = false;
341 bool m_impactedAwsRegionsHasBeenSet = false;
342 bool m_tagsHasBeenSet = false;
343};
344
345} // namespace Model
346} // namespace SecurityIR
347} // namespace Aws
CreateCaseRequest & WithResolverType(ResolverType value)
const Aws::Vector< ThreatActorIp > & GetThreatActorIpAddresses() const
CreateCaseRequest & AddThreatActorIpAddresses(ThreatActorIpAddressesT &&value)
CreateCaseRequest & WithImpactedAccounts(ImpactedAccountsT &&value)
void SetImpactedServices(ImpactedServicesT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
const Aws::Vector< Aws::String > & GetImpactedAccounts() const
CreateCaseRequest & WithTitle(TitleT &&value)
CreateCaseRequest & WithImpactedAwsRegions(ImpactedAwsRegionsT &&value)
CreateCaseRequest & WithEngagementType(EngagementType value)
CreateCaseRequest & WithThreatActorIpAddresses(ThreatActorIpAddressesT &&value)
const Aws::Vector< Watcher > & GetWatchers() const
CreateCaseRequest & AddWatchers(WatchersT &&value)
CreateCaseRequest & WithClientToken(ClientTokenT &&value)
AWS_SECURITYIR_API CreateCaseRequest()=default
void SetImpactedAwsRegions(ImpactedAwsRegionsT &&value)
const Aws::String & GetClientToken() const
CreateCaseRequest & WithTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
CreateCaseRequest & WithReportedIncidentStartDate(ReportedIncidentStartDateT &&value)
const Aws::Utils::DateTime & GetReportedIncidentStartDate() const
void SetThreatActorIpAddresses(ThreatActorIpAddressesT &&value)
CreateCaseRequest & WithDescription(DescriptionT &&value)
void SetImpactedAccounts(ImpactedAccountsT &&value)
AWS_SECURITYIR_API Aws::String SerializePayload() const override
CreateCaseRequest & AddImpactedAwsRegions(ImpactedAwsRegionsT &&value)
CreateCaseRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateCaseRequest & AddImpactedServices(ImpactedServicesT &&value)
const Aws::Vector< ImpactedAwsRegion > & GetImpactedAwsRegions() const
CreateCaseRequest & WithImpactedServices(ImpactedServicesT &&value)
CreateCaseRequest & WithWatchers(WatchersT &&value)
const Aws::Vector< Aws::String > & GetImpactedServices() const
void SetReportedIncidentStartDate(ReportedIncidentStartDateT &&value)
CreateCaseRequest & AddImpactedAccounts(ImpactedAccountsT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector