Class CfnDataLakeSettings

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.CfnElement
software.amazon.awscdk.CfnRefElement
software.amazon.awscdk.CfnResource
software.amazon.awscdk.services.lakeformation.CfnDataLakeSettings
All Implemented Interfaces:
IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-07-11T03:45:56.482Z") @Stability(Stable) public class CfnDataLakeSettings extends CfnResource implements IInspectable
The AWS::LakeFormation::DataLakeSettings resource is an AWS Lake Formation resource type that manages the data lake settings for your account.

Example:

 import software.amazon.awscdk.*;
 import software.amazon.awscdk.services.glue.alpha.S3Table;
 import software.amazon.awscdk.services.glue.alpha.Database;
 import software.amazon.awscdk.services.glue.alpha.DataFormat;
 import software.amazon.awscdk.services.glue.alpha.Schema;
 import software.amazon.awscdk.services.lakeformation.CfnDataLakeSettings;
 import software.amazon.awscdk.services.lakeformation.CfnTag;
 import software.amazon.awscdk.services.lakeformation.CfnTagAssociation;
 Stack stack;
 String accountId;
 String tagKey = "aws";
 String[] tagValues = List.of("dev");
 Database database = new Database(this, "Database");
 S3Table table = S3Table.Builder.create(this, "Table")
         .database(database)
         .columns(List.of(Column.builder()
                 .name("col1")
                 .type(Schema.STRING)
                 .build(), Column.builder()
                 .name("col2")
                 .type(Schema.STRING)
                 .build()))
         .dataFormat(DataFormat.CSV)
         .build();
 DefaultStackSynthesizer synthesizer = (DefaultStackSynthesizer)stack.getSynthesizer();
 CfnDataLakeSettings.Builder.create(this, "DataLakeSettings")
         .admins(List.of(DataLakePrincipalProperty.builder()
                 .dataLakePrincipalIdentifier(stack.formatArn(ArnComponents.builder()
                         .service("iam")
                         .resource("role")
                         .region("")
                         .account(accountId)
                         .resourceName("Admin")
                         .build()))
                 .build(), DataLakePrincipalProperty.builder()
                 // The CDK cloudformation execution role.
                 .dataLakePrincipalIdentifier(synthesizer.cloudFormationExecutionRoleArn.replace("${AWS::Partition}", "aws"))
                 .build()))
         .build();
 CfnTag tag = CfnTag.Builder.create(this, "Tag")
         .catalogId(accountId)
         .tagKey(tagKey)
         .tagValues(tagValues)
         .build();
 LFTagPairProperty lfTagPairProperty = LFTagPairProperty.builder()
         .catalogId(accountId)
         .tagKey(tagKey)
         .tagValues(tagValues)
         .build();
 CfnTagAssociation tagAssociation = CfnTagAssociation.Builder.create(this, "TagAssociation")
         .lfTags(List.of(lfTagPairProperty))
         .resource(ResourceProperty.builder()
                 .tableWithColumns(TableWithColumnsResourceProperty.builder()
                         .databaseName(database.getDatabaseName())
                         .columnNames(List.of("col1", "col2"))
                         .catalogId(accountId)
                         .name(table.getTableName())
                         .build())
                 .build())
         .build();
 tagAssociation.node.addDependency(tag);
 tagAssociation.node.addDependency(table);
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnDataLakeSettings

      protected CfnDataLakeSettings(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDataLakeSettings

      protected CfnDataLakeSettings(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDataLakeSettings

      @Stability(Stable) public CfnDataLakeSettings(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable CfnDataLakeSettingsProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties.
    • CfnDataLakeSettings

      @Stability(Stable) public CfnDataLakeSettings(@NotNull software.constructs.Construct scope, @NotNull String id)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getAdmins

      @Stability(Stable) @Nullable public Object getAdmins()
      A list of AWS Lake Formation principals.
    • setAdmins

      @Stability(Stable) public void setAdmins(@Nullable IResolvable value)
      A list of AWS Lake Formation principals.
    • setAdmins

      @Stability(Stable) public void setAdmins(@Nullable List<Object> value)
      A list of AWS Lake Formation principals.
    • getAllowExternalDataFiltering

      @Stability(Stable) @Nullable public Object getAllowExternalDataFiltering()
      Whether to allow Amazon EMR clusters or other third-party query engines to access data managed by Lake Formation .
    • setAllowExternalDataFiltering

      @Stability(Stable) public void setAllowExternalDataFiltering(@Nullable Boolean value)
      Whether to allow Amazon EMR clusters or other third-party query engines to access data managed by Lake Formation .
    • setAllowExternalDataFiltering

      @Stability(Stable) public void setAllowExternalDataFiltering(@Nullable IResolvable value)
      Whether to allow Amazon EMR clusters or other third-party query engines to access data managed by Lake Formation .
    • getAllowFullTableExternalDataAccess

      @Stability(Stable) @Nullable public Object getAllowFullTableExternalDataAccess()
      Specifies whether query engines and applications can get credentials without IAM session tags if the user has full table access.
    • setAllowFullTableExternalDataAccess

      @Stability(Stable) public void setAllowFullTableExternalDataAccess(@Nullable Boolean value)
      Specifies whether query engines and applications can get credentials without IAM session tags if the user has full table access.
    • setAllowFullTableExternalDataAccess

      @Stability(Stable) public void setAllowFullTableExternalDataAccess(@Nullable IResolvable value)
      Specifies whether query engines and applications can get credentials without IAM session tags if the user has full table access.
    • getAuthorizedSessionTagValueList

      @Stability(Stable) @Nullable public List<String> getAuthorizedSessionTagValueList()
      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.
    • setAuthorizedSessionTagValueList

      @Stability(Stable) public void setAuthorizedSessionTagValueList(@Nullable List<String> value)
      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.
    • getCreateDatabaseDefaultPermissions

      @Stability(Stable) @Nullable public Object getCreateDatabaseDefaultPermissions()
      Specifies whether access control on a newly created database is managed by Lake Formation permissions or exclusively by IAM permissions.
    • setCreateDatabaseDefaultPermissions

      @Stability(Stable) public void setCreateDatabaseDefaultPermissions(@Nullable IResolvable value)
      Specifies whether access control on a newly created database is managed by Lake Formation permissions or exclusively by IAM permissions.
    • setCreateDatabaseDefaultPermissions

      @Stability(Stable) public void setCreateDatabaseDefaultPermissions(@Nullable List<Object> value)
      Specifies whether access control on a newly created database is managed by Lake Formation permissions or exclusively by IAM permissions.
    • getCreateTableDefaultPermissions

      @Stability(Stable) @Nullable public Object getCreateTableDefaultPermissions()
      Specifies whether access control on a newly created table is managed by Lake Formation permissions or exclusively by IAM permissions.
    • setCreateTableDefaultPermissions

      @Stability(Stable) public void setCreateTableDefaultPermissions(@Nullable IResolvable value)
      Specifies whether access control on a newly created table is managed by Lake Formation permissions or exclusively by IAM permissions.
    • setCreateTableDefaultPermissions

      @Stability(Stable) public void setCreateTableDefaultPermissions(@Nullable List<Object> value)
      Specifies whether access control on a newly created table is managed by Lake Formation permissions or exclusively by IAM permissions.
    • getExternalDataFilteringAllowList

      @Stability(Stable) @Nullable public Object getExternalDataFilteringAllowList()
      A list of the account IDs of AWS accounts with Amazon EMR clusters or third-party engines that are allwed to perform data filtering.
    • setExternalDataFilteringAllowList

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

      @Stability(Stable) public void setExternalDataFilteringAllowList(@Nullable List<Object> value)
      A list of the account IDs of AWS accounts with Amazon EMR clusters or third-party engines that are allwed to perform data filtering.
    • getMutationType

      @Stability(Stable) @Nullable public String getMutationType()
      Specifies whether the data lake settings are updated by adding new values to the current settings ( APPEND ) or by replacing the current settings with new settings ( REPLACE ).
    • setMutationType

      @Stability(Stable) public void setMutationType(@Nullable String value)
      Specifies whether the data lake settings are updated by adding new values to the current settings ( APPEND ) or by replacing the current settings with new settings ( REPLACE ).
    • getParameters

      @Stability(Stable) @Nullable public Object getParameters()
      A key-value map that provides an additional configuration on your data lake.
    • setParameters

      @Stability(Stable) public void setParameters(@Nullable Object value)
      A key-value map that provides an additional configuration on your data lake.
    • getTrustedResourceOwners

      @Stability(Stable) @Nullable public List<String> getTrustedResourceOwners()
      An array of UTF-8 strings.
    • setTrustedResourceOwners

      @Stability(Stable) public void setTrustedResourceOwners(@Nullable List<String> value)
      An array of UTF-8 strings.