AWS SDK for C++

AWS SDK for C++ Version 1.11.902

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/AIAgent.h>
10#include <aws/connect/model/Application.h>
11#include <aws/connect/model/FlowModule.h>
12#include <aws/connect/model/GranularAccessControlConfiguration.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Connect {
21namespace Model {
22
26 public:
27 AWS_CONNECT_API CreateSecurityProfileRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateSecurityProfile"; }
34
35 AWS_CONNECT_API Aws::String SerializePayload() const override;
36
38
41 inline const Aws::String& GetSecurityProfileName() const { return m_securityProfileName; }
42 inline bool SecurityProfileNameHasBeenSet() const { return m_securityProfileNameHasBeenSet; }
43 template <typename SecurityProfileNameT = Aws::String>
44 void SetSecurityProfileName(SecurityProfileNameT&& value) {
45 m_securityProfileNameHasBeenSet = true;
46 m_securityProfileName = std::forward<SecurityProfileNameT>(value);
47 }
48 template <typename SecurityProfileNameT = Aws::String>
50 SetSecurityProfileName(std::forward<SecurityProfileNameT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetDescription() const { return m_description; }
60 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
61 template <typename DescriptionT = Aws::String>
62 void SetDescription(DescriptionT&& value) {
63 m_descriptionHasBeenSet = true;
64 m_description = std::forward<DescriptionT>(value);
65 }
66 template <typename DescriptionT = Aws::String>
68 SetDescription(std::forward<DescriptionT>(value));
69 return *this;
70 }
72
74
80 inline const Aws::Vector<Aws::String>& GetPermissions() const { return m_permissions; }
81 inline bool PermissionsHasBeenSet() const { return m_permissionsHasBeenSet; }
82 template <typename PermissionsT = Aws::Vector<Aws::String>>
83 void SetPermissions(PermissionsT&& value) {
84 m_permissionsHasBeenSet = true;
85 m_permissions = std::forward<PermissionsT>(value);
86 }
87 template <typename PermissionsT = Aws::Vector<Aws::String>>
89 SetPermissions(std::forward<PermissionsT>(value));
90 return *this;
91 }
92 template <typename PermissionsT = Aws::String>
94 m_permissionsHasBeenSet = true;
95 m_permissions.emplace_back(std::forward<PermissionsT>(value));
96 return *this;
97 }
99
101
106 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
107 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
108 template <typename InstanceIdT = Aws::String>
109 void SetInstanceId(InstanceIdT&& value) {
110 m_instanceIdHasBeenSet = true;
111 m_instanceId = std::forward<InstanceIdT>(value);
112 }
113 template <typename InstanceIdT = Aws::String>
115 SetInstanceId(std::forward<InstanceIdT>(value));
116 return *this;
117 }
119
121
125 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
126 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
127 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
128 void SetTags(TagsT&& value) {
129 m_tagsHasBeenSet = true;
130 m_tags = std::forward<TagsT>(value);
131 }
132 template <typename TagsT = Aws::Map<Aws::String, Aws::String>>
134 SetTags(std::forward<TagsT>(value));
135 return *this;
136 }
137 template <typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
138 CreateSecurityProfileRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
139 m_tagsHasBeenSet = true;
140 m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
141 return *this;
142 }
144
146
150 inline const Aws::Map<Aws::String, Aws::String>& GetAllowedAccessControlTags() const { return m_allowedAccessControlTags; }
151 inline bool AllowedAccessControlTagsHasBeenSet() const { return m_allowedAccessControlTagsHasBeenSet; }
152 template <typename AllowedAccessControlTagsT = Aws::Map<Aws::String, Aws::String>>
153 void SetAllowedAccessControlTags(AllowedAccessControlTagsT&& value) {
154 m_allowedAccessControlTagsHasBeenSet = true;
155 m_allowedAccessControlTags = std::forward<AllowedAccessControlTagsT>(value);
156 }
157 template <typename AllowedAccessControlTagsT = Aws::Map<Aws::String, Aws::String>>
158 CreateSecurityProfileRequest& WithAllowedAccessControlTags(AllowedAccessControlTagsT&& value) {
159 SetAllowedAccessControlTags(std::forward<AllowedAccessControlTagsT>(value));
160 return *this;
161 }
162 template <typename AllowedAccessControlTagsKeyT = Aws::String, typename AllowedAccessControlTagsValueT = Aws::String>
163 CreateSecurityProfileRequest& AddAllowedAccessControlTags(AllowedAccessControlTagsKeyT&& key, AllowedAccessControlTagsValueT&& value) {
164 m_allowedAccessControlTagsHasBeenSet = true;
165 m_allowedAccessControlTags.emplace(std::forward<AllowedAccessControlTagsKeyT>(key),
166 std::forward<AllowedAccessControlTagsValueT>(value));
167 return *this;
168 }
170
172
179 inline const Aws::Vector<Aws::String>& GetTagRestrictedResources() const { return m_tagRestrictedResources; }
180 inline bool TagRestrictedResourcesHasBeenSet() const { return m_tagRestrictedResourcesHasBeenSet; }
181 template <typename TagRestrictedResourcesT = Aws::Vector<Aws::String>>
182 void SetTagRestrictedResources(TagRestrictedResourcesT&& value) {
183 m_tagRestrictedResourcesHasBeenSet = true;
184 m_tagRestrictedResources = std::forward<TagRestrictedResourcesT>(value);
185 }
186 template <typename TagRestrictedResourcesT = Aws::Vector<Aws::String>>
188 SetTagRestrictedResources(std::forward<TagRestrictedResourcesT>(value));
189 return *this;
190 }
191 template <typename TagRestrictedResourcesT = Aws::String>
192 CreateSecurityProfileRequest& AddTagRestrictedResources(TagRestrictedResourcesT&& value) {
193 m_tagRestrictedResourcesHasBeenSet = true;
194 m_tagRestrictedResources.emplace_back(std::forward<TagRestrictedResourcesT>(value));
195 return *this;
196 }
198
200
204 inline const Aws::Vector<Application>& GetApplications() const { return m_applications; }
205 inline bool ApplicationsHasBeenSet() const { return m_applicationsHasBeenSet; }
206 template <typename ApplicationsT = Aws::Vector<Application>>
207 void SetApplications(ApplicationsT&& value) {
208 m_applicationsHasBeenSet = true;
209 m_applications = std::forward<ApplicationsT>(value);
210 }
211 template <typename ApplicationsT = Aws::Vector<Application>>
213 SetApplications(std::forward<ApplicationsT>(value));
214 return *this;
215 }
216 template <typename ApplicationsT = Application>
218 m_applicationsHasBeenSet = true;
219 m_applications.emplace_back(std::forward<ApplicationsT>(value));
220 return *this;
221 }
223
225
230 inline const Aws::Vector<Aws::String>& GetHierarchyRestrictedResources() const { return m_hierarchyRestrictedResources; }
231 inline bool HierarchyRestrictedResourcesHasBeenSet() const { return m_hierarchyRestrictedResourcesHasBeenSet; }
232 template <typename HierarchyRestrictedResourcesT = Aws::Vector<Aws::String>>
233 void SetHierarchyRestrictedResources(HierarchyRestrictedResourcesT&& value) {
234 m_hierarchyRestrictedResourcesHasBeenSet = true;
235 m_hierarchyRestrictedResources = std::forward<HierarchyRestrictedResourcesT>(value);
236 }
237 template <typename HierarchyRestrictedResourcesT = Aws::Vector<Aws::String>>
238 CreateSecurityProfileRequest& WithHierarchyRestrictedResources(HierarchyRestrictedResourcesT&& value) {
239 SetHierarchyRestrictedResources(std::forward<HierarchyRestrictedResourcesT>(value));
240 return *this;
241 }
242 template <typename HierarchyRestrictedResourcesT = Aws::String>
243 CreateSecurityProfileRequest& AddHierarchyRestrictedResources(HierarchyRestrictedResourcesT&& value) {
244 m_hierarchyRestrictedResourcesHasBeenSet = true;
245 m_hierarchyRestrictedResources.emplace_back(std::forward<HierarchyRestrictedResourcesT>(value));
246 return *this;
247 }
249
251
255 inline const Aws::String& GetAllowedAccessControlHierarchyGroupId() const { return m_allowedAccessControlHierarchyGroupId; }
256 inline bool AllowedAccessControlHierarchyGroupIdHasBeenSet() const { return m_allowedAccessControlHierarchyGroupIdHasBeenSet; }
257 template <typename AllowedAccessControlHierarchyGroupIdT = Aws::String>
258 void SetAllowedAccessControlHierarchyGroupId(AllowedAccessControlHierarchyGroupIdT&& value) {
259 m_allowedAccessControlHierarchyGroupIdHasBeenSet = true;
260 m_allowedAccessControlHierarchyGroupId = std::forward<AllowedAccessControlHierarchyGroupIdT>(value);
261 }
262 template <typename AllowedAccessControlHierarchyGroupIdT = Aws::String>
263 CreateSecurityProfileRequest& WithAllowedAccessControlHierarchyGroupId(AllowedAccessControlHierarchyGroupIdT&& value) {
264 SetAllowedAccessControlHierarchyGroupId(std::forward<AllowedAccessControlHierarchyGroupIdT>(value));
265 return *this;
266 }
268
270
273 inline const Aws::Vector<FlowModule>& GetAllowedFlowModules() const { return m_allowedFlowModules; }
274 inline bool AllowedFlowModulesHasBeenSet() const { return m_allowedFlowModulesHasBeenSet; }
275 template <typename AllowedFlowModulesT = Aws::Vector<FlowModule>>
276 void SetAllowedFlowModules(AllowedFlowModulesT&& value) {
277 m_allowedFlowModulesHasBeenSet = true;
278 m_allowedFlowModules = std::forward<AllowedFlowModulesT>(value);
279 }
280 template <typename AllowedFlowModulesT = Aws::Vector<FlowModule>>
282 SetAllowedFlowModules(std::forward<AllowedFlowModulesT>(value));
283 return *this;
284 }
285 template <typename AllowedFlowModulesT = FlowModule>
287 m_allowedFlowModulesHasBeenSet = true;
288 m_allowedFlowModules.emplace_back(std::forward<AllowedFlowModulesT>(value));
289 return *this;
290 }
292
294
297 inline const Aws::Vector<AIAgent>& GetAllowedAIAgents() const { return m_allowedAIAgents; }
298 inline bool AllowedAIAgentsHasBeenSet() const { return m_allowedAIAgentsHasBeenSet; }
299 template <typename AllowedAIAgentsT = Aws::Vector<AIAgent>>
300 void SetAllowedAIAgents(AllowedAIAgentsT&& value) {
301 m_allowedAIAgentsHasBeenSet = true;
302 m_allowedAIAgents = std::forward<AllowedAIAgentsT>(value);
303 }
304 template <typename AllowedAIAgentsT = Aws::Vector<AIAgent>>
306 SetAllowedAIAgents(std::forward<AllowedAIAgentsT>(value));
307 return *this;
308 }
309 template <typename AllowedAIAgentsT = AIAgent>
311 m_allowedAIAgentsHasBeenSet = true;
312 m_allowedAIAgents.emplace_back(std::forward<AllowedAIAgentsT>(value));
313 return *this;
314 }
316
318
323 return m_granularAccessControlConfiguration;
324 }
325 inline bool GranularAccessControlConfigurationHasBeenSet() const { return m_granularAccessControlConfigurationHasBeenSet; }
326 template <typename GranularAccessControlConfigurationT = GranularAccessControlConfiguration>
327 void SetGranularAccessControlConfiguration(GranularAccessControlConfigurationT&& value) {
328 m_granularAccessControlConfigurationHasBeenSet = true;
329 m_granularAccessControlConfiguration = std::forward<GranularAccessControlConfigurationT>(value);
330 }
331 template <typename GranularAccessControlConfigurationT = GranularAccessControlConfiguration>
332 CreateSecurityProfileRequest& WithGranularAccessControlConfiguration(GranularAccessControlConfigurationT&& value) {
333 SetGranularAccessControlConfiguration(std::forward<GranularAccessControlConfigurationT>(value));
334 return *this;
335 }
337 private:
338 Aws::String m_securityProfileName;
339
340 Aws::String m_description;
341
342 Aws::Vector<Aws::String> m_permissions;
343
344 Aws::String m_instanceId;
345
347
348 Aws::Map<Aws::String, Aws::String> m_allowedAccessControlTags;
349
350 Aws::Vector<Aws::String> m_tagRestrictedResources;
351
352 Aws::Vector<Application> m_applications;
353
354 Aws::Vector<Aws::String> m_hierarchyRestrictedResources;
355
356 Aws::String m_allowedAccessControlHierarchyGroupId;
357
358 Aws::Vector<FlowModule> m_allowedFlowModules;
359
360 Aws::Vector<AIAgent> m_allowedAIAgents;
361
362 GranularAccessControlConfiguration m_granularAccessControlConfiguration;
363 bool m_securityProfileNameHasBeenSet = false;
364 bool m_descriptionHasBeenSet = false;
365 bool m_permissionsHasBeenSet = false;
366 bool m_instanceIdHasBeenSet = false;
367 bool m_tagsHasBeenSet = false;
368 bool m_allowedAccessControlTagsHasBeenSet = false;
369 bool m_tagRestrictedResourcesHasBeenSet = false;
370 bool m_applicationsHasBeenSet = false;
371 bool m_hierarchyRestrictedResourcesHasBeenSet = false;
372 bool m_allowedAccessControlHierarchyGroupIdHasBeenSet = false;
373 bool m_allowedFlowModulesHasBeenSet = false;
374 bool m_allowedAIAgentsHasBeenSet = false;
375 bool m_granularAccessControlConfigurationHasBeenSet = false;
376};
377
378} // namespace Model
379} // namespace Connect
380} // 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
CreateSecurityProfileRequest & AddAllowedAIAgents(AllowedAIAgentsT &&value)
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)
CreateSecurityProfileRequest & WithAllowedAIAgents(AllowedAIAgentsT &&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