AWS SDK for C++

AWS SDK for C++ Version 1.11.785

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/SeverityRating.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace SecurityHub {
26namespace Model {
27
37 public:
38 AWS_SECURITYHUB_API SecurityControlDefinition() = default;
41 AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
42
44
53 inline const Aws::String& GetSecurityControlId() const { return m_securityControlId; }
54 inline bool SecurityControlIdHasBeenSet() const { return m_securityControlIdHasBeenSet; }
55 template <typename SecurityControlIdT = Aws::String>
56 void SetSecurityControlId(SecurityControlIdT&& value) {
57 m_securityControlIdHasBeenSet = true;
58 m_securityControlId = std::forward<SecurityControlIdT>(value);
59 }
60 template <typename SecurityControlIdT = Aws::String>
61 SecurityControlDefinition& WithSecurityControlId(SecurityControlIdT&& value) {
62 SetSecurityControlId(std::forward<SecurityControlIdT>(value));
63 return *this;
64 }
66
68
71 inline const Aws::String& GetTitle() const { return m_title; }
72 inline bool TitleHasBeenSet() const { return m_titleHasBeenSet; }
73 template <typename TitleT = Aws::String>
74 void SetTitle(TitleT&& value) {
75 m_titleHasBeenSet = true;
76 m_title = std::forward<TitleT>(value);
77 }
78 template <typename TitleT = Aws::String>
80 SetTitle(std::forward<TitleT>(value));
81 return *this;
82 }
84
86
92 inline const Aws::String& GetDescription() const { return m_description; }
93 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
94 template <typename DescriptionT = Aws::String>
95 void SetDescription(DescriptionT&& value) {
96 m_descriptionHasBeenSet = true;
97 m_description = std::forward<DescriptionT>(value);
98 }
99 template <typename DescriptionT = Aws::String>
101 SetDescription(std::forward<DescriptionT>(value));
102 return *this;
103 }
105
107
111 inline const Aws::String& GetRemediationUrl() const { return m_remediationUrl; }
112 inline bool RemediationUrlHasBeenSet() const { return m_remediationUrlHasBeenSet; }
113 template <typename RemediationUrlT = Aws::String>
114 void SetRemediationUrl(RemediationUrlT&& value) {
115 m_remediationUrlHasBeenSet = true;
116 m_remediationUrl = std::forward<RemediationUrlT>(value);
117 }
118 template <typename RemediationUrlT = Aws::String>
120 SetRemediationUrl(std::forward<RemediationUrlT>(value));
121 return *this;
122 }
124
126
133 inline SeverityRating GetSeverityRating() const { return m_severityRating; }
134 inline bool SeverityRatingHasBeenSet() const { return m_severityRatingHasBeenSet; }
136 m_severityRatingHasBeenSet = true;
137 m_severityRating = value;
138 }
140 SetSeverityRating(value);
141 return *this;
142 }
144
146
150 inline RegionAvailabilityStatus GetCurrentRegionAvailability() const { return m_currentRegionAvailability; }
151 inline bool CurrentRegionAvailabilityHasBeenSet() const { return m_currentRegionAvailabilityHasBeenSet; }
153 m_currentRegionAvailabilityHasBeenSet = true;
154 m_currentRegionAvailability = value;
155 }
158 return *this;
159 }
161
163
168 inline const Aws::Vector<SecurityControlProperty>& GetCustomizableProperties() const { return m_customizableProperties; }
169 inline bool CustomizablePropertiesHasBeenSet() const { return m_customizablePropertiesHasBeenSet; }
170 template <typename CustomizablePropertiesT = Aws::Vector<SecurityControlProperty>>
171 void SetCustomizableProperties(CustomizablePropertiesT&& value) {
172 m_customizablePropertiesHasBeenSet = true;
173 m_customizableProperties = std::forward<CustomizablePropertiesT>(value);
174 }
175 template <typename CustomizablePropertiesT = Aws::Vector<SecurityControlProperty>>
176 SecurityControlDefinition& WithCustomizableProperties(CustomizablePropertiesT&& value) {
177 SetCustomizableProperties(std::forward<CustomizablePropertiesT>(value));
178 return *this;
179 }
181 m_customizablePropertiesHasBeenSet = true;
182 m_customizableProperties.push_back(value);
183 return *this;
184 }
186
188
193 inline const Aws::Map<Aws::String, ParameterDefinition>& GetParameterDefinitions() const { return m_parameterDefinitions; }
194 inline bool ParameterDefinitionsHasBeenSet() const { return m_parameterDefinitionsHasBeenSet; }
195 template <typename ParameterDefinitionsT = Aws::Map<Aws::String, ParameterDefinition>>
196 void SetParameterDefinitions(ParameterDefinitionsT&& value) {
197 m_parameterDefinitionsHasBeenSet = true;
198 m_parameterDefinitions = std::forward<ParameterDefinitionsT>(value);
199 }
200 template <typename ParameterDefinitionsT = Aws::Map<Aws::String, ParameterDefinition>>
201 SecurityControlDefinition& WithParameterDefinitions(ParameterDefinitionsT&& value) {
202 SetParameterDefinitions(std::forward<ParameterDefinitionsT>(value));
203 return *this;
204 }
205 template <typename ParameterDefinitionsKeyT = Aws::String, typename ParameterDefinitionsValueT = ParameterDefinition>
206 SecurityControlDefinition& AddParameterDefinitions(ParameterDefinitionsKeyT&& key, ParameterDefinitionsValueT&& value) {
207 m_parameterDefinitionsHasBeenSet = true;
208 m_parameterDefinitions.emplace(std::forward<ParameterDefinitionsKeyT>(key), std::forward<ParameterDefinitionsValueT>(value));
209 return *this;
210 }
212 private:
213 Aws::String m_securityControlId;
214
215 Aws::String m_title;
216
217 Aws::String m_description;
218
219 Aws::String m_remediationUrl;
220
221 SeverityRating m_severityRating{SeverityRating::NOT_SET};
222
224
225 Aws::Vector<SecurityControlProperty> m_customizableProperties;
226
227 Aws::Map<Aws::String, ParameterDefinition> m_parameterDefinitions;
228 bool m_securityControlIdHasBeenSet = false;
229 bool m_titleHasBeenSet = false;
230 bool m_descriptionHasBeenSet = false;
231 bool m_remediationUrlHasBeenSet = false;
232 bool m_severityRatingHasBeenSet = false;
233 bool m_currentRegionAvailabilityHasBeenSet = false;
234 bool m_customizablePropertiesHasBeenSet = false;
235 bool m_parameterDefinitionsHasBeenSet = false;
236};
237
238} // namespace Model
239} // namespace SecurityHub
240} // 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 & 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