@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
427 lines (426 loc) • 17.7 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Resource for managing a QuickSight Data Set.
*
* ## Example Usage
*
* ### Basic Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.quicksight.DataSet("example", {
* dataSetId: "example-id",
* name: "example-name",
* importMode: "SPICE",
* physicalTableMaps: [{
* physicalTableMapId: "example-id",
* s3Source: {
* dataSourceArn: exampleAwsQuicksightDataSource.arn,
* inputColumns: [{
* name: "Column1",
* type: "STRING",
* }],
* uploadSettings: {
* format: "JSON",
* },
* },
* }],
* });
* ```
*
* ### With Column Level Permission Rules
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.quicksight.DataSet("example", {
* dataSetId: "example-id",
* name: "example-name",
* importMode: "SPICE",
* physicalTableMaps: [{
* physicalTableMapId: "example-id",
* s3Source: {
* dataSourceArn: exampleAwsQuicksightDataSource.arn,
* inputColumns: [{
* name: "Column1",
* type: "STRING",
* }],
* uploadSettings: {
* format: "JSON",
* },
* },
* }],
* columnLevelPermissionRules: [{
* columnNames: ["Column1"],
* principals: [exampleAwsQuicksightUser.arn],
* }],
* });
* ```
*
* ### With Field Folders
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.quicksight.DataSet("example", {
* dataSetId: "example-id",
* name: "example-name",
* importMode: "SPICE",
* physicalTableMaps: [{
* physicalTableMapId: "example-id",
* s3Source: {
* dataSourceArn: exampleAwsQuicksightDataSource.arn,
* inputColumns: [{
* name: "Column1",
* type: "STRING",
* }],
* uploadSettings: {
* format: "JSON",
* },
* },
* }],
* fieldFolders: [{
* fieldFoldersId: "example-id",
* columns: ["Column1"],
* description: "example description",
* }],
* });
* ```
*
* ### With Permissions
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.quicksight.DataSet("example", {
* dataSetId: "example-id",
* name: "example-name",
* importMode: "SPICE",
* physicalTableMaps: [{
* physicalTableMapId: "example-id",
* s3Source: {
* dataSourceArn: exampleAwsQuicksightDataSource.arn,
* inputColumns: [{
* name: "Column1",
* type: "STRING",
* }],
* uploadSettings: {
* format: "JSON",
* },
* },
* }],
* permissions: [{
* actions: [
* "quicksight:DescribeDataSet",
* "quicksight:DescribeDataSetPermissions",
* "quicksight:PassDataSet",
* "quicksight:DescribeIngestion",
* "quicksight:ListIngestions",
* ],
* principal: exampleAwsQuicksightUser.arn,
* }],
* });
* ```
*
* ### With Row Level Permission Tag Configuration
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.quicksight.DataSet("example", {
* dataSetId: "example-id",
* name: "example-name",
* importMode: "SPICE",
* physicalTableMaps: [{
* physicalTableMapId: "example-id",
* s3Source: {
* dataSourceArn: exampleAwsQuicksightDataSource.arn,
* inputColumns: [{
* name: "Column1",
* type: "STRING",
* }],
* uploadSettings: {
* format: "JSON",
* },
* },
* }],
* rowLevelPermissionTagConfiguration: {
* status: "ENABLED",
* tagRules: [{
* columnName: "Column1",
* tagKey: "tagkey",
* matchAllValue: "*",
* tagMultiValueDelimiter: ",",
* }],
* },
* });
* ```
*
* ## 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
* ```
*/
export declare class DataSet extends pulumi.CustomResource {
/**
* Get an existing DataSet resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DataSetState, opts?: pulumi.CustomResourceOptions): DataSet;
/**
* Returns true if the given object is an instance of DataSet. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is DataSet;
/**
* Amazon Resource Name (ARN) of the data set.
*/
readonly arn: pulumi.Output<string>;
readonly awsAccountId: pulumi.Output<string>;
/**
* Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
*/
readonly columnGroups: pulumi.Output<outputs.quicksight.DataSetColumnGroup[] | undefined>;
/**
* 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.
*/
readonly columnLevelPermissionRules: pulumi.Output<outputs.quicksight.DataSetColumnLevelPermissionRule[] | undefined>;
/**
* Identifier for the data set.
*/
readonly dataSetId: pulumi.Output<string>;
/**
* The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration.
*/
readonly dataSetUsageConfiguration: pulumi.Output<outputs.quicksight.DataSetDataSetUsageConfiguration>;
/**
* The folder that contains fields and nested subfolders for your dataset. See field_folders.
*/
readonly fieldFolders: pulumi.Output<outputs.quicksight.DataSetFieldFolder[] | undefined>;
/**
* Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
*/
readonly importMode: pulumi.Output<string>;
/**
* Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
*/
readonly logicalTableMaps: pulumi.Output<outputs.quicksight.DataSetLogicalTableMap[]>;
/**
* Display name for the dataset.
*
* The following arguments are optional:
*/
readonly name: pulumi.Output<string>;
readonly outputColumns: pulumi.Output<outputs.quicksight.DataSetOutputColumn[]>;
/**
* A set of resource permissions on the data source. Maximum of 64 items. See permissions.
*/
readonly permissions: pulumi.Output<outputs.quicksight.DataSetPermission[] | undefined>;
/**
* Declares the physical tables that are available in the underlying data sources. See physical_table_map.
*/
readonly physicalTableMaps: pulumi.Output<outputs.quicksight.DataSetPhysicalTableMap[] | undefined>;
/**
* The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties.
*/
readonly refreshProperties: pulumi.Output<outputs.quicksight.DataSetRefreshProperties | undefined>;
/**
* 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.
*/
readonly region: pulumi.Output<string>;
/**
* The row-level security configuration for the data that you want to create. See row_level_permission_data_set.
*/
readonly rowLevelPermissionDataSet: pulumi.Output<outputs.quicksight.DataSetRowLevelPermissionDataSet | undefined>;
/**
* 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.
*/
readonly rowLevelPermissionTagConfiguration: pulumi.Output<outputs.quicksight.DataSetRowLevelPermissionTagConfiguration | undefined>;
/**
* 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.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
/**
* Create a DataSet resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: DataSetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DataSet resources.
*/
export interface DataSetState {
/**
* Amazon Resource Name (ARN) of the data set.
*/
arn?: pulumi.Input<string>;
awsAccountId?: pulumi.Input<string>;
/**
* Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
*/
columnGroups?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetColumnGroup>[]>;
/**
* 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.
*/
columnLevelPermissionRules?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetColumnLevelPermissionRule>[]>;
/**
* Identifier for the data set.
*/
dataSetId?: pulumi.Input<string>;
/**
* The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration.
*/
dataSetUsageConfiguration?: pulumi.Input<inputs.quicksight.DataSetDataSetUsageConfiguration>;
/**
* The folder that contains fields and nested subfolders for your dataset. See field_folders.
*/
fieldFolders?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetFieldFolder>[]>;
/**
* Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
*/
importMode?: pulumi.Input<string>;
/**
* Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
*/
logicalTableMaps?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetLogicalTableMap>[]>;
/**
* Display name for the dataset.
*
* The following arguments are optional:
*/
name?: pulumi.Input<string>;
outputColumns?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetOutputColumn>[]>;
/**
* A set of resource permissions on the data source. Maximum of 64 items. See permissions.
*/
permissions?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetPermission>[]>;
/**
* Declares the physical tables that are available in the underlying data sources. See physical_table_map.
*/
physicalTableMaps?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetPhysicalTableMap>[]>;
/**
* The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties.
*/
refreshProperties?: pulumi.Input<inputs.quicksight.DataSetRefreshProperties>;
/**
* 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.
*/
region?: pulumi.Input<string>;
/**
* The row-level security configuration for the data that you want to create. See row_level_permission_data_set.
*/
rowLevelPermissionDataSet?: pulumi.Input<inputs.quicksight.DataSetRowLevelPermissionDataSet>;
/**
* 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.
*/
rowLevelPermissionTagConfiguration?: pulumi.Input<inputs.quicksight.DataSetRowLevelPermissionTagConfiguration>;
/**
* 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.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}
/**
* The set of arguments for constructing a DataSet resource.
*/
export interface DataSetArgs {
awsAccountId?: pulumi.Input<string>;
/**
* Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups.
*/
columnGroups?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetColumnGroup>[]>;
/**
* 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.
*/
columnLevelPermissionRules?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetColumnLevelPermissionRule>[]>;
/**
* Identifier for the data set.
*/
dataSetId: pulumi.Input<string>;
/**
* The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration.
*/
dataSetUsageConfiguration?: pulumi.Input<inputs.quicksight.DataSetDataSetUsageConfiguration>;
/**
* The folder that contains fields and nested subfolders for your dataset. See field_folders.
*/
fieldFolders?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetFieldFolder>[]>;
/**
* Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`.
*/
importMode: pulumi.Input<string>;
/**
* Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map.
*/
logicalTableMaps?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetLogicalTableMap>[]>;
/**
* Display name for the dataset.
*
* The following arguments are optional:
*/
name?: pulumi.Input<string>;
/**
* A set of resource permissions on the data source. Maximum of 64 items. See permissions.
*/
permissions?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetPermission>[]>;
/**
* Declares the physical tables that are available in the underlying data sources. See physical_table_map.
*/
physicalTableMaps?: pulumi.Input<pulumi.Input<inputs.quicksight.DataSetPhysicalTableMap>[]>;
/**
* The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties.
*/
refreshProperties?: pulumi.Input<inputs.quicksight.DataSetRefreshProperties>;
/**
* 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.
*/
region?: pulumi.Input<string>;
/**
* The row-level security configuration for the data that you want to create. See row_level_permission_data_set.
*/
rowLevelPermissionDataSet?: pulumi.Input<inputs.quicksight.DataSetRowLevelPermissionDataSet>;
/**
* 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.
*/
rowLevelPermissionTagConfiguration?: pulumi.Input<inputs.quicksight.DataSetRowLevelPermissionTagConfiguration>;
/**
* 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.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}