hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.82k stars 9.16k forks source link

[Bug]: QuickSight Dashboards/Analysis Visual Actions #39715

Open m13t opened 1 week ago

m13t commented 1 week ago

Terraform Core Version

1.9.5

AWS Provider Version

5.70.0

Affected Resource(s)

aws_quicksight_dashboard aws_quicksight_analysis

Expected Behavior

When creating a QuickSight Dashboard or Analysis, visuals with actions defined should be created as per the AWS API docs

Actual Behavior

Some sub-schema types are defined by AWS as union types, terraform is sending both resulting in an API error

Relevant Error/Panic Output Snippet

updating QuickSight Analysis (216989116063,appvia-cudos): operation error QuickSight: UpdateAnalysis, https response error StatusCode: 400, RequestID: 36077f6b-8136-4057-bcd5-6fd0c2f194e5, api error ValidationException: 4 validation errors detected: Value 'SameSheetTargetVisualConfiguration(targetVisuals=[], targetVisualOptions=ALL_VISUALS)' at 'definition.sheets.2.member.visuals.4.member.barChartVisual.actions.1.member.actionOperations.1.member.filterOperation.targetVisualsConfiguration.sameSheetTargetVisualConfiguration' failed to satisfy constraint: Only 1 member of [targetVisuals, targetVisualOptions] should be provided for structure SameSheetTargetVisualConfiguration; Value '[]' at 'definition.sheets.2.member.visuals.4.member.barChartVisual.actions.1.member.actionOperations.1.member.filterOperation.selectedFieldsConfiguration.selectedFields' failed to satisfy constraint: Member must have length greater than or equal to 1; Value 'SameSheetTargetVisualConfiguration(targetVisuals=[], targetVisualOptions=ALL_VISUALS)' at 'definition.sheets.2.member.visuals.5.member.barChartVisual.actions.1.member.actionOperations.1.member.filterOperation.targetVisualsConfiguration.sameSheetTargetVisualConfiguration' failed to satisfy constraint: Only 1 member of [targetVisuals, targetVisualOptions] should be provided for structure SameSheetTargetVisualConfiguration; Value 'SameSheetTargetVisualConfiguration(targetVisuals=[], targetVisualOptions=ALL_VISUALS)' at 'definition.sheets.2.member.visuals.6.member.barChartVisual.actions.1.member.actionOperations.1.member.filterOperation.targetVisualsConfiguration.sameSheetTargetVisualConfiguration' failed to satisfy constraint: Only 1 member of [targetVisuals, targetVisualOptions] should be provided for structure SameSheetTargetVisualConfiguration

Terraform Configuration Files

qs_issue.tar.gz.gpg

Provided GPG encrypted configuration files

Steps to Reproduce

  1. Create QuickSight Dashboard or Analysis
  2. Define a sheet with a visual containing an action with a filter operation
  3. Set either value of target_visuals_configuration.same_sheet_target_visual_configuration

Debug Output

No response

Panic Output

No response

Important Factoids

There are numerous resources within the QuickSight scope of the AWS provider that have not been generated correctly from the AWS spec. Numerous union types have all their values being set (albeit to an empty/default value) when requests are being made to the AWS API which results in a validation error on the AWS API.

References

https://docs.aws.amazon.com/quicksight/latest/APIReference/API_SameSheetTargetVisualConfiguration.html

Would you like to implement a fix?

No

github-actions[bot] commented 1 week ago

Community Note

Voting for Prioritization

Volunteering to Work on This Issue