Skip to content

[AWS::QuickSight::Dashboard] - [Coverage] - Support ControlTitleFormatText in filter controls #2545

Description

@Nazarii-Didushyn

Name of the resource

AWS::QuickSight::Dashboard

Description

Please add CloudFormation support for the QuickSight
ControlTitleFormatText property on filter controls, including
FilterDropDownControl, and align the legacy Title validation with the
QuickSight API where appropriate.

The QuickSight API currently supports ControlTitleFormatText as a tagged
union containing either PlainText or RichText. QuickSight authors can
create controls whose visible title is stored in this property.

However, an Asset Bundle export generated by QuickSight itself with
ExportFormat=CLOUDFORMATION_JSON can contain a dropdown definition like this:

{
  "Dropdown": {
    "FilterControlId": "example-control-id",
    "SourceFilterId": "example-filter-id",
    "Title": "",
    "Type": "MULTI_SELECT",
    "ControlTitleFormatText": {
      "RichText": "<control-title>Status</control-title>"
    }
  }
}

Deploying that exported template as AWS::QuickSight::Dashboard fails
CloudFormation resource validation with both of these errors:

#/Definition/Sheets/.../FilterControls/.../Dropdown:
extraneous key [ControlTitleFormatText] is not permitted

#/Definition/Sheets/.../FilterControls/.../Dropdown/Title:
expected minLength: 1, actual: 0

This creates a compatibility gap where QuickSight can export a CloudFormation
template that the CloudFormation QuickSight resource provider cannot deploy
without a custom normalization step.

Expected behavior

  • AWS::QuickSight::Dashboard accepts ControlTitleFormatText on dropdown and
    other filter control types where the QuickSight API supports it.
  • Both PlainText and RichText variants are supported consistently with the
    QuickSight API.
  • A CloudFormation Asset Bundle export produced by QuickSight can be deployed
    without removing the property or converting the title manually.
  • Existing non-empty legacy Title values continue to work.

Steps to reproduce

  1. In a QuickSight analysis, add a dropdown filter control.
  2. Configure its title using the current title formatting UI.
  3. Publish the analysis as a dashboard.
  4. Start an Asset Bundle export for the dashboard using
    CLOUDFORMATION_JSON.
  5. Deploy the exported AWS::QuickSight::Dashboard template with
    CloudFormation.
  6. Observe the property validation failure above.

The issue was reproduced in eu-west-1.

Other Details

QuickSight API documentation showing ControlTitleFormatText on
FilterDropDownControl:
https://docs.aws.amazon.com/quicksight/latest/APIReference/API_FilterDropDownControl.html

QuickSight API definition of ControlTitleFormatText:
https://docs.aws.amazon.com/quicksight/latest/APIReference/API_ControlTitleFormatText.html

Current CloudFormation FilterDropDownControl documentation, where the
property is absent and Title is required with minimum length 1:
https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-quicksight-dashboard-filterdropdowncontrol.html

The corresponding CloudFormation property schemas for
AWS::QuickSight::Analysis and AWS::QuickSight::Template may need the same
update because these resources share QuickSight definition structures.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions