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.inputs.PermissionsState 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.inputs;
import com.pulumi.aws.lakeformation.inputs.PermissionsDataCellsFilterArgs;
import com.pulumi.aws.lakeformation.inputs.PermissionsDataLocationArgs;
import com.pulumi.aws.lakeformation.inputs.PermissionsDatabaseArgs;
import com.pulumi.aws.lakeformation.inputs.PermissionsLfTagArgs;
import com.pulumi.aws.lakeformation.inputs.PermissionsLfTagPolicyArgs;
import com.pulumi.aws.lakeformation.inputs.PermissionsTableArgs;
import com.pulumi.aws.lakeformation.inputs.PermissionsTableWithColumnsArgs;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class PermissionsState extends com.pulumi.resources.ResourceArgs {
public static final PermissionsState Empty = new PermissionsState();
/**
* Identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.
*
*/
@Import(name="catalogId")
private @Nullable Output catalogId;
/**
* @return Identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.
*
*/
public Optional> catalogId() {
return Optional.ofNullable(this.catalogId);
}
/**
* Whether the permissions are to be granted for the Data Catalog. Defaults to `false`.
*
*/
@Import(name="catalogResource")
private @Nullable Output catalogResource;
/**
* @return Whether the permissions are to be granted for the Data Catalog. Defaults to `false`.
*
*/
public Optional> catalogResource() {
return Optional.ofNullable(this.catalogResource);
}
/**
* Configuration block for a data cells filter resource. Detailed below.
*
*/
@Import(name="dataCellsFilter")
private @Nullable Output dataCellsFilter;
/**
* @return Configuration block for a data cells filter resource. Detailed below.
*
*/
public Optional> dataCellsFilter() {
return Optional.ofNullable(this.dataCellsFilter);
}
/**
* Configuration block for a data location resource. Detailed below.
*
*/
@Import(name="dataLocation")
private @Nullable Output dataLocation;
/**
* @return Configuration block for a data location resource. Detailed below.
*
*/
public Optional> dataLocation() {
return Optional.ofNullable(this.dataLocation);
}
/**
* Configuration block for a database resource. Detailed below.
*
*/
@Import(name="database")
private @Nullable Output database;
/**
* @return Configuration block for a database resource. Detailed below.
*
*/
public Optional> database() {
return Optional.ofNullable(this.database);
}
/**
* Configuration block for an LF-tag resource. Detailed below.
*
*/
@Import(name="lfTag")
private @Nullable Output lfTag;
/**
* @return Configuration block for an LF-tag resource. Detailed below.
*
*/
public Optional> lfTag() {
return Optional.ofNullable(this.lfTag);
}
/**
* Configuration block for an LF-tag policy resource. Detailed below.
*
*/
@Import(name="lfTagPolicy")
private @Nullable Output lfTagPolicy;
/**
* @return Configuration block for an LF-tag policy resource. Detailed below.
*
*/
public Optional> lfTagPolicy() {
return Optional.ofNullable(this.lfTagPolicy);
}
/**
* List of permissions granted to the principal. Valid values may include `ALL`, `ALTER`, `ASSOCIATE`, `CREATE_DATABASE`, `CREATE_TABLE`, `DATA_LOCATION_ACCESS`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT`. For details on each permission, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
*/
@Import(name="permissions")
private @Nullable Output> permissions;
/**
* @return List of permissions granted to the principal. Valid values may include `ALL`, `ALTER`, `ASSOCIATE`, `CREATE_DATABASE`, `CREATE_TABLE`, `DATA_LOCATION_ACCESS`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT`. For details on each permission, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
*/
public Optional>> permissions() {
return Optional.ofNullable(this.permissions);
}
/**
* Subset of `permissions` which the principal can pass.
*
*/
@Import(name="permissionsWithGrantOptions")
private @Nullable Output> permissionsWithGrantOptions;
/**
* @return Subset of `permissions` which the principal can pass.
*
*/
public Optional>> permissionsWithGrantOptions() {
return Optional.ofNullable(this.permissionsWithGrantOptions);
}
/**
* Principal to be granted the permissions on the resource. Supported principals include `IAM_ALLOWED_PRINCIPALS` (see Default Behavior and `IAMAllowedPrincipals` above), IAM roles, users, groups, Federated Users, SAML groups and users, QuickSight groups, OUs, and organizations as well as AWS account IDs for cross-account permissions. For more information, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
* > **NOTE:** We highly recommend that the `principal` _NOT_ be a Lake Formation administrator (granted using `aws.lakeformation.DataLakeSettings`). The entity (e.g., IAM role) running the deployment will most likely need to be a Lake Formation administrator. As such, the entity will have implicit permissions and does not need permissions granted through this resource.
*
* One of the following is required:
*
*/
@Import(name="principal")
private @Nullable Output principal;
/**
* @return Principal to be granted the permissions on the resource. Supported principals include `IAM_ALLOWED_PRINCIPALS` (see Default Behavior and `IAMAllowedPrincipals` above), IAM roles, users, groups, Federated Users, SAML groups and users, QuickSight groups, OUs, and organizations as well as AWS account IDs for cross-account permissions. For more information, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
* > **NOTE:** We highly recommend that the `principal` _NOT_ be a Lake Formation administrator (granted using `aws.lakeformation.DataLakeSettings`). The entity (e.g., IAM role) running the deployment will most likely need to be a Lake Formation administrator. As such, the entity will have implicit permissions and does not need permissions granted through this resource.
*
* One of the following is required:
*
*/
public Optional> principal() {
return Optional.ofNullable(this.principal);
}
/**
* Configuration block for a table resource. Detailed below.
*
*/
@Import(name="table")
private @Nullable Output table;
/**
* @return Configuration block for a table resource. Detailed below.
*
*/
public Optional> table() {
return Optional.ofNullable(this.table);
}
/**
* Configuration block for a table with columns resource. Detailed below.
*
* The following arguments are optional:
*
*/
@Import(name="tableWithColumns")
private @Nullable Output tableWithColumns;
/**
* @return Configuration block for a table with columns resource. Detailed below.
*
* The following arguments are optional:
*
*/
public Optional> tableWithColumns() {
return Optional.ofNullable(this.tableWithColumns);
}
private PermissionsState() {}
private PermissionsState(PermissionsState $) {
this.catalogId = $.catalogId;
this.catalogResource = $.catalogResource;
this.dataCellsFilter = $.dataCellsFilter;
this.dataLocation = $.dataLocation;
this.database = $.database;
this.lfTag = $.lfTag;
this.lfTagPolicy = $.lfTagPolicy;
this.permissions = $.permissions;
this.permissionsWithGrantOptions = $.permissionsWithGrantOptions;
this.principal = $.principal;
this.table = $.table;
this.tableWithColumns = $.tableWithColumns;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PermissionsState defaults) {
return new Builder(defaults);
}
public static final class Builder {
private PermissionsState $;
public Builder() {
$ = new PermissionsState();
}
public Builder(PermissionsState defaults) {
$ = new PermissionsState(Objects.requireNonNull(defaults));
}
/**
* @param catalogId Identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.
*
* @return builder
*
*/
public Builder catalogId(@Nullable Output catalogId) {
$.catalogId = catalogId;
return this;
}
/**
* @param catalogId Identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.
*
* @return builder
*
*/
public Builder catalogId(String catalogId) {
return catalogId(Output.of(catalogId));
}
/**
* @param catalogResource Whether the permissions are to be granted for the Data Catalog. Defaults to `false`.
*
* @return builder
*
*/
public Builder catalogResource(@Nullable Output catalogResource) {
$.catalogResource = catalogResource;
return this;
}
/**
* @param catalogResource Whether the permissions are to be granted for the Data Catalog. Defaults to `false`.
*
* @return builder
*
*/
public Builder catalogResource(Boolean catalogResource) {
return catalogResource(Output.of(catalogResource));
}
/**
* @param dataCellsFilter Configuration block for a data cells filter resource. Detailed below.
*
* @return builder
*
*/
public Builder dataCellsFilter(@Nullable Output dataCellsFilter) {
$.dataCellsFilter = dataCellsFilter;
return this;
}
/**
* @param dataCellsFilter Configuration block for a data cells filter resource. Detailed below.
*
* @return builder
*
*/
public Builder dataCellsFilter(PermissionsDataCellsFilterArgs dataCellsFilter) {
return dataCellsFilter(Output.of(dataCellsFilter));
}
/**
* @param dataLocation Configuration block for a data location resource. Detailed below.
*
* @return builder
*
*/
public Builder dataLocation(@Nullable Output dataLocation) {
$.dataLocation = dataLocation;
return this;
}
/**
* @param dataLocation Configuration block for a data location resource. Detailed below.
*
* @return builder
*
*/
public Builder dataLocation(PermissionsDataLocationArgs dataLocation) {
return dataLocation(Output.of(dataLocation));
}
/**
* @param database Configuration block for a database resource. Detailed below.
*
* @return builder
*
*/
public Builder database(@Nullable Output database) {
$.database = database;
return this;
}
/**
* @param database Configuration block for a database resource. Detailed below.
*
* @return builder
*
*/
public Builder database(PermissionsDatabaseArgs database) {
return database(Output.of(database));
}
/**
* @param lfTag Configuration block for an LF-tag resource. Detailed below.
*
* @return builder
*
*/
public Builder lfTag(@Nullable Output lfTag) {
$.lfTag = lfTag;
return this;
}
/**
* @param lfTag Configuration block for an LF-tag resource. Detailed below.
*
* @return builder
*
*/
public Builder lfTag(PermissionsLfTagArgs lfTag) {
return lfTag(Output.of(lfTag));
}
/**
* @param lfTagPolicy Configuration block for an LF-tag policy resource. Detailed below.
*
* @return builder
*
*/
public Builder lfTagPolicy(@Nullable Output lfTagPolicy) {
$.lfTagPolicy = lfTagPolicy;
return this;
}
/**
* @param lfTagPolicy Configuration block for an LF-tag policy resource. Detailed below.
*
* @return builder
*
*/
public Builder lfTagPolicy(PermissionsLfTagPolicyArgs lfTagPolicy) {
return lfTagPolicy(Output.of(lfTagPolicy));
}
/**
* @param permissions List of permissions granted to the principal. Valid values may include `ALL`, `ALTER`, `ASSOCIATE`, `CREATE_DATABASE`, `CREATE_TABLE`, `DATA_LOCATION_ACCESS`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT`. For details on each permission, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
* @return builder
*
*/
public Builder permissions(@Nullable Output> permissions) {
$.permissions = permissions;
return this;
}
/**
* @param permissions List of permissions granted to the principal. Valid values may include `ALL`, `ALTER`, `ASSOCIATE`, `CREATE_DATABASE`, `CREATE_TABLE`, `DATA_LOCATION_ACCESS`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT`. For details on each permission, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
* @return builder
*
*/
public Builder permissions(List permissions) {
return permissions(Output.of(permissions));
}
/**
* @param permissions List of permissions granted to the principal. Valid values may include `ALL`, `ALTER`, `ASSOCIATE`, `CREATE_DATABASE`, `CREATE_TABLE`, `DATA_LOCATION_ACCESS`, `DELETE`, `DESCRIBE`, `DROP`, `INSERT`, and `SELECT`. For details on each permission, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
* @return builder
*
*/
public Builder permissions(String... permissions) {
return permissions(List.of(permissions));
}
/**
* @param permissionsWithGrantOptions Subset of `permissions` which the principal can pass.
*
* @return builder
*
*/
public Builder permissionsWithGrantOptions(@Nullable Output> permissionsWithGrantOptions) {
$.permissionsWithGrantOptions = permissionsWithGrantOptions;
return this;
}
/**
* @param permissionsWithGrantOptions Subset of `permissions` which the principal can pass.
*
* @return builder
*
*/
public Builder permissionsWithGrantOptions(List permissionsWithGrantOptions) {
return permissionsWithGrantOptions(Output.of(permissionsWithGrantOptions));
}
/**
* @param permissionsWithGrantOptions Subset of `permissions` which the principal can pass.
*
* @return builder
*
*/
public Builder permissionsWithGrantOptions(String... permissionsWithGrantOptions) {
return permissionsWithGrantOptions(List.of(permissionsWithGrantOptions));
}
/**
* @param principal Principal to be granted the permissions on the resource. Supported principals include `IAM_ALLOWED_PRINCIPALS` (see Default Behavior and `IAMAllowedPrincipals` above), IAM roles, users, groups, Federated Users, SAML groups and users, QuickSight groups, OUs, and organizations as well as AWS account IDs for cross-account permissions. For more information, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
* > **NOTE:** We highly recommend that the `principal` _NOT_ be a Lake Formation administrator (granted using `aws.lakeformation.DataLakeSettings`). The entity (e.g., IAM role) running the deployment will most likely need to be a Lake Formation administrator. As such, the entity will have implicit permissions and does not need permissions granted through this resource.
*
* One of the following is required:
*
* @return builder
*
*/
public Builder principal(@Nullable Output principal) {
$.principal = principal;
return this;
}
/**
* @param principal Principal to be granted the permissions on the resource. Supported principals include `IAM_ALLOWED_PRINCIPALS` (see Default Behavior and `IAMAllowedPrincipals` above), IAM roles, users, groups, Federated Users, SAML groups and users, QuickSight groups, OUs, and organizations as well as AWS account IDs for cross-account permissions. For more information, see [Lake Formation Permissions Reference](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-reference.html).
*
* > **NOTE:** We highly recommend that the `principal` _NOT_ be a Lake Formation administrator (granted using `aws.lakeformation.DataLakeSettings`). The entity (e.g., IAM role) running the deployment will most likely need to be a Lake Formation administrator. As such, the entity will have implicit permissions and does not need permissions granted through this resource.
*
* One of the following is required:
*
* @return builder
*
*/
public Builder principal(String principal) {
return principal(Output.of(principal));
}
/**
* @param table Configuration block for a table resource. Detailed below.
*
* @return builder
*
*/
public Builder table(@Nullable Output table) {
$.table = table;
return this;
}
/**
* @param table Configuration block for a table resource. Detailed below.
*
* @return builder
*
*/
public Builder table(PermissionsTableArgs table) {
return table(Output.of(table));
}
/**
* @param tableWithColumns Configuration block for a table with columns resource. Detailed below.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder tableWithColumns(@Nullable Output tableWithColumns) {
$.tableWithColumns = tableWithColumns;
return this;
}
/**
* @param tableWithColumns Configuration block for a table with columns resource. Detailed below.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder tableWithColumns(PermissionsTableWithColumnsArgs tableWithColumns) {
return tableWithColumns(Output.of(tableWithColumns));
}
public PermissionsState build() {
return $;
}
}
}