AWS SDK for C++

AWS SDK for C++ Version 1.11.714

Loading...
Searching...
No Matches
CreateSecurityProfileRequest.h
1
6#pragma once
7#include <aws/connect/ConnectRequest.h>
8#include <aws/connect/Connect_EXPORTS.h>
9#include <aws/connect/model/Application.h>
10#include <aws/connect/model/FlowModule.h>
11#include <aws/connect/model/GranularAccessControlConfiguration.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Connect {
20namespace Model {
21
25 public:
26 AWS_CONNECT_API CreateSecurityProfileRequest() = default;
27
28 // Service request name is the Operation name which will send this request out,
29 // each operation should has unique request name, so that we can get operation's name from this request.
30 // Note: this is not true for response, multiple operations may have the same response name,
31 // so we can not get operation's name from response.
32 inline virtual const char* GetServiceRequestName() const override { return "CreateSecurityProfile"; }
33
34 AWS_CONNECT_API Aws::String SerializePayload() const override;
35
37
40 inline const Aws::String& GetSecurityProfileName() const { return m_securityProfileName; }
41 inline bool SecurityProfileNameHasBeenSet() const { return m_securityProfileNameHasBeenSet; }
42 template <typename SecurityProfileNameT = Aws::String>
43 void SetSecurityProfileName(SecurityProfileNameT&& value) {
44 m_securityProfileNameHasBeenSet = true;
45 m_securityProfileName = std::forward<SecurityProfileNameT>(value);
46 }
47 template <typename SecurityProfileNameT = Aws::String>
49 SetSecurityProfileName(std::forward<SecurityProfileNameT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetDescription() const { return m_description; }
59 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
60 template <typename DescriptionT = Aws::String>
61 void SetDescription(DescriptionT&& value) {
62 m_descriptionHasBeenSet = true;
63 m_description = std::forward<DescriptionT>(value);
64 }
65 template <typename DescriptionT = Aws::String>
67 SetDescription(std::forward<DescriptionT>(value));
68 return *this;
69 }
71
73
79 inline const Aws::Vector<Aws::String>& GetPermissions() const { return m_permissions; }
80 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
81 template <typename PermissionsT = Aws::Vector<Aws::String>>
82 void SetPermissions(PermissionsT&& value) {
83 m_permissionsHasBeenSet = true;
84 m_permissions = std::forward<PermissionsT>(value);
85 }
86 template <typename PermissionsT = Aws::Vector<Aws::String>>
88 SetPermissions(std::forward<PermissionsT>(value));
89 return *this;
90 }
91 template <typename PermissionsT = Aws::String>
93 m_permissionsHasBeenSet = true;
94 m_permissions.emplace_back(std::forward<PermissionsT>(value));
95 return *this;
96 }
98
100
105 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
106 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
107 template <typename InstanceIdT = Aws::String>
108 void SetInstanceId(InstanceIdT&& value) {
109 m_instanceIdHasBeenSet = true;
110 m_instanceId = std::forward<InstanceIdT>(value);
111 }
112 template <typename InstanceIdT = Aws::String>
114 SetInstanceId(std::forward<InstanceIdT>(value));
115 return *this;
116 }
118
120
124 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
125 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
126 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
127 void SetTags(TagsT&& value) {
128 m_tagsHasBeenSet = true;
129 m_tags = std::forward<TagsT>(value);
130 }
131 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
133 SetTags(std::forward<TagsT>(value));
134 return *this;
135 }
136 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
137 CreateSecurityProfileRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
138 m_tagsHasBeenSet = true;
139 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
140 return *this;
141 }
143
145
149 inline const Aws::Map<Aws::String, Aws::String>& GetAllowedAccessControlTags() const { return m_allowedAccessControlTags; }
150 inline bool AllowedAccessControlTagsHasBeenSet() const { return m_allowedAccessControlTagsHasBeenSet; }
151 template <typename AllowedAccessControlTagsT = Aws::Map<Aws::String, Aws::String>>
152 void SetAllowedAccessControlTags(AllowedAccessControlTagsT&& value) {
153 m_allowedAccessControlTagsHasBeenSet = true;
154 m_allowedAccessControlTags = std::forward<AllowedAccessControlTagsT>(value);
155 }
156 template <typename AllowedAccessControlTagsT = Aws::Map<Aws::String, Aws::String>>
157 CreateSecurityProfileRequest& WithAllowedAccessControlTags(AllowedAccessControlTagsT&& value) {
158 SetAllowedAccessControlTags(std::forward<AllowedAccessControlTagsT>(value));
159 return *this;
160 }
161 template <typename AllowedAccessControlTagsKeyT = Aws::String, typename AllowedAccessControlTagsValueT = Aws::String>
162 CreateSecurityProfileRequest& AddAllowedAccessControlTags(AllowedAccessControlTagsKeyT&& key, AllowedAccessControlTagsValueT&& value) {
163 m_allowedAccessControlTagsHasBeenSet = true;
164 m_allowedAccessControlTags.emplace(std::forward<AllowedAccessControlTagsKeyT>(key),
165 std::forward<AllowedAccessControlTagsValueT>(value));
166 return *this;
167 }
169
171
178 inline const Aws::Vector<Aws::String>& GetTagRestrictedResources() const { return m_tagRestrictedResources; }
179 inline bool TagRestrictedResourcesHasBeenSet() const { return m_tagRestrictedResourcesHasBeenSet; }
180 template <typename TagRestrictedResourcesT = Aws::Vector<Aws::String>>
181 void SetTagRestrictedResources(TagRestrictedResourcesT&& value) {
182 m_tagRestrictedResourcesHasBeenSet = true;
183 m_tagRestrictedResources = std::forward<TagRestrictedResourcesT>(value);
184 }
185 template <typename TagRestrictedResourcesT = Aws::Vector<Aws::String>>
187 SetTagRestrictedResources(std::forward<TagRestrictedResourcesT>(value));
188 return *this;
189 }
190 template <typename TagRestrictedResourcesT = Aws::String>
191 CreateSecurityProfileRequest& AddTagRestrictedResources(TagRestrictedResourcesT&& value) {
192 m_tagRestrictedResourcesHasBeenSet = true;
193 m_tagRestrictedResources.emplace_back(std::forward<TagRestrictedResourcesT>(value));
194 return *this;
195 }
197
199
203 inline const Aws::Vector<Application>& GetApplications() const { return m_applications; }
204 inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; }
205 template <typename ApplicationsT = Aws::Vector<Application>>
206 void SetApplications(ApplicationsT&& value) {
207 m_applicationsHasBeenSet = true;
208 m_applications = std::forward<ApplicationsT>(value);
209 }
210 template <typename ApplicationsT = Aws::Vector<Application>>
212 SetApplications(std::forward<ApplicationsT>(value));
213 return *this;
214 }
215 template <typename ApplicationsT = Application>
217 m_applicationsHasBeenSet = true;
218 m_applications.emplace_back(std::forward<ApplicationsT>(value));
219 return *this;
220 }
222
224
229 inline const Aws::Vector<Aws::String>& GetHierarchyRestrictedResources() const { return m_hierarchyRestrictedResources; }
230 inline bool HierarchyRestrictedResourcesHasBeenSet() const { return m_hierarchyRestrictedResourcesHasBeenSet; }
231 template <typename HierarchyRestrictedResourcesT = Aws::Vector<Aws::String>>
232 void SetHierarchyRestrictedResources(HierarchyRestrictedResourcesT&& value) {
233 m_hierarchyRestrictedResourcesHasBeenSet = true;
234 m_hierarchyRestrictedResources = std::forward<HierarchyRestrictedResourcesT>(value);
235 }
236 template <typename HierarchyRestrictedResourcesT = Aws::Vector<Aws::String>>
237 CreateSecurityProfileRequest& WithHierarchyRestrictedResources(HierarchyRestrictedResourcesT&& value) {
238 SetHierarchyRestrictedResources(std::forward<HierarchyRestrictedResourcesT>(value));
239 return *this;
240 }
241 template <typename HierarchyRestrictedResourcesT = Aws::String>
242 CreateSecurityProfileRequest& AddHierarchyRestrictedResources(HierarchyRestrictedResourcesT&& value) {
243 m_hierarchyRestrictedResourcesHasBeenSet = true;
244 m_hierarchyRestrictedResources.emplace_back(std::forward<HierarchyRestrictedResourcesT>(value));
245 return *this;
246 }
248
250
254 inline const Aws::String& GetAllowedAccessControlHierarchyGroupId() const { return m_allowedAccessControlHierarchyGroupId; }
255 inline bool AllowedAccessControlHierarchyGroupIdHasBeenSet() const { return m_allowedAccessControlHierarchyGroupIdHasBeenSet; }
256 template <typename AllowedAccessControlHierarchyGroupIdT = Aws::String>
257 void SetAllowedAccessControlHierarchyGroupId(AllowedAccessControlHierarchyGroupIdT&& value) {
258 m_allowedAccessControlHierarchyGroupIdHasBeenSet = true;
259 m_allowedAccessControlHierarchyGroupId = std::forward<AllowedAccessControlHierarchyGroupIdT>(value);
260 }
261 template <typename AllowedAccessControlHierarchyGroupIdT = Aws::String>
262 CreateSecurityProfileRequest& WithAllowedAccessControlHierarchyGroupId(AllowedAccessControlHierarchyGroupIdT&& value) {
263 SetAllowedAccessControlHierarchyGroupId(std::forward<AllowedAccessControlHierarchyGroupIdT>(value));
264 return *this;
265 }
267
269
272 inline const Aws::Vector<FlowModule>& GetAllowedFlowModules() const { return m_allowedFlowModules; }
273 inline bool AllowedFlowModulesHasBeenSet() const { return m_allowedFlowModulesHasBeenSet; }
274 template <typename AllowedFlowModulesT = Aws::Vector<FlowModule>>
275 void SetAllowedFlowModules(AllowedFlowModulesT&& value) {
276 m_allowedFlowModulesHasBeenSet = true;
277 m_allowedFlowModules = std::forward<AllowedFlowModulesT>(value);
278 }
279 template <typename AllowedFlowModulesT = Aws::Vector<FlowModule>>
281 SetAllowedFlowModules(std::forward<AllowedFlowModulesT>(value));
282 return *this;
283 }
284 template <typename AllowedFlowModulesT = FlowModule>
286 m_allowedFlowModulesHasBeenSet = true;
287 m_allowedFlowModules.emplace_back(std::forward<AllowedFlowModulesT>(value));
288 return *this;
289 }
291
293
298 return m_granularAccessControlConfiguration;
299 }
300 inline bool GranularAccessControlConfigurationHasBeenSet() const { return m_granularAccessControlConfigurationHasBeenSet; }
301 template <typename GranularAccessControlConfigurationT = GranularAccessControlConfiguration>
302 void SetGranularAccessControlConfiguration(GranularAccessControlConfigurationT&& value) {
303 m_granularAccessControlConfigurationHasBeenSet = true;
304 m_granularAccessControlConfiguration = std::forward<GranularAccessControlConfigurationT>(value);
305 }
306 template <typename GranularAccessControlConfigurationT = GranularAccessControlConfiguration>
307 CreateSecurityProfileRequest& WithGranularAccessControlConfiguration(GranularAccessControlConfigurationT&& value) {
308 SetGranularAccessControlConfiguration(std::forward<GranularAccessControlConfigurationT>(value));
309 return *this;
310 }
312 private:
313 Aws::String m_securityProfileName;
314
315 Aws::String m_description;
316
317 Aws::Vector<Aws::String> m_permissions;
318
319 Aws::String m_instanceId;
320
322
323 Aws::Map<Aws::String, Aws::String> m_allowedAccessControlTags;
324
325 Aws::Vector<Aws::String> m_tagRestrictedResources;
326
327 Aws::Vector<Application> m_applications;
328
329 Aws::Vector<Aws::String> m_hierarchyRestrictedResources;
330
331 Aws::String m_allowedAccessControlHierarchyGroupId;
332
333 Aws::Vector<FlowModule> m_allowedFlowModules;
334
335 GranularAccessControlConfiguration m_granularAccessControlConfiguration;
336 bool m_securityProfileNameHasBeenSet = false;
337 bool m_descriptionHasBeenSet = false;
338 bool m_permissionsHasBeenSet = false;
339 bool m_instanceIdHasBeenSet = false;
340 bool m_tagsHasBeenSet = false;
341 bool m_allowedAccessControlTagsHasBeenSet = false;
342 bool m_tagRestrictedResourcesHasBeenSet = false;
343 bool m_applicationsHasBeenSet = false;
344 bool m_hierarchyRestrictedResourcesHasBeenSet = false;
345 bool m_allowedAccessControlHierarchyGroupIdHasBeenSet = false;
346 bool m_allowedFlowModulesHasBeenSet = false;
347 bool m_granularAccessControlConfigurationHasBeenSet = false;
348};
349
350} // namespace Model
351} // namespace Connect
352} // namespace Aws
CreateSecurityProfileRequest & AddAllowedAccessControlTags(AllowedAccessControlTagsKeyT &&key, AllowedAccessControlTagsValueT &&value)
void SetAllowedAccessControlTags(AllowedAccessControlTagsT &&value)
CreateSecurityProfileRequest & WithTags(TagsT &&value)
virtual const char * GetServiceRequestName() const override
const Aws::Vector< Aws::String > & GetHierarchyRestrictedResources() const
CreateSecurityProfileRequest & WithAllowedFlowModules(AllowedFlowModulesT &&value)
CreateSecurityProfileRequest & AddHierarchyRestrictedResources(HierarchyRestrictedResourcesT &&value)
CreateSecurityProfileRequest & WithPermissions(PermissionsT &&value)
CreateSecurityProfileRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
CreateSecurityProfileRequest & AddAllowedFlowModules(AllowedFlowModulesT &&value)
const Aws::Vector< FlowModule > & GetAllowedFlowModules() const
CreateSecurityProfileRequest & AddPermissions(PermissionsT &&value)
CreateSecurityProfileRequest & WithSecurityProfileName(SecurityProfileNameT &&value)
void SetGranularAccessControlConfiguration(GranularAccessControlConfigurationT &&value)
CreateSecurityProfileRequest & WithTagRestrictedResources(TagRestrictedResourcesT &&value)
CreateSecurityProfileRequest & WithAllowedAccessControlTags(AllowedAccessControlTagsT &&value)
CreateSecurityProfileRequest & WithGranularAccessControlConfiguration(GranularAccessControlConfigurationT &&value)
CreateSecurityProfileRequest & AddTagRestrictedResources(TagRestrictedResourcesT &&value)
AWS_CONNECT_API CreateSecurityProfileRequest()=default
const GranularAccessControlConfiguration & GetGranularAccessControlConfiguration() const
const Aws::Map< Aws::String, Aws::String > & GetAllowedAccessControlTags() const
void SetTagRestrictedResources(TagRestrictedResourcesT &&value)
CreateSecurityProfileRequest & WithApplications(ApplicationsT &&value)
CreateSecurityProfileRequest & AddApplications(ApplicationsT &&value)
void SetAllowedAccessControlHierarchyGroupId(AllowedAccessControlHierarchyGroupIdT &&value)
AWS_CONNECT_API Aws::String SerializePayload() const override
CreateSecurityProfileRequest & WithHierarchyRestrictedResources(HierarchyRestrictedResourcesT &&value)
const Aws::Vector< Aws::String > & GetPermissions() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateSecurityProfileRequest & WithInstanceId(InstanceIdT &&value)
void SetHierarchyRestrictedResources(HierarchyRestrictedResourcesT &&value)
const Aws::Vector< Application > & GetApplications() const
CreateSecurityProfileRequest & WithAllowedAccessControlHierarchyGroupId(AllowedAccessControlHierarchyGroupIdT &&value)
const Aws::Vector< Aws::String > & GetTagRestrictedResources() const
CreateSecurityProfileRequest & WithDescription(DescriptionT &&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