/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A structure representing a list of Lake Formation principals designated as
* data lake administrators and lists of principal permission entries for default
* create database and default create table permissions.See Also:
* AWS
* API Reference
A list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline const Aws::VectorA list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline bool DataLakeAdminsHasBeenSet() const { return m_dataLakeAdminsHasBeenSet; } /** *A list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline void SetDataLakeAdmins(const Aws::VectorA list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline void SetDataLakeAdmins(Aws::VectorA list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline DataLakeSettings& WithDataLakeAdmins(const Aws::VectorA list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline DataLakeSettings& WithDataLakeAdmins(Aws::VectorA list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline DataLakeSettings& AddDataLakeAdmins(const DataLakePrincipal& value) { m_dataLakeAdminsHasBeenSet = true; m_dataLakeAdmins.push_back(value); return *this; } /** *A list of Lake Formation principals. Supported principals are IAM users or * IAM roles.
*/ inline DataLakeSettings& AddDataLakeAdmins(DataLakePrincipal&& value) { m_dataLakeAdminsHasBeenSet = true; m_dataLakeAdmins.push_back(std::move(value)); return *this; } /** *A list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline const Aws::VectorA list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline bool ReadOnlyAdminsHasBeenSet() const { return m_readOnlyAdminsHasBeenSet; } /** *A list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline void SetReadOnlyAdmins(const Aws::VectorA list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline void SetReadOnlyAdmins(Aws::VectorA list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline DataLakeSettings& WithReadOnlyAdmins(const Aws::VectorA list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline DataLakeSettings& WithReadOnlyAdmins(Aws::VectorA list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline DataLakeSettings& AddReadOnlyAdmins(const DataLakePrincipal& value) { m_readOnlyAdminsHasBeenSet = true; m_readOnlyAdmins.push_back(value); return *this; } /** *A list of Lake Formation principals with only view access to the resources, * without the ability to make changes. Supported principals are IAM users or IAM * roles.
*/ inline DataLakeSettings& AddReadOnlyAdmins(DataLakePrincipal&& value) { m_readOnlyAdminsHasBeenSet = true; m_readOnlyAdmins.push_back(std::move(value)); return *this; } /** *Specifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline const Aws::VectorSpecifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline bool CreateDatabaseDefaultPermissionsHasBeenSet() const { return m_createDatabaseDefaultPermissionsHasBeenSet; } /** *Specifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline void SetCreateDatabaseDefaultPermissions(const Aws::VectorSpecifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline void SetCreateDatabaseDefaultPermissions(Aws::VectorSpecifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& WithCreateDatabaseDefaultPermissions(const Aws::VectorSpecifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& WithCreateDatabaseDefaultPermissions(Aws::VectorSpecifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& AddCreateDatabaseDefaultPermissions(const PrincipalPermissions& value) { m_createDatabaseDefaultPermissionsHasBeenSet = true; m_createDatabaseDefaultPermissions.push_back(value); return *this; } /** *Specifies whether access control on newly created database is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& AddCreateDatabaseDefaultPermissions(PrincipalPermissions&& value) { m_createDatabaseDefaultPermissionsHasBeenSet = true; m_createDatabaseDefaultPermissions.push_back(std::move(value)); return *this; } /** *Specifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline const Aws::VectorSpecifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline bool CreateTableDefaultPermissionsHasBeenSet() const { return m_createTableDefaultPermissionsHasBeenSet; } /** *Specifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline void SetCreateTableDefaultPermissions(const Aws::VectorSpecifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline void SetCreateTableDefaultPermissions(Aws::VectorSpecifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& WithCreateTableDefaultPermissions(const Aws::VectorSpecifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& WithCreateTableDefaultPermissions(Aws::VectorSpecifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& AddCreateTableDefaultPermissions(const PrincipalPermissions& value) { m_createTableDefaultPermissionsHasBeenSet = true; m_createTableDefaultPermissions.push_back(value); return *this; } /** *Specifies whether access control on newly created table is managed by Lake * Formation permissions or exclusively by IAM permissions.
A null value * indicates access control by Lake Formation permissions. A value that assigns ALL * to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is * referred to as the setting "Use only IAM access control," and is for backward * compatibility with the Glue permission model implemented by IAM permissions.
*The only permitted values are an empty array or an array that contains a * single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.
For more * information, see Changing * the Default Security Settings for Your Data Lake.
*/ inline DataLakeSettings& AddCreateTableDefaultPermissions(PrincipalPermissions&& value) { m_createTableDefaultPermissionsHasBeenSet = true; m_createTableDefaultPermissions.push_back(std::move(value)); return *this; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline const Aws::MapA key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline void SetParameters(const Aws::MapA key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline void SetParameters(Aws::MapA key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& WithParameters(const Aws::MapA key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& WithParameters(Aws::MapA key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *A key-value map that provides an additional configuration on your data lake. * CrossAccountVersion is the key you can configure in the Parameters field. * Accepted values for the CrossAccountVersion key are 1, 2, and 3.
*/ inline DataLakeSettings& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *A list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline const Aws::VectorA list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline bool TrustedResourceOwnersHasBeenSet() const { return m_trustedResourceOwnersHasBeenSet; } /** *A list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline void SetTrustedResourceOwners(const Aws::VectorA list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline void SetTrustedResourceOwners(Aws::VectorA list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline DataLakeSettings& WithTrustedResourceOwners(const Aws::VectorA list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline DataLakeSettings& WithTrustedResourceOwners(Aws::VectorA list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline DataLakeSettings& AddTrustedResourceOwners(const Aws::String& value) { m_trustedResourceOwnersHasBeenSet = true; m_trustedResourceOwners.push_back(value); return *this; } /** *A list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline DataLakeSettings& AddTrustedResourceOwners(Aws::String&& value) { m_trustedResourceOwnersHasBeenSet = true; m_trustedResourceOwners.push_back(std::move(value)); return *this; } /** *A list of the resource-owning account IDs that the caller's account can use * to share their user access details (user ARNs). The user ARNs can be logged in * the resource owner's CloudTrail log.
You may want to specify this * property when you are in a high-trust boundary, such as the same team or * company.
*/ inline DataLakeSettings& AddTrustedResourceOwners(const char* value) { m_trustedResourceOwnersHasBeenSet = true; m_trustedResourceOwners.push_back(value); return *this; } /** *Whether to allow Amazon EMR clusters to access data managed by Lake * Formation.
If true, you allow Amazon EMR clusters to access data in * Amazon S3 locations that are registered with Lake Formation.
If false or * null, no Amazon EMR clusters will be able to access data in Amazon S3 locations * that are registered with Lake Formation.
For more information, see (Optional) * Allow external data filtering.
*/ inline bool GetAllowExternalDataFiltering() const{ return m_allowExternalDataFiltering; } /** *Whether to allow Amazon EMR clusters to access data managed by Lake * Formation.
If true, you allow Amazon EMR clusters to access data in * Amazon S3 locations that are registered with Lake Formation.
If false or * null, no Amazon EMR clusters will be able to access data in Amazon S3 locations * that are registered with Lake Formation.
For more information, see (Optional) * Allow external data filtering.
*/ inline bool AllowExternalDataFilteringHasBeenSet() const { return m_allowExternalDataFilteringHasBeenSet; } /** *Whether to allow Amazon EMR clusters to access data managed by Lake * Formation.
If true, you allow Amazon EMR clusters to access data in * Amazon S3 locations that are registered with Lake Formation.
If false or * null, no Amazon EMR clusters will be able to access data in Amazon S3 locations * that are registered with Lake Formation.
For more information, see (Optional) * Allow external data filtering.
*/ inline void SetAllowExternalDataFiltering(bool value) { m_allowExternalDataFilteringHasBeenSet = true; m_allowExternalDataFiltering = value; } /** *Whether to allow Amazon EMR clusters to access data managed by Lake * Formation.
If true, you allow Amazon EMR clusters to access data in * Amazon S3 locations that are registered with Lake Formation.
If false or * null, no Amazon EMR clusters will be able to access data in Amazon S3 locations * that are registered with Lake Formation.
For more information, see (Optional) * Allow external data filtering.
*/ inline DataLakeSettings& WithAllowExternalDataFiltering(bool value) { SetAllowExternalDataFiltering(value); return *this;} /** *Whether to allow a third-party query engine to get data access credentials * without session tags when a caller has full data access permissions.
*/ inline bool GetAllowFullTableExternalDataAccess() const{ return m_allowFullTableExternalDataAccess; } /** *Whether to allow a third-party query engine to get data access credentials * without session tags when a caller has full data access permissions.
*/ inline bool AllowFullTableExternalDataAccessHasBeenSet() const { return m_allowFullTableExternalDataAccessHasBeenSet; } /** *Whether to allow a third-party query engine to get data access credentials * without session tags when a caller has full data access permissions.
*/ inline void SetAllowFullTableExternalDataAccess(bool value) { m_allowFullTableExternalDataAccessHasBeenSet = true; m_allowFullTableExternalDataAccess = value; } /** *Whether to allow a third-party query engine to get data access credentials * without session tags when a caller has full data access permissions.
*/ inline DataLakeSettings& WithAllowFullTableExternalDataAccess(bool value) { SetAllowFullTableExternalDataAccess(value); return *this;} /** *A list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline const Aws::VectorA list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline bool ExternalDataFilteringAllowListHasBeenSet() const { return m_externalDataFilteringAllowListHasBeenSet; } /** *A list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline void SetExternalDataFilteringAllowList(const Aws::VectorA list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline void SetExternalDataFilteringAllowList(Aws::VectorA list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline DataLakeSettings& WithExternalDataFilteringAllowList(const Aws::VectorA list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline DataLakeSettings& WithExternalDataFilteringAllowList(Aws::VectorA list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline DataLakeSettings& AddExternalDataFilteringAllowList(const DataLakePrincipal& value) { m_externalDataFilteringAllowListHasBeenSet = true; m_externalDataFilteringAllowList.push_back(value); return *this; } /** *A list of the account IDs of Amazon Web Services accounts with Amazon EMR * clusters that are to perform data filtering.>
*/ inline DataLakeSettings& AddExternalDataFilteringAllowList(DataLakePrincipal&& value) { m_externalDataFilteringAllowListHasBeenSet = true; m_externalDataFilteringAllowList.push_back(std::move(value)); return *this; } /** *Lake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline const Aws::VectorLake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline bool AuthorizedSessionTagValueListHasBeenSet() const { return m_authorizedSessionTagValueListHasBeenSet; } /** *Lake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline void SetAuthorizedSessionTagValueList(const Aws::VectorLake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline void SetAuthorizedSessionTagValueList(Aws::VectorLake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline DataLakeSettings& WithAuthorizedSessionTagValueList(const Aws::VectorLake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline DataLakeSettings& WithAuthorizedSessionTagValueList(Aws::VectorLake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline DataLakeSettings& AddAuthorizedSessionTagValueList(const Aws::String& value) { m_authorizedSessionTagValueListHasBeenSet = true; m_authorizedSessionTagValueList.push_back(value); return *this; } /** *Lake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline DataLakeSettings& AddAuthorizedSessionTagValueList(Aws::String&& value) { m_authorizedSessionTagValueListHasBeenSet = true; m_authorizedSessionTagValueList.push_back(std::move(value)); return *this; } /** *Lake Formation relies on a privileged process secured by Amazon EMR or the * third party integrator to tag the user's role while assuming it. Lake Formation * will publish the acceptable key-value pair, for example key = * "LakeFormationTrustedCaller" and value = "TRUE" and the third party integrator * must properly tag the temporary security credentials that will be used to call * Lake Formation's administrative APIs.
*/ inline DataLakeSettings& AddAuthorizedSessionTagValueList(const char* value) { m_authorizedSessionTagValueListHasBeenSet = true; m_authorizedSessionTagValueList.push_back(value); return *this; } private: Aws::Vector