github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/quicksight/analysis.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 Analysis. 16 // 17 // ## Example Usage 18 // 19 // ### From Source Template 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.NewAnalysis(ctx, "example", &quicksight.AnalysisArgs{ 35 // AnalysisId: pulumi.String("example-id"), 36 // Name: pulumi.String("example-name"), 37 // SourceEntity: &quicksight.AnalysisSourceEntityArgs{ 38 // SourceTemplate: &quicksight.AnalysisSourceEntitySourceTemplateArgs{ 39 // Arn: pulumi.Any(source.Arn), 40 // DataSetReferences: quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArray{ 41 // &quicksight.AnalysisSourceEntitySourceTemplateDataSetReferenceArgs{ 42 // DataSetArn: pulumi.Any(dataset.Arn), 43 // DataSetPlaceholder: pulumi.String("1"), 44 // }, 45 // }, 46 // }, 47 // }, 48 // }) 49 // if err != nil { 50 // return err 51 // } 52 // return nil 53 // }) 54 // } 55 // 56 // ``` 57 // <!--End PulumiCodeChooser --> 58 // 59 // ## Import 60 // 61 // Using `pulumi import`, import a QuickSight Analysis using the AWS account ID and analysis ID separated by a comma (`,`). For example: 62 // 63 // ```sh 64 // $ pulumi import aws:quicksight/analysis:Analysis example 123456789012,example-id 65 // ``` 66 type Analysis struct { 67 pulumi.CustomResourceState 68 69 // Identifier for the analysis. 70 AnalysisId pulumi.StringOutput `pulumi:"analysisId"` 71 // The Amazon Resource Name (ARN) of the resource. 72 Arn pulumi.StringOutput `pulumi:"arn"` 73 // AWS account ID. 74 AwsAccountId pulumi.StringOutput `pulumi:"awsAccountId"` 75 // The time that the analysis was created. 76 CreatedTime pulumi.StringOutput `pulumi:"createdTime"` 77 LastPublishedTime pulumi.StringOutput `pulumi:"lastPublishedTime"` 78 // The time that the analysis was last updated. 79 LastUpdatedTime pulumi.StringOutput `pulumi:"lastUpdatedTime"` 80 // Display name for the analysis. 81 // 82 // The following arguments are optional: 83 Name pulumi.StringOutput `pulumi:"name"` 84 // The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See parameters. 85 Parameters AnalysisParametersOutput `pulumi:"parameters"` 86 // A set of resource permissions on the analysis. Maximum of 64 items. See permissions. 87 Permissions AnalysisPermissionArrayOutput `pulumi:"permissions"` 88 // A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. 89 RecoveryWindowInDays pulumi.IntPtrOutput `pulumi:"recoveryWindowInDays"` 90 // The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `sourceEntity` should be configured. See source_entity. 91 SourceEntity AnalysisSourceEntityPtrOutput `pulumi:"sourceEntity"` 92 // The analysis creation status. 93 Status pulumi.StringOutput `pulumi:"status"` 94 // 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. 95 Tags pulumi.StringMapOutput `pulumi:"tags"` 96 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 97 // 98 // Deprecated: Please use `tags` instead. 99 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 100 // The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. 101 ThemeArn pulumi.StringPtrOutput `pulumi:"themeArn"` 102 } 103 104 // NewAnalysis registers a new resource with the given unique name, arguments, and options. 105 func NewAnalysis(ctx *pulumi.Context, 106 name string, args *AnalysisArgs, opts ...pulumi.ResourceOption) (*Analysis, error) { 107 if args == nil { 108 return nil, errors.New("missing one or more required arguments") 109 } 110 111 if args.AnalysisId == nil { 112 return nil, errors.New("invalid value for required argument 'AnalysisId'") 113 } 114 opts = internal.PkgResourceDefaultOpts(opts) 115 var resource Analysis 116 err := ctx.RegisterResource("aws:quicksight/analysis:Analysis", name, args, &resource, opts...) 117 if err != nil { 118 return nil, err 119 } 120 return &resource, nil 121 } 122 123 // GetAnalysis gets an existing Analysis resource's state with the given name, ID, and optional 124 // state properties that are used to uniquely qualify the lookup (nil if not required). 125 func GetAnalysis(ctx *pulumi.Context, 126 name string, id pulumi.IDInput, state *AnalysisState, opts ...pulumi.ResourceOption) (*Analysis, error) { 127 var resource Analysis 128 err := ctx.ReadResource("aws:quicksight/analysis:Analysis", name, id, state, &resource, opts...) 129 if err != nil { 130 return nil, err 131 } 132 return &resource, nil 133 } 134 135 // Input properties used for looking up and filtering Analysis resources. 136 type analysisState struct { 137 // Identifier for the analysis. 138 AnalysisId *string `pulumi:"analysisId"` 139 // The Amazon Resource Name (ARN) of the resource. 140 Arn *string `pulumi:"arn"` 141 // AWS account ID. 142 AwsAccountId *string `pulumi:"awsAccountId"` 143 // The time that the analysis was created. 144 CreatedTime *string `pulumi:"createdTime"` 145 LastPublishedTime *string `pulumi:"lastPublishedTime"` 146 // The time that the analysis was last updated. 147 LastUpdatedTime *string `pulumi:"lastUpdatedTime"` 148 // Display name for the analysis. 149 // 150 // The following arguments are optional: 151 Name *string `pulumi:"name"` 152 // The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See parameters. 153 Parameters *AnalysisParameters `pulumi:"parameters"` 154 // A set of resource permissions on the analysis. Maximum of 64 items. See permissions. 155 Permissions []AnalysisPermission `pulumi:"permissions"` 156 // A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. 157 RecoveryWindowInDays *int `pulumi:"recoveryWindowInDays"` 158 // The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `sourceEntity` should be configured. See source_entity. 159 SourceEntity *AnalysisSourceEntity `pulumi:"sourceEntity"` 160 // The analysis creation status. 161 Status *string `pulumi:"status"` 162 // 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. 163 Tags map[string]string `pulumi:"tags"` 164 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 165 // 166 // Deprecated: Please use `tags` instead. 167 TagsAll map[string]string `pulumi:"tagsAll"` 168 // The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. 169 ThemeArn *string `pulumi:"themeArn"` 170 } 171 172 type AnalysisState struct { 173 // Identifier for the analysis. 174 AnalysisId pulumi.StringPtrInput 175 // The Amazon Resource Name (ARN) of the resource. 176 Arn pulumi.StringPtrInput 177 // AWS account ID. 178 AwsAccountId pulumi.StringPtrInput 179 // The time that the analysis was created. 180 CreatedTime pulumi.StringPtrInput 181 LastPublishedTime pulumi.StringPtrInput 182 // The time that the analysis was last updated. 183 LastUpdatedTime pulumi.StringPtrInput 184 // Display name for the analysis. 185 // 186 // The following arguments are optional: 187 Name pulumi.StringPtrInput 188 // The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See parameters. 189 Parameters AnalysisParametersPtrInput 190 // A set of resource permissions on the analysis. Maximum of 64 items. See permissions. 191 Permissions AnalysisPermissionArrayInput 192 // A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. 193 RecoveryWindowInDays pulumi.IntPtrInput 194 // The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `sourceEntity` should be configured. See source_entity. 195 SourceEntity AnalysisSourceEntityPtrInput 196 // The analysis creation status. 197 Status pulumi.StringPtrInput 198 // 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. 199 Tags pulumi.StringMapInput 200 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 201 // 202 // Deprecated: Please use `tags` instead. 203 TagsAll pulumi.StringMapInput 204 // The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. 205 ThemeArn pulumi.StringPtrInput 206 } 207 208 func (AnalysisState) ElementType() reflect.Type { 209 return reflect.TypeOf((*analysisState)(nil)).Elem() 210 } 211 212 type analysisArgs struct { 213 // Identifier for the analysis. 214 AnalysisId string `pulumi:"analysisId"` 215 // AWS account ID. 216 AwsAccountId *string `pulumi:"awsAccountId"` 217 // Display name for the analysis. 218 // 219 // The following arguments are optional: 220 Name *string `pulumi:"name"` 221 // The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See parameters. 222 Parameters *AnalysisParameters `pulumi:"parameters"` 223 // A set of resource permissions on the analysis. Maximum of 64 items. See permissions. 224 Permissions []AnalysisPermission `pulumi:"permissions"` 225 // A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. 226 RecoveryWindowInDays *int `pulumi:"recoveryWindowInDays"` 227 // The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `sourceEntity` should be configured. See source_entity. 228 SourceEntity *AnalysisSourceEntity `pulumi:"sourceEntity"` 229 // 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. 230 Tags map[string]string `pulumi:"tags"` 231 // The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. 232 ThemeArn *string `pulumi:"themeArn"` 233 } 234 235 // The set of arguments for constructing a Analysis resource. 236 type AnalysisArgs struct { 237 // Identifier for the analysis. 238 AnalysisId pulumi.StringInput 239 // AWS account ID. 240 AwsAccountId pulumi.StringPtrInput 241 // Display name for the analysis. 242 // 243 // The following arguments are optional: 244 Name pulumi.StringPtrInput 245 // The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See parameters. 246 Parameters AnalysisParametersPtrInput 247 // A set of resource permissions on the analysis. Maximum of 64 items. See permissions. 248 Permissions AnalysisPermissionArrayInput 249 // A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. 250 RecoveryWindowInDays pulumi.IntPtrInput 251 // The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `sourceEntity` should be configured. See source_entity. 252 SourceEntity AnalysisSourceEntityPtrInput 253 // 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. 254 Tags pulumi.StringMapInput 255 // The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. 256 ThemeArn pulumi.StringPtrInput 257 } 258 259 func (AnalysisArgs) ElementType() reflect.Type { 260 return reflect.TypeOf((*analysisArgs)(nil)).Elem() 261 } 262 263 type AnalysisInput interface { 264 pulumi.Input 265 266 ToAnalysisOutput() AnalysisOutput 267 ToAnalysisOutputWithContext(ctx context.Context) AnalysisOutput 268 } 269 270 func (*Analysis) ElementType() reflect.Type { 271 return reflect.TypeOf((**Analysis)(nil)).Elem() 272 } 273 274 func (i *Analysis) ToAnalysisOutput() AnalysisOutput { 275 return i.ToAnalysisOutputWithContext(context.Background()) 276 } 277 278 func (i *Analysis) ToAnalysisOutputWithContext(ctx context.Context) AnalysisOutput { 279 return pulumi.ToOutputWithContext(ctx, i).(AnalysisOutput) 280 } 281 282 // AnalysisArrayInput is an input type that accepts AnalysisArray and AnalysisArrayOutput values. 283 // You can construct a concrete instance of `AnalysisArrayInput` via: 284 // 285 // AnalysisArray{ AnalysisArgs{...} } 286 type AnalysisArrayInput interface { 287 pulumi.Input 288 289 ToAnalysisArrayOutput() AnalysisArrayOutput 290 ToAnalysisArrayOutputWithContext(context.Context) AnalysisArrayOutput 291 } 292 293 type AnalysisArray []AnalysisInput 294 295 func (AnalysisArray) ElementType() reflect.Type { 296 return reflect.TypeOf((*[]*Analysis)(nil)).Elem() 297 } 298 299 func (i AnalysisArray) ToAnalysisArrayOutput() AnalysisArrayOutput { 300 return i.ToAnalysisArrayOutputWithContext(context.Background()) 301 } 302 303 func (i AnalysisArray) ToAnalysisArrayOutputWithContext(ctx context.Context) AnalysisArrayOutput { 304 return pulumi.ToOutputWithContext(ctx, i).(AnalysisArrayOutput) 305 } 306 307 // AnalysisMapInput is an input type that accepts AnalysisMap and AnalysisMapOutput values. 308 // You can construct a concrete instance of `AnalysisMapInput` via: 309 // 310 // AnalysisMap{ "key": AnalysisArgs{...} } 311 type AnalysisMapInput interface { 312 pulumi.Input 313 314 ToAnalysisMapOutput() AnalysisMapOutput 315 ToAnalysisMapOutputWithContext(context.Context) AnalysisMapOutput 316 } 317 318 type AnalysisMap map[string]AnalysisInput 319 320 func (AnalysisMap) ElementType() reflect.Type { 321 return reflect.TypeOf((*map[string]*Analysis)(nil)).Elem() 322 } 323 324 func (i AnalysisMap) ToAnalysisMapOutput() AnalysisMapOutput { 325 return i.ToAnalysisMapOutputWithContext(context.Background()) 326 } 327 328 func (i AnalysisMap) ToAnalysisMapOutputWithContext(ctx context.Context) AnalysisMapOutput { 329 return pulumi.ToOutputWithContext(ctx, i).(AnalysisMapOutput) 330 } 331 332 type AnalysisOutput struct{ *pulumi.OutputState } 333 334 func (AnalysisOutput) ElementType() reflect.Type { 335 return reflect.TypeOf((**Analysis)(nil)).Elem() 336 } 337 338 func (o AnalysisOutput) ToAnalysisOutput() AnalysisOutput { 339 return o 340 } 341 342 func (o AnalysisOutput) ToAnalysisOutputWithContext(ctx context.Context) AnalysisOutput { 343 return o 344 } 345 346 // Identifier for the analysis. 347 func (o AnalysisOutput) AnalysisId() pulumi.StringOutput { 348 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.AnalysisId }).(pulumi.StringOutput) 349 } 350 351 // The Amazon Resource Name (ARN) of the resource. 352 func (o AnalysisOutput) Arn() pulumi.StringOutput { 353 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 354 } 355 356 // AWS account ID. 357 func (o AnalysisOutput) AwsAccountId() pulumi.StringOutput { 358 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.AwsAccountId }).(pulumi.StringOutput) 359 } 360 361 // The time that the analysis was created. 362 func (o AnalysisOutput) CreatedTime() pulumi.StringOutput { 363 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.CreatedTime }).(pulumi.StringOutput) 364 } 365 366 func (o AnalysisOutput) LastPublishedTime() pulumi.StringOutput { 367 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.LastPublishedTime }).(pulumi.StringOutput) 368 } 369 370 // The time that the analysis was last updated. 371 func (o AnalysisOutput) LastUpdatedTime() pulumi.StringOutput { 372 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.LastUpdatedTime }).(pulumi.StringOutput) 373 } 374 375 // Display name for the analysis. 376 // 377 // The following arguments are optional: 378 func (o AnalysisOutput) Name() pulumi.StringOutput { 379 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 380 } 381 382 // The parameters for the creation of the analysis, which you want to use to override the default settings. An analysis can have any type of parameters, and some parameters might accept multiple values. See parameters. 383 func (o AnalysisOutput) Parameters() AnalysisParametersOutput { 384 return o.ApplyT(func(v *Analysis) AnalysisParametersOutput { return v.Parameters }).(AnalysisParametersOutput) 385 } 386 387 // A set of resource permissions on the analysis. Maximum of 64 items. See permissions. 388 func (o AnalysisOutput) Permissions() AnalysisPermissionArrayOutput { 389 return o.ApplyT(func(v *Analysis) AnalysisPermissionArrayOutput { return v.Permissions }).(AnalysisPermissionArrayOutput) 390 } 391 392 // A value that specifies the number of days that Amazon QuickSight waits before it deletes the analysis. Use `0` to force deletion without recovery. Minimum value of `7`. Maximum value of `30`. Default to `30`. 393 func (o AnalysisOutput) RecoveryWindowInDays() pulumi.IntPtrOutput { 394 return o.ApplyT(func(v *Analysis) pulumi.IntPtrOutput { return v.RecoveryWindowInDays }).(pulumi.IntPtrOutput) 395 } 396 397 // The entity that you are using as a source when you create the analysis (template). Only one of `definition` or `sourceEntity` should be configured. See source_entity. 398 func (o AnalysisOutput) SourceEntity() AnalysisSourceEntityPtrOutput { 399 return o.ApplyT(func(v *Analysis) AnalysisSourceEntityPtrOutput { return v.SourceEntity }).(AnalysisSourceEntityPtrOutput) 400 } 401 402 // The analysis creation status. 403 func (o AnalysisOutput) Status() pulumi.StringOutput { 404 return o.ApplyT(func(v *Analysis) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 405 } 406 407 // 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. 408 func (o AnalysisOutput) Tags() pulumi.StringMapOutput { 409 return o.ApplyT(func(v *Analysis) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 410 } 411 412 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 413 // 414 // Deprecated: Please use `tags` instead. 415 func (o AnalysisOutput) TagsAll() pulumi.StringMapOutput { 416 return o.ApplyT(func(v *Analysis) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 417 } 418 419 // The Amazon Resource Name (ARN) of the theme that is being used for this analysis. The theme ARN must exist in the same AWS account where you create the analysis. 420 func (o AnalysisOutput) ThemeArn() pulumi.StringPtrOutput { 421 return o.ApplyT(func(v *Analysis) pulumi.StringPtrOutput { return v.ThemeArn }).(pulumi.StringPtrOutput) 422 } 423 424 type AnalysisArrayOutput struct{ *pulumi.OutputState } 425 426 func (AnalysisArrayOutput) ElementType() reflect.Type { 427 return reflect.TypeOf((*[]*Analysis)(nil)).Elem() 428 } 429 430 func (o AnalysisArrayOutput) ToAnalysisArrayOutput() AnalysisArrayOutput { 431 return o 432 } 433 434 func (o AnalysisArrayOutput) ToAnalysisArrayOutputWithContext(ctx context.Context) AnalysisArrayOutput { 435 return o 436 } 437 438 func (o AnalysisArrayOutput) Index(i pulumi.IntInput) AnalysisOutput { 439 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Analysis { 440 return vs[0].([]*Analysis)[vs[1].(int)] 441 }).(AnalysisOutput) 442 } 443 444 type AnalysisMapOutput struct{ *pulumi.OutputState } 445 446 func (AnalysisMapOutput) ElementType() reflect.Type { 447 return reflect.TypeOf((*map[string]*Analysis)(nil)).Elem() 448 } 449 450 func (o AnalysisMapOutput) ToAnalysisMapOutput() AnalysisMapOutput { 451 return o 452 } 453 454 func (o AnalysisMapOutput) ToAnalysisMapOutputWithContext(ctx context.Context) AnalysisMapOutput { 455 return o 456 } 457 458 func (o AnalysisMapOutput) MapIndex(k pulumi.StringInput) AnalysisOutput { 459 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Analysis { 460 return vs[0].(map[string]*Analysis)[vs[1].(string)] 461 }).(AnalysisOutput) 462 } 463 464 func init() { 465 pulumi.RegisterInputType(reflect.TypeOf((*AnalysisInput)(nil)).Elem(), &Analysis{}) 466 pulumi.RegisterInputType(reflect.TypeOf((*AnalysisArrayInput)(nil)).Elem(), AnalysisArray{}) 467 pulumi.RegisterInputType(reflect.TypeOf((*AnalysisMapInput)(nil)).Elem(), AnalysisMap{}) 468 pulumi.RegisterOutputType(AnalysisOutput{}) 469 pulumi.RegisterOutputType(AnalysisArrayOutput{}) 470 pulumi.RegisterOutputType(AnalysisMapOutput{}) 471 }