7#include <aws/iot/IoT_EXPORTS.h>
8#include <aws/iot/IoTRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/iot/model/MetricsExportConfig.h>
13#include <aws/iot/model/Behavior.h>
14#include <aws/iot/model/AlertTargetType.h>
15#include <aws/iot/model/AlertTarget.h>
16#include <aws/iot/model/MetricToRetain.h>
17#include <aws/iot/model/Tag.h>
49 template<
typename SecurityProfileNameT = Aws::String>
50 void SetSecurityProfileName(SecurityProfileNameT&& value) { m_securityProfileNameHasBeenSet =
true; m_securityProfileName = std::forward<SecurityProfileNameT>(value); }
51 template<
typename SecurityProfileNameT = Aws::String>
61 template<
typename SecurityProfileDescriptionT = Aws::String>
62 void SetSecurityProfileDescription(SecurityProfileDescriptionT&& value) { m_securityProfileDescriptionHasBeenSet =
true; m_securityProfileDescription = std::forward<SecurityProfileDescriptionT>(value); }
63 template<
typename SecurityProfileDescriptionT = Aws::String>
74 template<
typename BehaviorsT = Aws::Vector<Behavior>>
75 void SetBehaviors(BehaviorsT&& value) { m_behaviorsHasBeenSet =
true; m_behaviors = std::forward<BehaviorsT>(value); }
76 template<
typename BehaviorsT = Aws::Vector<Behavior>>
78 template<
typename BehaviorsT = Behavior>
90 template<
typename AlertTargetsT = Aws::Map<AlertTargetType, AlertTarget>>
91 void SetAlertTargets(AlertTargetsT&& value) { m_alertTargetsHasBeenSet =
true; m_alertTargets = std::forward<AlertTargetsT>(value); }
92 template<
typename AlertTargetsT = Aws::Map<AlertTargetType, AlertTarget>>
95 m_alertTargetsHasBeenSet =
true; m_alertTargets.emplace(key, value);
return *
this;
108 template<
typename AdditionalMetricsToRetainV2T = Aws::Vector<MetricToRetain>>
109 void SetAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T&& value) { m_additionalMetricsToRetainV2HasBeenSet =
true; m_additionalMetricsToRetainV2 = std::forward<AdditionalMetricsToRetainV2T>(value); }
110 template<
typename AdditionalMetricsToRetainV2T = Aws::Vector<MetricToRetain>>
112 template<
typename AdditionalMetricsToRetainV2T = MetricToRetain>
122 template<
typename TagsT = Aws::Vector<Tag>>
123 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
124 template<
typename TagsT = Aws::Vector<Tag>>
126 template<
typename TagsT = Tag>
136 template<
typename MetricsExportConfigT = MetricsExportConfig>
137 void SetMetricsExportConfig(MetricsExportConfigT&& value) { m_metricsExportConfigHasBeenSet =
true; m_metricsExportConfig = std::forward<MetricsExportConfigT>(value); }
138 template<
typename MetricsExportConfigT = MetricsExportConfig>
144 bool m_securityProfileNameHasBeenSet =
false;
147 bool m_securityProfileDescriptionHasBeenSet =
false;
150 bool m_behaviorsHasBeenSet =
false;
153 bool m_alertTargetsHasBeenSet =
false;
156 bool m_additionalMetricsToRetainV2HasBeenSet =
false;
159 bool m_tagsHasBeenSet =
false;
162 bool m_metricsExportConfigHasBeenSet =
false;
CreateSecurityProfileRequest & WithAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T &&value)
CreateSecurityProfileRequest & WithBehaviors(BehaviorsT &&value)
void SetBehaviors(BehaviorsT &&value)
CreateSecurityProfileRequest & WithMetricsExportConfig(MetricsExportConfigT &&value)
CreateSecurityProfileRequest & AddAlertTargets(AlertTargetType key, AlertTarget value)
AWS_IOT_API Aws::String SerializePayload() const override
void SetAlertTargets(AlertTargetsT &&value)
CreateSecurityProfileRequest & AddBehaviors(BehaviorsT &&value)
CreateSecurityProfileRequest & WithTags(TagsT &&value)
bool MetricsExportConfigHasBeenSet() const
void SetMetricsExportConfig(MetricsExportConfigT &&value)
AWS_IOT_API CreateSecurityProfileRequest()=default
CreateSecurityProfileRequest & WithSecurityProfileDescription(SecurityProfileDescriptionT &&value)
CreateSecurityProfileRequest & AddTags(TagsT &&value)
bool SecurityProfileDescriptionHasBeenSet() const
bool BehaviorsHasBeenSet() const
const MetricsExportConfig & GetMetricsExportConfig() const
const Aws::Vector< Behavior > & GetBehaviors() const
void SetAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T &&value)
const Aws::String & GetSecurityProfileName() const
CreateSecurityProfileRequest & WithSecurityProfileName(SecurityProfileNameT &&value)
void SetTags(TagsT &&value)
bool TagsHasBeenSet() const
virtual const char * GetServiceRequestName() const override
const Aws::Vector< MetricToRetain > & GetAdditionalMetricsToRetainV2() const
void SetSecurityProfileName(SecurityProfileNameT &&value)
CreateSecurityProfileRequest & AddAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T &&value)
const Aws::String & GetSecurityProfileDescription() const
const Aws::Vector< Tag > & GetTags() const
CreateSecurityProfileRequest & WithAlertTargets(AlertTargetsT &&value)
bool SecurityProfileNameHasBeenSet() const
const Aws::Map< AlertTargetType, AlertTarget > & GetAlertTargets() const
void SetSecurityProfileDescription(SecurityProfileDescriptionT &&value)
bool AdditionalMetricsToRetainV2HasBeenSet() const
bool AlertTargetsHasBeenSet() const
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