AWS SDK for C++

AWS SDK for C++ Version 1.11.685

Loading...
Searching...
No Matches
CreateSecurityProfileRequest.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/iot/IoTRequest.h>
11#include <aws/iot/IoT_EXPORTS.h>
12#include <aws/iot/model/AlertTarget.h>
13#include <aws/iot/model/AlertTargetType.h>
14#include <aws/iot/model/Behavior.h>
15#include <aws/iot/model/MetricToRetain.h>
16#include <aws/iot/model/MetricsExportConfig.h>
17#include <aws/iot/model/Tag.h>
18
19#include <utility>
20
21namespace Aws {
22namespace IoT {
23namespace Model {
24
28 public:
29 AWS_IOT_API CreateSecurityProfileRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreateSecurityProfile"; }
36
37 AWS_IOT_API Aws::String SerializePayload() const override;
38
40
43 inline const Aws::String& GetSecurityProfileName() const { return m_securityProfileName; }
44 inline bool SecurityProfileNameHasBeenSet() const { return m_securityProfileNameHasBeenSet; }
45 template <typename SecurityProfileNameT = Aws::String>
46 void SetSecurityProfileName(SecurityProfileNameT&& value) {
47 m_securityProfileNameHasBeenSet = true;
48 m_securityProfileName = std::forward<SecurityProfileNameT>(value);
49 }
50 template <typename SecurityProfileNameT = Aws::String>
52 SetSecurityProfileName(std::forward<SecurityProfileNameT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetSecurityProfileDescription() const { return m_securityProfileDescription; }
62 inline bool SecurityProfileDescriptionHasBeenSet() const { return m_securityProfileDescriptionHasBeenSet; }
63 template <typename SecurityProfileDescriptionT = Aws::String>
64 void SetSecurityProfileDescription(SecurityProfileDescriptionT&& value) {
65 m_securityProfileDescriptionHasBeenSet = true;
66 m_securityProfileDescription = std::forward<SecurityProfileDescriptionT>(value);
67 }
68 template <typename SecurityProfileDescriptionT = Aws::String>
69 CreateSecurityProfileRequest& WithSecurityProfileDescription(SecurityProfileDescriptionT&& value) {
70 SetSecurityProfileDescription(std::forward<SecurityProfileDescriptionT>(value));
71 return *this;
72 }
74
76
80 inline const Aws::Vector<Behavior>& GetBehaviors() const { return m_behaviors; }
81 inline bool BehaviorsHasBeenSet() const { return m_behaviorsHasBeenSet; }
82 template <typename BehaviorsT = Aws::Vector<Behavior>>
83 void SetBehaviors(BehaviorsT&& value) {
84 m_behaviorsHasBeenSet = true;
85 m_behaviors = std::forward<BehaviorsT>(value);
86 }
87 template <typename BehaviorsT = Aws::Vector<Behavior>>
89 SetBehaviors(std::forward<BehaviorsT>(value));
90 return *this;
91 }
92 template <typename BehaviorsT = Behavior>
94 m_behaviorsHasBeenSet = true;
95 m_behaviors.emplace_back(std::forward<BehaviorsT>(value));
96 return *this;
97 }
99
101
106 inline const Aws::Map<AlertTargetType, AlertTarget>& GetAlertTargets() const { return m_alertTargets; }
107 inline bool AlertTargetsHasBeenSet() const { return m_alertTargetsHasBeenSet; }
108 template <typename AlertTargetsT = Aws::Map<AlertTargetType, AlertTarget>>
109 void SetAlertTargets(AlertTargetsT&& value) {
110 m_alertTargetsHasBeenSet = true;
111 m_alertTargets = std::forward<AlertTargetsT>(value);
112 }
113 template <typename AlertTargetsT = Aws::Map<AlertTargetType, AlertTarget>>
115 SetAlertTargets(std::forward<AlertTargetsT>(value));
116 return *this;
117 }
119 m_alertTargetsHasBeenSet = true;
120 m_alertTargets.emplace(key, value);
121 return *this;
122 }
124
126
132 inline const Aws::Vector<MetricToRetain>& GetAdditionalMetricsToRetainV2() const { return m_additionalMetricsToRetainV2; }
133 inline bool AdditionalMetricsToRetainV2HasBeenSet() const { return m_additionalMetricsToRetainV2HasBeenSet; }
134 template <typename AdditionalMetricsToRetainV2T = Aws::Vector<MetricToRetain>>
135 void SetAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T&& value) {
136 m_additionalMetricsToRetainV2HasBeenSet = true;
137 m_additionalMetricsToRetainV2 = std::forward<AdditionalMetricsToRetainV2T>(value);
138 }
139 template <typename AdditionalMetricsToRetainV2T = Aws::Vector<MetricToRetain>>
140 CreateSecurityProfileRequest& WithAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T&& value) {
141 SetAdditionalMetricsToRetainV2(std::forward<AdditionalMetricsToRetainV2T>(value));
142 return *this;
143 }
144 template <typename AdditionalMetricsToRetainV2T = MetricToRetain>
145 CreateSecurityProfileRequest& AddAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T&& value) {
146 m_additionalMetricsToRetainV2HasBeenSet = true;
147 m_additionalMetricsToRetainV2.emplace_back(std::forward<AdditionalMetricsToRetainV2T>(value));
148 return *this;
149 }
151
153
156 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
157 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
158 template <typename TagsT = Aws::Vector<Tag>>
159 void SetTags(TagsT&& value) {
160 m_tagsHasBeenSet = true;
161 m_tags = std::forward<TagsT>(value);
162 }
163 template <typename TagsT = Aws::Vector<Tag>>
165 SetTags(std::forward<TagsT>(value));
166 return *this;
167 }
168 template <typename TagsT = Tag>
170 m_tagsHasBeenSet = true;
171 m_tags.emplace_back(std::forward<TagsT>(value));
172 return *this;
173 }
175
177
180 inline const MetricsExportConfig& GetMetricsExportConfig() const { return m_metricsExportConfig; }
181 inline bool MetricsExportConfigHasBeenSet() const { return m_metricsExportConfigHasBeenSet; }
182 template <typename MetricsExportConfigT = MetricsExportConfig>
183 void SetMetricsExportConfig(MetricsExportConfigT&& value) {
184 m_metricsExportConfigHasBeenSet = true;
185 m_metricsExportConfig = std::forward<MetricsExportConfigT>(value);
186 }
187 template <typename MetricsExportConfigT = MetricsExportConfig>
189 SetMetricsExportConfig(std::forward<MetricsExportConfigT>(value));
190 return *this;
191 }
193 private:
194 Aws::String m_securityProfileName;
195 bool m_securityProfileNameHasBeenSet = false;
196
197 Aws::String m_securityProfileDescription;
198 bool m_securityProfileDescriptionHasBeenSet = false;
199
200 Aws::Vector<Behavior> m_behaviors;
201 bool m_behaviorsHasBeenSet = false;
202
204 bool m_alertTargetsHasBeenSet = false;
205
206 Aws::Vector<MetricToRetain> m_additionalMetricsToRetainV2;
207 bool m_additionalMetricsToRetainV2HasBeenSet = false;
208
209 Aws::Vector<Tag> m_tags;
210 bool m_tagsHasBeenSet = false;
211
212 MetricsExportConfig m_metricsExportConfig;
213 bool m_metricsExportConfigHasBeenSet = false;
214};
215
216} // namespace Model
217} // namespace IoT
218} // namespace Aws
CreateSecurityProfileRequest & WithAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T &&value)
CreateSecurityProfileRequest & WithBehaviors(BehaviorsT &&value)
CreateSecurityProfileRequest & WithMetricsExportConfig(MetricsExportConfigT &&value)
CreateSecurityProfileRequest & AddAlertTargets(AlertTargetType key, AlertTarget value)
AWS_IOT_API Aws::String SerializePayload() const override
CreateSecurityProfileRequest & AddBehaviors(BehaviorsT &&value)
CreateSecurityProfileRequest & WithTags(TagsT &&value)
AWS_IOT_API CreateSecurityProfileRequest()=default
CreateSecurityProfileRequest & WithSecurityProfileDescription(SecurityProfileDescriptionT &&value)
CreateSecurityProfileRequest & AddTags(TagsT &&value)
const MetricsExportConfig & GetMetricsExportConfig() const
const Aws::Vector< Behavior > & GetBehaviors() const
void SetAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T &&value)
CreateSecurityProfileRequest & WithSecurityProfileName(SecurityProfileNameT &&value)
virtual const char * GetServiceRequestName() const override
const Aws::Vector< MetricToRetain > & GetAdditionalMetricsToRetainV2() const
void SetSecurityProfileName(SecurityProfileNameT &&value)
CreateSecurityProfileRequest & AddAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T &&value)
CreateSecurityProfileRequest & WithAlertTargets(AlertTargetsT &&value)
const Aws::Map< AlertTargetType, AlertTarget > & GetAlertTargets() const
void SetSecurityProfileDescription(SecurityProfileDescriptionT &&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