Class CfnDataLakeSettings.Builder

java.lang.Object
software.amazon.awscdk.services.lakeformation.CfnDataLakeSettings.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnDataLakeSettings>
Enclosing class:
CfnDataLakeSettings

@Stability(Stable) public static final class CfnDataLakeSettings.Builder extends Object implements software.amazon.jsii.Builder<CfnDataLakeSettings>
A fluent builder for CfnDataLakeSettings.
  • Method Details

    • create

      @Stability(Stable) public static CfnDataLakeSettings.Builder create(Construct scope, String id)
      Parameters:
      scope -
      • scope in which this resource is defined.
      This parameter is required.
      id -
      • scoped id of the resource.
      This parameter is required.
      Returns:
      a new instance of CfnDataLakeSettings.Builder.
    • admins

      @Stability(Stable) public CfnDataLakeSettings.Builder admins(IResolvable admins)
      A list of AWS Lake Formation principals.

      Parameters:
      admins - A list of AWS Lake Formation principals. This parameter is required.
      Returns:
      this
    • admins

      @Stability(Stable) public CfnDataLakeSettings.Builder admins(List<? extends Object> admins)
      A list of AWS Lake Formation principals.

      Parameters:
      admins - A list of AWS Lake Formation principals. This parameter is required.
      Returns:
      this
    • allowExternalDataFiltering

      @Stability(Stable) public CfnDataLakeSettings.Builder allowExternalDataFiltering(Boolean allowExternalDataFiltering)
      Whether to allow Amazon EMR clusters or other third-party query engines to access data managed by Lake Formation .

      If set to true, you allow Amazon EMR clusters or other third-party engines to access data in Amazon S3 locations that are registered with Lake Formation .

      If false or null, no third-party query engines will be able to access data in Amazon S3 locations that are registered with Lake Formation.

      For more information, see External data filtering setting .

      Parameters:
      allowExternalDataFiltering - Whether to allow Amazon EMR clusters or other third-party query engines to access data managed by Lake Formation . This parameter is required.
      Returns:
      this
    • allowExternalDataFiltering

      @Stability(Stable) public CfnDataLakeSettings.Builder allowExternalDataFiltering(IResolvable allowExternalDataFiltering)
      Whether to allow Amazon EMR clusters or other third-party query engines to access data managed by Lake Formation .

      If set to true, you allow Amazon EMR clusters or other third-party engines to access data in Amazon S3 locations that are registered with Lake Formation .

      If false or null, no third-party query engines will be able to access data in Amazon S3 locations that are registered with Lake Formation.

      For more information, see External data filtering setting .

      Parameters:
      allowExternalDataFiltering - Whether to allow Amazon EMR clusters or other third-party query engines to access data managed by Lake Formation . This parameter is required.
      Returns:
      this
    • authorizedSessionTagValueList

      @Stability(Stable) public CfnDataLakeSettings.Builder authorizedSessionTagValueList(List<String> authorizedSessionTagValueList)
      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 API operations.

      Parameters:
      authorizedSessionTagValueList - 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. This parameter is required.
      Returns:
      this
    • createDatabaseDefaultPermissions

      @Stability(Stable) public CfnDataLakeSettings.Builder createDatabaseDefaultPermissions(IResolvable createDatabaseDefaultPermissions)
      Specifies whether access control on a newly created database is managed by Lake Formation permissions or exclusively by IAM permissions.

      A null value indicates that the access is controlled by Lake Formation permissions. ALL permissions assigned to IAM_ALLOWED_PRINCIPALS group indicates that the user's IAM permissions determine the access to the database. This is referred to as the setting "Use only IAM access control," and is to support backward compatibility with the AWS 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 .

      Parameters:
      createDatabaseDefaultPermissions - Specifies whether access control on a newly created database is managed by Lake Formation permissions or exclusively by IAM permissions. This parameter is required.
      Returns:
      this
    • createDatabaseDefaultPermissions

      @Stability(Stable) public CfnDataLakeSettings.Builder createDatabaseDefaultPermissions(List<? extends Object> createDatabaseDefaultPermissions)
      Specifies whether access control on a newly created database is managed by Lake Formation permissions or exclusively by IAM permissions.

      A null value indicates that the access is controlled by Lake Formation permissions. ALL permissions assigned to IAM_ALLOWED_PRINCIPALS group indicates that the user's IAM permissions determine the access to the database. This is referred to as the setting "Use only IAM access control," and is to support backward compatibility with the AWS 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 .

      Parameters:
      createDatabaseDefaultPermissions - Specifies whether access control on a newly created database is managed by Lake Formation permissions or exclusively by IAM permissions. This parameter is required.
      Returns:
      this
    • createTableDefaultPermissions

      @Stability(Stable) public CfnDataLakeSettings.Builder createTableDefaultPermissions(IResolvable createTableDefaultPermissions)
      Specifies whether access control on a newly created table is managed by Lake Formation permissions or exclusively by IAM permissions.

      A null value indicates that the access is controlled by Lake Formation permissions. ALL permissions assigned to IAM_ALLOWED_PRINCIPALS group indicate that the user's IAM permissions determine the access to the table. This is referred to as the setting "Use only IAM access control," and is to support the backward compatibility with the AWS 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 permissions to IAM_ALLOWED_PRINCIPALS .

      For more information, see Changing the default security settings for your data lake .

      Parameters:
      createTableDefaultPermissions - Specifies whether access control on a newly created table is managed by Lake Formation permissions or exclusively by IAM permissions. This parameter is required.
      Returns:
      this
    • createTableDefaultPermissions

      @Stability(Stable) public CfnDataLakeSettings.Builder createTableDefaultPermissions(List<? extends Object> createTableDefaultPermissions)
      Specifies whether access control on a newly created table is managed by Lake Formation permissions or exclusively by IAM permissions.

      A null value indicates that the access is controlled by Lake Formation permissions. ALL permissions assigned to IAM_ALLOWED_PRINCIPALS group indicate that the user's IAM permissions determine the access to the table. This is referred to as the setting "Use only IAM access control," and is to support the backward compatibility with the AWS 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 permissions to IAM_ALLOWED_PRINCIPALS .

      For more information, see Changing the default security settings for your data lake .

      Parameters:
      createTableDefaultPermissions - Specifies whether access control on a newly created table is managed by Lake Formation permissions or exclusively by IAM permissions. This parameter is required.
      Returns:
      this
    • externalDataFilteringAllowList

      @Stability(Stable) public CfnDataLakeSettings.Builder externalDataFilteringAllowList(IResolvable externalDataFilteringAllowList)
      A list of the account IDs of AWS accounts with Amazon EMR clusters or third-party engines that are allwed to perform data filtering.

      Parameters:
      externalDataFilteringAllowList - A list of the account IDs of AWS accounts with Amazon EMR clusters or third-party engines that are allwed to perform data filtering. This parameter is required.
      Returns:
      this
    • externalDataFilteringAllowList

      @Stability(Stable) public CfnDataLakeSettings.Builder externalDataFilteringAllowList(List<? extends Object> externalDataFilteringAllowList)
      A list of the account IDs of AWS accounts with Amazon EMR clusters or third-party engines that are allwed to perform data filtering.

      Parameters:
      externalDataFilteringAllowList - A list of the account IDs of AWS accounts with Amazon EMR clusters or third-party engines that are allwed to perform data filtering. This parameter is required.
      Returns:
      this
    • parameters

      @Stability(Stable) public CfnDataLakeSettings.Builder parameters(Object parameters)
      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.

      Parameters:
      parameters - A key-value map that provides an additional configuration on your data lake. This parameter is required.
      Returns:
      this
    • trustedResourceOwners

      @Stability(Stable) public CfnDataLakeSettings.Builder trustedResourceOwners(List<String> trustedResourceOwners)
      An array of UTF-8 strings.

      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.

      Parameters:
      trustedResourceOwners - An array of UTF-8 strings. This parameter is required.
      Returns:
      this
    • build

      @Stability(Stable) public CfnDataLakeSettings build()
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnDataLakeSettings>
      Returns:
      a newly built instance of CfnDataLakeSettings.