github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/quicksight/dataSet.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package quicksight 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Resource for managing a QuickSight Data Set. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := quicksight.NewDataSet(ctx, "example", &quicksight.DataSetArgs{ 35 // DataSetId: pulumi.String("example-id"), 36 // Name: pulumi.String("example-name"), 37 // ImportMode: pulumi.String("SPICE"), 38 // PhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{ 39 // &quicksight.DataSetPhysicalTableMapArgs{ 40 // PhysicalTableMapId: pulumi.String("example-id"), 41 // S3Source: &quicksight.DataSetPhysicalTableMapS3SourceArgs{ 42 // DataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn), 43 // InputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{ 44 // &quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{ 45 // Name: pulumi.String("Column1"), 46 // Type: pulumi.String("STRING"), 47 // }, 48 // }, 49 // UploadSettings: &quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{ 50 // Format: pulumi.String("JSON"), 51 // }, 52 // }, 53 // }, 54 // }, 55 // }) 56 // if err != nil { 57 // return err 58 // } 59 // return nil 60 // }) 61 // } 62 // 63 // ``` 64 // <!--End PulumiCodeChooser --> 65 // 66 // ### With Column Level Permission Rules 67 // 68 // <!--Start PulumiCodeChooser --> 69 // ```go 70 // package main 71 // 72 // import ( 73 // 74 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight" 75 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 76 // 77 // ) 78 // 79 // func main() { 80 // pulumi.Run(func(ctx *pulumi.Context) error { 81 // _, err := quicksight.NewDataSet(ctx, "example", &quicksight.DataSetArgs{ 82 // DataSetId: pulumi.String("example-id"), 83 // Name: pulumi.String("example-name"), 84 // ImportMode: pulumi.String("SPICE"), 85 // PhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{ 86 // &quicksight.DataSetPhysicalTableMapArgs{ 87 // PhysicalTableMapId: pulumi.String("example-id"), 88 // S3Source: &quicksight.DataSetPhysicalTableMapS3SourceArgs{ 89 // DataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn), 90 // InputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{ 91 // &quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{ 92 // Name: pulumi.String("Column1"), 93 // Type: pulumi.String("STRING"), 94 // }, 95 // }, 96 // UploadSettings: &quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{ 97 // Format: pulumi.String("JSON"), 98 // }, 99 // }, 100 // }, 101 // }, 102 // ColumnLevelPermissionRules: quicksight.DataSetColumnLevelPermissionRuleArray{ 103 // &quicksight.DataSetColumnLevelPermissionRuleArgs{ 104 // ColumnNames: pulumi.StringArray{ 105 // pulumi.String("Column1"), 106 // }, 107 // Principals: pulumi.StringArray{ 108 // exampleAwsQuicksightUser.Arn, 109 // }, 110 // }, 111 // }, 112 // }) 113 // if err != nil { 114 // return err 115 // } 116 // return nil 117 // }) 118 // } 119 // 120 // ``` 121 // <!--End PulumiCodeChooser --> 122 // 123 // ### With Field Folders 124 // 125 // <!--Start PulumiCodeChooser --> 126 // ```go 127 // package main 128 // 129 // import ( 130 // 131 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight" 132 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 133 // 134 // ) 135 // 136 // func main() { 137 // pulumi.Run(func(ctx *pulumi.Context) error { 138 // _, err := quicksight.NewDataSet(ctx, "example", &quicksight.DataSetArgs{ 139 // DataSetId: pulumi.String("example-id"), 140 // Name: pulumi.String("example-name"), 141 // ImportMode: pulumi.String("SPICE"), 142 // PhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{ 143 // &quicksight.DataSetPhysicalTableMapArgs{ 144 // PhysicalTableMapId: pulumi.String("example-id"), 145 // S3Source: &quicksight.DataSetPhysicalTableMapS3SourceArgs{ 146 // DataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn), 147 // InputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{ 148 // &quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{ 149 // Name: pulumi.String("Column1"), 150 // Type: pulumi.String("STRING"), 151 // }, 152 // }, 153 // UploadSettings: &quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{ 154 // Format: pulumi.String("JSON"), 155 // }, 156 // }, 157 // }, 158 // }, 159 // FieldFolders: quicksight.DataSetFieldFolderArray{ 160 // &quicksight.DataSetFieldFolderArgs{ 161 // FieldFoldersId: pulumi.String("example-id"), 162 // Columns: pulumi.StringArray{ 163 // pulumi.String("Column1"), 164 // }, 165 // Description: pulumi.String("example description"), 166 // }, 167 // }, 168 // }) 169 // if err != nil { 170 // return err 171 // } 172 // return nil 173 // }) 174 // } 175 // 176 // ``` 177 // <!--End PulumiCodeChooser --> 178 // 179 // ### With Permissions 180 // 181 // <!--Start PulumiCodeChooser --> 182 // ```go 183 // package main 184 // 185 // import ( 186 // 187 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight" 188 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 189 // 190 // ) 191 // 192 // func main() { 193 // pulumi.Run(func(ctx *pulumi.Context) error { 194 // _, err := quicksight.NewDataSet(ctx, "example", &quicksight.DataSetArgs{ 195 // DataSetId: pulumi.String("example-id"), 196 // Name: pulumi.String("example-name"), 197 // ImportMode: pulumi.String("SPICE"), 198 // PhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{ 199 // &quicksight.DataSetPhysicalTableMapArgs{ 200 // PhysicalTableMapId: pulumi.String("example-id"), 201 // S3Source: &quicksight.DataSetPhysicalTableMapS3SourceArgs{ 202 // DataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn), 203 // InputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{ 204 // &quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{ 205 // Name: pulumi.String("Column1"), 206 // Type: pulumi.String("STRING"), 207 // }, 208 // }, 209 // UploadSettings: &quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{ 210 // Format: pulumi.String("JSON"), 211 // }, 212 // }, 213 // }, 214 // }, 215 // Permissions: quicksight.DataSetPermissionArray{ 216 // &quicksight.DataSetPermissionArgs{ 217 // Actions: pulumi.StringArray{ 218 // pulumi.String("quicksight:DescribeDataSet"), 219 // pulumi.String("quicksight:DescribeDataSetPermissions"), 220 // pulumi.String("quicksight:PassDataSet"), 221 // pulumi.String("quicksight:DescribeIngestion"), 222 // pulumi.String("quicksight:ListIngestions"), 223 // }, 224 // Principal: pulumi.Any(exampleAwsQuicksightUser.Arn), 225 // }, 226 // }, 227 // }) 228 // if err != nil { 229 // return err 230 // } 231 // return nil 232 // }) 233 // } 234 // 235 // ``` 236 // <!--End PulumiCodeChooser --> 237 // 238 // ### With Row Level Permission Tag Configuration 239 // 240 // <!--Start PulumiCodeChooser --> 241 // ```go 242 // package main 243 // 244 // import ( 245 // 246 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/quicksight" 247 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 248 // 249 // ) 250 // 251 // func main() { 252 // pulumi.Run(func(ctx *pulumi.Context) error { 253 // _, err := quicksight.NewDataSet(ctx, "example", &quicksight.DataSetArgs{ 254 // DataSetId: pulumi.String("example-id"), 255 // Name: pulumi.String("example-name"), 256 // ImportMode: pulumi.String("SPICE"), 257 // PhysicalTableMaps: quicksight.DataSetPhysicalTableMapArray{ 258 // &quicksight.DataSetPhysicalTableMapArgs{ 259 // PhysicalTableMapId: pulumi.String("example-id"), 260 // S3Source: &quicksight.DataSetPhysicalTableMapS3SourceArgs{ 261 // DataSourceArn: pulumi.Any(exampleAwsQuicksightDataSource.Arn), 262 // InputColumns: quicksight.DataSetPhysicalTableMapS3SourceInputColumnArray{ 263 // &quicksight.DataSetPhysicalTableMapS3SourceInputColumnArgs{ 264 // Name: pulumi.String("Column1"), 265 // Type: pulumi.String("STRING"), 266 // }, 267 // }, 268 // UploadSettings: &quicksight.DataSetPhysicalTableMapS3SourceUploadSettingsArgs{ 269 // Format: pulumi.String("JSON"), 270 // }, 271 // }, 272 // }, 273 // }, 274 // RowLevelPermissionTagConfiguration: &quicksight.DataSetRowLevelPermissionTagConfigurationArgs{ 275 // Status: pulumi.String("ENABLED"), 276 // TagRules: quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArray{ 277 // &quicksight.DataSetRowLevelPermissionTagConfigurationTagRuleArgs{ 278 // ColumnName: pulumi.String("Column1"), 279 // TagKey: pulumi.String("tagkey"), 280 // MatchAllValue: pulumi.String("*"), 281 // TagMultiValueDelimiter: pulumi.String(","), 282 // }, 283 // }, 284 // }, 285 // }) 286 // if err != nil { 287 // return err 288 // } 289 // return nil 290 // }) 291 // } 292 // 293 // ``` 294 // <!--End PulumiCodeChooser --> 295 // 296 // ## Import 297 // 298 // Using `pulumi import`, import a QuickSight Data Set using the AWS account ID and data set ID separated by a comma (`,`). For example: 299 // 300 // ```sh 301 // $ pulumi import aws:quicksight/dataSet:DataSet example 123456789012,example-id 302 // ``` 303 type DataSet struct { 304 pulumi.CustomResourceState 305 306 // ARN of the dataset that contains permissions for RLS. 307 Arn pulumi.StringOutput `pulumi:"arn"` 308 // AWS account ID. 309 AwsAccountId pulumi.StringOutput `pulumi:"awsAccountId"` 310 // Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups. 311 ColumnGroups DataSetColumnGroupArrayOutput `pulumi:"columnGroups"` 312 // 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. 313 ColumnLevelPermissionRules DataSetColumnLevelPermissionRuleArrayOutput `pulumi:"columnLevelPermissionRules"` 314 // Identifier for the data set. 315 DataSetId pulumi.StringOutput `pulumi:"dataSetId"` 316 // The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration. 317 DataSetUsageConfiguration DataSetDataSetUsageConfigurationOutput `pulumi:"dataSetUsageConfiguration"` 318 // The folder that contains fields and nested subfolders for your dataset. See field_folders. 319 FieldFolders DataSetFieldFolderArrayOutput `pulumi:"fieldFolders"` 320 // Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`. 321 ImportMode pulumi.StringOutput `pulumi:"importMode"` 322 // Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map. 323 LogicalTableMaps DataSetLogicalTableMapArrayOutput `pulumi:"logicalTableMaps"` 324 // Display name for the dataset. 325 Name pulumi.StringOutput `pulumi:"name"` 326 OutputColumns DataSetOutputColumnArrayOutput `pulumi:"outputColumns"` 327 // A set of resource permissions on the data source. Maximum of 64 items. See permissions. 328 Permissions DataSetPermissionArrayOutput `pulumi:"permissions"` 329 // Declares the physical tables that are available in the underlying data sources. See physical_table_map. 330 // 331 // The following arguments are optional: 332 PhysicalTableMaps DataSetPhysicalTableMapArrayOutput `pulumi:"physicalTableMaps"` 333 // The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties. 334 RefreshProperties DataSetRefreshPropertiesPtrOutput `pulumi:"refreshProperties"` 335 // The row-level security configuration for the data that you want to create. See row_level_permission_data_set. 336 RowLevelPermissionDataSet DataSetRowLevelPermissionDataSetPtrOutput `pulumi:"rowLevelPermissionDataSet"` 337 // 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. 338 RowLevelPermissionTagConfiguration DataSetRowLevelPermissionTagConfigurationPtrOutput `pulumi:"rowLevelPermissionTagConfiguration"` 339 // 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. 340 Tags pulumi.StringMapOutput `pulumi:"tags"` 341 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 342 // 343 // Deprecated: Please use `tags` instead. 344 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 345 } 346 347 // NewDataSet registers a new resource with the given unique name, arguments, and options. 348 func NewDataSet(ctx *pulumi.Context, 349 name string, args *DataSetArgs, opts ...pulumi.ResourceOption) (*DataSet, error) { 350 if args == nil { 351 return nil, errors.New("missing one or more required arguments") 352 } 353 354 if args.DataSetId == nil { 355 return nil, errors.New("invalid value for required argument 'DataSetId'") 356 } 357 if args.ImportMode == nil { 358 return nil, errors.New("invalid value for required argument 'ImportMode'") 359 } 360 opts = internal.PkgResourceDefaultOpts(opts) 361 var resource DataSet 362 err := ctx.RegisterResource("aws:quicksight/dataSet:DataSet", name, args, &resource, opts...) 363 if err != nil { 364 return nil, err 365 } 366 return &resource, nil 367 } 368 369 // GetDataSet gets an existing DataSet resource's state with the given name, ID, and optional 370 // state properties that are used to uniquely qualify the lookup (nil if not required). 371 func GetDataSet(ctx *pulumi.Context, 372 name string, id pulumi.IDInput, state *DataSetState, opts ...pulumi.ResourceOption) (*DataSet, error) { 373 var resource DataSet 374 err := ctx.ReadResource("aws:quicksight/dataSet:DataSet", name, id, state, &resource, opts...) 375 if err != nil { 376 return nil, err 377 } 378 return &resource, nil 379 } 380 381 // Input properties used for looking up and filtering DataSet resources. 382 type dataSetState struct { 383 // ARN of the dataset that contains permissions for RLS. 384 Arn *string `pulumi:"arn"` 385 // AWS account ID. 386 AwsAccountId *string `pulumi:"awsAccountId"` 387 // Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups. 388 ColumnGroups []DataSetColumnGroup `pulumi:"columnGroups"` 389 // 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. 390 ColumnLevelPermissionRules []DataSetColumnLevelPermissionRule `pulumi:"columnLevelPermissionRules"` 391 // Identifier for the data set. 392 DataSetId *string `pulumi:"dataSetId"` 393 // The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration. 394 DataSetUsageConfiguration *DataSetDataSetUsageConfiguration `pulumi:"dataSetUsageConfiguration"` 395 // The folder that contains fields and nested subfolders for your dataset. See field_folders. 396 FieldFolders []DataSetFieldFolder `pulumi:"fieldFolders"` 397 // Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`. 398 ImportMode *string `pulumi:"importMode"` 399 // Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map. 400 LogicalTableMaps []DataSetLogicalTableMap `pulumi:"logicalTableMaps"` 401 // Display name for the dataset. 402 Name *string `pulumi:"name"` 403 OutputColumns []DataSetOutputColumn `pulumi:"outputColumns"` 404 // A set of resource permissions on the data source. Maximum of 64 items. See permissions. 405 Permissions []DataSetPermission `pulumi:"permissions"` 406 // Declares the physical tables that are available in the underlying data sources. See physical_table_map. 407 // 408 // The following arguments are optional: 409 PhysicalTableMaps []DataSetPhysicalTableMap `pulumi:"physicalTableMaps"` 410 // The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties. 411 RefreshProperties *DataSetRefreshProperties `pulumi:"refreshProperties"` 412 // The row-level security configuration for the data that you want to create. See row_level_permission_data_set. 413 RowLevelPermissionDataSet *DataSetRowLevelPermissionDataSet `pulumi:"rowLevelPermissionDataSet"` 414 // 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. 415 RowLevelPermissionTagConfiguration *DataSetRowLevelPermissionTagConfiguration `pulumi:"rowLevelPermissionTagConfiguration"` 416 // 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. 417 Tags map[string]string `pulumi:"tags"` 418 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 419 // 420 // Deprecated: Please use `tags` instead. 421 TagsAll map[string]string `pulumi:"tagsAll"` 422 } 423 424 type DataSetState struct { 425 // ARN of the dataset that contains permissions for RLS. 426 Arn pulumi.StringPtrInput 427 // AWS account ID. 428 AwsAccountId pulumi.StringPtrInput 429 // Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups. 430 ColumnGroups DataSetColumnGroupArrayInput 431 // 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. 432 ColumnLevelPermissionRules DataSetColumnLevelPermissionRuleArrayInput 433 // Identifier for the data set. 434 DataSetId pulumi.StringPtrInput 435 // The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration. 436 DataSetUsageConfiguration DataSetDataSetUsageConfigurationPtrInput 437 // The folder that contains fields and nested subfolders for your dataset. See field_folders. 438 FieldFolders DataSetFieldFolderArrayInput 439 // Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`. 440 ImportMode pulumi.StringPtrInput 441 // Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map. 442 LogicalTableMaps DataSetLogicalTableMapArrayInput 443 // Display name for the dataset. 444 Name pulumi.StringPtrInput 445 OutputColumns DataSetOutputColumnArrayInput 446 // A set of resource permissions on the data source. Maximum of 64 items. See permissions. 447 Permissions DataSetPermissionArrayInput 448 // Declares the physical tables that are available in the underlying data sources. See physical_table_map. 449 // 450 // The following arguments are optional: 451 PhysicalTableMaps DataSetPhysicalTableMapArrayInput 452 // The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties. 453 RefreshProperties DataSetRefreshPropertiesPtrInput 454 // The row-level security configuration for the data that you want to create. See row_level_permission_data_set. 455 RowLevelPermissionDataSet DataSetRowLevelPermissionDataSetPtrInput 456 // 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. 457 RowLevelPermissionTagConfiguration DataSetRowLevelPermissionTagConfigurationPtrInput 458 // 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. 459 Tags pulumi.StringMapInput 460 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 461 // 462 // Deprecated: Please use `tags` instead. 463 TagsAll pulumi.StringMapInput 464 } 465 466 func (DataSetState) ElementType() reflect.Type { 467 return reflect.TypeOf((*dataSetState)(nil)).Elem() 468 } 469 470 type dataSetArgs struct { 471 // AWS account ID. 472 AwsAccountId *string `pulumi:"awsAccountId"` 473 // Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups. 474 ColumnGroups []DataSetColumnGroup `pulumi:"columnGroups"` 475 // 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. 476 ColumnLevelPermissionRules []DataSetColumnLevelPermissionRule `pulumi:"columnLevelPermissionRules"` 477 // Identifier for the data set. 478 DataSetId string `pulumi:"dataSetId"` 479 // The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration. 480 DataSetUsageConfiguration *DataSetDataSetUsageConfiguration `pulumi:"dataSetUsageConfiguration"` 481 // The folder that contains fields and nested subfolders for your dataset. See field_folders. 482 FieldFolders []DataSetFieldFolder `pulumi:"fieldFolders"` 483 // Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`. 484 ImportMode string `pulumi:"importMode"` 485 // Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map. 486 LogicalTableMaps []DataSetLogicalTableMap `pulumi:"logicalTableMaps"` 487 // Display name for the dataset. 488 Name *string `pulumi:"name"` 489 // A set of resource permissions on the data source. Maximum of 64 items. See permissions. 490 Permissions []DataSetPermission `pulumi:"permissions"` 491 // Declares the physical tables that are available in the underlying data sources. See physical_table_map. 492 // 493 // The following arguments are optional: 494 PhysicalTableMaps []DataSetPhysicalTableMap `pulumi:"physicalTableMaps"` 495 // The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties. 496 RefreshProperties *DataSetRefreshProperties `pulumi:"refreshProperties"` 497 // The row-level security configuration for the data that you want to create. See row_level_permission_data_set. 498 RowLevelPermissionDataSet *DataSetRowLevelPermissionDataSet `pulumi:"rowLevelPermissionDataSet"` 499 // 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. 500 RowLevelPermissionTagConfiguration *DataSetRowLevelPermissionTagConfiguration `pulumi:"rowLevelPermissionTagConfiguration"` 501 // 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. 502 Tags map[string]string `pulumi:"tags"` 503 } 504 505 // The set of arguments for constructing a DataSet resource. 506 type DataSetArgs struct { 507 // AWS account ID. 508 AwsAccountId pulumi.StringPtrInput 509 // Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups. 510 ColumnGroups DataSetColumnGroupArrayInput 511 // 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. 512 ColumnLevelPermissionRules DataSetColumnLevelPermissionRuleArrayInput 513 // Identifier for the data set. 514 DataSetId pulumi.StringInput 515 // The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration. 516 DataSetUsageConfiguration DataSetDataSetUsageConfigurationPtrInput 517 // The folder that contains fields and nested subfolders for your dataset. See field_folders. 518 FieldFolders DataSetFieldFolderArrayInput 519 // Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`. 520 ImportMode pulumi.StringInput 521 // Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map. 522 LogicalTableMaps DataSetLogicalTableMapArrayInput 523 // Display name for the dataset. 524 Name pulumi.StringPtrInput 525 // A set of resource permissions on the data source. Maximum of 64 items. See permissions. 526 Permissions DataSetPermissionArrayInput 527 // Declares the physical tables that are available in the underlying data sources. See physical_table_map. 528 // 529 // The following arguments are optional: 530 PhysicalTableMaps DataSetPhysicalTableMapArrayInput 531 // The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties. 532 RefreshProperties DataSetRefreshPropertiesPtrInput 533 // The row-level security configuration for the data that you want to create. See row_level_permission_data_set. 534 RowLevelPermissionDataSet DataSetRowLevelPermissionDataSetPtrInput 535 // 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. 536 RowLevelPermissionTagConfiguration DataSetRowLevelPermissionTagConfigurationPtrInput 537 // 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. 538 Tags pulumi.StringMapInput 539 } 540 541 func (DataSetArgs) ElementType() reflect.Type { 542 return reflect.TypeOf((*dataSetArgs)(nil)).Elem() 543 } 544 545 type DataSetInput interface { 546 pulumi.Input 547 548 ToDataSetOutput() DataSetOutput 549 ToDataSetOutputWithContext(ctx context.Context) DataSetOutput 550 } 551 552 func (*DataSet) ElementType() reflect.Type { 553 return reflect.TypeOf((**DataSet)(nil)).Elem() 554 } 555 556 func (i *DataSet) ToDataSetOutput() DataSetOutput { 557 return i.ToDataSetOutputWithContext(context.Background()) 558 } 559 560 func (i *DataSet) ToDataSetOutputWithContext(ctx context.Context) DataSetOutput { 561 return pulumi.ToOutputWithContext(ctx, i).(DataSetOutput) 562 } 563 564 // DataSetArrayInput is an input type that accepts DataSetArray and DataSetArrayOutput values. 565 // You can construct a concrete instance of `DataSetArrayInput` via: 566 // 567 // DataSetArray{ DataSetArgs{...} } 568 type DataSetArrayInput interface { 569 pulumi.Input 570 571 ToDataSetArrayOutput() DataSetArrayOutput 572 ToDataSetArrayOutputWithContext(context.Context) DataSetArrayOutput 573 } 574 575 type DataSetArray []DataSetInput 576 577 func (DataSetArray) ElementType() reflect.Type { 578 return reflect.TypeOf((*[]*DataSet)(nil)).Elem() 579 } 580 581 func (i DataSetArray) ToDataSetArrayOutput() DataSetArrayOutput { 582 return i.ToDataSetArrayOutputWithContext(context.Background()) 583 } 584 585 func (i DataSetArray) ToDataSetArrayOutputWithContext(ctx context.Context) DataSetArrayOutput { 586 return pulumi.ToOutputWithContext(ctx, i).(DataSetArrayOutput) 587 } 588 589 // DataSetMapInput is an input type that accepts DataSetMap and DataSetMapOutput values. 590 // You can construct a concrete instance of `DataSetMapInput` via: 591 // 592 // DataSetMap{ "key": DataSetArgs{...} } 593 type DataSetMapInput interface { 594 pulumi.Input 595 596 ToDataSetMapOutput() DataSetMapOutput 597 ToDataSetMapOutputWithContext(context.Context) DataSetMapOutput 598 } 599 600 type DataSetMap map[string]DataSetInput 601 602 func (DataSetMap) ElementType() reflect.Type { 603 return reflect.TypeOf((*map[string]*DataSet)(nil)).Elem() 604 } 605 606 func (i DataSetMap) ToDataSetMapOutput() DataSetMapOutput { 607 return i.ToDataSetMapOutputWithContext(context.Background()) 608 } 609 610 func (i DataSetMap) ToDataSetMapOutputWithContext(ctx context.Context) DataSetMapOutput { 611 return pulumi.ToOutputWithContext(ctx, i).(DataSetMapOutput) 612 } 613 614 type DataSetOutput struct{ *pulumi.OutputState } 615 616 func (DataSetOutput) ElementType() reflect.Type { 617 return reflect.TypeOf((**DataSet)(nil)).Elem() 618 } 619 620 func (o DataSetOutput) ToDataSetOutput() DataSetOutput { 621 return o 622 } 623 624 func (o DataSetOutput) ToDataSetOutputWithContext(ctx context.Context) DataSetOutput { 625 return o 626 } 627 628 // ARN of the dataset that contains permissions for RLS. 629 func (o DataSetOutput) Arn() pulumi.StringOutput { 630 return o.ApplyT(func(v *DataSet) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 631 } 632 633 // AWS account ID. 634 func (o DataSetOutput) AwsAccountId() pulumi.StringOutput { 635 return o.ApplyT(func(v *DataSet) pulumi.StringOutput { return v.AwsAccountId }).(pulumi.StringOutput) 636 } 637 638 // Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported. See column_groups. 639 func (o DataSetOutput) ColumnGroups() DataSetColumnGroupArrayOutput { 640 return o.ApplyT(func(v *DataSet) DataSetColumnGroupArrayOutput { return v.ColumnGroups }).(DataSetColumnGroupArrayOutput) 641 } 642 643 // 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. 644 func (o DataSetOutput) ColumnLevelPermissionRules() DataSetColumnLevelPermissionRuleArrayOutput { 645 return o.ApplyT(func(v *DataSet) DataSetColumnLevelPermissionRuleArrayOutput { return v.ColumnLevelPermissionRules }).(DataSetColumnLevelPermissionRuleArrayOutput) 646 } 647 648 // Identifier for the data set. 649 func (o DataSetOutput) DataSetId() pulumi.StringOutput { 650 return o.ApplyT(func(v *DataSet) pulumi.StringOutput { return v.DataSetId }).(pulumi.StringOutput) 651 } 652 653 // The usage configuration to apply to child datasets that reference this dataset as a source. See data_set_usage_configuration. 654 func (o DataSetOutput) DataSetUsageConfiguration() DataSetDataSetUsageConfigurationOutput { 655 return o.ApplyT(func(v *DataSet) DataSetDataSetUsageConfigurationOutput { return v.DataSetUsageConfiguration }).(DataSetDataSetUsageConfigurationOutput) 656 } 657 658 // The folder that contains fields and nested subfolders for your dataset. See field_folders. 659 func (o DataSetOutput) FieldFolders() DataSetFieldFolderArrayOutput { 660 return o.ApplyT(func(v *DataSet) DataSetFieldFolderArrayOutput { return v.FieldFolders }).(DataSetFieldFolderArrayOutput) 661 } 662 663 // Indicates whether you want to import the data into SPICE. Valid values are `SPICE` and `DIRECT_QUERY`. 664 func (o DataSetOutput) ImportMode() pulumi.StringOutput { 665 return o.ApplyT(func(v *DataSet) pulumi.StringOutput { return v.ImportMode }).(pulumi.StringOutput) 666 } 667 668 // Configures the combination and transformation of the data from the physical tables. Maximum of 1 entry. See logical_table_map. 669 func (o DataSetOutput) LogicalTableMaps() DataSetLogicalTableMapArrayOutput { 670 return o.ApplyT(func(v *DataSet) DataSetLogicalTableMapArrayOutput { return v.LogicalTableMaps }).(DataSetLogicalTableMapArrayOutput) 671 } 672 673 // Display name for the dataset. 674 func (o DataSetOutput) Name() pulumi.StringOutput { 675 return o.ApplyT(func(v *DataSet) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 676 } 677 678 func (o DataSetOutput) OutputColumns() DataSetOutputColumnArrayOutput { 679 return o.ApplyT(func(v *DataSet) DataSetOutputColumnArrayOutput { return v.OutputColumns }).(DataSetOutputColumnArrayOutput) 680 } 681 682 // A set of resource permissions on the data source. Maximum of 64 items. See permissions. 683 func (o DataSetOutput) Permissions() DataSetPermissionArrayOutput { 684 return o.ApplyT(func(v *DataSet) DataSetPermissionArrayOutput { return v.Permissions }).(DataSetPermissionArrayOutput) 685 } 686 687 // Declares the physical tables that are available in the underlying data sources. See physical_table_map. 688 // 689 // The following arguments are optional: 690 func (o DataSetOutput) PhysicalTableMaps() DataSetPhysicalTableMapArrayOutput { 691 return o.ApplyT(func(v *DataSet) DataSetPhysicalTableMapArrayOutput { return v.PhysicalTableMaps }).(DataSetPhysicalTableMapArrayOutput) 692 } 693 694 // The refresh properties for the data set. **NOTE**: Only valid when `importMode` is set to `SPICE`. See refresh_properties. 695 func (o DataSetOutput) RefreshProperties() DataSetRefreshPropertiesPtrOutput { 696 return o.ApplyT(func(v *DataSet) DataSetRefreshPropertiesPtrOutput { return v.RefreshProperties }).(DataSetRefreshPropertiesPtrOutput) 697 } 698 699 // The row-level security configuration for the data that you want to create. See row_level_permission_data_set. 700 func (o DataSetOutput) RowLevelPermissionDataSet() DataSetRowLevelPermissionDataSetPtrOutput { 701 return o.ApplyT(func(v *DataSet) DataSetRowLevelPermissionDataSetPtrOutput { return v.RowLevelPermissionDataSet }).(DataSetRowLevelPermissionDataSetPtrOutput) 702 } 703 704 // 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. 705 func (o DataSetOutput) RowLevelPermissionTagConfiguration() DataSetRowLevelPermissionTagConfigurationPtrOutput { 706 return o.ApplyT(func(v *DataSet) DataSetRowLevelPermissionTagConfigurationPtrOutput { 707 return v.RowLevelPermissionTagConfiguration 708 }).(DataSetRowLevelPermissionTagConfigurationPtrOutput) 709 } 710 711 // 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. 712 func (o DataSetOutput) Tags() pulumi.StringMapOutput { 713 return o.ApplyT(func(v *DataSet) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 714 } 715 716 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 717 // 718 // Deprecated: Please use `tags` instead. 719 func (o DataSetOutput) TagsAll() pulumi.StringMapOutput { 720 return o.ApplyT(func(v *DataSet) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 721 } 722 723 type DataSetArrayOutput struct{ *pulumi.OutputState } 724 725 func (DataSetArrayOutput) ElementType() reflect.Type { 726 return reflect.TypeOf((*[]*DataSet)(nil)).Elem() 727 } 728 729 func (o DataSetArrayOutput) ToDataSetArrayOutput() DataSetArrayOutput { 730 return o 731 } 732 733 func (o DataSetArrayOutput) ToDataSetArrayOutputWithContext(ctx context.Context) DataSetArrayOutput { 734 return o 735 } 736 737 func (o DataSetArrayOutput) Index(i pulumi.IntInput) DataSetOutput { 738 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DataSet { 739 return vs[0].([]*DataSet)[vs[1].(int)] 740 }).(DataSetOutput) 741 } 742 743 type DataSetMapOutput struct{ *pulumi.OutputState } 744 745 func (DataSetMapOutput) ElementType() reflect.Type { 746 return reflect.TypeOf((*map[string]*DataSet)(nil)).Elem() 747 } 748 749 func (o DataSetMapOutput) ToDataSetMapOutput() DataSetMapOutput { 750 return o 751 } 752 753 func (o DataSetMapOutput) ToDataSetMapOutputWithContext(ctx context.Context) DataSetMapOutput { 754 return o 755 } 756 757 func (o DataSetMapOutput) MapIndex(k pulumi.StringInput) DataSetOutput { 758 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DataSet { 759 return vs[0].(map[string]*DataSet)[vs[1].(string)] 760 }).(DataSetOutput) 761 } 762 763 func init() { 764 pulumi.RegisterInputType(reflect.TypeOf((*DataSetInput)(nil)).Elem(), &DataSet{}) 765 pulumi.RegisterInputType(reflect.TypeOf((*DataSetArrayInput)(nil)).Elem(), DataSetArray{}) 766 pulumi.RegisterInputType(reflect.TypeOf((*DataSetMapInput)(nil)).Elem(), DataSetMap{}) 767 pulumi.RegisterOutputType(DataSetOutput{}) 768 pulumi.RegisterOutputType(DataSetArrayOutput{}) 769 pulumi.RegisterOutputType(DataSetMapOutput{}) 770 }