AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateAccessControlConfigurationRequest.h
1
6#pragma once
7#include <aws/kendra/Kendra_EXPORTS.h>
8#include <aws/kendra/KendraRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/kendra/model/Principal.h>
12#include <aws/kendra/model/HierarchicalPrincipal.h>
13#include <utility>
14#include <aws/core/utils/UUID.h>
15
16namespace Aws
17{
18namespace kendra
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_KENDRA_API CreateAccessControlConfigurationRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateAccessControlConfiguration"; }
35
36 AWS_KENDRA_API Aws::String SerializePayload() const override;
37
39
40
42
46 inline const Aws::String& GetIndexId() const { return m_indexId; }
47 inline bool IndexIdHasBeenSet() const { return m_indexIdHasBeenSet; }
48 template<typename IndexIdT = Aws::String>
49 void SetIndexId(IndexIdT&& value) { m_indexIdHasBeenSet = true; m_indexId = std::forward<IndexIdT>(value); }
50 template<typename IndexIdT = Aws::String>
51 CreateAccessControlConfigurationRequest& WithIndexId(IndexIdT&& value) { SetIndexId(std::forward<IndexIdT>(value)); return *this;}
53
55
58 inline const Aws::String& GetName() const { return m_name; }
59 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
60 template<typename NameT = Aws::String>
61 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
62 template<typename NameT = Aws::String>
63 CreateAccessControlConfigurationRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
65
67
70 inline const Aws::String& GetDescription() const { return m_description; }
71 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
72 template<typename DescriptionT = Aws::String>
73 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
74 template<typename DescriptionT = Aws::String>
75 CreateAccessControlConfigurationRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
77
79
84 inline const Aws::Vector<Principal>& GetAccessControlList() const { return m_accessControlList; }
85 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
86 template<typename AccessControlListT = Aws::Vector<Principal>>
87 void SetAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet = true; m_accessControlList = std::forward<AccessControlListT>(value); }
88 template<typename AccessControlListT = Aws::Vector<Principal>>
89 CreateAccessControlConfigurationRequest& WithAccessControlList(AccessControlListT&& value) { SetAccessControlList(std::forward<AccessControlListT>(value)); return *this;}
90 template<typename AccessControlListT = Principal>
91 CreateAccessControlConfigurationRequest& AddAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet = true; m_accessControlList.emplace_back(std::forward<AccessControlListT>(value)); return *this; }
93
95
101 inline const Aws::Vector<HierarchicalPrincipal>& GetHierarchicalAccessControlList() const { return m_hierarchicalAccessControlList; }
102 inline bool HierarchicalAccessControlListHasBeenSet() const { return m_hierarchicalAccessControlListHasBeenSet; }
103 template<typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
104 void SetHierarchicalAccessControlList(HierarchicalAccessControlListT&& value) { m_hierarchicalAccessControlListHasBeenSet = true; m_hierarchicalAccessControlList = std::forward<HierarchicalAccessControlListT>(value); }
105 template<typename HierarchicalAccessControlListT = Aws::Vector<HierarchicalPrincipal>>
106 CreateAccessControlConfigurationRequest& WithHierarchicalAccessControlList(HierarchicalAccessControlListT&& value) { SetHierarchicalAccessControlList(std::forward<HierarchicalAccessControlListT>(value)); return *this;}
107 template<typename HierarchicalAccessControlListT = HierarchicalPrincipal>
108 CreateAccessControlConfigurationRequest& AddHierarchicalAccessControlList(HierarchicalAccessControlListT&& value) { m_hierarchicalAccessControlListHasBeenSet = true; m_hierarchicalAccessControlList.emplace_back(std::forward<HierarchicalAccessControlListT>(value)); return *this; }
110
112
118 inline const Aws::String& GetClientToken() const { return m_clientToken; }
119 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
120 template<typename ClientTokenT = Aws::String>
121 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
122 template<typename ClientTokenT = Aws::String>
123 CreateAccessControlConfigurationRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
125 private:
126
127 Aws::String m_indexId;
128 bool m_indexIdHasBeenSet = false;
129
130 Aws::String m_name;
131 bool m_nameHasBeenSet = false;
132
133 Aws::String m_description;
134 bool m_descriptionHasBeenSet = false;
135
136 Aws::Vector<Principal> m_accessControlList;
137 bool m_accessControlListHasBeenSet = false;
138
139 Aws::Vector<HierarchicalPrincipal> m_hierarchicalAccessControlList;
140 bool m_hierarchicalAccessControlListHasBeenSet = false;
141
143 bool m_clientTokenHasBeenSet = true;
144 };
145
146} // namespace Model
147} // namespace kendra
148} // 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