All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.lakeformation.inputs.GetPermissionsPlainArgs Maven / Gradle / Ivy

// *** 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.GetPermissionsDataCellsFilter;
import com.pulumi.aws.lakeformation.inputs.GetPermissionsDataLocation;
import com.pulumi.aws.lakeformation.inputs.GetPermissionsDatabase;
import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTag;
import com.pulumi.aws.lakeformation.inputs.GetPermissionsLfTagPolicy;
import com.pulumi.aws.lakeformation.inputs.GetPermissionsTable;
import com.pulumi.aws.lakeformation.inputs.GetPermissionsTableWithColumns;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetPermissionsPlainArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetPermissionsPlainArgs Empty = new GetPermissionsPlainArgs();

    /**
     * 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 String 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 Boolean 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 GetPermissionsDataCellsFilter 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 GetPermissionsDataLocation 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 GetPermissionsDatabase 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 GetPermissionsLfTag 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 GetPermissionsLfTagPolicy lfTagPolicy;

    /**
     * @return Configuration block for an LF-tag policy resource. Detailed below.
     * 
     */
    public Optional lfTagPolicy() {
        return Optional.ofNullable(this.lfTagPolicy);
    }

    /**
     * Principal to be granted the permissions on the resource. Supported principals are IAM users or IAM roles.
     * 
     * One of the following is required:
     * 
     */
    @Import(name="principal", required=true)
    private String principal;

    /**
     * @return Principal to be granted the permissions on the resource. Supported principals are IAM users or IAM roles.
     * 
     * One of the following is required:
     * 
     */
    public String principal() {
        return this.principal;
    }

    /**
     * Configuration block for a table resource. Detailed below.
     * 
     */
    @Import(name="table")
    private @Nullable GetPermissionsTable 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 GetPermissionsTableWithColumns 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 GetPermissionsPlainArgs() {}

    private GetPermissionsPlainArgs(GetPermissionsPlainArgs $) {
        this.catalogId = $.catalogId;
        this.catalogResource = $.catalogResource;
        this.dataCellsFilter = $.dataCellsFilter;
        this.dataLocation = $.dataLocation;
        this.database = $.database;
        this.lfTag = $.lfTag;
        this.lfTagPolicy = $.lfTagPolicy;
        this.principal = $.principal;
        this.table = $.table;
        this.tableWithColumns = $.tableWithColumns;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(GetPermissionsPlainArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private GetPermissionsPlainArgs $;

        public Builder() {
            $ = new GetPermissionsPlainArgs();
        }

        public Builder(GetPermissionsPlainArgs defaults) {
            $ = new GetPermissionsPlainArgs(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 String catalogId) {
            $.catalogId = catalogId;
            return this;
        }

        /**
         * @param catalogResource Whether the permissions are to be granted for the Data Catalog. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder catalogResource(@Nullable Boolean catalogResource) {
            $.catalogResource = catalogResource;
            return this;
        }

        /**
         * @param dataCellsFilter Configuration block for a data cells filter resource. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder dataCellsFilter(@Nullable GetPermissionsDataCellsFilter dataCellsFilter) {
            $.dataCellsFilter = dataCellsFilter;
            return this;
        }

        /**
         * @param dataLocation Configuration block for a data location resource. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder dataLocation(@Nullable GetPermissionsDataLocation dataLocation) {
            $.dataLocation = dataLocation;
            return this;
        }

        /**
         * @param database Configuration block for a database resource. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder database(@Nullable GetPermissionsDatabase database) {
            $.database = database;
            return this;
        }

        /**
         * @param lfTag Configuration block for an LF-tag resource. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder lfTag(@Nullable GetPermissionsLfTag lfTag) {
            $.lfTag = lfTag;
            return this;
        }

        /**
         * @param lfTagPolicy Configuration block for an LF-tag policy resource. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder lfTagPolicy(@Nullable GetPermissionsLfTagPolicy lfTagPolicy) {
            $.lfTagPolicy = lfTagPolicy;
            return this;
        }

        /**
         * @param principal Principal to be granted the permissions on the resource. Supported principals are IAM users or IAM roles.
         * 
         * One of the following is required:
         * 
         * @return builder
         * 
         */
        public Builder principal(String principal) {
            $.principal = principal;
            return this;
        }

        /**
         * @param table Configuration block for a table resource. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder table(@Nullable GetPermissionsTable table) {
            $.table = table;
            return this;
        }

        /**
         * @param tableWithColumns Configuration block for a table with columns resource. Detailed below.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder tableWithColumns(@Nullable GetPermissionsTableWithColumns tableWithColumns) {
            $.tableWithColumns = tableWithColumns;
            return this;
        }

        public GetPermissionsPlainArgs build() {
            if ($.principal == null) {
                throw new MissingRequiredPropertyException("GetPermissionsPlainArgs", "principal");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy