AWS SDK for C++

AWS SDK for C++ Version 1.11.681

Loading...
Searching...
No Matches
CreateAccessControlConfigurationRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/kendra/KendraRequest.h>
11#include <aws/kendra/Kendra_EXPORTS.h>
12#include <aws/kendra/model/HierarchicalPrincipal.h>
13#include <aws/kendra/model/Principal.h>
14
15#include <utility>
16
17namespace Aws {
18namespace kendra {
19namespace Model {
20
24 public:
25 AWS_KENDRA_API CreateAccessControlConfigurationRequest() = default;
26
27 // Service request name is the Operation name which will send this request out,
28 // each operation should has unique request name, so that we can get operation's name from this request.
29 // Note: this is not true for response, multiple operations may have the same response name,
30 // so we can not get operation's name from response.
31 inline virtual const char* GetServiceRequestName() const override { return "CreateAccessControlConfiguration"; }
32
33 AWS_KENDRA_API Aws::String SerializePayload() const override;
34
36
38
42 inline const Aws::String& GetIndexId() const { return m_indexId; }
43 inline bool IndexIdHasBeenSet() const { return m_indexIdHasBeenSet; }
44 template <typename IndexIdT = Aws::String>
45 void SetIndexId(IndexIdT&& value) {
46 m_indexIdHasBeenSet = true;
47 m_indexId = std::forward<IndexIdT>(value);
48 }
49 template <typename IndexIdT = Aws::String>
51 SetIndexId(std::forward<IndexIdT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::String& GetName() const { return m_name; }
61 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
62 template <typename NameT = Aws::String>
63 void SetName(NameT&& value) {
64 m_nameHasBeenSet = true;
65 m_name = std::forward<NameT>(value);
66 }
67 template <typename NameT = Aws::String>
69 SetName(std::forward<NameT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::String& GetDescription() const { return m_description; }
79 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
80 template <typename DescriptionT = Aws::String>
81 void SetDescription(DescriptionT&& value) {
82 m_descriptionHasBeenSet = true;
83 m_description = std::forward<DescriptionT>(value);
84 }
85 template <typename DescriptionT = Aws::String>
87 SetDescription(std::forward<DescriptionT>(value));
88 return *this;
89 }
91
93
98 inline const Aws::Vector<Principal>& GetAccessControlList() const { return m_accessControlList; }
99 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
100 template <typename AccessControlListT = Aws::Vector<Principal>>
101 void SetAccessControlList(AccessControlListT&& value) {
102 m_accessControlListHasBeenSet = true;
103 m_accessControlList = std::forward<AccessControlListT>(value);
104 }
105 template <typename AccessControlListT = Aws::Vector<Principal>>
107 SetAccessControlList(std::forward<AccessControlListT>(value));
108 return *this;
109 }
110 template <typename AccessControlListT = Principal>
112 m_accessControlListHasBeenSet = true;
113 m_accessControlList.emplace_back(std::forward<AccessControlListT>(value));
114 return *this;
115 }
117
119
125 inline const Aws::Vector<HierarchicalPrincipal>& GetHierarchicalAccessControlList() const { return m_hierarchicalAccessControlList; }
126 inline bool HierarchicalAccessControlListHasBeenSet() const { return m_hierarchicalAccessControlListHasBeenSet; }
127 template <typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
128 void SetHierarchicalAccessControlList(HierarchicalAccessControlListT&& value) {
129 m_hierarchicalAccessControlListHasBeenSet = true;
130 m_hierarchicalAccessControlList = std::forward<HierarchicalAccessControlListT>(value);
131 }
132 template <typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
134 SetHierarchicalAccessControlList(std::forward<HierarchicalAccessControlListT>(value));
135 return *this;
136 }
137 template <typename HierarchicalAccessControlListT = HierarchicalPrincipal>
139 m_hierarchicalAccessControlListHasBeenSet = true;
140 m_hierarchicalAccessControlList.emplace_back(std::forward<HierarchicalAccessControlListT>(value));
141 return *this;
142 }
144
146
152 inline const Aws::String& GetClientToken() const { return m_clientToken; }
153 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
154 template <typename ClientTokenT = Aws::String>
155 void SetClientToken(ClientTokenT&& value) {
156 m_clientTokenHasBeenSet = true;
157 m_clientToken = std::forward<ClientTokenT>(value);
158 }
159 template <typename ClientTokenT = Aws::String>
161 SetClientToken(std::forward<ClientTokenT>(value));
162 return *this;
163 }
165 private:
166 Aws::String m_indexId;
167 bool m_indexIdHasBeenSet = false;
168
169 Aws::String m_name;
170 bool m_nameHasBeenSet = false;
171
172 Aws::String m_description;
173 bool m_descriptionHasBeenSet = false;
174
175 Aws::Vector<Principal> m_accessControlList;
176 bool m_accessControlListHasBeenSet = false;
177
178 Aws::Vector<HierarchicalPrincipal> m_hierarchicalAccessControlList;
179 bool m_hierarchicalAccessControlListHasBeenSet = false;
180
182 bool m_clientTokenHasBeenSet = true;
183};
184
185} // namespace Model
186} // namespace kendra
187} // namespace Aws
static Aws::Utils::UUID PseudoRandomUUID()
CreateAccessControlConfigurationRequest & WithAccessControlList(AccessControlListT &&value)
const Aws::Vector< HierarchicalPrincipal > & GetHierarchicalAccessControlList() const
CreateAccessControlConfigurationRequest & WithHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
CreateAccessControlConfigurationRequest & WithClientToken(ClientTokenT &&value)
AWS_KENDRA_API Aws::String SerializePayload() const override
CreateAccessControlConfigurationRequest & WithDescription(DescriptionT &&value)
CreateAccessControlConfigurationRequest & WithIndexId(IndexIdT &&value)
CreateAccessControlConfigurationRequest & AddHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateAccessControlConfigurationRequest & WithName(NameT &&value)
CreateAccessControlConfigurationRequest & AddAccessControlList(AccessControlListT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector