Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.lakeformation.DataLakeSettingsArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.lakeformation;
import com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateDatabaseDefaultPermissionArgs;
import com.pulumi.aws.lakeformation.inputs.DataLakeSettingsCreateTableDefaultPermissionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class DataLakeSettingsArgs extends com.pulumi.resources.ResourceArgs {
public static final DataLakeSettingsArgs Empty = new DataLakeSettingsArgs();
/**
* Set of ARNs of AWS Lake Formation principals (IAM users or roles).
*
*/
@Import(name="admins")
private @Nullable Output> admins;
/**
* @return Set of ARNs of AWS Lake Formation principals (IAM users or roles).
*
*/
public Optional>> admins() {
return Optional.ofNullable(this.admins);
}
/**
* Whether to allow Amazon EMR clusters to access data managed by Lake Formation.
*
*/
@Import(name="allowExternalDataFiltering")
private @Nullable Output allowExternalDataFiltering;
/**
* @return Whether to allow Amazon EMR clusters to access data managed by Lake Formation.
*
*/
public Optional> allowExternalDataFiltering() {
return Optional.ofNullable(this.allowExternalDataFiltering);
}
/**
* Whether to allow a third-party query engine to get data access credentials without session tags when a caller has full data access permissions.
*
*/
@Import(name="allowFullTableExternalDataAccess")
private @Nullable Output allowFullTableExternalDataAccess;
/**
* @return Whether to allow a third-party query engine to get data access credentials without session tags when a caller has full data access permissions.
*
*/
public Optional> allowFullTableExternalDataAccess() {
return Optional.ofNullable(this.allowFullTableExternalDataAccess);
}
/**
* 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.
*
*/
@Import(name="authorizedSessionTagValueLists")
private @Nullable Output> authorizedSessionTagValueLists;
/**
* @return 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.
*
*/
public Optional>> authorizedSessionTagValueLists() {
return Optional.ofNullable(this.authorizedSessionTagValueLists);
}
/**
* Identifier for the Data Catalog. By default, the account ID.
*
*/
@Import(name="catalogId")
private @Nullable Output catalogId;
/**
* @return Identifier for the Data Catalog. By default, the account ID.
*
*/
public Optional> catalogId() {
return Optional.ofNullable(this.catalogId);
}
/**
* Up to three configuration blocks of principal permissions for default create database permissions. Detailed below.
*
*/
@Import(name="createDatabaseDefaultPermissions")
private @Nullable Output> createDatabaseDefaultPermissions;
/**
* @return Up to three configuration blocks of principal permissions for default create database permissions. Detailed below.
*
*/
public Optional>> createDatabaseDefaultPermissions() {
return Optional.ofNullable(this.createDatabaseDefaultPermissions);
}
/**
* Up to three configuration blocks of principal permissions for default create table permissions. Detailed below.
*
*/
@Import(name="createTableDefaultPermissions")
private @Nullable Output> createTableDefaultPermissions;
/**
* @return Up to three configuration blocks of principal permissions for default create table permissions. Detailed below.
*
*/
public Optional>> createTableDefaultPermissions() {
return Optional.ofNullable(this.createTableDefaultPermissions);
}
/**
* A list of the account IDs of Amazon Web Services accounts with Amazon EMR clusters that are to perform data filtering.
*
*/
@Import(name="externalDataFilteringAllowLists")
private @Nullable Output> externalDataFilteringAllowLists;
/**
* @return A list of the account IDs of Amazon Web Services accounts with Amazon EMR clusters that are to perform data filtering.
*
*/
public Optional>> externalDataFilteringAllowLists() {
return Optional.ofNullable(this.externalDataFilteringAllowLists);
}
/**
* Key-value map of additional configuration. Valid values for the `CROSS_ACCOUNT_VERSION` key are `"1"`, `"2"`, `"3"`, or `"4"`. `SET_CONTEXT` is also returned with a value of `TRUE`. In a fresh account, prior to configuring, `CROSS_ACCOUNT_VERSION` is `"1"`. Destroying this resource sets the `CROSS_ACCOUNT_VERSION` to `"1"`.
*
*/
@Import(name="parameters")
private @Nullable Output> parameters;
/**
* @return Key-value map of additional configuration. Valid values for the `CROSS_ACCOUNT_VERSION` key are `"1"`, `"2"`, `"3"`, or `"4"`. `SET_CONTEXT` is also returned with a value of `TRUE`. In a fresh account, prior to configuring, `CROSS_ACCOUNT_VERSION` is `"1"`. Destroying this resource sets the `CROSS_ACCOUNT_VERSION` to `"1"`.
*
*/
public Optional>> parameters() {
return Optional.ofNullable(this.parameters);
}
/**
* Set of ARNs of AWS Lake Formation principals (IAM users or roles) with only view access to the resources.
*
*/
@Import(name="readOnlyAdmins")
private @Nullable Output> readOnlyAdmins;
/**
* @return Set of ARNs of AWS Lake Formation principals (IAM users or roles) with only view access to the resources.
*
*/
public Optional>> readOnlyAdmins() {
return Optional.ofNullable(this.readOnlyAdmins);
}
/**
* List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
*
* > **NOTE:** Although optional, not including `admins`, `create_database_default_permissions`, `create_table_default_permissions`, `parameters`, and/or `trusted_resource_owners` results in the setting being cleared.
*
*/
@Import(name="trustedResourceOwners")
private @Nullable Output> trustedResourceOwners;
/**
* @return List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
*
* > **NOTE:** Although optional, not including `admins`, `create_database_default_permissions`, `create_table_default_permissions`, `parameters`, and/or `trusted_resource_owners` results in the setting being cleared.
*
*/
public Optional>> trustedResourceOwners() {
return Optional.ofNullable(this.trustedResourceOwners);
}
private DataLakeSettingsArgs() {}
private DataLakeSettingsArgs(DataLakeSettingsArgs $) {
this.admins = $.admins;
this.allowExternalDataFiltering = $.allowExternalDataFiltering;
this.allowFullTableExternalDataAccess = $.allowFullTableExternalDataAccess;
this.authorizedSessionTagValueLists = $.authorizedSessionTagValueLists;
this.catalogId = $.catalogId;
this.createDatabaseDefaultPermissions = $.createDatabaseDefaultPermissions;
this.createTableDefaultPermissions = $.createTableDefaultPermissions;
this.externalDataFilteringAllowLists = $.externalDataFilteringAllowLists;
this.parameters = $.parameters;
this.readOnlyAdmins = $.readOnlyAdmins;
this.trustedResourceOwners = $.trustedResourceOwners;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(DataLakeSettingsArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private DataLakeSettingsArgs $;
public Builder() {
$ = new DataLakeSettingsArgs();
}
public Builder(DataLakeSettingsArgs defaults) {
$ = new DataLakeSettingsArgs(Objects.requireNonNull(defaults));
}
/**
* @param admins Set of ARNs of AWS Lake Formation principals (IAM users or roles).
*
* @return builder
*
*/
public Builder admins(@Nullable Output> admins) {
$.admins = admins;
return this;
}
/**
* @param admins Set of ARNs of AWS Lake Formation principals (IAM users or roles).
*
* @return builder
*
*/
public Builder admins(List admins) {
return admins(Output.of(admins));
}
/**
* @param admins Set of ARNs of AWS Lake Formation principals (IAM users or roles).
*
* @return builder
*
*/
public Builder admins(String... admins) {
return admins(List.of(admins));
}
/**
* @param allowExternalDataFiltering Whether to allow Amazon EMR clusters to access data managed by Lake Formation.
*
* @return builder
*
*/
public Builder allowExternalDataFiltering(@Nullable Output allowExternalDataFiltering) {
$.allowExternalDataFiltering = allowExternalDataFiltering;
return this;
}
/**
* @param allowExternalDataFiltering Whether to allow Amazon EMR clusters to access data managed by Lake Formation.
*
* @return builder
*
*/
public Builder allowExternalDataFiltering(Boolean allowExternalDataFiltering) {
return allowExternalDataFiltering(Output.of(allowExternalDataFiltering));
}
/**
* @param 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.
*
* @return builder
*
*/
public Builder allowFullTableExternalDataAccess(@Nullable Output allowFullTableExternalDataAccess) {
$.allowFullTableExternalDataAccess = allowFullTableExternalDataAccess;
return this;
}
/**
* @param 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.
*
* @return builder
*
*/
public Builder allowFullTableExternalDataAccess(Boolean allowFullTableExternalDataAccess) {
return allowFullTableExternalDataAccess(Output.of(allowFullTableExternalDataAccess));
}
/**
* @param authorizedSessionTagValueLists 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.
*
* @return builder
*
*/
public Builder authorizedSessionTagValueLists(@Nullable Output> authorizedSessionTagValueLists) {
$.authorizedSessionTagValueLists = authorizedSessionTagValueLists;
return this;
}
/**
* @param authorizedSessionTagValueLists 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.
*
* @return builder
*
*/
public Builder authorizedSessionTagValueLists(List authorizedSessionTagValueLists) {
return authorizedSessionTagValueLists(Output.of(authorizedSessionTagValueLists));
}
/**
* @param authorizedSessionTagValueLists 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.
*
* @return builder
*
*/
public Builder authorizedSessionTagValueLists(String... authorizedSessionTagValueLists) {
return authorizedSessionTagValueLists(List.of(authorizedSessionTagValueLists));
}
/**
* @param catalogId Identifier for the Data Catalog. By default, the account ID.
*
* @return builder
*
*/
public Builder catalogId(@Nullable Output catalogId) {
$.catalogId = catalogId;
return this;
}
/**
* @param catalogId Identifier for the Data Catalog. By default, the account ID.
*
* @return builder
*
*/
public Builder catalogId(String catalogId) {
return catalogId(Output.of(catalogId));
}
/**
* @param createDatabaseDefaultPermissions Up to three configuration blocks of principal permissions for default create database permissions. Detailed below.
*
* @return builder
*
*/
public Builder createDatabaseDefaultPermissions(@Nullable Output> createDatabaseDefaultPermissions) {
$.createDatabaseDefaultPermissions = createDatabaseDefaultPermissions;
return this;
}
/**
* @param createDatabaseDefaultPermissions Up to three configuration blocks of principal permissions for default create database permissions. Detailed below.
*
* @return builder
*
*/
public Builder createDatabaseDefaultPermissions(List createDatabaseDefaultPermissions) {
return createDatabaseDefaultPermissions(Output.of(createDatabaseDefaultPermissions));
}
/**
* @param createDatabaseDefaultPermissions Up to three configuration blocks of principal permissions for default create database permissions. Detailed below.
*
* @return builder
*
*/
public Builder createDatabaseDefaultPermissions(DataLakeSettingsCreateDatabaseDefaultPermissionArgs... createDatabaseDefaultPermissions) {
return createDatabaseDefaultPermissions(List.of(createDatabaseDefaultPermissions));
}
/**
* @param createTableDefaultPermissions Up to three configuration blocks of principal permissions for default create table permissions. Detailed below.
*
* @return builder
*
*/
public Builder createTableDefaultPermissions(@Nullable Output> createTableDefaultPermissions) {
$.createTableDefaultPermissions = createTableDefaultPermissions;
return this;
}
/**
* @param createTableDefaultPermissions Up to three configuration blocks of principal permissions for default create table permissions. Detailed below.
*
* @return builder
*
*/
public Builder createTableDefaultPermissions(List createTableDefaultPermissions) {
return createTableDefaultPermissions(Output.of(createTableDefaultPermissions));
}
/**
* @param createTableDefaultPermissions Up to three configuration blocks of principal permissions for default create table permissions. Detailed below.
*
* @return builder
*
*/
public Builder createTableDefaultPermissions(DataLakeSettingsCreateTableDefaultPermissionArgs... createTableDefaultPermissions) {
return createTableDefaultPermissions(List.of(createTableDefaultPermissions));
}
/**
* @param externalDataFilteringAllowLists A list of the account IDs of Amazon Web Services accounts with Amazon EMR clusters that are to perform data filtering.
*
* @return builder
*
*/
public Builder externalDataFilteringAllowLists(@Nullable Output> externalDataFilteringAllowLists) {
$.externalDataFilteringAllowLists = externalDataFilteringAllowLists;
return this;
}
/**
* @param externalDataFilteringAllowLists A list of the account IDs of Amazon Web Services accounts with Amazon EMR clusters that are to perform data filtering.
*
* @return builder
*
*/
public Builder externalDataFilteringAllowLists(List externalDataFilteringAllowLists) {
return externalDataFilteringAllowLists(Output.of(externalDataFilteringAllowLists));
}
/**
* @param externalDataFilteringAllowLists A list of the account IDs of Amazon Web Services accounts with Amazon EMR clusters that are to perform data filtering.
*
* @return builder
*
*/
public Builder externalDataFilteringAllowLists(String... externalDataFilteringAllowLists) {
return externalDataFilteringAllowLists(List.of(externalDataFilteringAllowLists));
}
/**
* @param parameters Key-value map of additional configuration. Valid values for the `CROSS_ACCOUNT_VERSION` key are `"1"`, `"2"`, `"3"`, or `"4"`. `SET_CONTEXT` is also returned with a value of `TRUE`. In a fresh account, prior to configuring, `CROSS_ACCOUNT_VERSION` is `"1"`. Destroying this resource sets the `CROSS_ACCOUNT_VERSION` to `"1"`.
*
* @return builder
*
*/
public Builder parameters(@Nullable Output> parameters) {
$.parameters = parameters;
return this;
}
/**
* @param parameters Key-value map of additional configuration. Valid values for the `CROSS_ACCOUNT_VERSION` key are `"1"`, `"2"`, `"3"`, or `"4"`. `SET_CONTEXT` is also returned with a value of `TRUE`. In a fresh account, prior to configuring, `CROSS_ACCOUNT_VERSION` is `"1"`. Destroying this resource sets the `CROSS_ACCOUNT_VERSION` to `"1"`.
*
* @return builder
*
*/
public Builder parameters(Map parameters) {
return parameters(Output.of(parameters));
}
/**
* @param readOnlyAdmins Set of ARNs of AWS Lake Formation principals (IAM users or roles) with only view access to the resources.
*
* @return builder
*
*/
public Builder readOnlyAdmins(@Nullable Output> readOnlyAdmins) {
$.readOnlyAdmins = readOnlyAdmins;
return this;
}
/**
* @param readOnlyAdmins Set of ARNs of AWS Lake Formation principals (IAM users or roles) with only view access to the resources.
*
* @return builder
*
*/
public Builder readOnlyAdmins(List readOnlyAdmins) {
return readOnlyAdmins(Output.of(readOnlyAdmins));
}
/**
* @param readOnlyAdmins Set of ARNs of AWS Lake Formation principals (IAM users or roles) with only view access to the resources.
*
* @return builder
*
*/
public Builder readOnlyAdmins(String... readOnlyAdmins) {
return readOnlyAdmins(List.of(readOnlyAdmins));
}
/**
* @param trustedResourceOwners List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
*
* > **NOTE:** Although optional, not including `admins`, `create_database_default_permissions`, `create_table_default_permissions`, `parameters`, and/or `trusted_resource_owners` results in the setting being cleared.
*
* @return builder
*
*/
public Builder trustedResourceOwners(@Nullable Output> trustedResourceOwners) {
$.trustedResourceOwners = trustedResourceOwners;
return this;
}
/**
* @param trustedResourceOwners List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
*
* > **NOTE:** Although optional, not including `admins`, `create_database_default_permissions`, `create_table_default_permissions`, `parameters`, and/or `trusted_resource_owners` results in the setting being cleared.
*
* @return builder
*
*/
public Builder trustedResourceOwners(List trustedResourceOwners) {
return trustedResourceOwners(Output.of(trustedResourceOwners));
}
/**
* @param trustedResourceOwners List of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs).
*
* > **NOTE:** Although optional, not including `admins`, `create_database_default_permissions`, `create_table_default_permissions`, `parameters`, and/or `trusted_resource_owners` results in the setting being cleared.
*
* @return builder
*
*/
public Builder trustedResourceOwners(String... trustedResourceOwners) {
return trustedResourceOwners(List.of(trustedResourceOwners));
}
public DataLakeSettingsArgs build() {
return $;
}
}
}