AWS SDK for C++

AWS SDK for C++ Version 1.11.681

Loading...
Searching...
No Matches
UpdateAccessControlConfigurationRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/kendra/KendraRequest.h>
10#include <aws/kendra/Kendra_EXPORTS.h>
11#include <aws/kendra/model/HierarchicalPrincipal.h>
12#include <aws/kendra/model/Principal.h>
13
14#include <utility>
15
16namespace Aws {
17namespace kendra {
18namespace Model {
19
23 public:
24 AWS_KENDRA_API UpdateAccessControlConfigurationRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "UpdateAccessControlConfiguration"; }
31
32 AWS_KENDRA_API Aws::String SerializePayload() const override;
33
35
37
40 inline const Aws::String& GetIndexId() const { return m_indexId; }
41 inline bool IndexIdHasBeenSet() const { return m_indexIdHasBeenSet; }
42 template <typename IndexIdT = Aws::String>
43 void SetIndexId(IndexIdT&& value) {
44 m_indexIdHasBeenSet = true;
45 m_indexId = std::forward<IndexIdT>(value);
46 }
47 template <typename IndexIdT = Aws::String>
49 SetIndexId(std::forward<IndexIdT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetId() const { return m_id; }
59 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
60 template <typename IdT = Aws::String>
61 void SetId(IdT&& value) {
62 m_idHasBeenSet = true;
63 m_id = std::forward<IdT>(value);
64 }
65 template <typename IdT = Aws::String>
67 SetId(std::forward<IdT>(value));
68 return *this;
69 }
71
73
76 inline const Aws::String& GetName() const { return m_name; }
77 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
78 template <typename NameT = Aws::String>
79 void SetName(NameT&& value) {
80 m_nameHasBeenSet = true;
81 m_name = std::forward<NameT>(value);
82 }
83 template <typename NameT = Aws::String>
85 SetName(std::forward<NameT>(value));
86 return *this;
87 }
89
91
94 inline const Aws::String& GetDescription() const { return m_description; }
95 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
96 template <typename DescriptionT = Aws::String>
97 void SetDescription(DescriptionT&& value) {
98 m_descriptionHasBeenSet = true;
99 m_description = std::forward<DescriptionT>(value);
100 }
101 template <typename DescriptionT = Aws::String>
103 SetDescription(std::forward<DescriptionT>(value));
104 return *this;
105 }
107
109
115 inline const Aws::Vector<Principal>& GetAccessControlList() const { return m_accessControlList; }
116 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
117 template <typename AccessControlListT = Aws::Vector<Principal>>
118 void SetAccessControlList(AccessControlListT&& value) {
119 m_accessControlListHasBeenSet = true;
120 m_accessControlList = std::forward<AccessControlListT>(value);
121 }
122 template <typename AccessControlListT = Aws::Vector<Principal>>
124 SetAccessControlList(std::forward<AccessControlListT>(value));
125 return *this;
126 }
127 template <typename AccessControlListT = Principal>
129 m_accessControlListHasBeenSet = true;
130 m_accessControlList.emplace_back(std::forward<AccessControlListT>(value));
131 return *this;
132 }
134
136
142 inline const Aws::Vector<HierarchicalPrincipal>& GetHierarchicalAccessControlList() const { return m_hierarchicalAccessControlList; }
143 inline bool HierarchicalAccessControlListHasBeenSet() const { return m_hierarchicalAccessControlListHasBeenSet; }
144 template <typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
145 void SetHierarchicalAccessControlList(HierarchicalAccessControlListT&& value) {
146 m_hierarchicalAccessControlListHasBeenSet = true;
147 m_hierarchicalAccessControlList = std::forward<HierarchicalAccessControlListT>(value);
148 }
149 template <typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
151 SetHierarchicalAccessControlList(std::forward<HierarchicalAccessControlListT>(value));
152 return *this;
153 }
154 template <typename HierarchicalAccessControlListT = HierarchicalPrincipal>
156 m_hierarchicalAccessControlListHasBeenSet = true;
157 m_hierarchicalAccessControlList.emplace_back(std::forward<HierarchicalAccessControlListT>(value));
158 return *this;
159 }
161 private:
162 Aws::String m_indexId;
163 bool m_indexIdHasBeenSet = false;
164
165 Aws::String m_id;
166 bool m_idHasBeenSet = false;
167
168 Aws::String m_name;
169 bool m_nameHasBeenSet = false;
170
171 Aws::String m_description;
172 bool m_descriptionHasBeenSet = false;
173
174 Aws::Vector<Principal> m_accessControlList;
175 bool m_accessControlListHasBeenSet = false;
176
177 Aws::Vector<HierarchicalPrincipal> m_hierarchicalAccessControlList;
178 bool m_hierarchicalAccessControlListHasBeenSet = false;
179};
180
181} // namespace Model
182} // namespace kendra
183} // namespace Aws
const Aws::Vector< HierarchicalPrincipal > & GetHierarchicalAccessControlList() const
UpdateAccessControlConfigurationRequest & WithIndexId(IndexIdT &&value)
UpdateAccessControlConfigurationRequest & AddAccessControlList(AccessControlListT &&value)
AWS_KENDRA_API Aws::String SerializePayload() const override
UpdateAccessControlConfigurationRequest & WithAccessControlList(AccessControlListT &&value)
UpdateAccessControlConfigurationRequest & AddHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
UpdateAccessControlConfigurationRequest & WithHierarchicalAccessControlList(HierarchicalAccessControlListT &&value)
UpdateAccessControlConfigurationRequest & WithDescription(DescriptionT &&value)
AWS_KENDRA_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
UpdateAccessControlConfigurationRequest & WithName(NameT &&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