AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
DataLakeSettings.h
1
6#pragma once
7#include <aws/lakeformation/LakeFormation_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSMap.h>
10#include <aws/lakeformation/model/DataLakePrincipal.h>
11#include <aws/lakeformation/model/PrincipalPermissions.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace LakeFormation
26{
27namespace Model
28{
29
39 {
40 public:
41 AWS_LAKEFORMATION_API DataLakeSettings() = default;
42 AWS_LAKEFORMATION_API DataLakeSettings(Aws::Utils::Json::JsonView jsonValue);
43 AWS_LAKEFORMATION_API DataLakeSettings& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_LAKEFORMATION_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
52 inline const Aws::Vector<DataLakePrincipal>& GetDataLakeAdmins() const { return m_dataLakeAdmins; }
53 inline bool DataLakeAdminsHasBeenSet() const { return m_dataLakeAdminsHasBeenSet; }
54 template<typename DataLakeAdminsT = Aws::Vector<DataLakePrincipal>>
55 void SetDataLakeAdmins(DataLakeAdminsT&& value) { m_dataLakeAdminsHasBeenSet = true; m_dataLakeAdmins = std::forward<DataLakeAdminsT>(value); }
56 template<typename DataLakeAdminsT = Aws::Vector<DataLakePrincipal>>
57 DataLakeSettings& WithDataLakeAdmins(DataLakeAdminsT&& value) { SetDataLakeAdmins(std::forward<DataLakeAdminsT>(value)); return *this;}
58 template<typename DataLakeAdminsT = DataLakePrincipal>
59 DataLakeSettings& AddDataLakeAdmins(DataLakeAdminsT&& value) { m_dataLakeAdminsHasBeenSet = true; m_dataLakeAdmins.emplace_back(std::forward<DataLakeAdminsT>(value)); return *this; }
61
63
68 inline const Aws::Vector<DataLakePrincipal>& GetReadOnlyAdmins() const { return m_readOnlyAdmins; }
69 inline bool ReadOnlyAdminsHasBeenSet() const { return m_readOnlyAdminsHasBeenSet; }
70 template<typename ReadOnlyAdminsT = Aws::Vector<DataLakePrincipal>>
71 void SetReadOnlyAdmins(ReadOnlyAdminsT&& value) { m_readOnlyAdminsHasBeenSet = true; m_readOnlyAdmins = std::forward<ReadOnlyAdminsT>(value); }
72 template<typename ReadOnlyAdminsT = Aws::Vector<DataLakePrincipal>>
73 DataLakeSettings& WithReadOnlyAdmins(ReadOnlyAdminsT&& value) { SetReadOnlyAdmins(std::forward<ReadOnlyAdminsT>(value)); return *this;}
74 template<typename ReadOnlyAdminsT = DataLakePrincipal>
75 DataLakeSettings& AddReadOnlyAdmins(ReadOnlyAdminsT&& value) { m_readOnlyAdminsHasBeenSet = true; m_readOnlyAdmins.emplace_back(std::forward<ReadOnlyAdminsT>(value)); return *this; }
77
79
92 inline const Aws::Vector<PrincipalPermissions>& GetCreateDatabaseDefaultPermissions() const { return m_createDatabaseDefaultPermissions; }
93 inline bool CreateDatabaseDefaultPermissionsHasBeenSet() const { return m_createDatabaseDefaultPermissionsHasBeenSet; }
94 template<typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
95 void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) { m_createDatabaseDefaultPermissionsHasBeenSet = true; m_createDatabaseDefaultPermissions = std::forward<CreateDatabaseDefaultPermissionsT>(value); }
96 template<typename CreateDatabaseDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
97 DataLakeSettings& WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) { SetCreateDatabaseDefaultPermissions(std::forward<CreateDatabaseDefaultPermissionsT>(value)); return *this;}
98 template<typename CreateDatabaseDefaultPermissionsT = PrincipalPermissions>
99 DataLakeSettings& AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT&& value) { m_createDatabaseDefaultPermissionsHasBeenSet = true; m_createDatabaseDefaultPermissions.emplace_back(std::forward<CreateDatabaseDefaultPermissionsT>(value)); return *this; }
101
103
116 inline const Aws::Vector<PrincipalPermissions>& GetCreateTableDefaultPermissions() const { return m_createTableDefaultPermissions; }
117 inline bool CreateTableDefaultPermissionsHasBeenSet() const { return m_createTableDefaultPermissionsHasBeenSet; }
118 template<typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
119 void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) { m_createTableDefaultPermissionsHasBeenSet = true; m_createTableDefaultPermissions = std::forward<CreateTableDefaultPermissionsT>(value); }
120 template<typename CreateTableDefaultPermissionsT = Aws::Vector<PrincipalPermissions>>
121 DataLakeSettings& WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) { SetCreateTableDefaultPermissions(std::forward<CreateTableDefaultPermissionsT>(value)); return *this;}
122 template<typename CreateTableDefaultPermissionsT = PrincipalPermissions>
123 DataLakeSettings& AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT&& value) { m_createTableDefaultPermissionsHasBeenSet = true; m_createTableDefaultPermissions.emplace_back(std::forward<CreateTableDefaultPermissionsT>(value)); return *this; }
125
127
132 inline const Aws::Map<Aws::String, Aws::String>& GetParameters() const { return m_parameters; }
133 inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; }
134 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
135 void SetParameters(ParametersT&& value) { m_parametersHasBeenSet = true; m_parameters = std::forward<ParametersT>(value); }
136 template<typename ParametersT = Aws::Map<Aws::String, Aws::String>>
137 DataLakeSettings& WithParameters(ParametersT&& value) { SetParameters(std::forward<ParametersT>(value)); return *this;}
138 template<typename ParametersKeyT = Aws::String, typename ParametersValueT = Aws::String>
139 DataLakeSettings& AddParameters(ParametersKeyT&& key, ParametersValueT&& value) {
140 m_parametersHasBeenSet = true; m_parameters.emplace(std::forward<ParametersKeyT>(key), std::forward<ParametersValueT>(value)); return *this;
141 }
143
145
152 inline const Aws::Vector<Aws::String>& GetTrustedResourceOwners() const { return m_trustedResourceOwners; }
153 inline bool TrustedResourceOwnersHasBeenSet() const { return m_trustedResourceOwnersHasBeenSet; }
154 template<typename TrustedResourceOwnersT = Aws::Vector<Aws::String>>
155 void SetTrustedResourceOwners(TrustedResourceOwnersT&& value) { m_trustedResourceOwnersHasBeenSet = true; m_trustedResourceOwners = std::forward<TrustedResourceOwnersT>(value); }
156 template<typename TrustedResourceOwnersT = Aws::Vector<Aws::String>>
157 DataLakeSettings& WithTrustedResourceOwners(TrustedResourceOwnersT&& value) { SetTrustedResourceOwners(std::forward<TrustedResourceOwnersT>(value)); return *this;}
158 template<typename TrustedResourceOwnersT = Aws::String>
159 DataLakeSettings& AddTrustedResourceOwners(TrustedResourceOwnersT&& value) { m_trustedResourceOwnersHasBeenSet = true; m_trustedResourceOwners.emplace_back(std::forward<TrustedResourceOwnersT>(value)); return *this; }
161
163
172 inline bool GetAllowExternalDataFiltering() const { return m_allowExternalDataFiltering; }
173 inline bool AllowExternalDataFilteringHasBeenSet() const { return m_allowExternalDataFilteringHasBeenSet; }
174 inline void SetAllowExternalDataFiltering(bool value) { m_allowExternalDataFilteringHasBeenSet = true; m_allowExternalDataFiltering = value; }
177
179
183 inline bool GetAllowFullTableExternalDataAccess() const { return m_allowFullTableExternalDataAccess; }
184 inline bool AllowFullTableExternalDataAccessHasBeenSet() const { return m_allowFullTableExternalDataAccessHasBeenSet; }
185 inline void SetAllowFullTableExternalDataAccess(bool value) { m_allowFullTableExternalDataAccessHasBeenSet = true; m_allowFullTableExternalDataAccess = value; }
188
190
194 inline const Aws::Vector<DataLakePrincipal>& GetExternalDataFilteringAllowList() const { return m_externalDataFilteringAllowList; }
195 inline bool ExternalDataFilteringAllowListHasBeenSet() const { return m_externalDataFilteringAllowListHasBeenSet; }
196 template<typename ExternalDataFilteringAllowListT = Aws::Vector<DataLakePrincipal>>
197 void SetExternalDataFilteringAllowList(ExternalDataFilteringAllowListT&& value) { m_externalDataFilteringAllowListHasBeenSet = true; m_externalDataFilteringAllowList = std::forward<ExternalDataFilteringAllowListT>(value); }
198 template<typename ExternalDataFilteringAllowListT = Aws::Vector<DataLakePrincipal>>
199 DataLakeSettings& WithExternalDataFilteringAllowList(ExternalDataFilteringAllowListT&& value) { SetExternalDataFilteringAllowList(std::forward<ExternalDataFilteringAllowListT>(value)); return *this;}
200 template<typename ExternalDataFilteringAllowListT = DataLakePrincipal>
201 DataLakeSettings& AddExternalDataFilteringAllowList(ExternalDataFilteringAllowListT&& value) { m_externalDataFilteringAllowListHasBeenSet = true; m_externalDataFilteringAllowList.emplace_back(std::forward<ExternalDataFilteringAllowListT>(value)); return *this; }
203
205
213 inline const Aws::Vector<Aws::String>& GetAuthorizedSessionTagValueList() const { return m_authorizedSessionTagValueList; }
214 inline bool AuthorizedSessionTagValueListHasBeenSet() const { return m_authorizedSessionTagValueListHasBeenSet; }
215 template<typename AuthorizedSessionTagValueListT = Aws::Vector<Aws::String>>
216 void SetAuthorizedSessionTagValueList(AuthorizedSessionTagValueListT&& value) { m_authorizedSessionTagValueListHasBeenSet = true; m_authorizedSessionTagValueList = std::forward<AuthorizedSessionTagValueListT>(value); }
217 template<typename AuthorizedSessionTagValueListT = Aws::Vector<Aws::String>>
218 DataLakeSettings& WithAuthorizedSessionTagValueList(AuthorizedSessionTagValueListT&& value) { SetAuthorizedSessionTagValueList(std::forward<AuthorizedSessionTagValueListT>(value)); return *this;}
219 template<typename AuthorizedSessionTagValueListT = Aws::String>
220 DataLakeSettings& AddAuthorizedSessionTagValueList(AuthorizedSessionTagValueListT&& value) { m_authorizedSessionTagValueListHasBeenSet = true; m_authorizedSessionTagValueList.emplace_back(std::forward<AuthorizedSessionTagValueListT>(value)); return *this; }
222 private:
223
224 Aws::Vector<DataLakePrincipal> m_dataLakeAdmins;
225 bool m_dataLakeAdminsHasBeenSet = false;
226
227 Aws::Vector<DataLakePrincipal> m_readOnlyAdmins;
228 bool m_readOnlyAdminsHasBeenSet = false;
229
230 Aws::Vector<PrincipalPermissions> m_createDatabaseDefaultPermissions;
231 bool m_createDatabaseDefaultPermissionsHasBeenSet = false;
232
233 Aws::Vector<PrincipalPermissions> m_createTableDefaultPermissions;
234 bool m_createTableDefaultPermissionsHasBeenSet = false;
235
237 bool m_parametersHasBeenSet = false;
238
239 Aws::Vector<Aws::String> m_trustedResourceOwners;
240 bool m_trustedResourceOwnersHasBeenSet = false;
241
242 bool m_allowExternalDataFiltering{false};
243 bool m_allowExternalDataFilteringHasBeenSet = false;
244
245 bool m_allowFullTableExternalDataAccess{false};
246 bool m_allowFullTableExternalDataAccessHasBeenSet = false;
247
248 Aws::Vector<DataLakePrincipal> m_externalDataFilteringAllowList;
249 bool m_externalDataFilteringAllowListHasBeenSet = false;
250
251 Aws::Vector<Aws::String> m_authorizedSessionTagValueList;
252 bool m_authorizedSessionTagValueListHasBeenSet = false;
253 };
254
255} // namespace Model
256} // namespace LakeFormation
257} // namespace Aws
DataLakeSettings & AddAuthorizedSessionTagValueList(AuthorizedSessionTagValueListT &&value)
const Aws::Vector< DataLakePrincipal > & GetExternalDataFilteringAllowList() const
DataLakeSettings & WithExternalDataFilteringAllowList(ExternalDataFilteringAllowListT &&value)
DataLakeSettings & AddTrustedResourceOwners(TrustedResourceOwnersT &&value)
DataLakeSettings & AddCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
DataLakeSettings & AddCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
DataLakeSettings & WithTrustedResourceOwners(TrustedResourceOwnersT &&value)
const Aws::Vector< PrincipalPermissions > & GetCreateDatabaseDefaultPermissions() const
const Aws::Vector< PrincipalPermissions > & GetCreateTableDefaultPermissions() const
const Aws::Vector< Aws::String > & GetTrustedResourceOwners() const
DataLakeSettings & WithCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
DataLakeSettings & WithAuthorizedSessionTagValueList(AuthorizedSessionTagValueListT &&value)
void SetReadOnlyAdmins(ReadOnlyAdminsT &&value)
DataLakeSettings & AddDataLakeAdmins(DataLakeAdminsT &&value)
const Aws::Map< Aws::String, Aws::String > & GetParameters() const
void SetDataLakeAdmins(DataLakeAdminsT &&value)
DataLakeSettings & AddParameters(ParametersKeyT &&key, ParametersValueT &&value)
DataLakeSettings & WithAllowExternalDataFiltering(bool value)
void SetCreateTableDefaultPermissions(CreateTableDefaultPermissionsT &&value)
AWS_LAKEFORMATION_API DataLakeSettings()=default
const Aws::Vector< DataLakePrincipal > & GetDataLakeAdmins() const
void SetCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
AWS_LAKEFORMATION_API DataLakeSettings(Aws::Utils::Json::JsonView jsonValue)
DataLakeSettings & WithCreateDatabaseDefaultPermissions(CreateDatabaseDefaultPermissionsT &&value)
DataLakeSettings & AddReadOnlyAdmins(ReadOnlyAdminsT &&value)
DataLakeSettings & WithDataLakeAdmins(DataLakeAdminsT &&value)
const Aws::Vector< DataLakePrincipal > & GetReadOnlyAdmins() const
DataLakeSettings & WithParameters(ParametersT &&value)
DataLakeSettings & AddExternalDataFilteringAllowList(ExternalDataFilteringAllowListT &&value)
void SetExternalDataFilteringAllowList(ExternalDataFilteringAllowListT &&value)
AWS_LAKEFORMATION_API DataLakeSettings & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetTrustedResourceOwners(TrustedResourceOwnersT &&value)
DataLakeSettings & WithReadOnlyAdmins(ReadOnlyAdminsT &&value)
const Aws::Vector< Aws::String > & GetAuthorizedSessionTagValueList() const
void SetAuthorizedSessionTagValueList(AuthorizedSessionTagValueListT &&value)
AWS_LAKEFORMATION_API Aws::Utils::Json::JsonValue Jsonize() const
DataLakeSettings & WithAllowFullTableExternalDataAccess(bool value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue