AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CreateSecurityProfileRequest.h
1
6#pragma once
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>
18#include <utility>
19
20namespace Aws
21{
22namespace IoT
23{
24namespace Model
25{
26
30 {
31 public:
32 AWS_IOT_API CreateSecurityProfileRequest() = default;
33
34 // Service request name is the Operation name which will send this request out,
35 // each operation should has unique request name, so that we can get operation's name from this request.
36 // Note: this is not true for response, multiple operations may have the same response name,
37 // so we can not get operation's name from response.
38 inline virtual const char* GetServiceRequestName() const override { return "CreateSecurityProfile"; }
39
40 AWS_IOT_API Aws::String SerializePayload() const override;
41
42
44
47 inline const Aws::String& GetSecurityProfileName() const { return m_securityProfileName; }
48 inline bool SecurityProfileNameHasBeenSet() const { return m_securityProfileNameHasBeenSet; }
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>
52 CreateSecurityProfileRequest& WithSecurityProfileName(SecurityProfileNameT&& value) { SetSecurityProfileName(std::forward<SecurityProfileNameT>(value)); return *this;}
54
56
59 inline const Aws::String& GetSecurityProfileDescription() const { return m_securityProfileDescription; }
60 inline bool SecurityProfileDescriptionHasBeenSet() const { return m_securityProfileDescriptionHasBeenSet; }
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>
64 CreateSecurityProfileRequest& WithSecurityProfileDescription(SecurityProfileDescriptionT&& value) { SetSecurityProfileDescription(std::forward<SecurityProfileDescriptionT>(value)); return *this;}
66
68
72 inline const Aws::Vector<Behavior>& GetBehaviors() const { return m_behaviors; }
73 inline bool BehaviorsHasBeenSet() const { return m_behaviorsHasBeenSet; }
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>>
77 CreateSecurityProfileRequest& WithBehaviors(BehaviorsT&& value) { SetBehaviors(std::forward<BehaviorsT>(value)); return *this;}
78 template<typename BehaviorsT = Behavior>
79 CreateSecurityProfileRequest& AddBehaviors(BehaviorsT&& value) { m_behaviorsHasBeenSet = true; m_behaviors.emplace_back(std::forward<BehaviorsT>(value)); return *this; }
81
83
88 inline const Aws::Map<AlertTargetType, AlertTarget>& GetAlertTargets() const { return m_alertTargets; }
89 inline bool AlertTargetsHasBeenSet() const { return m_alertTargetsHasBeenSet; }
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>>
93 CreateSecurityProfileRequest& WithAlertTargets(AlertTargetsT&& value) { SetAlertTargets(std::forward<AlertTargetsT>(value)); return *this;}
95 m_alertTargetsHasBeenSet = true; m_alertTargets.emplace(key, value); return *this;
96 }
98
100
106 inline const Aws::Vector<MetricToRetain>& GetAdditionalMetricsToRetainV2() const { return m_additionalMetricsToRetainV2; }
107 inline bool AdditionalMetricsToRetainV2HasBeenSet() const { return m_additionalMetricsToRetainV2HasBeenSet; }
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>>
111 CreateSecurityProfileRequest& WithAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T&& value) { SetAdditionalMetricsToRetainV2(std::forward<AdditionalMetricsToRetainV2T>(value)); return *this;}
112 template<typename AdditionalMetricsToRetainV2T = MetricToRetain>
113 CreateSecurityProfileRequest& AddAdditionalMetricsToRetainV2(AdditionalMetricsToRetainV2T&& value) { m_additionalMetricsToRetainV2HasBeenSet = true; m_additionalMetricsToRetainV2.emplace_back(std::forward<AdditionalMetricsToRetainV2T>(value)); return *this; }
115
117
120 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
121 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
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>>
125 CreateSecurityProfileRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
126 template<typename TagsT = Tag>
127 CreateSecurityProfileRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
129
131
134 inline const MetricsExportConfig& GetMetricsExportConfig() const { return m_metricsExportConfig; }
135 inline bool MetricsExportConfigHasBeenSet() const { return m_metricsExportConfigHasBeenSet; }
136 template<typename MetricsExportConfigT = MetricsExportConfig>
137 void SetMetricsExportConfig(MetricsExportConfigT&& value) { m_metricsExportConfigHasBeenSet = true; m_metricsExportConfig = std::forward<MetricsExportConfigT>(value); }
138 template<typename MetricsExportConfigT = MetricsExportConfig>
139 CreateSecurityProfileRequest& WithMetricsExportConfig(MetricsExportConfigT&& value) { SetMetricsExportConfig(std::forward<MetricsExportConfigT>(value)); return *this;}
141 private:
142
143 Aws::String m_securityProfileName;
144 bool m_securityProfileNameHasBeenSet = false;
145
146 Aws::String m_securityProfileDescription;
147 bool m_securityProfileDescriptionHasBeenSet = false;
148
149 Aws::Vector<Behavior> m_behaviors;
150 bool m_behaviorsHasBeenSet = false;
151
153 bool m_alertTargetsHasBeenSet = false;
154
155 Aws::Vector<MetricToRetain> m_additionalMetricsToRetainV2;
156 bool m_additionalMetricsToRetainV2HasBeenSet = false;
157
158 Aws::Vector<Tag> m_tags;
159 bool m_tagsHasBeenSet = false;
160
161 MetricsExportConfig m_metricsExportConfig;
162 bool m_metricsExportConfigHasBeenSet = false;
163 };
164
165} // namespace Model
166} // namespace IoT
167} // 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