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

com.pulumi.aws.quicksight.inputs.DataSetState 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.quicksight.inputs;

import com.pulumi.aws.quicksight.inputs.DataSetColumnGroupArgs;
import com.pulumi.aws.quicksight.inputs.DataSetColumnLevelPermissionRuleArgs;
import com.pulumi.aws.quicksight.inputs.DataSetDataSetUsageConfigurationArgs;
import com.pulumi.aws.quicksight.inputs.DataSetFieldFolderArgs;
import com.pulumi.aws.quicksight.inputs.DataSetLogicalTableMapArgs;
import com.pulumi.aws.quicksight.inputs.DataSetOutputColumnArgs;
import com.pulumi.aws.quicksight.inputs.DataSetPermissionArgs;
import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;
import com.pulumi.aws.quicksight.inputs.DataSetRefreshPropertiesArgs;
import com.pulumi.aws.quicksight.inputs.DataSetRowLevelPermissionDataSetArgs;
import com.pulumi.aws.quicksight.inputs.DataSetRowLevelPermissionTagConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 DataSetState extends com.pulumi.resources.ResourceArgs {

    public static final DataSetState Empty = new DataSetState();

    /**
     * Amazon Resource Name (ARN) of the data set.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return Amazon Resource Name (ARN) of the data set.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * AWS account ID.
     * 
     */
    @Import(name="awsAccountId")
    private @Nullable Output awsAccountId;

    /**
     * @return AWS account ID.
     * 
     */
    public Optional> awsAccountId() {
        return Optional.ofNullable(this.awsAccountId);
    }

    /**
     * Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
     * 
     */
    @Import(name="columnGroups")
    private @Nullable Output> columnGroups;

    /**
     * @return Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
     * 
     */
    public Optional>> columnGroups() {
        return Optional.ofNullable(this.columnGroups);
    }

    /**
     * A set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See column_level_permission_rules.
     * 
     */
    @Import(name="columnLevelPermissionRules")
    private @Nullable Output> columnLevelPermissionRules;

    /**
     * @return A set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See column_level_permission_rules.
     * 
     */
    public Optional>> columnLevelPermissionRules() {
        return Optional.ofNullable(this.columnLevelPermissionRules);
    }

    /**
     * Identifier for the data set.
     * 
     */
    @Import(name="dataSetId")
    private @Nullable Output dataSetId;

    /**
     * @return Identifier for the data set.
     * 
     */
    public Optional> dataSetId() {
        return Optional.ofNullable(this.dataSetId);
    }

    /**
     * The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration.
     * 
     */
    @Import(name="dataSetUsageConfiguration")
    private @Nullable Output dataSetUsageConfiguration;

    /**
     * @return The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration.
     * 
     */
    public Optional> dataSetUsageConfiguration() {
        return Optional.ofNullable(this.dataSetUsageConfiguration);
    }

    /**
     * The folder that contains fields and nested subfolders for your dataset. See field_folders.
     * 
     */
    @Import(name="fieldFolders")
    private @Nullable Output> fieldFolders;

    /**
     * @return The folder that contains fields and nested subfolders for your dataset. See field_folders.
     * 
     */
    public Optional>> fieldFolders() {
        return Optional.ofNullable(this.fieldFolders);
    }

    /**
     * Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
     * 
     */
    @Import(name="importMode")
    private @Nullable Output importMode;

    /**
     * @return Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
     * 
     */
    public Optional> importMode() {
        return Optional.ofNullable(this.importMode);
    }

    /**
     * Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
     * 
     */
    @Import(name="logicalTableMaps")
    private @Nullable Output> logicalTableMaps;

    /**
     * @return Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
     * 
     */
    public Optional>> logicalTableMaps() {
        return Optional.ofNullable(this.logicalTableMaps);
    }

    /**
     * Display name for the dataset.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Display name for the dataset.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    @Import(name="outputColumns")
    private @Nullable Output> outputColumns;

    public Optional>> outputColumns() {
        return Optional.ofNullable(this.outputColumns);
    }

    /**
     * A set of resource permissions on the data source. Maximum of 64 items. See permissions.
     * 
     */
    @Import(name="permissions")
    private @Nullable Output> permissions;

    /**
     * @return A set of resource permissions on the data source. Maximum of 64 items. See permissions.
     * 
     */
    public Optional>> permissions() {
        return Optional.ofNullable(this.permissions);
    }

    /**
     * Declares the physical tables that are available in the underlying data sources. See physical_table_map.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="physicalTableMaps")
    private @Nullable Output> physicalTableMaps;

    /**
     * @return Declares the physical tables that are available in the underlying data sources. See physical_table_map.
     * 
     * The following arguments are optional:
     * 
     */
    public Optional>> physicalTableMaps() {
        return Optional.ofNullable(this.physicalTableMaps);
    }

    /**
     * The refresh properties for the data set. **NOTE**: Only valid when `import_mode` is set to `SPICE`. See refresh_properties.
     * 
     */
    @Import(name="refreshProperties")
    private @Nullable Output refreshProperties;

    /**
     * @return The refresh properties for the data set. **NOTE**: Only valid when `import_mode` is set to `SPICE`. See refresh_properties.
     * 
     */
    public Optional> refreshProperties() {
        return Optional.ofNullable(this.refreshProperties);
    }

    /**
     * The row-level security configuration for the data that you want to create. See row_level_permission_data_set.
     * 
     */
    @Import(name="rowLevelPermissionDataSet")
    private @Nullable Output rowLevelPermissionDataSet;

    /**
     * @return The row-level security configuration for the data that you want to create. See row_level_permission_data_set.
     * 
     */
    public Optional> rowLevelPermissionDataSet() {
        return Optional.ofNullable(this.rowLevelPermissionDataSet);
    }

    /**
     * The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. See row_level_permission_tag_configuration.
     * 
     */
    @Import(name="rowLevelPermissionTagConfiguration")
    private @Nullable Output rowLevelPermissionTagConfiguration;

    /**
     * @return The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. See row_level_permission_tag_configuration.
     * 
     */
    public Optional> rowLevelPermissionTagConfiguration() {
        return Optional.ofNullable(this.rowLevelPermissionTagConfiguration);
    }

    /**
     * Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    private DataSetState() {}

    private DataSetState(DataSetState $) {
        this.arn = $.arn;
        this.awsAccountId = $.awsAccountId;
        this.columnGroups = $.columnGroups;
        this.columnLevelPermissionRules = $.columnLevelPermissionRules;
        this.dataSetId = $.dataSetId;
        this.dataSetUsageConfiguration = $.dataSetUsageConfiguration;
        this.fieldFolders = $.fieldFolders;
        this.importMode = $.importMode;
        this.logicalTableMaps = $.logicalTableMaps;
        this.name = $.name;
        this.outputColumns = $.outputColumns;
        this.permissions = $.permissions;
        this.physicalTableMaps = $.physicalTableMaps;
        this.refreshProperties = $.refreshProperties;
        this.rowLevelPermissionDataSet = $.rowLevelPermissionDataSet;
        this.rowLevelPermissionTagConfiguration = $.rowLevelPermissionTagConfiguration;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
    }

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

    public static final class Builder {
        private DataSetState $;

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

        public Builder(DataSetState defaults) {
            $ = new DataSetState(Objects.requireNonNull(defaults));
        }

        /**
         * @param arn Amazon Resource Name (ARN) of the data set.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn Amazon Resource Name (ARN) of the data set.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param awsAccountId AWS account ID.
         * 
         * @return builder
         * 
         */
        public Builder awsAccountId(@Nullable Output awsAccountId) {
            $.awsAccountId = awsAccountId;
            return this;
        }

        /**
         * @param awsAccountId AWS account ID.
         * 
         * @return builder
         * 
         */
        public Builder awsAccountId(String awsAccountId) {
            return awsAccountId(Output.of(awsAccountId));
        }

        /**
         * @param columnGroups Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
         * 
         * @return builder
         * 
         */
        public Builder columnGroups(@Nullable Output> columnGroups) {
            $.columnGroups = columnGroups;
            return this;
        }

        /**
         * @param columnGroups Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
         * 
         * @return builder
         * 
         */
        public Builder columnGroups(List columnGroups) {
            return columnGroups(Output.of(columnGroups));
        }

        /**
         * @param columnGroups Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
         * 
         * @return builder
         * 
         */
        public Builder columnGroups(DataSetColumnGroupArgs... columnGroups) {
            return columnGroups(List.of(columnGroups));
        }

        /**
         * @param columnLevelPermissionRules A set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See column_level_permission_rules.
         * 
         * @return builder
         * 
         */
        public Builder columnLevelPermissionRules(@Nullable Output> columnLevelPermissionRules) {
            $.columnLevelPermissionRules = columnLevelPermissionRules;
            return this;
        }

        /**
         * @param columnLevelPermissionRules A set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See column_level_permission_rules.
         * 
         * @return builder
         * 
         */
        public Builder columnLevelPermissionRules(List columnLevelPermissionRules) {
            return columnLevelPermissionRules(Output.of(columnLevelPermissionRules));
        }

        /**
         * @param columnLevelPermissionRules A set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See column_level_permission_rules.
         * 
         * @return builder
         * 
         */
        public Builder columnLevelPermissionRules(DataSetColumnLevelPermissionRuleArgs... columnLevelPermissionRules) {
            return columnLevelPermissionRules(List.of(columnLevelPermissionRules));
        }

        /**
         * @param dataSetId Identifier for the data set.
         * 
         * @return builder
         * 
         */
        public Builder dataSetId(@Nullable Output dataSetId) {
            $.dataSetId = dataSetId;
            return this;
        }

        /**
         * @param dataSetId Identifier for the data set.
         * 
         * @return builder
         * 
         */
        public Builder dataSetId(String dataSetId) {
            return dataSetId(Output.of(dataSetId));
        }

        /**
         * @param dataSetUsageConfiguration The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration.
         * 
         * @return builder
         * 
         */
        public Builder dataSetUsageConfiguration(@Nullable Output dataSetUsageConfiguration) {
            $.dataSetUsageConfiguration = dataSetUsageConfiguration;
            return this;
        }

        /**
         * @param dataSetUsageConfiguration The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration.
         * 
         * @return builder
         * 
         */
        public Builder dataSetUsageConfiguration(DataSetDataSetUsageConfigurationArgs dataSetUsageConfiguration) {
            return dataSetUsageConfiguration(Output.of(dataSetUsageConfiguration));
        }

        /**
         * @param fieldFolders The folder that contains fields and nested subfolders for your dataset. See field_folders.
         * 
         * @return builder
         * 
         */
        public Builder fieldFolders(@Nullable Output> fieldFolders) {
            $.fieldFolders = fieldFolders;
            return this;
        }

        /**
         * @param fieldFolders The folder that contains fields and nested subfolders for your dataset. See field_folders.
         * 
         * @return builder
         * 
         */
        public Builder fieldFolders(List fieldFolders) {
            return fieldFolders(Output.of(fieldFolders));
        }

        /**
         * @param fieldFolders The folder that contains fields and nested subfolders for your dataset. See field_folders.
         * 
         * @return builder
         * 
         */
        public Builder fieldFolders(DataSetFieldFolderArgs... fieldFolders) {
            return fieldFolders(List.of(fieldFolders));
        }

        /**
         * @param importMode Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
         * 
         * @return builder
         * 
         */
        public Builder importMode(@Nullable Output importMode) {
            $.importMode = importMode;
            return this;
        }

        /**
         * @param importMode Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
         * 
         * @return builder
         * 
         */
        public Builder importMode(String importMode) {
            return importMode(Output.of(importMode));
        }

        /**
         * @param logicalTableMaps Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
         * 
         * @return builder
         * 
         */
        public Builder logicalTableMaps(@Nullable Output> logicalTableMaps) {
            $.logicalTableMaps = logicalTableMaps;
            return this;
        }

        /**
         * @param logicalTableMaps Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
         * 
         * @return builder
         * 
         */
        public Builder logicalTableMaps(List logicalTableMaps) {
            return logicalTableMaps(Output.of(logicalTableMaps));
        }

        /**
         * @param logicalTableMaps Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
         * 
         * @return builder
         * 
         */
        public Builder logicalTableMaps(DataSetLogicalTableMapArgs... logicalTableMaps) {
            return logicalTableMaps(List.of(logicalTableMaps));
        }

        /**
         * @param name Display name for the dataset.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Display name for the dataset.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public Builder outputColumns(@Nullable Output> outputColumns) {
            $.outputColumns = outputColumns;
            return this;
        }

        public Builder outputColumns(List outputColumns) {
            return outputColumns(Output.of(outputColumns));
        }

        public Builder outputColumns(DataSetOutputColumnArgs... outputColumns) {
            return outputColumns(List.of(outputColumns));
        }

        /**
         * @param permissions A set of resource permissions on the data source. Maximum of 64 items. See permissions.
         * 
         * @return builder
         * 
         */
        public Builder permissions(@Nullable Output> permissions) {
            $.permissions = permissions;
            return this;
        }

        /**
         * @param permissions A set of resource permissions on the data source. Maximum of 64 items. See permissions.
         * 
         * @return builder
         * 
         */
        public Builder permissions(List permissions) {
            return permissions(Output.of(permissions));
        }

        /**
         * @param permissions A set of resource permissions on the data source. Maximum of 64 items. See permissions.
         * 
         * @return builder
         * 
         */
        public Builder permissions(DataSetPermissionArgs... permissions) {
            return permissions(List.of(permissions));
        }

        /**
         * @param physicalTableMaps Declares the physical tables that are available in the underlying data sources. See physical_table_map.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder physicalTableMaps(@Nullable Output> physicalTableMaps) {
            $.physicalTableMaps = physicalTableMaps;
            return this;
        }

        /**
         * @param physicalTableMaps Declares the physical tables that are available in the underlying data sources. See physical_table_map.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder physicalTableMaps(List physicalTableMaps) {
            return physicalTableMaps(Output.of(physicalTableMaps));
        }

        /**
         * @param physicalTableMaps Declares the physical tables that are available in the underlying data sources. See physical_table_map.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder physicalTableMaps(DataSetPhysicalTableMapArgs... physicalTableMaps) {
            return physicalTableMaps(List.of(physicalTableMaps));
        }

        /**
         * @param refreshProperties The refresh properties for the data set. **NOTE**: Only valid when `import_mode` is set to `SPICE`. See refresh_properties.
         * 
         * @return builder
         * 
         */
        public Builder refreshProperties(@Nullable Output refreshProperties) {
            $.refreshProperties = refreshProperties;
            return this;
        }

        /**
         * @param refreshProperties The refresh properties for the data set. **NOTE**: Only valid when `import_mode` is set to `SPICE`. See refresh_properties.
         * 
         * @return builder
         * 
         */
        public Builder refreshProperties(DataSetRefreshPropertiesArgs refreshProperties) {
            return refreshProperties(Output.of(refreshProperties));
        }

        /**
         * @param rowLevelPermissionDataSet The row-level security configuration for the data that you want to create. See row_level_permission_data_set.
         * 
         * @return builder
         * 
         */
        public Builder rowLevelPermissionDataSet(@Nullable Output rowLevelPermissionDataSet) {
            $.rowLevelPermissionDataSet = rowLevelPermissionDataSet;
            return this;
        }

        /**
         * @param rowLevelPermissionDataSet The row-level security configuration for the data that you want to create. See row_level_permission_data_set.
         * 
         * @return builder
         * 
         */
        public Builder rowLevelPermissionDataSet(DataSetRowLevelPermissionDataSetArgs rowLevelPermissionDataSet) {
            return rowLevelPermissionDataSet(Output.of(rowLevelPermissionDataSet));
        }

        /**
         * @param rowLevelPermissionTagConfiguration The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. See row_level_permission_tag_configuration.
         * 
         * @return builder
         * 
         */
        public Builder rowLevelPermissionTagConfiguration(@Nullable Output rowLevelPermissionTagConfiguration) {
            $.rowLevelPermissionTagConfiguration = rowLevelPermissionTagConfiguration;
            return this;
        }

        /**
         * @param rowLevelPermissionTagConfiguration The configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. See row_level_permission_tag_configuration.
         * 
         * @return builder
         * 
         */
        public Builder rowLevelPermissionTagConfiguration(DataSetRowLevelPermissionTagConfigurationArgs rowLevelPermissionTagConfiguration) {
            return rowLevelPermissionTagConfiguration(Output.of(rowLevelPermissionTagConfiguration));
        }

        /**
         * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value map of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        public DataSetState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy