recon_gen.common.models

Dataclass models mapping to AWS QuickSight API JSON structures.

Each top-level model (Theme, DataSet, Analysis) has a to_aws_json() method that returns the exact dict shape expected by the corresponding AWS CLI command (create-theme, create-data-set, create-analysis).

Classes

AllSheetsFilterScopeConfiguration()

Analysis(AwsAccountId, AnalysisId, Name, ...)

AnalysisDefinition(DataSetIdentifierDeclarations)

AxisDataOptions([NumericAxisOptions])

AxisDisplayOptions([DataOptions])

The QS AxisDisplayOptions shape — we only populate DataOptions for the log-scale path.

AxisLabelOptions([CustomLabel, ApplyTo])

Label override for a single axis field.

AxisLabelReferenceOptions(FieldId, Column)

Bind an AxisLabelOptions.CustomLabel to a specific field-well leaf.

AxisLinearScale([StepCount, StepSize])

AxisLogarithmicScale([Base])

AxisScale([Linear, Logarithmic])

Discriminated union — set exactly one variant.

BarChartAggregatedFieldWells([Category, ...])

BarChartConfiguration([FieldWells, ...])

BarChartFieldWells([...])

BarChartSortConfiguration([CategorySort])

BarChartVisual(VisualId[, Title, Subtitle, ...])

CascadingControlConfiguration([SourceControls])

UI-level cascade wiring: tells QS to refresh THIS control's options when any of the listed source controls change.

CascadingControlSource([...])

One source control in a CascadingControlConfiguration.

CategoricalDimensionField(FieldId, Column[, ...])

CategoricalMeasureField(FieldId, Column[, ...])

CategoryFilter(FilterId, Column, Configuration)

CategoryFilterConfiguration([...])

ChartAxisLabelOptions([Visibility, ...])

Axis label options — list of per-field overrides plus visibility.

ColumnIdentifier(DataSetIdentifier, ColumnName)

References a column on a specific dataset by identifier.

CredentialPair(Username, Password)

CurrencyDisplayFormatConfiguration([Symbol, ...])

Currency-format wire shape.

CustomActionFilterOperation(...)

CustomActionNavigationOperation(...)

CustomActionSetParametersOperation(...)

CustomSql(Name, DataSourceArn, SqlQuery, Columns)

Dashboard(AwsAccountId, DashboardId, Name, ...)

DashboardPublishOptions([...])

DataColorPalette([Colors, EmptyFillColor, ...])

DataSet(AwsAccountId, DataSetId, Name, ...)

DataSetIdentifierDeclaration(Identifier, ...)

DataSetUsageConfiguration([...])

DataSource(AwsAccountId, DataSourceId, Name, ...)

DataSourceCredentials([CredentialPair])

DataSourceParameters([PostgreSqlParameters, ...])

DatasetParameter([StringDatasetParameter, ...])

Discriminated union — set exactly one variant.

DateDimensionField(FieldId, Column[, ...])

DateMeasureField(FieldId, Column[, ...])

DateTimeDatasetParameter(*[, Id, ...])

DateTimeDatasetParameterDefaultValues([...])

DateTimeDefaultValues([StaticValues, ...])

DateTimeParameterDeclaration(Name[, ...])

DecimalDatasetParameter(*[, Id, DefaultValues])

DecimalDatasetParameterDefaultValues([...])

DecimalPlacesConfiguration(DecimalPlaces)

Wire shape for the per-field decimal-places setting.

DefaultDateTimePickerControlOptions([Type, ...])

DefaultDropdownControlOptions([Type, CommitMode])

DefaultFilterControlConfiguration(Title, ...)

DefaultFilterControlOptions([...])

Union type — set exactly one.

DefaultSliderControlOptions(MaximumValue, ...)

DimensionField([CategoricalDimensionField, ...])

Union type — set exactly one.

DonutOptions([ArcOptions])

Filter([CategoryFilter, TimeRangeFilter, ...])

Union type — set exactly one.

FilterControl([Dropdown, DateTimePicker, ...])

Union type — set exactly one.

FilterCrossSheetControl(FilterControlId, ...)

FilterDateTimePickerControl(FilterControlId, ...)

FilterDropDownControl(FilterControlId, ...)

FilterGroup(FilterGroupId, Filters, ...[, ...])

FilterOperationSelectedFieldsConfiguration([...])

FilterOperationTargetVisualsConfiguration([...])

FilterScopeConfiguration([AllSheets, ...])

Union type — set exactly one.

FilterSliderControl(FilterControlId, Title, ...)

FontFamily(FontFamily)

FreeFormLayoutConfiguration(Elements)

FreeFormLayoutElement(ElementId, ...[, ...])

GridLayoutConfiguration(Elements[, ...])

GridLayoutElement(ElementId, ElementType, ...)

Gutter([Show])

InputColumn(Name, Type[, SubType])

IntegerDatasetParameter(*[, Id, DefaultValues])

IntegerDatasetParameterDefaultValues([...])

IntegerParameterDeclaration(...[, ...])

KPIConfiguration([FieldWells, KPIOptions])

KPIFieldWells([Values, TargetValues, ...])

KPIOptions([Comparison, ...])

KPI display options.

KPIVisual(VisualId[, Title, Subtitle, ...])

Layout(Configuration)

LayoutConfiguration([GridLayout, FreeFormLayout])

Union type — set exactly one.

LineChartAggregatedFieldWells([Category, ...])

LineChartConfiguration([FieldWells, Type, ...])

LineChartFieldWells([...])

LineChartSortConfiguration([CategorySort])

LineChartVisual(VisualId[, Title, Subtitle, ...])

LinkSharingConfiguration([Permissions])

LocalNavigationConfiguration(TargetSheetId)

LogicalTable(Alias, Source[, DataTransforms])

LogicalTableSource([PhysicalTableId, DataSetArn])

MappedDataSetParameter(DataSetIdentifier, ...)

Bridges an analysis-level parameter to a dataset-level parameter.

Margin([Show])

MeasureField([NumericalMeasureField, ...])

Union type — set exactly one.

NumberFormatConfiguration([FormatConfiguration])

Wrapper carrying the actual format inside its FormatConfiguration slot — this two-level nesting matches the AWS QuickSight wire schema.

NumericAxisOptions([Scale])

NumericFormatConfiguration([...])

Discriminated union — exactly one of the three sub-format configurations is set.

NumericRangeFilter(FilterId, Column[, ...])

NumericRangeFilterValue([StaticValue, Parameter])

Set exactly one — a literal bound or a parameter binding.

NumericalAggregationFunction([...])

NumericalDimensionField(FieldId, Column[, ...])

NumericalMeasureField(FieldId, Column[, ...])

OracleParameters(Host, Port, Database[, ...])

QuickSight OracleParameters shape (boto3 quicksight create-data-source).

ParameterControl([Dropdown, DateTimePicker, ...])

Union type — set exactly one.

ParameterDateTimePickerControl(...)

ParameterDeclaration([...])

Union type — set exactly one.

ParameterDropDownControl(ParameterControlId, ...)

ParameterSliderControl(ParameterControlId, ...)

ParameterTextFieldControl(...)

Free-text input bound to a string parameter.

PhysicalTable([CustomSql])

Union type — set exactly one.

PieChartAggregatedFieldWells([Category, Values])

PieChartConfiguration([FieldWells, ...])

PieChartFieldWells([...])

PieChartVisual(VisualId[, Title, Subtitle, ...])

PostgreSqlParameters(Host, Port, Database)

ResourcePermission(Principal, Actions)

SameSheetTargetVisualConfiguration([...])

SankeyDiagramAggregatedFieldWells([Source, ...])

SankeyDiagramChartConfiguration([...])

SankeyDiagramFieldWells([...])

SankeyDiagramSortConfiguration([WeightSort, ...])

SankeyDiagramVisual(VisualId[, Title, ...])

SelectedSheetsFilterScopeConfiguration([...])

SeparatorConfiguration([DecimalSeparator, ...])

SheetDefinition(SheetId[, Name, Title, ...])

SheetStyle([Tile, TileLayout])

SheetTextBox(SheetTextBoxId, Content)

SheetVisualScopingConfiguration(SheetId, Scope)

SslProperties([DisableSsl])

StringDatasetParameter(*[, Id, DefaultValues])

StringDatasetParameterDefaultValues([...])

StringParameterDeclaration(...[, ...])

TableAggregatedFieldWells([GroupBy, Values])

TableConfiguration([FieldWells, ...])

TableFieldOption(FieldId[, CustomLabel, ...])

Per-column header override for a Table visual (v8.5.0).

TableFieldOptions([SelectedFieldOptions])

Container for per-column table header overrides (v8.5.0).

TableFieldWells([TableAggregatedFieldWells, ...])

TableOptions([HeaderStyle, CellStyle])

TableUnaggregatedFieldWells([Values])

TableVisual(VisualId[, Title, Subtitle, ...])

Tag(Key, Value)

Theme(AwsAccountId, ThemeId, Name, ...[, ...])

ThemeConfiguration([DataColorPalette, ...])

ThousandSeparatorOptions(Symbol, Visibility)

Tile([Border])

TileBorder([Show])

TileLayout([Gutter, Margin])

TimeEqualityFilter(FilterId, Column[, ...])

TimeRangeFilter(FilterId, Column[, ...])

Typography([FontFamilies])

UIColorPalette([PrimaryBackground, ...])

Visual([BarChartVisual, LineChartVisual, ...])

Union type — set exactly one.

VisualCustomAction(CustomActionId, Name, ...)

VisualCustomActionOperation([...])

Union type — set exactly one.

VisualSubtitleLabelOptions([Visibility, ...])

VisualTitleLabelOptions([Visibility, FormatText])

class recon_gen.common.models.AllSheetsFilterScopeConfiguration[source]

Bases: object

class recon_gen.common.models.Analysis(AwsAccountId, AnalysisId, Name, Definition, ThemeArn=None, Permissions=None, Tags=None)[source]

Bases: object

Parameters:
AnalysisId: str
AwsAccountId: str
Definition: AnalysisDefinition
Name: str
Permissions: list[ResourcePermission] | None = None
Tags: list[Tag] | None = None
ThemeArn: str | None = None
to_aws_json()[source]
Return type:

dict[str, Any]

to_json_string(indent=2)[source]
Return type:

str

Parameters:

indent (int)

class recon_gen.common.models.AnalysisDefinition(DataSetIdentifierDeclarations, Sheets=None, FilterGroups=None, ParameterDeclarations=None, CalculatedFields=None, Options=None, AnalysisDefaults=None, QueryExecutionOptions=None)[source]

Bases: object

Parameters:
  • DataSetIdentifierDeclarations (list[DataSetIdentifierDeclaration])

  • Sheets (list[SheetDefinition] | None)

  • FilterGroups (list[FilterGroup] | None)

  • ParameterDeclarations (list[ParameterDeclaration] | None)

  • CalculatedFields (list[dict[str, Any]] | None)

  • Options (dict[str, Any] | None)

  • AnalysisDefaults (dict[str, Any] | None)

  • QueryExecutionOptions (dict[str, Any] | None)

AnalysisDefaults: dict[str, Any] | None = None
CalculatedFields: list[dict[str, Any]] | None = None
DataSetIdentifierDeclarations: list[DataSetIdentifierDeclaration]
FilterGroups: list[FilterGroup] | None = None
Options: dict[str, Any] | None = None
ParameterDeclarations: list[ParameterDeclaration] | None = None
QueryExecutionOptions: dict[str, Any] | None = None
Sheets: list[SheetDefinition] | None = None
class recon_gen.common.models.AxisDataOptions(NumericAxisOptions=None)[source]

Bases: object

Parameters:

NumericAxisOptions (NumericAxisOptions | None)

NumericAxisOptions: NumericAxisOptions | None = None
class recon_gen.common.models.AxisDisplayOptions(DataOptions=None)[source]

Bases: object

The QS AxisDisplayOptions shape — we only populate DataOptions for the log-scale path. The other AxisDisplayOptions sub-fields (TickLabelOptions / AxisLineVisibility / GridLineVisibility / ScrollbarOptions / AxisOffset) stay None so QS defaults take over (we want default tick + grid styling on every axis we touch).

Parameters:

DataOptions (AxisDataOptions | None)

DataOptions: AxisDataOptions | None = None
class recon_gen.common.models.AxisLabelOptions(CustomLabel=None, ApplyTo=None)[source]

Bases: object

Label override for a single axis field.

ApplyTo is the binding to a specific FieldId + dataset column. AWS QuickSight requires it for CustomLabel to render — a label without ApplyTo is parsed cleanly but produces a chart that still shows the raw column name on the axis (silent no-op). v8.6.1 made the field required at the type level after v8.5.5’s auto-derive-but-no-render bug.

Parameters:
ApplyTo: AxisLabelReferenceOptions | None = None
CustomLabel: str | None = None
class recon_gen.common.models.AxisLabelReferenceOptions(FieldId, Column)[source]

Bases: object

Bind an AxisLabelOptions.CustomLabel to a specific field-well leaf. AWS QuickSight requires the ApplyTo reference for the custom label to render on the axis — without it, CustomLabel is silently ignored (chart axis renders the raw column name).

See quicksight-quirks.md entry on chart axis labels.

Parameters:
Column: ColumnIdentifier
FieldId: str
class recon_gen.common.models.AxisLinearScale(StepCount=None, StepSize=None)[source]

Bases: object

Parameters:
  • StepCount (float | None)

  • StepSize (float | None)

StepCount: float | None = None
StepSize: float | None = None
class recon_gen.common.models.AxisLogarithmicScale(Base=None)[source]

Bases: object

Parameters:

Base (float | None)

Base: float | None = None
class recon_gen.common.models.AxisScale(Linear=None, Logarithmic=None)[source]

Bases: object

Discriminated union — set exactly one variant. QS rejects the payload if both Linear AND Logarithmic are non-null.

Parameters:
Linear: AxisLinearScale | None = None
Logarithmic: AxisLogarithmicScale | None = None
class recon_gen.common.models.BarChartAggregatedFieldWells(Category=None, Values=None, Colors=None)[source]

Bases: object

Parameters:
Category: list[DimensionField] | None = None
Colors: list[DimensionField] | None = None
Values: list[MeasureField] | None = None
class recon_gen.common.models.BarChartConfiguration(FieldWells=None, Orientation=None, BarsArrangement=None, SortConfiguration=None, CategoryLabelOptions=None, ValueLabelOptions=None, ColorLabelOptions=None, ValueAxis=None)[source]

Bases: object

Parameters:
BarsArrangement: str | None = None
CategoryLabelOptions: ChartAxisLabelOptions | None = None
ColorLabelOptions: ChartAxisLabelOptions | None = None
FieldWells: BarChartFieldWells | None = None
Orientation: str | None = None
SortConfiguration: BarChartSortConfiguration | None = None
ValueAxis: AxisDisplayOptions | None = None
ValueLabelOptions: ChartAxisLabelOptions | None = None
class recon_gen.common.models.BarChartFieldWells(BarChartAggregatedFieldWells=None)[source]

Bases: object

Parameters:

BarChartAggregatedFieldWells (BarChartAggregatedFieldWells | None)

BarChartAggregatedFieldWells: BarChartAggregatedFieldWells | None = None
class recon_gen.common.models.BarChartSortConfiguration(CategorySort=None)[source]

Bases: object

Parameters:

CategorySort (list[dict[str, Any]] | None)

CategorySort: list[dict[str, Any]] | None = None
class recon_gen.common.models.BarChartVisual(VisualId, Title=None, Subtitle=None, ChartConfiguration=None, Actions=None)[source]

Bases: object

Parameters:
Actions: list[VisualCustomAction] | None = None
ChartConfiguration: BarChartConfiguration | None = None
Subtitle: VisualSubtitleLabelOptions | None = None
Title: VisualTitleLabelOptions | None = None
VisualId: str
class recon_gen.common.models.CascadingControlConfiguration(SourceControls=None)[source]

Bases: object

UI-level cascade wiring: tells QS to refresh THIS control’s options when any of the listed source controls change.

Required for the M.3.10c metadata cascade — without this, even with MappedDataSetParameters correctly bridging analysis params to dataset params, QS won’t refresh the dependent dropdown’s options when the source dropdown changes (the dataset query substitution stays “pending” until something else triggers a refresh, like a sheet reload).

Parameters:

SourceControls (list[CascadingControlSource] | None)

SourceControls: list[CascadingControlSource] | None = None
class recon_gen.common.models.CascadingControlSource(SourceSheetControlId=None, ColumnToMatch=None)[source]

Bases: object

One source control in a CascadingControlConfiguration.

SourceSheetControlId is the upstream control’s ID; QS refreshes THIS control whenever that source control’s value changes. ColumnToMatch is the documented value-match hint (used by column-on-column cascades); for parameter-bridged cascades it can be the dependent control’s own source column — it doubles as a “this column is the one that varies with the source” marker.

Parameters:
ColumnToMatch: ColumnIdentifier | None = None
SourceSheetControlId: str | None = None
class recon_gen.common.models.CategoricalDimensionField(FieldId, Column, HierarchyId=None)[source]

Bases: object

Parameters:
Column: ColumnIdentifier
FieldId: str
HierarchyId: str | None = None
class recon_gen.common.models.CategoricalMeasureField(FieldId, Column, AggregationFunction=None)[source]

Bases: object

Parameters:
AggregationFunction: str | None = None
Column: ColumnIdentifier
FieldId: str
class recon_gen.common.models.CategoryFilter(FilterId, Column, Configuration, DefaultFilterControlConfiguration=None)[source]

Bases: object

Parameters:
Column: ColumnIdentifier
Configuration: CategoryFilterConfiguration
DefaultFilterControlConfiguration: DefaultFilterControlConfiguration | None = None
FilterId: str
class recon_gen.common.models.CategoryFilterConfiguration(FilterListConfiguration=None, CustomFilterListConfiguration=None, CustomFilterConfiguration=None)[source]

Bases: object

Parameters:
  • FilterListConfiguration (dict[str, Any] | None)

  • CustomFilterListConfiguration (dict[str, Any] | None)

  • CustomFilterConfiguration (dict[str, Any] | None)

CustomFilterConfiguration: dict[str, Any] | None = None
CustomFilterListConfiguration: dict[str, Any] | None = None
FilterListConfiguration: dict[str, Any] | None = None
class recon_gen.common.models.ChartAxisLabelOptions(Visibility='VISIBLE', AxisLabelOptions=None)[source]

Bases: object

Axis label options — list of per-field overrides plus visibility.

Parameters:
AxisLabelOptions: list[AxisLabelOptions] | None = None
Visibility: str = 'VISIBLE'
class recon_gen.common.models.ColumnIdentifier(DataSetIdentifier, ColumnName)[source]

Bases: object

References a column on a specific dataset by identifier.

Reused across many AWS QuickSight shapes — every typed field-well leaf (CategoricalDimensionField, DateDimensionField, etc.) and cascading control source carries one.

Parameters:
  • DataSetIdentifier (str)

  • ColumnName (str)

ColumnName: str
DataSetIdentifier: str
class recon_gen.common.models.CredentialPair(Username, Password)[source]

Bases: object

Parameters:
  • Username (str)

  • Password (str)

Password: str
Username: str
class recon_gen.common.models.CurrencyDisplayFormatConfiguration(Symbol=None, DecimalPlacesConfiguration=None, SeparatorConfiguration=None)[source]

Bases: object

Currency-format wire shape. Symbol is an ISO 4217 code ("USD"); QuickSight renders the appropriate symbol prefix ($ for USD, etc.) automatically.

Parameters:
DecimalPlacesConfiguration: DecimalPlacesConfiguration | None = None
SeparatorConfiguration: SeparatorConfiguration | None = None
Symbol: str | None = None
class recon_gen.common.models.CustomActionFilterOperation(SelectedFieldsConfiguration, TargetVisualsConfiguration)[source]

Bases: object

Parameters:
SelectedFieldsConfiguration: FilterOperationSelectedFieldsConfiguration
TargetVisualsConfiguration: FilterOperationTargetVisualsConfiguration
class recon_gen.common.models.CustomActionNavigationOperation(LocalNavigationConfiguration)[source]

Bases: object

Parameters:

LocalNavigationConfiguration (LocalNavigationConfiguration)

LocalNavigationConfiguration: LocalNavigationConfiguration
class recon_gen.common.models.CustomActionSetParametersOperation(ParameterValueConfigurations)[source]

Bases: object

Parameters:

ParameterValueConfigurations (list[dict[str, Any]])

ParameterValueConfigurations: list[dict[str, Any]]
class recon_gen.common.models.CustomSql(Name, DataSourceArn, SqlQuery, Columns)[source]

Bases: object

Parameters:
  • Name (str)

  • DataSourceArn (str)

  • SqlQuery (str)

  • Columns (list[InputColumn])

Columns: list[InputColumn]
DataSourceArn: str
Name: str
SqlQuery: str
class recon_gen.common.models.Dashboard(AwsAccountId, DashboardId, Name, Definition, ThemeArn=None, Permissions=None, Tags=None, VersionDescription=None, DashboardPublishOptions=None, LinkSharingConfiguration=None)[source]

Bases: object

Parameters:
AwsAccountId: str
DashboardId: str
DashboardPublishOptions: DashboardPublishOptions | None = None
Definition: AnalysisDefinition
LinkSharingConfiguration: LinkSharingConfiguration | None = None
Name: str
Permissions: list[ResourcePermission] | None = None
Tags: list[Tag] | None = None
ThemeArn: str | None = None
VersionDescription: str | None = None
to_aws_json()[source]
Return type:

dict[str, Any]

to_json_string(indent=2)[source]
Return type:

str

Parameters:

indent (int)

class recon_gen.common.models.DashboardPublishOptions(AdHocFilteringOption=None, ExportToCSVOption=None, SheetControlsOption=None)[source]

Bases: object

Parameters:
  • AdHocFilteringOption (dict[str, str] | None)

  • ExportToCSVOption (dict[str, str] | None)

  • SheetControlsOption (dict[str, str] | None)

AdHocFilteringOption: dict[str, str] | None = None
ExportToCSVOption: dict[str, str] | None = None
SheetControlsOption: dict[str, str] | None = None
class recon_gen.common.models.DataColorPalette(Colors=None, EmptyFillColor=None, MinMaxGradient=None)[source]

Bases: object

Parameters:
  • Colors (list[str] | None)

  • EmptyFillColor (str | None)

  • MinMaxGradient (list[str] | None)

Colors: list[str] | None = None
EmptyFillColor: str | None = None
MinMaxGradient: list[str] | None = None
class recon_gen.common.models.DataSet(AwsAccountId, DataSetId, Name, PhysicalTableMap, ImportMode='DIRECT_QUERY', LogicalTableMap=None, DataSetUsageConfiguration=None, Permissions=None, Tags=None, DatasetParameters=None)[source]

Bases: object

Parameters:
AwsAccountId: str
DataSetId: str
DataSetUsageConfiguration: DataSetUsageConfiguration | None = None
DatasetParameters: list[DatasetParameter] | None = None
ImportMode: str = 'DIRECT_QUERY'
LogicalTableMap: dict[str, LogicalTable] | None = None
Name: str
Permissions: list[ResourcePermission] | None = None
PhysicalTableMap: dict[str, PhysicalTable]
Tags: list[Tag] | None = None
to_aws_json()[source]
Return type:

dict[str, Any]

to_json_string(indent=2)[source]
Return type:

str

Parameters:

indent (int)

class recon_gen.common.models.DataSetIdentifierDeclaration(Identifier, DataSetArn)[source]

Bases: object

Parameters:
  • Identifier (str)

  • DataSetArn (str)

DataSetArn: str
Identifier: str
class recon_gen.common.models.DataSetUsageConfiguration(DisableUseAsDirectQuerySource=False, DisableUseAsImportedSource=False)[source]

Bases: object

Parameters:
  • DisableUseAsDirectQuerySource (bool)

  • DisableUseAsImportedSource (bool)

DisableUseAsDirectQuerySource: bool = False
DisableUseAsImportedSource: bool = False
class recon_gen.common.models.DataSource(AwsAccountId, DataSourceId, Name, Type, DataSourceParameters, Credentials=None, SslProperties=None, Permissions=None, Tags=None)[source]

Bases: object

Parameters:
AwsAccountId: str
Credentials: DataSourceCredentials | None = None
DataSourceId: str
DataSourceParameters: DataSourceParameters
Name: str
Permissions: list[ResourcePermission] | None = None
SslProperties: SslProperties | None = None
Tags: list[Tag] | None = None
Type: str
to_aws_json()[source]
Return type:

dict[str, Any]

to_json_string(indent=2)[source]
Return type:

str

Parameters:

indent (int)

class recon_gen.common.models.DataSourceCredentials(CredentialPair=None)[source]

Bases: object

Parameters:

CredentialPair (CredentialPair | None)

CredentialPair: CredentialPair | None = None
class recon_gen.common.models.DataSourceParameters(PostgreSqlParameters=None, OracleParameters=None)[source]

Bases: object

Parameters:
OracleParameters: OracleParameters | None = None
PostgreSqlParameters: PostgreSqlParameters | None = None
class recon_gen.common.models.DatasetParameter(StringDatasetParameter=None, IntegerDatasetParameter=None, DecimalDatasetParameter=None, DateTimeDatasetParameter=None)[source]

Bases: object

Discriminated union — set exactly one variant.

Parameters:
DateTimeDatasetParameter: DateTimeDatasetParameter | None = None
DecimalDatasetParameter: DecimalDatasetParameter | None = None
IntegerDatasetParameter: IntegerDatasetParameter | None = None
StringDatasetParameter: StringDatasetParameter | None = None
class recon_gen.common.models.DateDimensionField(FieldId, Column, DateGranularity=None, HierarchyId=None)[source]

Bases: object

Parameters:
  • FieldId (str)

  • Column (ColumnIdentifier)

  • DateGranularity (str | None)

  • HierarchyId (str | None)

Column: ColumnIdentifier
DateGranularity: str | None = None
FieldId: str
HierarchyId: str | None = None
class recon_gen.common.models.DateMeasureField(FieldId, Column, AggregationFunction=None)[source]

Bases: object

Parameters:
AggregationFunction: str | None = None
Column: ColumnIdentifier
FieldId: str
class recon_gen.common.models.DateTimeDatasetParameter(*, Id='', Name, ValueType, TimeGranularity=None, DefaultValues=None)[source]

Bases: object

Parameters:
DefaultValues: DateTimeDatasetParameterDefaultValues | None = None
Id: str = ''
Name: str
TimeGranularity: str | None = None
ValueType: str
class recon_gen.common.models.DateTimeDatasetParameterDefaultValues(StaticValues=None)[source]

Bases: object

Parameters:

StaticValues (list[str] | None)

StaticValues: list[str] | None = None
class recon_gen.common.models.DateTimeDefaultValues(StaticValues=None, DynamicValue=None, RollingDate=None)[source]

Bases: object

Parameters:
  • StaticValues (list[str] | None)

  • DynamicValue (dict[str, Any] | None)

  • RollingDate (dict[str, Any] | None)

DynamicValue: dict[str, Any] | None = None
RollingDate: dict[str, Any] | None = None
StaticValues: list[str] | None = None
class recon_gen.common.models.DateTimeParameterDeclaration(Name, TimeGranularity=None, DefaultValues=None, ValueWhenUnset=None, MappedDataSetParameters=None)[source]

Bases: object

Parameters:
DefaultValues: DateTimeDefaultValues | None = None
MappedDataSetParameters: list[MappedDataSetParameter] | None = None
Name: str
TimeGranularity: str | None = None
ValueWhenUnset: dict[str, Any] | None = None
class recon_gen.common.models.DecimalDatasetParameter(*, Id='', Name, ValueType, DefaultValues=None)[source]

Bases: object

Parameters:
DefaultValues: DecimalDatasetParameterDefaultValues | None = None
Id: str = ''
Name: str
ValueType: str
class recon_gen.common.models.DecimalDatasetParameterDefaultValues(StaticValues=None)[source]

Bases: object

Parameters:

StaticValues (list[float] | None)

StaticValues: list[float] | None = None
class recon_gen.common.models.DecimalPlacesConfiguration(DecimalPlaces)[source]

Bases: object

Wire shape for the per-field decimal-places setting.

Parameters:

DecimalPlaces (int)

DecimalPlaces: int
class recon_gen.common.models.DefaultDateTimePickerControlOptions(Type='DATE_RANGE', CommitMode=None)[source]

Bases: object

Parameters:
  • Type (str)

  • CommitMode (str | None)

CommitMode: str | None = None
Type: str = 'DATE_RANGE'
class recon_gen.common.models.DefaultDropdownControlOptions(Type='MULTI_SELECT', CommitMode=None)[source]

Bases: object

Parameters:
  • Type (str)

  • CommitMode (str | None)

CommitMode: str | None = None
Type: str = 'MULTI_SELECT'
class recon_gen.common.models.DefaultFilterControlConfiguration(Title, ControlOptions)[source]

Bases: object

Parameters:
ControlOptions: DefaultFilterControlOptions
Title: str
class recon_gen.common.models.DefaultFilterControlOptions(DefaultDateTimePickerOptions=None, DefaultDropdownOptions=None, DefaultSliderOptions=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
DefaultDateTimePickerOptions: DefaultDateTimePickerControlOptions | None = None
DefaultDropdownOptions: DefaultDropdownControlOptions | None = None
DefaultSliderOptions: DefaultSliderControlOptions | None = None
class recon_gen.common.models.DefaultSliderControlOptions(MaximumValue, MinimumValue, StepSize, Type='SINGLE_POINT')[source]

Bases: object

Parameters:
  • MaximumValue (float)

  • MinimumValue (float)

  • StepSize (float)

  • Type (str)

MaximumValue: float
MinimumValue: float
StepSize: float
Type: str = 'SINGLE_POINT'
class recon_gen.common.models.DimensionField(CategoricalDimensionField=None, DateDimensionField=None, NumericalDimensionField=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
CategoricalDimensionField: CategoricalDimensionField | None = None
DateDimensionField: DateDimensionField | None = None
NumericalDimensionField: NumericalDimensionField | None = None
class recon_gen.common.models.DonutOptions(ArcOptions=None)[source]

Bases: object

Parameters:

ArcOptions (dict[str, str] | None)

ArcOptions: dict[str, str] | None = None
class recon_gen.common.models.Filter(CategoryFilter=None, TimeRangeFilter=None, TimeEqualityFilter=None, NumericRangeFilter=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
CategoryFilter: CategoryFilter | None = None
NumericRangeFilter: NumericRangeFilter | None = None
TimeEqualityFilter: TimeEqualityFilter | None = None
TimeRangeFilter: TimeRangeFilter | None = None
class recon_gen.common.models.FilterControl(Dropdown=None, DateTimePicker=None, Slider=None, CrossSheet=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
CrossSheet: FilterCrossSheetControl | None = None
DateTimePicker: FilterDateTimePickerControl | None = None
Dropdown: FilterDropDownControl | None = None
Slider: FilterSliderControl | None = None
class recon_gen.common.models.FilterCrossSheetControl(FilterControlId, SourceFilterId)[source]

Bases: object

Parameters:
  • FilterControlId (str)

  • SourceFilterId (str)

FilterControlId: str
SourceFilterId: str
class recon_gen.common.models.FilterDateTimePickerControl(FilterControlId, Title, SourceFilterId, Type=None)[source]

Bases: object

Parameters:
  • FilterControlId (str)

  • Title (str)

  • SourceFilterId (str)

  • Type (str | None)

FilterControlId: str
SourceFilterId: str
Title: str
Type: str | None = None
class recon_gen.common.models.FilterDropDownControl(FilterControlId, Title, SourceFilterId, Type=None, SelectableValues=None)[source]

Bases: object

Parameters:
  • FilterControlId (str)

  • Title (str)

  • SourceFilterId (str)

  • Type (str | None)

  • SelectableValues (dict[str, Any] | None)

FilterControlId: str
SelectableValues: dict[str, Any] | None = None
SourceFilterId: str
Title: str
Type: str | None = None
class recon_gen.common.models.FilterGroup(FilterGroupId, Filters, ScopeConfiguration, CrossDataset='SINGLE_DATASET', Status=None)[source]

Bases: object

Parameters:
  • FilterGroupId (str)

  • Filters (list[Filter])

  • ScopeConfiguration (FilterScopeConfiguration)

  • CrossDataset (Literal['SINGLE_DATASET', 'ALL_DATASETS'])

  • Status (Literal['ENABLED', 'DISABLED'] | None)

ALL_DATASETS: ClassVar[Literal['ALL_DATASETS']] = 'ALL_DATASETS'
CrossDataset: Literal['SINGLE_DATASET', 'ALL_DATASETS'] = 'SINGLE_DATASET'
DISABLED: ClassVar[Literal['DISABLED']] = 'DISABLED'
ENABLED: ClassVar[Literal['ENABLED']] = 'ENABLED'
FilterGroupId: str
Filters: list[Filter]
SINGLE_DATASET: ClassVar[Literal['SINGLE_DATASET']] = 'SINGLE_DATASET'
ScopeConfiguration: FilterScopeConfiguration
Status: Literal['ENABLED', 'DISABLED'] | None = None
class recon_gen.common.models.FilterOperationSelectedFieldsConfiguration(SelectedFieldOptions=None, SelectedFields=None, SelectedColumns=None)[source]

Bases: object

Parameters:
  • SelectedFieldOptions (str | None)

  • SelectedFields (list[str] | None)

  • SelectedColumns (list[ColumnIdentifier] | None)

SelectedColumns: list[ColumnIdentifier] | None = None
SelectedFieldOptions: str | None = None
SelectedFields: list[str] | None = None
class recon_gen.common.models.FilterOperationTargetVisualsConfiguration(SameSheetTargetVisualConfiguration=None)[source]

Bases: object

Parameters:

SameSheetTargetVisualConfiguration (SameSheetTargetVisualConfiguration | None)

SameSheetTargetVisualConfiguration: SameSheetTargetVisualConfiguration | None = None
class recon_gen.common.models.FilterScopeConfiguration(AllSheets=None, SelectedSheets=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
AllSheets: AllSheetsFilterScopeConfiguration | None = None
SelectedSheets: SelectedSheetsFilterScopeConfiguration | None = None
class recon_gen.common.models.FilterSliderControl(FilterControlId, Title, SourceFilterId, MaximumValue, MinimumValue, StepSize, Type=None)[source]

Bases: object

Parameters:
  • FilterControlId (str)

  • Title (str)

  • SourceFilterId (str)

  • MaximumValue (float)

  • MinimumValue (float)

  • StepSize (float)

  • Type (str | None)

FilterControlId: str
MaximumValue: float
MinimumValue: float
SourceFilterId: str
StepSize: float
Title: str
Type: str | None = None
class recon_gen.common.models.FontFamily(FontFamily)[source]

Bases: object

Parameters:

FontFamily (str)

FontFamily: str
class recon_gen.common.models.FreeFormLayoutConfiguration(Elements)[source]

Bases: object

Parameters:

Elements (list[FreeFormLayoutElement])

Elements: list[FreeFormLayoutElement]
class recon_gen.common.models.FreeFormLayoutElement(ElementId, ElementType, XAxisLocation, YAxisLocation, Width, Height, Visibility='VISIBLE')[source]

Bases: object

Parameters:
  • ElementId (str)

  • ElementType (Literal['VISUAL', 'FILTER_CONTROL', 'PARAMETER_CONTROL', 'TEXT_BOX', 'IMAGE'])

  • XAxisLocation (str)

  • YAxisLocation (str)

  • Width (str)

  • Height (str)

  • Visibility (str)

ElementId: str
ElementType: Literal['VISUAL', 'FILTER_CONTROL', 'PARAMETER_CONTROL', 'TEXT_BOX', 'IMAGE']
FILTER_CONTROL: ClassVar[Literal['FILTER_CONTROL']] = 'FILTER_CONTROL'
Height: str
IMAGE: ClassVar[Literal['IMAGE']] = 'IMAGE'
PARAMETER_CONTROL: ClassVar[Literal['PARAMETER_CONTROL']] = 'PARAMETER_CONTROL'
TEXT_BOX: ClassVar[Literal['TEXT_BOX']] = 'TEXT_BOX'
VISUAL: ClassVar[Literal['VISUAL']] = 'VISUAL'
Visibility: str = 'VISIBLE'
Width: str
XAxisLocation: str
YAxisLocation: str
class recon_gen.common.models.GridLayoutConfiguration(Elements, CanvasSizeOptions=None)[source]

Bases: object

Parameters:
CanvasSizeOptions: dict[str, Any] | None = None
Elements: list[GridLayoutElement]
class recon_gen.common.models.GridLayoutElement(ElementId, ElementType, ColumnSpan, RowSpan, ColumnIndex=None, RowIndex=None, Padding=None)[source]

Bases: object

Parameters:
  • ElementId (str)

  • ElementType (Literal['VISUAL', 'FILTER_CONTROL', 'PARAMETER_CONTROL', 'TEXT_BOX', 'IMAGE'])

  • ColumnSpan (int)

  • RowSpan (int)

  • ColumnIndex (int | None)

  • RowIndex (int | None)

  • Padding (str | None)

ColumnIndex: int | None = None
ColumnSpan: int
ElementId: str
ElementType: Literal['VISUAL', 'FILTER_CONTROL', 'PARAMETER_CONTROL', 'TEXT_BOX', 'IMAGE']
FILTER_CONTROL: ClassVar[Literal['FILTER_CONTROL']] = 'FILTER_CONTROL'
IMAGE: ClassVar[Literal['IMAGE']] = 'IMAGE'
PARAMETER_CONTROL: ClassVar[Literal['PARAMETER_CONTROL']] = 'PARAMETER_CONTROL'
Padding: str | None = None
RowIndex: int | None = None
RowSpan: int
TEXT_BOX: ClassVar[Literal['TEXT_BOX']] = 'TEXT_BOX'
VISUAL: ClassVar[Literal['VISUAL']] = 'VISUAL'
class recon_gen.common.models.Gutter(Show=None)[source]

Bases: object

Parameters:

Show (bool | None)

Show: bool | None = None
class recon_gen.common.models.InputColumn(Name, Type, SubType=None)[source]

Bases: object

Parameters:
  • Name (str)

  • Type (str)

  • SubType (str | None)

Name: str
SubType: str | None = None
Type: str
class recon_gen.common.models.IntegerDatasetParameter(*, Id='', Name, ValueType, DefaultValues=None)[source]

Bases: object

Parameters:
DefaultValues: IntegerDatasetParameterDefaultValues | None = None
Id: str = ''
Name: str
ValueType: str
class recon_gen.common.models.IntegerDatasetParameterDefaultValues(StaticValues=None)[source]

Bases: object

Parameters:

StaticValues (list[int] | None)

StaticValues: list[int] | None = None
class recon_gen.common.models.IntegerParameterDeclaration(ParameterValueType, Name, DefaultValues, MappedDataSetParameters=None, ValueWhenUnset=None)[source]

Bases: object

Parameters:
  • ParameterValueType (str)

  • Name (str)

  • DefaultValues (dict[str, Any])

  • MappedDataSetParameters (list[MappedDataSetParameter] | None)

  • ValueWhenUnset (dict[str, Any] | None)

DefaultValues: dict[str, Any]
MappedDataSetParameters: list[MappedDataSetParameter] | None = None
Name: str
ParameterValueType: str
ValueWhenUnset: dict[str, Any] | None = None
class recon_gen.common.models.KPIConfiguration(FieldWells=None, KPIOptions=None)[source]

Bases: object

Parameters:
FieldWells: KPIFieldWells | None = None
KPIOptions: KPIOptions | None = None
class recon_gen.common.models.KPIFieldWells(Values=None, TargetValues=None, TrendGroups=None)[source]

Bases: object

Parameters:
TargetValues: list[MeasureField] | None = None
TrendGroups: list[DimensionField] | None = None
Values: list[MeasureField] | None = None
class recon_gen.common.models.KPIOptions(Comparison=None, PrimaryValueDisplayType=None, SecondaryValueFontConfiguration=None, Sparkline=None, VisualLayoutOptions=None)[source]

Bases: object

KPI display options.

QS rejects partial KPIOptions when the field-well has no TargetValue/TrendGroup (verified against hand-built control KPI on 2026-04-29 — KPIOptions(PrimaryValueDisplayType=”ACTUAL”) alone got rejected with “Only PrimaryValueFontSize display property can be defined…”). The hand-built shape — Comparison + PrimaryValueDisplayType + SecondaryValueFontConfiguration + Sparkline + VisualLayoutOptions — is the smallest set QS UI produces and accepts. Tree’s KPI.emit() defaults to that shape.

Parameters:
  • Comparison (dict[str, Any] | None)

  • PrimaryValueDisplayType (str | None)

  • SecondaryValueFontConfiguration (dict[str, Any] | None)

  • Sparkline (dict[str, Any] | None)

  • VisualLayoutOptions (dict[str, Any] | None)

Comparison: dict[str, Any] | None = None
PrimaryValueDisplayType: str | None = None
SecondaryValueFontConfiguration: dict[str, Any] | None = None
Sparkline: dict[str, Any] | None = None
VisualLayoutOptions: dict[str, Any] | None = None
class recon_gen.common.models.KPIVisual(VisualId, Title=None, Subtitle=None, ChartConfiguration=None, ConditionalFormatting=None)[source]

Bases: object

Parameters:
ChartConfiguration: KPIConfiguration | None = None
ConditionalFormatting: dict[str, Any] | None = None
Subtitle: VisualSubtitleLabelOptions | None = None
Title: VisualTitleLabelOptions | None = None
VisualId: str
class recon_gen.common.models.Layout(Configuration)[source]

Bases: object

Parameters:

Configuration (LayoutConfiguration)

Configuration: LayoutConfiguration
class recon_gen.common.models.LayoutConfiguration(GridLayout=None, FreeFormLayout=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
FreeFormLayout: FreeFormLayoutConfiguration | None = None
GridLayout: GridLayoutConfiguration | None = None
class recon_gen.common.models.LineChartAggregatedFieldWells(Category=None, Values=None, Colors=None)[source]

Bases: object

Parameters:
Category: list[DimensionField] | None = None
Colors: list[DimensionField] | None = None
Values: list[MeasureField] | None = None
class recon_gen.common.models.LineChartConfiguration(FieldWells=None, Type=None, SortConfiguration=None, XAxisLabelOptions=None, PrimaryYAxisLabelOptions=None)[source]

Bases: object

Parameters:
FieldWells: LineChartFieldWells | None = None
PrimaryYAxisLabelOptions: ChartAxisLabelOptions | None = None
SortConfiguration: LineChartSortConfiguration | None = None
Type: str | None = None
XAxisLabelOptions: ChartAxisLabelOptions | None = None
class recon_gen.common.models.LineChartFieldWells(LineChartAggregatedFieldWells=None)[source]

Bases: object

Parameters:

LineChartAggregatedFieldWells (LineChartAggregatedFieldWells | None)

LineChartAggregatedFieldWells: LineChartAggregatedFieldWells | None = None
class recon_gen.common.models.LineChartSortConfiguration(CategorySort=None)[source]

Bases: object

Parameters:

CategorySort (list[dict[str, Any]] | None)

CategorySort: list[dict[str, Any]] | None = None
class recon_gen.common.models.LineChartVisual(VisualId, Title=None, Subtitle=None, ChartConfiguration=None, Actions=None)[source]

Bases: object

Parameters:
Actions: list[VisualCustomAction] | None = None
ChartConfiguration: LineChartConfiguration | None = None
Subtitle: VisualSubtitleLabelOptions | None = None
Title: VisualTitleLabelOptions | None = None
VisualId: str
class recon_gen.common.models.LinkSharingConfiguration(Permissions=None)[source]

Bases: object

Parameters:

Permissions (list[ResourcePermission] | None)

Permissions: list[ResourcePermission] | None = None
class recon_gen.common.models.LocalNavigationConfiguration(TargetSheetId)[source]

Bases: object

Parameters:

TargetSheetId (str)

TargetSheetId: str
class recon_gen.common.models.LogicalTable(Alias, Source, DataTransforms=None)[source]

Bases: object

Parameters:
Alias: str
DataTransforms: list[dict[str, Any]] | None = None
Source: LogicalTableSource
class recon_gen.common.models.LogicalTableSource(PhysicalTableId=None, DataSetArn=None)[source]

Bases: object

Parameters:
  • PhysicalTableId (str | None)

  • DataSetArn (str | None)

DataSetArn: str | None = None
PhysicalTableId: str | None = None
class recon_gen.common.models.MappedDataSetParameter(DataSetIdentifier, DataSetParameterName)[source]

Bases: object

Bridges an analysis-level parameter to a dataset-level parameter.

When the analysis parameter changes, QuickSight pushes the value into the named dataset parameter — which then substitutes into the dataset’s CustomSql via <<$paramName>> at query time. The mapping list lives on the analysis ParameterDeclaration variant (StringParameterDeclaration, etc.).

Parameters:
  • DataSetIdentifier (str)

  • DataSetParameterName (str)

DataSetIdentifier: str
DataSetParameterName: str
class recon_gen.common.models.Margin(Show=None)[source]

Bases: object

Parameters:

Show (bool | None)

Show: bool | None = None
class recon_gen.common.models.MeasureField(NumericalMeasureField=None, CategoricalMeasureField=None, DateMeasureField=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
CategoricalMeasureField: CategoricalMeasureField | None = None
DateMeasureField: DateMeasureField | None = None
NumericalMeasureField: NumericalMeasureField | None = None
class recon_gen.common.models.NumberFormatConfiguration(FormatConfiguration=None)[source]

Bases: object

Wrapper carrying the actual format inside its FormatConfiguration slot — this two-level nesting matches the AWS QuickSight wire schema.

Parameters:

FormatConfiguration (NumericFormatConfiguration | None)

FormatConfiguration: NumericFormatConfiguration | None = None
class recon_gen.common.models.NumericAxisOptions(Scale=None)[source]

Bases: object

Parameters:

Scale (AxisScale | None)

Scale: AxisScale | None = None
class recon_gen.common.models.NumericFormatConfiguration(NumberDisplayFormatConfiguration=None, CurrencyDisplayFormatConfiguration=None, PercentageDisplayFormatConfiguration=None)[source]

Bases: object

Discriminated union — exactly one of the three sub-format configurations is set.

Parameters:
  • NumberDisplayFormatConfiguration (dict[str, Any] | None)

  • CurrencyDisplayFormatConfiguration (CurrencyDisplayFormatConfiguration | None)

  • PercentageDisplayFormatConfiguration (dict[str, Any] | None)

CurrencyDisplayFormatConfiguration: CurrencyDisplayFormatConfiguration | None = None
NumberDisplayFormatConfiguration: dict[str, Any] | None = None
PercentageDisplayFormatConfiguration: dict[str, Any] | None = None
class recon_gen.common.models.NumericRangeFilter(FilterId, Column, NullOption='NON_NULLS_ONLY', RangeMinimum=None, RangeMaximum=None, IncludeMinimum=None, IncludeMaximum=None, DefaultFilterControlConfiguration=None)[source]

Bases: object

Parameters:
Column: ColumnIdentifier
DefaultFilterControlConfiguration: DefaultFilterControlConfiguration | None = None
FilterId: str
IncludeMaximum: bool | None = None
IncludeMinimum: bool | None = None
NullOption: str = 'NON_NULLS_ONLY'
RangeMaximum: NumericRangeFilterValue | None = None
RangeMinimum: NumericRangeFilterValue | None = None
class recon_gen.common.models.NumericRangeFilterValue(StaticValue=None, Parameter=None)[source]

Bases: object

Set exactly one — a literal bound or a parameter binding.

Parameters:
  • StaticValue (float | None)

  • Parameter (str | None)

Parameter: str | None = None
StaticValue: float | None = None
class recon_gen.common.models.NumericalAggregationFunction(SimpleNumericalAggregation=None)[source]

Bases: object

Parameters:

SimpleNumericalAggregation (str | None)

SimpleNumericalAggregation: str | None = None
class recon_gen.common.models.NumericalDimensionField(FieldId, Column, HierarchyId=None, FormatConfiguration=None)[source]

Bases: object

Parameters:
Column: ColumnIdentifier
FieldId: str
FormatConfiguration: NumberFormatConfiguration | None = None
HierarchyId: str | None = None
class recon_gen.common.models.NumericalMeasureField(FieldId, Column, AggregationFunction=None, FormatConfiguration=None)[source]

Bases: object

Parameters:
AggregationFunction: NumericalAggregationFunction | None = None
Column: ColumnIdentifier
FieldId: str
FormatConfiguration: NumberFormatConfiguration | None = None
class recon_gen.common.models.OracleParameters(Host, Port, Database, UseServiceName=True)[source]

Bases: object

QuickSight OracleParameters shape (boto3 quicksight create-data-source).

Per the AWS QuickSight API: - Host — RDS Oracle endpoint hostname. - Port — listener port (defaults 1521). - Database — SID or service name (e.g. ORCL). - UseServiceName — when True, Database is treated as a

service name; when False (AWS default), as a SID.

UseServiceName defaults True on this dataclass because RDS Oracle endpoints (and Aurora Oracle) connect via service name — the SID-style interpretation only matches older self-managed Oracle installs. Override at construction if needed.

Parameters:
  • Host (str)

  • Port (int)

  • Database (str)

  • UseServiceName (bool)

Database: str
Host: str
Port: int
UseServiceName: bool = True
class recon_gen.common.models.ParameterControl(Dropdown=None, DateTimePicker=None, Slider=None, TextField=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
DateTimePicker: ParameterDateTimePickerControl | None = None
Dropdown: ParameterDropDownControl | None = None
Slider: ParameterSliderControl | None = None
TextField: ParameterTextFieldControl | None = None
class recon_gen.common.models.ParameterDateTimePickerControl(ParameterControlId, Title, SourceParameterName)[source]

Bases: object

Parameters:
  • ParameterControlId (str)

  • Title (str)

  • SourceParameterName (str)

ParameterControlId: str
SourceParameterName: str
Title: str
class recon_gen.common.models.ParameterDeclaration(StringParameterDeclaration=None, IntegerParameterDeclaration=None, DateTimeParameterDeclaration=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
DateTimeParameterDeclaration: DateTimeParameterDeclaration | None = None
IntegerParameterDeclaration: IntegerParameterDeclaration | None = None
StringParameterDeclaration: StringParameterDeclaration | None = None
class recon_gen.common.models.ParameterDropDownControl(ParameterControlId, Title, SourceParameterName, Type=None, SelectableValues=None, DisplayOptions=None, CascadingControlConfiguration=None)[source]

Bases: object

Parameters:
  • ParameterControlId (str)

  • Title (str)

  • SourceParameterName (str)

  • Type (str | None)

  • SelectableValues (dict[str, Any] | None)

  • DisplayOptions (dict[str, Any] | None)

  • CascadingControlConfiguration (CascadingControlConfiguration | None)

CascadingControlConfiguration: CascadingControlConfiguration | None = None
DisplayOptions: dict[str, Any] | None = None
ParameterControlId: str
SelectableValues: dict[str, Any] | None = None
SourceParameterName: str
Title: str
Type: str | None = None
class recon_gen.common.models.ParameterSliderControl(ParameterControlId, Title, SourceParameterName, MinimumValue, MaximumValue, StepSize)[source]

Bases: object

Parameters:
  • ParameterControlId (str)

  • Title (str)

  • SourceParameterName (str)

  • MinimumValue (float)

  • MaximumValue (float)

  • StepSize (float)

MaximumValue: float
MinimumValue: float
ParameterControlId: str
SourceParameterName: str
StepSize: float
Title: str
class recon_gen.common.models.ParameterTextFieldControl(ParameterControlId, Title, SourceParameterName)[source]

Bases: object

Free-text input bound to a string parameter. The analyst types a value; QS sets the bound parameter to that value (no enumeration).

Right shape for parameters whose option universe is unbounded / unknown at deploy time, or where the LinkedValues / StaticValues sample-fetch path is misbehaving (the X.1.b L2FT cascade Value dropdown ran into Sample values not found from QS’s lazy sample-values fetch on cold per-CI-run dashboards; text input has no equivalent fetch path).

Parameters:
  • ParameterControlId (str)

  • Title (str)

  • SourceParameterName (str)

ParameterControlId: str
SourceParameterName: str
Title: str
class recon_gen.common.models.PhysicalTable(CustomSql=None)[source]

Bases: object

Union type — set exactly one.

Parameters:

CustomSql (CustomSql | None)

CustomSql: CustomSql | None = None
class recon_gen.common.models.PieChartAggregatedFieldWells(Category=None, Values=None)[source]

Bases: object

Parameters:
Category: list[DimensionField] | None = None
Values: list[MeasureField] | None = None
class recon_gen.common.models.PieChartConfiguration(FieldWells=None, DonutOptions=None, CategoryLabelOptions=None, ValueLabelOptions=None)[source]

Bases: object

Parameters:
CategoryLabelOptions: ChartAxisLabelOptions | None = None
DonutOptions: DonutOptions | None = None
FieldWells: PieChartFieldWells | None = None
ValueLabelOptions: ChartAxisLabelOptions | None = None
class recon_gen.common.models.PieChartFieldWells(PieChartAggregatedFieldWells=None)[source]

Bases: object

Parameters:

PieChartAggregatedFieldWells (PieChartAggregatedFieldWells | None)

PieChartAggregatedFieldWells: PieChartAggregatedFieldWells | None = None
class recon_gen.common.models.PieChartVisual(VisualId, Title=None, Subtitle=None, ChartConfiguration=None, Actions=None)[source]

Bases: object

Parameters:
Actions: list[VisualCustomAction] | None = None
ChartConfiguration: PieChartConfiguration | None = None
Subtitle: VisualSubtitleLabelOptions | None = None
Title: VisualTitleLabelOptions | None = None
VisualId: str
class recon_gen.common.models.PostgreSqlParameters(Host, Port, Database)[source]

Bases: object

Parameters:
  • Host (str)

  • Port (int)

  • Database (str)

Database: str
Host: str
Port: int
class recon_gen.common.models.ResourcePermission(Principal, Actions)[source]

Bases: object

Parameters:
  • Principal (str)

  • Actions (list[str])

Actions: list[str]
Principal: str
class recon_gen.common.models.SameSheetTargetVisualConfiguration(TargetVisualOptions=None, TargetVisuals=None)[source]

Bases: object

Parameters:
  • TargetVisualOptions (str | None)

  • TargetVisuals (list[str] | None)

TargetVisualOptions: str | None = None
TargetVisuals: list[str] | None = None
class recon_gen.common.models.SankeyDiagramAggregatedFieldWells(Source=None, Destination=None, Weight=None)[source]

Bases: object

Parameters:
Destination: list[DimensionField] | None = None
Source: list[DimensionField] | None = None
Weight: list[MeasureField] | None = None
class recon_gen.common.models.SankeyDiagramChartConfiguration(FieldWells=None, SortConfiguration=None, DataLabels=None)[source]

Bases: object

Parameters:
DataLabels: dict[str, Any] | None = None
FieldWells: SankeyDiagramFieldWells | None = None
SortConfiguration: SankeyDiagramSortConfiguration | None = None
class recon_gen.common.models.SankeyDiagramFieldWells(SankeyDiagramAggregatedFieldWells=None)[source]

Bases: object

Parameters:

SankeyDiagramAggregatedFieldWells (SankeyDiagramAggregatedFieldWells | None)

SankeyDiagramAggregatedFieldWells: SankeyDiagramAggregatedFieldWells | None = None
class recon_gen.common.models.SankeyDiagramSortConfiguration(WeightSort=None, SourceItemsLimit=None, DestinationItemsLimit=None)[source]

Bases: object

Parameters:
  • WeightSort (list[dict[str, Any]] | None)

  • SourceItemsLimit (dict[str, Any] | None)

  • DestinationItemsLimit (dict[str, Any] | None)

DestinationItemsLimit: dict[str, Any] | None = None
SourceItemsLimit: dict[str, Any] | None = None
WeightSort: list[dict[str, Any]] | None = None
class recon_gen.common.models.SankeyDiagramVisual(VisualId, Title=None, Subtitle=None, ChartConfiguration=None, Actions=None)[source]

Bases: object

Parameters:
Actions: list[VisualCustomAction] | None = None
ChartConfiguration: SankeyDiagramChartConfiguration | None = None
Subtitle: VisualSubtitleLabelOptions | None = None
Title: VisualTitleLabelOptions | None = None
VisualId: str
class recon_gen.common.models.SelectedSheetsFilterScopeConfiguration(SheetVisualScopingConfigurations=None)[source]

Bases: object

Parameters:

SheetVisualScopingConfigurations (list[SheetVisualScopingConfiguration] | None)

SheetVisualScopingConfigurations: list[SheetVisualScopingConfiguration] | None = None
class recon_gen.common.models.SeparatorConfiguration(DecimalSeparator=None, ThousandsSeparator=None)[source]

Bases: object

Parameters:
DecimalSeparator: str | None = None
ThousandsSeparator: ThousandSeparatorOptions | None = None
class recon_gen.common.models.SheetDefinition(SheetId, Name=None, Title=None, Description=None, ContentType='INTERACTIVE', Visuals=None, FilterControls=None, ParameterControls=None, Layouts=None, TextBoxes=None)[source]

Bases: object

Parameters:
  • SheetId (str)

  • Name (str | None)

  • Title (str | None)

  • Description (str | None)

  • ContentType (str)

  • Visuals (list[Visual] | None)

  • FilterControls (list[FilterControl] | None)

  • ParameterControls (list[ParameterControl] | None)

  • Layouts (list[Layout] | None)

  • TextBoxes (list[SheetTextBox] | None)

ContentType: str = 'INTERACTIVE'
Description: str | None = None
FilterControls: list[FilterControl] | None = None
Layouts: list[Layout] | None = None
Name: str | None = None
ParameterControls: list[ParameterControl] | None = None
SheetId: str
TextBoxes: list[SheetTextBox] | None = None
Title: str | None = None
Visuals: list[Visual] | None = None
class recon_gen.common.models.SheetStyle(Tile=None, TileLayout=None)[source]

Bases: object

Parameters:
Tile: Tile | None = None
TileLayout: TileLayout | None = None
class recon_gen.common.models.SheetTextBox(SheetTextBoxId, Content)[source]

Bases: object

Parameters:
  • SheetTextBoxId (str)

  • Content (str)

Content: str
SheetTextBoxId: str
class recon_gen.common.models.SheetVisualScopingConfiguration(SheetId, Scope, VisualIds=None)[source]

Bases: object

Parameters:
  • SheetId (str)

  • Scope (Literal['ALL_VISUALS', 'SELECTED_VISUALS'])

  • VisualIds (list[str] | None)

ALL_VISUALS: ClassVar[Literal['ALL_VISUALS']] = 'ALL_VISUALS'
SELECTED_VISUALS: ClassVar[Literal['SELECTED_VISUALS']] = 'SELECTED_VISUALS'
Scope: Literal['ALL_VISUALS', 'SELECTED_VISUALS']
SheetId: str
VisualIds: list[str] | None = None
class recon_gen.common.models.SslProperties(DisableSsl=False)[source]

Bases: object

Parameters:

DisableSsl (bool)

DisableSsl: bool = False
class recon_gen.common.models.StringDatasetParameter(*, Id='', Name, ValueType, DefaultValues=None)[source]

Bases: object

Parameters:
DefaultValues: StringDatasetParameterDefaultValues | None = None
Id: str = ''
Name: str
ValueType: str
class recon_gen.common.models.StringDatasetParameterDefaultValues(StaticValues=None)[source]

Bases: object

Parameters:

StaticValues (list[str] | None)

StaticValues: list[str] | None = None
class recon_gen.common.models.StringParameterDeclaration(ParameterValueType, Name, DefaultValues, MappedDataSetParameters=None, ValueWhenUnset=None)[source]

Bases: object

Parameters:
  • ParameterValueType (str)

  • Name (str)

  • DefaultValues (dict[str, Any])

  • MappedDataSetParameters (list[MappedDataSetParameter] | None)

  • ValueWhenUnset (dict[str, Any] | None)

DefaultValues: dict[str, Any]
MappedDataSetParameters: list[MappedDataSetParameter] | None = None
Name: str
ParameterValueType: str
ValueWhenUnset: dict[str, Any] | None = None
class recon_gen.common.models.TableAggregatedFieldWells(GroupBy=None, Values=None)[source]

Bases: object

Parameters:
GroupBy: list[DimensionField] | None = None
Values: list[MeasureField] | None = None
class recon_gen.common.models.TableConfiguration(FieldWells=None, SortConfiguration=None, TableOptions=None, FieldOptions=None)[source]

Bases: object

Parameters:
FieldOptions: TableFieldOptions | None = None
FieldWells: TableFieldWells | None = None
SortConfiguration: dict[str, Any] | None = None
TableOptions: TableOptions | None = None
class recon_gen.common.models.TableFieldOption(FieldId, CustomLabel=None, Visibility='VISIBLE')[source]

Bases: object

Per-column header override for a Table visual (v8.5.0).

FieldId references one of the Table’s field-well leaves (Dim or Measure). CustomLabel overrides the header text QuickSight would otherwise auto-derive from the column name. Visibility defaults to "VISIBLE".

Parameters:
  • FieldId (str)

  • CustomLabel (str | None)

  • Visibility (str)

CustomLabel: str | None = None
FieldId: str
Visibility: str = 'VISIBLE'
class recon_gen.common.models.TableFieldOptions(SelectedFieldOptions=None)[source]

Bases: object

Container for per-column table header overrides (v8.5.0).

Parameters:

SelectedFieldOptions (list[TableFieldOption] | None)

SelectedFieldOptions: list[TableFieldOption] | None = None
class recon_gen.common.models.TableFieldWells(TableAggregatedFieldWells=None, TableUnaggregatedFieldWells=None)[source]

Bases: object

Parameters:
TableAggregatedFieldWells: TableAggregatedFieldWells | None = None
TableUnaggregatedFieldWells: TableUnaggregatedFieldWells | None = None
class recon_gen.common.models.TableOptions(HeaderStyle=None, CellStyle=None)[source]

Bases: object

Parameters:
  • HeaderStyle (dict[str, Any] | None)

  • CellStyle (dict[str, Any] | None)

CellStyle: dict[str, Any] | None = None
HeaderStyle: dict[str, Any] | None = None
class recon_gen.common.models.TableUnaggregatedFieldWells(Values=None)[source]

Bases: object

Parameters:

Values (list[dict[str, Any]] | None)

Values: list[dict[str, Any]] | None = None
class recon_gen.common.models.TableVisual(VisualId, Title=None, Subtitle=None, ChartConfiguration=None, Actions=None, ConditionalFormatting=None)[source]

Bases: object

Parameters:
Actions: list[VisualCustomAction] | None = None
ChartConfiguration: TableConfiguration | None = None
ConditionalFormatting: dict[str, Any] | None = None
Subtitle: VisualSubtitleLabelOptions | None = None
Title: VisualTitleLabelOptions | None = None
VisualId: str
class recon_gen.common.models.Tag(Key, Value)[source]

Bases: object

Parameters:
  • Key (str)

  • Value (str)

Key: str
Value: str
class recon_gen.common.models.Theme(AwsAccountId, ThemeId, Name, BaseThemeId, Configuration, Permissions=None, Tags=None, VersionDescription=None)[source]

Bases: object

Parameters:
  • AwsAccountId (str)

  • ThemeId (str)

  • Name (str)

  • BaseThemeId (str)

  • Configuration (ThemeConfiguration)

  • Permissions (list[ResourcePermission] | None)

  • Tags (list[Tag] | None)

  • VersionDescription (str | None)

AwsAccountId: str
BaseThemeId: str
Configuration: ThemeConfiguration
Name: str
Permissions: list[ResourcePermission] | None = None
Tags: list[Tag] | None = None
ThemeId: str
VersionDescription: str | None = None
to_aws_json()[source]
Return type:

dict[str, Any]

to_json_string(indent=2)[source]
Return type:

str

Parameters:

indent (int)

class recon_gen.common.models.ThemeConfiguration(DataColorPalette=None, UIColorPalette=None, Sheet=None, Typography=None)[source]

Bases: object

Parameters:
DataColorPalette: DataColorPalette | None = None
Sheet: SheetStyle | None = None
Typography: Typography | None = None
UIColorPalette: UIColorPalette | None = None
class recon_gen.common.models.ThousandSeparatorOptions(Symbol, Visibility)[source]

Bases: object

Parameters:
  • Symbol (str)

  • Visibility (str)

Symbol: str
Visibility: str
class recon_gen.common.models.Tile(Border=None)[source]

Bases: object

Parameters:

Border (TileBorder | None)

Border: TileBorder | None = None
class recon_gen.common.models.TileBorder(Show=None)[source]

Bases: object

Parameters:

Show (bool | None)

Show: bool | None = None
class recon_gen.common.models.TileLayout(Gutter=None, Margin=None)[source]

Bases: object

Parameters:
Gutter: Gutter | None = None
Margin: Margin | None = None
class recon_gen.common.models.TimeEqualityFilter(FilterId, Column, Value=None, ParameterName=None, TimeGranularity=None, RollingDate=None, DefaultFilterControlConfiguration=None)[source]

Bases: object

Parameters:
Column: ColumnIdentifier
DefaultFilterControlConfiguration: DefaultFilterControlConfiguration | None = None
FilterId: str
ParameterName: str | None = None
RollingDate: dict[str, Any] | None = None
TimeGranularity: str | None = None
Value: str | None = None
class recon_gen.common.models.TimeRangeFilter(FilterId, Column, NullOption='NON_NULLS_ONLY', TimeGranularity=None, RangeMinimumValue=None, RangeMaximumValue=None, IncludeMinimum=None, IncludeMaximum=None, DefaultFilterControlConfiguration=None)[source]

Bases: object

Parameters:
  • FilterId (str)

  • Column (ColumnIdentifier)

  • NullOption (str)

  • TimeGranularity (str | None)

  • RangeMinimumValue (dict[str, Any] | None)

  • RangeMaximumValue (dict[str, Any] | None)

  • IncludeMinimum (bool | None)

  • IncludeMaximum (bool | None)

  • DefaultFilterControlConfiguration (DefaultFilterControlConfiguration | None)

Column: ColumnIdentifier
DefaultFilterControlConfiguration: DefaultFilterControlConfiguration | None = None
FilterId: str
IncludeMaximum: bool | None = None
IncludeMinimum: bool | None = None
NullOption: str = 'NON_NULLS_ONLY'
RangeMaximumValue: dict[str, Any] | None = None
RangeMinimumValue: dict[str, Any] | None = None
TimeGranularity: str | None = None
class recon_gen.common.models.Typography(FontFamilies=None)[source]

Bases: object

Parameters:

FontFamilies (list[FontFamily] | None)

FontFamilies: list[FontFamily] | None = None
class recon_gen.common.models.UIColorPalette(PrimaryBackground=None, PrimaryForeground=None, SecondaryBackground=None, SecondaryForeground=None, Accent=None, AccentForeground=None, Danger=None, DangerForeground=None, Warning=None, WarningForeground=None, Success=None, SuccessForeground=None, Dimension=None, DimensionForeground=None, Measure=None, MeasureForeground=None)[source]

Bases: object

Parameters:
  • PrimaryBackground (str | None)

  • PrimaryForeground (str | None)

  • SecondaryBackground (str | None)

  • SecondaryForeground (str | None)

  • Accent (str | None)

  • AccentForeground (str | None)

  • Danger (str | None)

  • DangerForeground (str | None)

  • Warning (str | None)

  • WarningForeground (str | None)

  • Success (str | None)

  • SuccessForeground (str | None)

  • Dimension (str | None)

  • DimensionForeground (str | None)

  • Measure (str | None)

  • MeasureForeground (str | None)

Accent: str | None = None
AccentForeground: str | None = None
Danger: str | None = None
DangerForeground: str | None = None
Dimension: str | None = None
DimensionForeground: str | None = None
Measure: str | None = None
MeasureForeground: str | None = None
PrimaryBackground: str | None = None
PrimaryForeground: str | None = None
SecondaryBackground: str | None = None
SecondaryForeground: str | None = None
Success: str | None = None
SuccessForeground: str | None = None
Warning: str | None = None
WarningForeground: str | None = None
class recon_gen.common.models.Visual(BarChartVisual=None, LineChartVisual=None, PieChartVisual=None, KPIVisual=None, TableVisual=None, SankeyDiagramVisual=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
BarChartVisual: BarChartVisual | None = None
KPIVisual: KPIVisual | None = None
LineChartVisual: LineChartVisual | None = None
PieChartVisual: PieChartVisual | None = None
SankeyDiagramVisual: SankeyDiagramVisual | None = None
TableVisual: TableVisual | None = None
class recon_gen.common.models.VisualCustomAction(CustomActionId, Name, Trigger, ActionOperations, Status='ENABLED')[source]

Bases: object

Parameters:
  • CustomActionId (str)

  • Name (str)

  • Trigger (Literal['DATA_POINT_CLICK', 'DATA_POINT_MENU'])

  • ActionOperations (list[VisualCustomActionOperation])

  • Status (Literal['ENABLED', 'DISABLED'])

ActionOperations: list[VisualCustomActionOperation]
CustomActionId: str
DATA_POINT_CLICK: ClassVar[Literal['DATA_POINT_CLICK']] = 'DATA_POINT_CLICK'
DATA_POINT_MENU: ClassVar[Literal['DATA_POINT_MENU']] = 'DATA_POINT_MENU'
DISABLED: ClassVar[Literal['DISABLED']] = 'DISABLED'
ENABLED: ClassVar[Literal['ENABLED']] = 'ENABLED'
Name: str
Status: Literal['ENABLED', 'DISABLED'] = 'ENABLED'
Trigger: Literal['DATA_POINT_CLICK', 'DATA_POINT_MENU']
class recon_gen.common.models.VisualCustomActionOperation(NavigationOperation=None, SetParametersOperation=None, FilterOperation=None)[source]

Bases: object

Union type — set exactly one.

Parameters:
FilterOperation: CustomActionFilterOperation | None = None
NavigationOperation: CustomActionNavigationOperation | None = None
SetParametersOperation: CustomActionSetParametersOperation | None = None
class recon_gen.common.models.VisualSubtitleLabelOptions(Visibility='VISIBLE', FormatText=None)[source]

Bases: object

Parameters:
  • Visibility (str)

  • FormatText (dict[str, str] | None)

FormatText: dict[str, str] | None = None
Visibility: str = 'VISIBLE'
class recon_gen.common.models.VisualTitleLabelOptions(Visibility='VISIBLE', FormatText=None)[source]

Bases: object

Parameters:
  • Visibility (str)

  • FormatText (dict[str, str] | None)

FormatText: dict[str, str] | None = None
Visibility: str = 'VISIBLE'