AWS SDK for C++

AWS SDK for C++ Version 1.11.844

Loading...
Searching...
No Matches
SecurityControlDefinition.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/securityhub/SecurityHub_EXPORTS.h>
11#include <aws/securityhub/model/ParameterDefinition.h>
12#include <aws/securityhub/model/RegionAvailabilityStatus.h>
13#include <aws/securityhub/model/SecurityControlProperty.h>
14#include <aws/securityhub/model/SecurityControlsProvider.h>
15#include <aws/securityhub/model/SeverityRating.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace SecurityHub {
27namespace Model {
28
38 public:
39 AWS_SECURITYHUB_API SecurityControlDefinition() = default;
42 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
54 inline const Aws::String& GetSecurityControlId() const { return m_securityControlId; }
55 inline bool SecurityControlIdHasBeenSet() const { return m_securityControlIdHasBeenSet; }
56 template <typename SecurityControlIdT = Aws::String>
57 void SetSecurityControlId(SecurityControlIdT&& value) {
58 m_securityControlIdHasBeenSet = true;
59 m_securityControlId = std::forward<SecurityControlIdT>(value);
60 }
61 template <typename SecurityControlIdT = Aws::String>
62 SecurityControlDefinition& WithSecurityControlId(SecurityControlIdT&& value) {
63 SetSecurityControlId(std::forward<SecurityControlIdT>(value));
64 return *this;
65 }
67
69
72 inline const Aws::String& GetTitle() const { return m_title; }
73 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
74 template <typename TitleT = Aws::String>
75 void SetTitle(TitleT&& value) {
76 m_titleHasBeenSet = true;
77 m_title = std::forward<TitleT>(value);
78 }
79 template <typename TitleT = Aws::String>
81 SetTitle(std::forward<TitleT>(value));
82 return *this;
83 }
85
87
93 inline const Aws::String& GetDescription() const { return m_description; }
94 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
95 template <typename DescriptionT = Aws::String>
96 void SetDescription(DescriptionT&& value) {
97 m_descriptionHasBeenSet = true;
98 m_description = std::forward<DescriptionT>(value);
99 }
100 template <typename DescriptionT = Aws::String>
102 SetDescription(std::forward<DescriptionT>(value));
103 return *this;
104 }
106
108
112 inline const Aws::String& GetRemediationUrl() const { return m_remediationUrl; }
113 inline bool RemediationUrlHasBeenSet() const { return m_remediationUrlHasBeenSet; }
114 template <typename RemediationUrlT = Aws::String>
115 void SetRemediationUrl(RemediationUrlT&& value) {
116 m_remediationUrlHasBeenSet = true;
117 m_remediationUrl = std::forward<RemediationUrlT>(value);
118 }
119 template <typename RemediationUrlT = Aws::String>
121 SetRemediationUrl(std::forward<RemediationUrlT>(value));
122 return *this;
123 }
125
127
134 inline SeverityRating GetSeverityRating() const { return m_severityRating; }
135 inline bool SeverityRatingHasBeenSet() const { return m_severityRatingHasBeenSet; }
137 m_severityRatingHasBeenSet = true;
138 m_severityRating = value;
139 }
141 SetSeverityRating(value);
142 return *this;
143 }
145
147
151 inline RegionAvailabilityStatus GetCurrentRegionAvailability() const { return m_currentRegionAvailability; }
152 inline bool CurrentRegionAvailabilityHasBeenSet() const { return m_currentRegionAvailabilityHasBeenSet; }
154 m_currentRegionAvailabilityHasBeenSet = true;
155 m_currentRegionAvailability = value;
156 }
159 return *this;
160 }
162
164
169 inline const Aws::Vector<SecurityControlProperty>& GetCustomizableProperties() const { return m_customizableProperties; }
170 inline bool CustomizablePropertiesHasBeenSet() const { return m_customizablePropertiesHasBeenSet; }
171 template <typename CustomizablePropertiesT = Aws::Vector<SecurityControlProperty>>
172 void SetCustomizableProperties(CustomizablePropertiesT&& value) {
173 m_customizablePropertiesHasBeenSet = true;
174 m_customizableProperties = std::forward<CustomizablePropertiesT>(value);
175 }
176 template <typename CustomizablePropertiesT = Aws::Vector<SecurityControlProperty>>
177 SecurityControlDefinition& WithCustomizableProperties(CustomizablePropertiesT&& value) {
178 SetCustomizableProperties(std::forward<CustomizablePropertiesT>(value));
179 return *this;
180 }
182 m_customizablePropertiesHasBeenSet = true;
183 m_customizableProperties.push_back(value);
184 return *this;
185 }
187
189
194 inline const Aws::Map<Aws::String, ParameterDefinition>& GetParameterDefinitions() const { return m_parameterDefinitions; }
195 inline bool ParameterDefinitionsHasBeenSet() const { return m_parameterDefinitionsHasBeenSet; }
196 template <typename ParameterDefinitionsT = Aws::Map<Aws::String, ParameterDefinition>>
197 void SetParameterDefinitions(ParameterDefinitionsT&& value) {
198 m_parameterDefinitionsHasBeenSet = true;
199 m_parameterDefinitions = std::forward<ParameterDefinitionsT>(value);
200 }
201 template <typename ParameterDefinitionsT = Aws::Map<Aws::String, ParameterDefinition>>
202 SecurityControlDefinition& WithParameterDefinitions(ParameterDefinitionsT&& value) {
203 SetParameterDefinitions(std::forward<ParameterDefinitionsT>(value));
204 return *this;
205 }
206 template <typename ParameterDefinitionsKeyT = Aws::String, typename ParameterDefinitionsValueT = ParameterDefinition>
207 SecurityControlDefinition& AddParameterDefinitions(ParameterDefinitionsKeyT&& key, ParameterDefinitionsValueT&& value) {
208 m_parameterDefinitionsHasBeenSet = true;
209 m_parameterDefinitions.emplace(std::forward<ParameterDefinitionsKeyT>(key), std::forward<ParameterDefinitionsValueT>(value));
210 return *this;
211 }
213
215
219 inline SecurityControlsProvider GetProvider() const { return m_provider; }
220 inline bool ProviderHasBeenSet() const { return m_providerHasBeenSet; }
222 m_providerHasBeenSet = true;
223 m_provider = value;
224 }
226 SetProvider(value);
227 return *this;
228 }
230 private:
231 Aws::String m_securityControlId;
232
233 Aws::String m_title;
234
235 Aws::String m_description;
236
237 Aws::String m_remediationUrl;
238
239 SeverityRating m_severityRating{SeverityRating::NOT_SET};
240
242
243 Aws::Vector<SecurityControlProperty> m_customizableProperties;
244
245 Aws::Map<Aws::String, ParameterDefinition> m_parameterDefinitions;
246
248 bool m_securityControlIdHasBeenSet = false;
249 bool m_titleHasBeenSet = false;
250 bool m_descriptionHasBeenSet = false;
251 bool m_remediationUrlHasBeenSet = false;
252 bool m_severityRatingHasBeenSet = false;
253 bool m_currentRegionAvailabilityHasBeenSet = false;
254 bool m_customizablePropertiesHasBeenSet = false;
255 bool m_parameterDefinitionsHasBeenSet = false;
256 bool m_providerHasBeenSet = false;
257};
258
259} // namespace Model
260} // namespace SecurityHub
261} // namespace Aws
void SetCurrentRegionAvailability(RegionAvailabilityStatus value)
AWS_SECURITYHUB_API SecurityControlDefinition()=default
SecurityControlDefinition & WithParameterDefinitions(ParameterDefinitionsT &&value)
SecurityControlDefinition & AddCustomizableProperties(SecurityControlProperty value)
const Aws::Map< Aws::String, ParameterDefinition > & GetParameterDefinitions() const
void SetCustomizableProperties(CustomizablePropertiesT &&value)
AWS_SECURITYHUB_API SecurityControlDefinition & operator=(Aws::Utils::Json::JsonView jsonValue)
SecurityControlDefinition & WithSeverityRating(SeverityRating value)
SecurityControlDefinition & AddParameterDefinitions(ParameterDefinitionsKeyT &&key, ParameterDefinitionsValueT &&value)
SecurityControlDefinition & WithRemediationUrl(RemediationUrlT &&value)
AWS_SECURITYHUB_API SecurityControlDefinition(Aws::Utils::Json::JsonView jsonValue)
SecurityControlDefinition & WithSecurityControlId(SecurityControlIdT &&value)
SecurityControlDefinition & WithCustomizableProperties(CustomizablePropertiesT &&value)
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const
SecurityControlDefinition & WithCurrentRegionAvailability(RegionAvailabilityStatus value)
SecurityControlDefinition & WithDescription(DescriptionT &&value)
const Aws::Vector< SecurityControlProperty > & GetCustomizableProperties() const
SecurityControlDefinition & WithProvider(SecurityControlsProvider value)
SecurityControlDefinition & WithTitle(TitleT &&value)
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
Aws::Utils::Json::JsonValue JsonValue