AWS SDK for C++

AWS SDK for C++ Version 1.11.719

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
132 inline SeverityRating GetSeverityRating() const { return m_severityRating; }
133 inline bool SeverityRatingHasBeenSet() const { return m_severityRatingHasBeenSet; }
135 m_severityRatingHasBeenSet = true;
136 m_severityRating = value;
137 }
139 SetSeverityRating(value);
140 return *this;
141 }
143
145
149 inline RegionAvailabilityStatus GetCurrentRegionAvailability() const { return m_currentRegionAvailability; }
150 inline bool CurrentRegionAvailabilityHasBeenSet() const { return m_currentRegionAvailabilityHasBeenSet; }
152 m_currentRegionAvailabilityHasBeenSet = true;
153 m_currentRegionAvailability = value;
154 }
157 return *this;
158 }
160
162
167 inline const Aws::Vector<SecurityControlProperty>& GetCustomizableProperties() const { return m_customizableProperties; }
168 inline bool CustomizablePropertiesHasBeenSet() const { return m_customizablePropertiesHasBeenSet; }
169 template <typename CustomizablePropertiesT = Aws::Vector<SecurityControlProperty>>
170 void SetCustomizableProperties(CustomizablePropertiesT&& value) {
171 m_customizablePropertiesHasBeenSet = true;
172 m_customizableProperties = std::forward<CustomizablePropertiesT>(value);
173 }
174 template <typename CustomizablePropertiesT = Aws::Vector<SecurityControlProperty>>
175 SecurityControlDefinition& WithCustomizableProperties(CustomizablePropertiesT&& value) {
176 SetCustomizableProperties(std::forward<CustomizablePropertiesT>(value));
177 return *this;
178 }
180 m_customizablePropertiesHasBeenSet = true;
181 m_customizableProperties.push_back(value);
182 return *this;
183 }
185
187
192 inline const Aws::Map<Aws::String, ParameterDefinition>& GetParameterDefinitions() const { return m_parameterDefinitions; }
193 inline bool ParameterDefinitionsHasBeenSet() const { return m_parameterDefinitionsHasBeenSet; }
194 template <typename ParameterDefinitionsT = Aws::Map<Aws::String, ParameterDefinition>>
195 void SetParameterDefinitions(ParameterDefinitionsT&& value) {
196 m_parameterDefinitionsHasBeenSet = true;
197 m_parameterDefinitions = std::forward<ParameterDefinitionsT>(value);
198 }
199 template <typename ParameterDefinitionsT = Aws::Map<Aws::String, ParameterDefinition>>
200 SecurityControlDefinition& WithParameterDefinitions(ParameterDefinitionsT&& value) {
201 SetParameterDefinitions(std::forward<ParameterDefinitionsT>(value));
202 return *this;
203 }
204 template <typename ParameterDefinitionsKeyT = Aws::String, typename ParameterDefinitionsValueT = ParameterDefinition>
205 SecurityControlDefinition& AddParameterDefinitions(ParameterDefinitionsKeyT&& key, ParameterDefinitionsValueT&& value) {
206 m_parameterDefinitionsHasBeenSet = true;
207 m_parameterDefinitions.emplace(std::forward<ParameterDefinitionsKeyT>(key), std::forward<ParameterDefinitionsValueT>(value));
208 return *this;
209 }
211 private:
212 Aws::String m_securityControlId;
213
214 Aws::String m_title;
215
216 Aws::String m_description;
217
218 Aws::String m_remediationUrl;
219
220 SeverityRating m_severityRating{SeverityRating::NOT_SET};
221
223
224 Aws::Vector<SecurityControlProperty> m_customizableProperties;
225
226 Aws::Map<Aws::String, ParameterDefinition> m_parameterDefinitions;
227 bool m_securityControlIdHasBeenSet = false;
228 bool m_titleHasBeenSet = false;
229 bool m_descriptionHasBeenSet = false;
230 bool m_remediationUrlHasBeenSet = false;
231 bool m_severityRatingHasBeenSet = false;
232 bool m_currentRegionAvailabilityHasBeenSet = false;
233 bool m_customizablePropertiesHasBeenSet = false;
234 bool m_parameterDefinitionsHasBeenSet = false;
235};
236
237} // namespace Model
238} // namespace SecurityHub
239} // 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