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
- In a QuickSight analysis, add a dropdown filter control.
- Configure its title using the current title formatting UI.
- Publish the analysis as a dashboard.
- Start an Asset Bundle export for the dashboard using
CLOUDFORMATION_JSON.
- Deploy the exported
AWS::QuickSight::Dashboard template with
CloudFormation.
- 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.
Name of the resource
AWS::QuickSight::Dashboard
Description
Please add CloudFormation support for the QuickSight
ControlTitleFormatTextproperty on filter controls, includingFilterDropDownControl, and align the legacyTitlevalidation with theQuickSight API where appropriate.
The QuickSight API currently supports
ControlTitleFormatTextas a taggedunion containing either
PlainTextorRichText. QuickSight authors cancreate controls whose visible title is stored in this property.
However, an Asset Bundle export generated by QuickSight itself with
ExportFormat=CLOUDFORMATION_JSONcan 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::DashboardfailsCloudFormation resource validation with both of these errors:
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::DashboardacceptsControlTitleFormatTexton dropdown andother filter control types where the QuickSight API supports it.
PlainTextandRichTextvariants are supported consistently with theQuickSight API.
without removing the property or converting the title manually.
Titlevalues continue to work.Steps to reproduce
CLOUDFORMATION_JSON.AWS::QuickSight::Dashboardtemplate withCloudFormation.
The issue was reproduced in
eu-west-1.Other Details
QuickSight API documentation showing
ControlTitleFormatTextonFilterDropDownControl: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
FilterDropDownControldocumentation, where theproperty is absent and
Titleis 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::AnalysisandAWS::QuickSight::Templatemay need the sameupdate because these resources share QuickSight definition structures.