Class DataSet


  • public class DataSet
    extends com.pulumi.resources.CustomResource
    Resource for managing a QuickSight Data Set. ## Example Usage ### Basic Usage
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.quicksight.DataSet;
     import com.pulumi.aws.quicksight.DataSetArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new DataSet("example", DataSetArgs.builder()
                 .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()
                     .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()
                         .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()
                             .format("JSON")
                             .build())
                         .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()
                             .name("Column1")
                             .type("STRING")
                             .build())
                         .dataSourceArn(exampleAwsQuicksightDataSource.arn())
                         .build())
                     .physicalTableMapId("example-id")
                     .build())
                 .dataSetId("example-id")
                 .name("example-name")
                 .importMode("SPICE")
                 .build());
     
         }
     }
     
     
    ### With useAs
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.quicksight.DataSet;
     import com.pulumi.aws.quicksight.DataSetArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new DataSet("example", DataSetArgs.builder()
                 .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()
                     .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()
                         .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()
                             .format("JSON")
                             .build())
                         .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()
                             .name("UserName")
                             .type("STRING")
                             .build())
                         .dataSourceArn(exampleAwsQuicksightDataSource.arn())
                         .build())
                     .physicalTableMapId("example-id")
                     .build())
                 .dataSetId("example-id")
                 .name("example-name")
                 .importMode("SPICE")
                 .useAs("RLS_RULES")
                 .build());
     
         }
     }
     
     
    ### With Column Level Permission Rules
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.quicksight.DataSet;
     import com.pulumi.aws.quicksight.DataSetArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetColumnLevelPermissionRuleArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new DataSet("example", DataSetArgs.builder()
                 .columnLevelPermissionRules(DataSetColumnLevelPermissionRuleArgs.builder()
                     .columnNames("Column1")
                     .principals(exampleAwsQuicksightUser.arn())
                     .build())
                 .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()
                     .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()
                         .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()
                             .format("JSON")
                             .build())
                         .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()
                             .name("Column1")
                             .type("STRING")
                             .build())
                         .dataSourceArn(exampleAwsQuicksightDataSource.arn())
                         .build())
                     .physicalTableMapId("example-id")
                     .build())
                 .dataSetId("example-id")
                 .name("example-name")
                 .importMode("SPICE")
                 .build());
     
         }
     }
     
     
    ### With Field Folders
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.quicksight.DataSet;
     import com.pulumi.aws.quicksight.DataSetArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetFieldFolderArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new DataSet("example", DataSetArgs.builder()
                 .fieldFolders(DataSetFieldFolderArgs.builder()
                     .fieldFoldersId("example-id")
                     .columns("Column1")
                     .description("example description")
                     .build())
                 .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()
                     .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()
                         .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()
                             .format("JSON")
                             .build())
                         .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()
                             .name("Column1")
                             .type("STRING")
                             .build())
                         .dataSourceArn(exampleAwsQuicksightDataSource.arn())
                         .build())
                     .physicalTableMapId("example-id")
                     .build())
                 .dataSetId("example-id")
                 .name("example-name")
                 .importMode("SPICE")
                 .build());
     
         }
     }
     
     
    ### With Permissions
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.quicksight.DataSet;
     import com.pulumi.aws.quicksight.DataSetArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPermissionArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new DataSet("example", DataSetArgs.builder()
                 .permissions(DataSetPermissionArgs.builder()
                     .actions(                
                         "quicksight:DescribeDataSet",
                         "quicksight:DescribeDataSetPermissions",
                         "quicksight:PassDataSet",
                         "quicksight:DescribeIngestion",
                         "quicksight:ListIngestions")
                     .principal(exampleAwsQuicksightUser.arn())
                     .build())
                 .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()
                     .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()
                         .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()
                             .format("JSON")
                             .build())
                         .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()
                             .name("Column1")
                             .type("STRING")
                             .build())
                         .dataSourceArn(exampleAwsQuicksightDataSource.arn())
                         .build())
                     .physicalTableMapId("example-id")
                     .build())
                 .dataSetId("example-id")
                 .name("example-name")
                 .importMode("SPICE")
                 .build());
     
         }
     }
     
     
    ### With Row Level Permission Tag Configuration
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.quicksight.DataSet;
     import com.pulumi.aws.quicksight.DataSetArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetRowLevelPermissionTagConfigurationArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetRowLevelPermissionTagConfigurationTagRuleArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceUploadSettingsArgs;
     import com.pulumi.aws.quicksight.inputs.DataSetPhysicalTableMapS3SourceInputColumnArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     import java.util.Map;
     import java.io.File;
     import java.nio.file.Files;
     import java.nio.file.Paths;
     
     public class App {
         public static void main(String[] args) {
             Pulumi.run(App::stack);
         }
     
         public static void stack(Context ctx) {
             var example = new DataSet("example", DataSetArgs.builder()
                 .rowLevelPermissionTagConfiguration(DataSetRowLevelPermissionTagConfigurationArgs.builder()
                     .tagRules(DataSetRowLevelPermissionTagConfigurationTagRuleArgs.builder()
                         .columnName("Column1")
                         .tagKey("tagkey")
                         .matchAllValue("*")
                         .tagMultiValueDelimiter(",")
                         .build())
                     .status("ENABLED")
                     .build())
                 .physicalTableMaps(DataSetPhysicalTableMapArgs.builder()
                     .s3Source(DataSetPhysicalTableMapS3SourceArgs.builder()
                         .uploadSettings(DataSetPhysicalTableMapS3SourceUploadSettingsArgs.builder()
                             .format("JSON")
                             .build())
                         .inputColumns(DataSetPhysicalTableMapS3SourceInputColumnArgs.builder()
                             .name("Column1")
                             .type("STRING")
                             .build())
                         .dataSourceArn(exampleAwsQuicksightDataSource.arn())
                         .build())
                     .physicalTableMapId("example-id")
                     .build())
                 .dataSetId("example-id")
                 .name("example-name")
                 .importMode("SPICE")
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import a QuickSight Data Set using the AWS account ID and data set ID separated by a comma (`,`). For example: ```sh $ pulumi import aws:quicksight/dataSet:DataSet example 123456789012,example-id ```
    • Constructor Detail

      • DataSet

        public DataSet​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • DataSet

        public DataSet​(java.lang.String name,
                       DataSetArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • DataSet

        public DataSet​(java.lang.String name,
                       DataSetArgs args,
                       @Nullable
                       com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        ARN of the data set.
      • awsAccountId

        public com.pulumi.core.Output<java.lang.String> awsAccountId()
        Returns:
        AWS account ID. Defaults to automatically determined account ID of the Terraform AWS provider.
      • columnGroups

        public com.pulumi.core.Output<java.util.Optional<java.util.List<DataSetColumnGroup>>> columnGroups()
        Returns:
        Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See `columnGroups` Block below.
      • columnLevelPermissionRules

        public com.pulumi.core.Output<java.util.Optional<java.util.List<DataSetColumnLevelPermissionRule>>> columnLevelPermissionRules()
        Returns:
        Set of 1 or more definitions of a [ColumnLevelPermissionRule](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ColumnLevelPermissionRule.html). See `columnLevelPermissionRules` Block below.
      • dataSetId

        public com.pulumi.core.Output<java.lang.String> dataSetId()
        Returns:
        Identifier for the data set.
      • dataSetUsageConfiguration

        public com.pulumi.core.Output<DataSetDataSetUsageConfiguration> dataSetUsageConfiguration()
        Returns:
        Usage configuration to apply to child datasets that reference this dataset as a source. See `dataSetUsageConfiguration` Block below.
      • fieldFolders

        public com.pulumi.core.Output<java.util.Optional<java.util.List<DataSetFieldFolder>>> fieldFolders()
        Returns:
        Folder that contains fields and nested subfolders for your dataset. See `fieldFolders` Block below.
      • importMode

        public com.pulumi.core.Output<java.lang.String> importMode()
        Returns:
        Whether to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
      • logicalTableMaps

        public com.pulumi.core.Output<java.util.List<DataSetLogicalTableMap>> logicalTableMaps()
        Returns:
        Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See `logicalTableMap` Block below.
      • name

        public com.pulumi.core.Output<java.lang.String> name()
        Returns:
        Display name for the dataset. The following arguments are optional:
      • outputColumns

        public com.pulumi.core.Output<java.util.List<DataSetOutputColumn>> outputColumns()
        Returns:
        Final set of columns available for use in analyses and dashboards after all data preparation and transformation steps have been applied within the data set. See `outputColumns` Block below.
      • permissions

        public com.pulumi.core.Output<java.util.Optional<java.util.List<DataSetPermission>>> permissions()
        Returns:
        Set of resource permissions on the data source. Maximum of 64 items. See `permissions` Block below.
      • physicalTableMaps

        public com.pulumi.core.Output<java.util.Optional<java.util.List<DataSetPhysicalTableMap>>> physicalTableMaps()
        Returns:
        Declares the physical tables that are available in the underlying data sources. See `physicalTableMap` Block below.
      • refreshProperties

        public com.pulumi.core.Output<java.util.Optional<DataSetRefreshProperties>> refreshProperties()
        Returns:
        Refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See `refreshProperties` Block below.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • rowLevelPermissionDataSet

        public com.pulumi.core.Output<java.util.Optional<DataSetRowLevelPermissionDataSet>> rowLevelPermissionDataSet()
        Returns:
        Row-level security configuration for the data that you want to create. See `rowLevelPermissionDataSet` Block below.
      • rowLevelPermissionTagConfiguration

        public com.pulumi.core.Output<java.util.Optional<DataSetRowLevelPermissionTagConfiguration>> rowLevelPermissionTagConfiguration()
        Returns:
        Configuration of tags on a dataset to set row-level security. Row-level security tags are currently supported for anonymous embedding only. See `rowLevelPermissionTagConfiguration` Block below.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • useAs

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> useAs()
        Returns:
        Purpose of the data set. The only valid value is `RLS_RULES`, which designates this data set as a Row Level Security (RLS) rules dataset. An RLS rules dataset is used to control access to data at the row level in QuickSight analyses and dashboards. See the [AWS documentation](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSet.html#API_CreateDataSet_RequestSyntax) for details.
      • get

        public static DataSet get​(java.lang.String name,
                                  com.pulumi.core.Output<java.lang.String> id,
                                  @Nullable
                                  DataSetState state,
                                  @Nullable
                                  com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.