Documentation
¶
Overview ¶
Package models holds Terraform Plugin Framework state models for the elasticstack_kibana_dashboard resource: structs tagged with `tfsdk` and no conversion or schema logic. Keeping these types in a dedicated package lets dashboard implementation code import them without import cycles.
Index ¶
- func ApplyPinnedSiblingControlConfig(pp *PinnedPanelModel, active string, pm *PanelModel)
- func SeedPinnedPanelForRead(prior *PinnedPanelModel, discriminator string) (PinnedPanelModel, *PanelModel)
- type AccessControlValue
- type AxisTitleModel
- type ChartFilterJSONModel
- type DashboardModel
- type DashboardQueryModel
- type DataLayerModel
- type DatatableConfigModel
- type DatatableDensityHeightHeaderModel
- type DatatableDensityHeightModel
- type DatatableDensityHeightValueModel
- type DatatableDensityModel
- type DatatableESQLConfigModel
- type DatatableMetricModel
- type DatatableNoESQLConfigModel
- type DatatableRowModel
- type DatatableSplitByModel
- type DatatableStylingModel
- type DiscoverSessionColumnSettingModel
- type DiscoverSessionDSLTabModel
- type DiscoverSessionESQLTabModel
- type DiscoverSessionOverridesModel
- type DiscoverSessionPanelByRefModel
- type DiscoverSessionPanelByValueModel
- type DiscoverSessionPanelConfigModel
- type DiscoverSessionPanelDrilldown
- type DiscoverSessionSortModel
- type DiscoverSessionTabModel
- type DrilldownDashboardBlockModel
- type DrilldownDiscoverBlockModel
- type DrilldownItemModel
- type DrilldownURLBlockModel
- type DrilldownsModel
- type EsqlControlConfigModel
- type EsqlControlDisplaySettingsModel
- type FilterSimpleModel
- type FontSizeModel
- type GaugeConfigModel
- type GaugeEsqlColumnRef
- type GaugeEsqlMetric
- type GaugeEsqlTicks
- type GaugeEsqlTitle
- type GaugeStylingModel
- type HeatmapAxesModel
- type HeatmapCellsLabelsModel
- type HeatmapCellsModel
- type HeatmapConfigModel
- type HeatmapLegendModel
- type HeatmapStylingModel
- type HeatmapXAxisLabelsModel
- type HeatmapXAxisModel
- type HeatmapYAxisLabelsModel
- type HeatmapYAxisModel
- type ImagePanelConfigModel
- type ImagePanelDashboardDrilldownModel
- type ImagePanelDrilldownModel
- type ImagePanelSrcFileModel
- type ImagePanelSrcModel
- type ImagePanelSrcURLModel
- type ImagePanelURLDrilldownModel
- type LegacyMetricConfigModel
- type LensByValueChartBlocks
- type LensChartBaseTFModel
- type LensChartPresentationTFModel
- type LensDashboardDrilldownTFModel
- type LensDiscoverDrilldownTFModel
- type LensDrilldownItemTFModel
- type LensStaticColorModel
- type LensURLDrilldownTFModel
- type MarkdownConfigByReferenceModel
- type MarkdownConfigByValueModel
- type MarkdownConfigModel
- type MarkdownConfigSettingsModel
- type MetricChartConfigModel
- type MetricChartCoreTFModel
- type MetricItemModel
- type MosaicConfigModel
- type MosaicEsqlMetric
- type OptionsListControlConfigModel
- type OptionsListControlDisplaySettingsModel
- type OptionsListControlSortModel
- type OptionsModel
- type PanelGridModel
- type PanelModel
- type PartitionEsqlGroupByModel
- type PartitionLegendModel
- type PartitionValueDisplay
- type PieChartConfigModel
- type PieGroupByModel
- type PieMetricModel
- type PinnedPanelModel
- type RangeSliderControlConfigModel
- type ReferenceLineLayerModel
- type RefreshIntervalModel
- type RegionMapConfigModel
- type SectionGridModel
- type SectionModel
- type SloAlertsPanelConfigModel
- type SloAlertsPanelSloModel
- type SloBurnRateConfigModel
- type SloErrorBudgetConfigModel
- type SloGroupFiltersModel
- type SloOverviewConfigModel
- type SloOverviewGroupsModel
- type SloOverviewSingleModel
- type SyntheticsFilterItemModel
- type SyntheticsFiltersModel
- type SyntheticsMonitorsConfigModel
- type SyntheticsStatsOverviewConfigModel
- type TagcloudConfigModel
- type TagcloudEsqlMetric
- type TagcloudEsqlTagBy
- type ThresholdModel
- type TimeRangeModel
- type TimeSliderControlConfigModel
- type TreemapConfigModel
- type TreemapEsqlMetric
- type URLDrilldownModel
- type VisByReferenceModel
- type VisByValueModel
- type VisConfigModel
- type WaffleConfigModel
- type WaffleDSLGroupBy
- type WaffleDSLMetric
- type WaffleEsqlMetric
- type WaffleLegendModel
- type XYAxisConfigModel
- type XYAxisModel
- type XYChartConfigModel
- type XYDecorationsModel
- type XYFittingModel
- type XYLayerModel
- type XYLegendModel
- type YAxisConfigModel
- type YMetricModel
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyPinnedSiblingControlConfig ¶
func ApplyPinnedSiblingControlConfig(pp *PinnedPanelModel, active string, pm *PanelModel)
ApplyPinnedSiblingControlConfig copies the active control config slot from synthetic pm onto ppm and clears mismatched sibling slots.
func SeedPinnedPanelForRead ¶
func SeedPinnedPanelForRead(prior *PinnedPanelModel, discriminator string) (PinnedPanelModel, *PanelModel)
SeedPinnedPanelForRead seeds a pinned model with the discriminator from the API response, carrying forward prior TF state when `type` matches so null-preserving FromAPI behaves like dashboard panels matched by slice index + prior slice.
Types ¶
type AccessControlValue ¶
type AxisTitleModel ¶
type ChartFilterJSONModel ¶
type ChartFilterJSONModel struct {
FilterJSON jsontypes.Normalized `tfsdk:"filter_json"`
}
type DashboardModel ¶
type DashboardModel struct {
entitycore.ResourceTimeoutsField
ID types.String `tfsdk:"id"`
KibanaConnection types.List `tfsdk:"kibana_connection"`
SpaceID types.String `tfsdk:"space_id"`
DashboardID types.String `tfsdk:"dashboard_id"`
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
TimeRange *TimeRangeModel `tfsdk:"time_range"`
RefreshInterval *RefreshIntervalModel `tfsdk:"refresh_interval"`
Query *DashboardQueryModel `tfsdk:"query"`
Filters types.List `tfsdk:"filters"`
Tags types.List `tfsdk:"tags"`
Options *OptionsModel `tfsdk:"options"`
AccessControl *AccessControlValue `tfsdk:"access_control"`
Panels []PanelModel `tfsdk:"panels"`
PinnedPanels []PinnedPanelModel `tfsdk:"pinned_panels"`
Sections []SectionModel `tfsdk:"sections"`
}
func (DashboardModel) GetID ¶ added in v0.16.2
func (m DashboardModel) GetID() types.String
func (DashboardModel) GetKibanaConnection ¶ added in v0.16.2
func (m DashboardModel) GetKibanaConnection() types.List
func (DashboardModel) GetResourceID ¶ added in v0.16.2
func (m DashboardModel) GetResourceID() types.String
func (DashboardModel) GetSpaceID ¶ added in v0.16.2
func (m DashboardModel) GetSpaceID() types.String
type DashboardQueryModel ¶
type DataLayerModel ¶
type DataLayerModel struct {
DataSourceJSON jsontypes.Normalized `tfsdk:"data_source_json"`
IgnoreGlobalFilters types.Bool `tfsdk:"ignore_global_filters"`
Sampling types.Float64 `tfsdk:"sampling"`
XJSON jsontypes.Normalized `tfsdk:"x_json"`
Y []YMetricModel `tfsdk:"y"`
BreakdownByJSON jsontypes.Normalized `tfsdk:"breakdown_by_json"`
}
type DatatableConfigModel ¶
type DatatableConfigModel struct {
NoESQL *DatatableNoESQLConfigModel `tfsdk:"no_esql"`
ESQL *DatatableESQLConfigModel `tfsdk:"esql"`
}
type DatatableDensityHeightModel ¶
type DatatableDensityHeightModel struct {
Header *DatatableDensityHeightHeaderModel `tfsdk:"header"`
Value *DatatableDensityHeightValueModel `tfsdk:"value"`
}
type DatatableDensityModel ¶
type DatatableDensityModel struct {
Mode types.String `tfsdk:"mode"`
Height *DatatableDensityHeightModel `tfsdk:"height"`
}
type DatatableESQLConfigModel ¶
type DatatableESQLConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Styling *DatatableStylingModel `tfsdk:"styling"`
Metrics []DatatableMetricModel `tfsdk:"metrics"`
Rows []DatatableRowModel `tfsdk:"rows"`
SplitMetricsBy []DatatableSplitByModel `tfsdk:"split_metrics_by"`
}
type DatatableMetricModel ¶
type DatatableMetricModel struct {
ConfigJSON jsontypes.Normalized `tfsdk:"config_json"`
}
type DatatableNoESQLConfigModel ¶
type DatatableNoESQLConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Styling *DatatableStylingModel `tfsdk:"styling"`
Query *FilterSimpleModel `tfsdk:"query"`
Metrics []DatatableMetricModel `tfsdk:"metrics"`
Rows []DatatableRowModel `tfsdk:"rows"`
SplitMetricsBy []DatatableSplitByModel `tfsdk:"split_metrics_by"`
}
type DatatableRowModel ¶
type DatatableRowModel struct {
ConfigJSON jsontypes.Normalized `tfsdk:"config_json"`
}
type DatatableSplitByModel ¶
type DatatableSplitByModel struct {
ConfigJSON jsontypes.Normalized `tfsdk:"config_json"`
}
type DatatableStylingModel ¶
type DatatableStylingModel struct {
Density *DatatableDensityModel `tfsdk:"density"`
SortByJSON jsontypes.Normalized `tfsdk:"sort_by_json"`
Paging types.Int64 `tfsdk:"paging"`
}
type DiscoverSessionDSLTabModel ¶
type DiscoverSessionDSLTabModel struct {
ColumnOrder types.List `tfsdk:"column_order"`
ColumnSettings types.Map `tfsdk:"column_settings"`
Sort []DiscoverSessionSortModel `tfsdk:"sort"`
Density types.String `tfsdk:"density"`
HeaderRowHeight types.String `tfsdk:"header_row_height"`
RowHeight types.String `tfsdk:"row_height"`
RowsPerPage types.Int64 `tfsdk:"rows_per_page"`
SampleSize types.Int64 `tfsdk:"sample_size"`
ViewMode types.String `tfsdk:"view_mode"`
Query *FilterSimpleModel `tfsdk:"query"`
DataSourceJSON jsontypes.Normalized `tfsdk:"data_source_json"`
Filters []ChartFilterJSONModel `tfsdk:"filters"`
}
type DiscoverSessionESQLTabModel ¶
type DiscoverSessionESQLTabModel struct {
ColumnOrder types.List `tfsdk:"column_order"`
ColumnSettings types.Map `tfsdk:"column_settings"`
Sort []DiscoverSessionSortModel `tfsdk:"sort"`
Density types.String `tfsdk:"density"`
HeaderRowHeight types.String `tfsdk:"header_row_height"`
RowHeight types.String `tfsdk:"row_height"`
DataSourceJSON jsontypes.Normalized `tfsdk:"data_source_json"`
}
type DiscoverSessionOverridesModel ¶
type DiscoverSessionOverridesModel struct {
ColumnOrder types.List `tfsdk:"column_order"`
ColumnSettings types.Map `tfsdk:"column_settings"`
Sort []DiscoverSessionSortModel `tfsdk:"sort"`
Density types.String `tfsdk:"density"`
HeaderRowHeight types.String `tfsdk:"header_row_height"`
RowHeight types.String `tfsdk:"row_height"`
RowsPerPage types.Int64 `tfsdk:"rows_per_page"`
SampleSize types.Int64 `tfsdk:"sample_size"`
}
type DiscoverSessionPanelByRefModel ¶
type DiscoverSessionPanelByRefModel struct {
TimeRange *TimeRangeModel `tfsdk:"time_range"`
RefID types.String `tfsdk:"ref_id"`
SelectedTabID types.String `tfsdk:"selected_tab_id"`
Overrides *DiscoverSessionOverridesModel `tfsdk:"overrides"`
}
type DiscoverSessionPanelByValueModel ¶
type DiscoverSessionPanelByValueModel struct {
TimeRange *TimeRangeModel `tfsdk:"time_range"`
Tab DiscoverSessionTabModel `tfsdk:"tab"`
}
type DiscoverSessionPanelConfigModel ¶
type DiscoverSessionPanelConfigModel struct {
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []DiscoverSessionPanelDrilldown `tfsdk:"drilldowns"`
ByValue *DiscoverSessionPanelByValueModel `tfsdk:"by_value"`
ByReference *DiscoverSessionPanelByRefModel `tfsdk:"by_reference"`
}
type DiscoverSessionTabModel ¶
type DiscoverSessionTabModel struct {
DSL *DiscoverSessionDSLTabModel `tfsdk:"dsl"`
ESQL *DiscoverSessionESQLTabModel `tfsdk:"esql"`
}
type DrilldownItemModel ¶
type DrilldownItemModel struct {
Dashboard *DrilldownDashboardBlockModel `tfsdk:"dashboard"`
Discover *DrilldownDiscoverBlockModel `tfsdk:"discover"`
URL *DrilldownURLBlockModel `tfsdk:"url"`
}
type DrilldownURLBlockModel ¶
type DrilldownsModel ¶
type DrilldownsModel []DrilldownItemModel
type EsqlControlConfigModel ¶
type EsqlControlConfigModel struct {
SelectedOptions types.List `tfsdk:"selected_options"`
VariableName types.String `tfsdk:"variable_name"`
VariableType types.String `tfsdk:"variable_type"`
EsqlQuery types.String `tfsdk:"esql_query"`
ControlType types.String `tfsdk:"control_type"`
Title types.String `tfsdk:"title"`
SingleSelect types.Bool `tfsdk:"single_select"`
AvailableOptions types.List `tfsdk:"available_options"`
DisplaySettings *EsqlControlDisplaySettingsModel `tfsdk:"display_settings"`
}
type FilterSimpleModel ¶
type FontSizeModel ¶
type GaugeConfigModel ¶
type GaugeConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
MetricJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"metric_json"`
EsqlMetric *GaugeEsqlMetric `tfsdk:"esql_metric"`
Styling *GaugeStylingModel `tfsdk:"styling"`
}
type GaugeEsqlColumnRef ¶
type GaugeEsqlMetric ¶
type GaugeEsqlMetric struct {
Column types.String `tfsdk:"column"`
FormatJSON jsontypes.Normalized `tfsdk:"format_json"`
Label types.String `tfsdk:"label"`
ColorJSON jsontypes.Normalized `tfsdk:"color_json"`
Subtitle types.String `tfsdk:"subtitle"`
Goal *GaugeEsqlColumnRef `tfsdk:"goal"`
Max *GaugeEsqlColumnRef `tfsdk:"max"`
Min *GaugeEsqlColumnRef `tfsdk:"min"`
Ticks *GaugeEsqlTicks `tfsdk:"ticks"`
Title *GaugeEsqlTitle `tfsdk:"title"`
}
type GaugeEsqlTicks ¶
type GaugeEsqlTitle ¶
type GaugeStylingModel ¶
type GaugeStylingModel struct {
ShapeJSON jsontypes.Normalized `tfsdk:"shape_json"`
}
type HeatmapAxesModel ¶
type HeatmapAxesModel struct {
X *HeatmapXAxisModel `tfsdk:"x"`
Y *HeatmapYAxisModel `tfsdk:"y"`
}
type HeatmapCellsLabelsModel ¶
type HeatmapCellsModel ¶
type HeatmapCellsModel struct {
Labels *HeatmapCellsLabelsModel `tfsdk:"labels"`
}
type HeatmapConfigModel ¶
type HeatmapConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
Axis *HeatmapAxesModel `tfsdk:"axis"`
Styling *HeatmapStylingModel `tfsdk:"styling"`
Legend *HeatmapLegendModel `tfsdk:"legend"`
MetricJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"metric_json"`
XAxisJSON jsontypes.Normalized `tfsdk:"x_axis_json"`
YAxisJSON jsontypes.Normalized `tfsdk:"y_axis_json"`
}
type HeatmapLegendModel ¶
type HeatmapStylingModel ¶
type HeatmapStylingModel struct {
Cells *HeatmapCellsModel `tfsdk:"cells"`
}
type HeatmapXAxisLabelsModel ¶
type HeatmapXAxisModel ¶
type HeatmapXAxisModel struct {
Labels *HeatmapXAxisLabelsModel `tfsdk:"labels"`
Title *AxisTitleModel `tfsdk:"title"`
}
type HeatmapYAxisLabelsModel ¶
type HeatmapYAxisModel ¶
type HeatmapYAxisModel struct {
Labels *HeatmapYAxisLabelsModel `tfsdk:"labels"`
Title *AxisTitleModel `tfsdk:"title"`
}
type ImagePanelConfigModel ¶
type ImagePanelConfigModel struct {
Src ImagePanelSrcModel `tfsdk:"src"`
AltText types.String `tfsdk:"alt_text"`
ObjectFit types.String `tfsdk:"object_fit"`
BackgroundColor types.String `tfsdk:"background_color"`
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []ImagePanelDrilldownModel `tfsdk:"drilldowns"`
}
type ImagePanelDashboardDrilldownModel ¶
type ImagePanelDashboardDrilldownModel struct {
DashboardID types.String `tfsdk:"dashboard_id"`
Label types.String `tfsdk:"label"`
Trigger types.String `tfsdk:"trigger"`
UseFilters types.Bool `tfsdk:"use_filters"`
UseTimeRange types.Bool `tfsdk:"use_time_range"`
OpenInNewTab types.Bool `tfsdk:"open_in_new_tab"`
}
type ImagePanelDrilldownModel ¶
type ImagePanelDrilldownModel struct {
DashboardDrilldown *ImagePanelDashboardDrilldownModel `tfsdk:"dashboard_drilldown"`
URLDrilldown *ImagePanelURLDrilldownModel `tfsdk:"url_drilldown"`
}
type ImagePanelSrcFileModel ¶
type ImagePanelSrcModel ¶
type ImagePanelSrcModel struct {
File *ImagePanelSrcFileModel `tfsdk:"file"`
URL *ImagePanelSrcURLModel `tfsdk:"url"`
}
type ImagePanelSrcURLModel ¶
type LegacyMetricConfigModel ¶
type LegacyMetricConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
MetricJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"metric_json"`
}
type LensByValueChartBlocks ¶
type LensByValueChartBlocks struct {
XYChartConfig *XYChartConfigModel `tfsdk:"xy_chart_config"`
TreemapConfig *TreemapConfigModel `tfsdk:"treemap_config"`
MosaicConfig *MosaicConfigModel `tfsdk:"mosaic_config"`
DatatableConfig *DatatableConfigModel `tfsdk:"datatable_config"`
TagcloudConfig *TagcloudConfigModel `tfsdk:"tagcloud_config"`
HeatmapConfig *HeatmapConfigModel `tfsdk:"heatmap_config"`
WaffleConfig *WaffleConfigModel `tfsdk:"waffle_config"`
RegionMapConfig *RegionMapConfigModel `tfsdk:"region_map_config"`
GaugeConfig *GaugeConfigModel `tfsdk:"gauge_config"`
MetricChartConfig *MetricChartConfigModel `tfsdk:"metric_chart_config"`
PieChartConfig *PieChartConfigModel `tfsdk:"pie_chart_config"`
LegacyMetricConfig *LegacyMetricConfigModel `tfsdk:"legacy_metric_config"`
}
type LensChartBaseTFModel ¶ added in v0.16.2
type LensChartBaseTFModel struct {
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
DataSourceJSON jsontypes.Normalized `tfsdk:"data_source_json"`
IgnoreGlobalFilters types.Bool `tfsdk:"ignore_global_filters"`
Sampling types.Float64 `tfsdk:"sampling"`
Filters []ChartFilterJSONModel `tfsdk:"filters"`
}
LensChartBaseTFModel holds the fields shared by all Lens by-value chart config models.
type LensChartPresentationTFModel ¶
type LensChartPresentationTFModel struct {
TimeRange *TimeRangeModel `tfsdk:"time_range"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
ReferencesJSON jsontypes.Normalized `tfsdk:"references_json"`
Drilldowns []LensDrilldownItemTFModel `tfsdk:"drilldowns"`
}
func (*LensChartPresentationTFModel) GetLensChartPresentation ¶ added in v0.16.2
func (m *LensChartPresentationTFModel) GetLensChartPresentation() *LensChartPresentationTFModel
GetLensChartPresentation returns a pointer to this model, allowing types that embed LensChartPresentationTFModel to satisfy the lenscommon.lensChartPresentationProvider interface. A nil receiver returns nil.
type LensDashboardDrilldownTFModel ¶
type LensDashboardDrilldownTFModel struct {
DashboardID types.String `tfsdk:"dashboard_id"`
Label types.String `tfsdk:"label"`
Trigger types.String `tfsdk:"trigger"`
UseFilters types.Bool `tfsdk:"use_filters"`
UseTimeRange types.Bool `tfsdk:"use_time_range"`
OpenInNewTab types.Bool `tfsdk:"open_in_new_tab"`
}
type LensDrilldownItemTFModel ¶
type LensDrilldownItemTFModel struct {
DashboardDrilldown *LensDashboardDrilldownTFModel `tfsdk:"dashboard_drilldown"`
DiscoverDrilldown *LensDiscoverDrilldownTFModel `tfsdk:"discover_drilldown"`
URLDrilldown *LensURLDrilldownTFModel `tfsdk:"url_drilldown"`
}
type LensStaticColorModel ¶ added in v0.16.2
type LensStaticColorModel struct {
Type types.String `tfsdk:"type"`
Color types.String `tfsdk:"color"`
}
LensStaticColorModel is the shared static-color model for treemap and waffle ES|QL metrics.
type LensURLDrilldownTFModel ¶
type MarkdownConfigByValueModel ¶
type MarkdownConfigByValueModel struct {
Content types.String `tfsdk:"content"`
Settings *MarkdownConfigSettingsModel `tfsdk:"settings"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
Title types.String `tfsdk:"title"`
HideBorder types.Bool `tfsdk:"hide_border"`
}
type MarkdownConfigModel ¶
type MarkdownConfigModel struct {
ByValue *MarkdownConfigByValueModel `tfsdk:"by_value"`
ByReference *MarkdownConfigByReferenceModel `tfsdk:"by_reference"`
}
type MetricChartConfigModel ¶
type MetricChartConfigModel struct {
LensChartPresentationTFModel
MetricChartCoreTFModel
}
type MetricChartCoreTFModel ¶
type MetricChartCoreTFModel struct {
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
Metrics []MetricItemModel `tfsdk:"metrics"`
BreakdownByJSON jsontypes.Normalized `tfsdk:"breakdown_by_json"`
}
type MetricItemModel ¶
type MetricItemModel struct {
ConfigJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"config_json"`
}
type MosaicConfigModel ¶
type MosaicConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
GroupBy customtypes.JSONWithDefaultsValue[[]map[string]any] `tfsdk:"group_by_json"`
GroupBreakdownBy customtypes.JSONWithDefaultsValue[[]map[string]any] `tfsdk:"group_breakdown_by_json"`
Metrics customtypes.JSONWithDefaultsValue[[]map[string]any] `tfsdk:"metrics_json"`
Legend *PartitionLegendModel `tfsdk:"legend"`
ValueDisplay *PartitionValueDisplay `tfsdk:"value_display"`
EsqlMetrics []MosaicEsqlMetric `tfsdk:"esql_metrics"`
EsqlGroupBy []PartitionEsqlGroupByModel `tfsdk:"esql_group_by"`
}
type MosaicEsqlMetric ¶
type OptionsListControlConfigModel ¶
type OptionsListControlConfigModel struct {
DataViewID types.String `tfsdk:"data_view_id"`
FieldName types.String `tfsdk:"field_name"`
Title types.String `tfsdk:"title"`
UseGlobalFilters types.Bool `tfsdk:"use_global_filters"`
IgnoreValidations types.Bool `tfsdk:"ignore_validations"`
SingleSelect types.Bool `tfsdk:"single_select"`
Exclude types.Bool `tfsdk:"exclude"`
ExistsSelected types.Bool `tfsdk:"exists_selected"`
RunPastTimeout types.Bool `tfsdk:"run_past_timeout"`
SearchTechnique types.String `tfsdk:"search_technique"`
SelectedOptions types.List `tfsdk:"selected_options"`
DisplaySettings *OptionsListControlDisplaySettingsModel `tfsdk:"display_settings"`
Sort *OptionsListControlSortModel `tfsdk:"sort"`
}
type OptionsModel ¶
type OptionsModel struct {
HidePanelTitles types.Bool `tfsdk:"hide_panel_titles"`
UseMargins types.Bool `tfsdk:"use_margins"`
SyncColors types.Bool `tfsdk:"sync_colors"`
SyncTooltips types.Bool `tfsdk:"sync_tooltips"`
SyncCursor types.Bool `tfsdk:"sync_cursor"`
AutoApplyFilters types.Bool `tfsdk:"auto_apply_filters"`
HidePanelBorders types.Bool `tfsdk:"hide_panel_borders"`
}
type PanelGridModel ¶
type PanelModel ¶
type PanelModel struct {
Type types.String `tfsdk:"type"`
Grid PanelGridModel `tfsdk:"grid"`
ID types.String `tfsdk:"id"`
MarkdownConfig *MarkdownConfigModel `tfsdk:"markdown_config"`
TimeSliderControlConfig *TimeSliderControlConfigModel `tfsdk:"time_slider_control_config"`
SloBurnRateConfig *SloBurnRateConfigModel `tfsdk:"slo_burn_rate_config"`
SloOverviewConfig *SloOverviewConfigModel `tfsdk:"slo_overview_config"`
SloErrorBudgetConfig *SloErrorBudgetConfigModel `tfsdk:"slo_error_budget_config"`
EsqlControlConfig *EsqlControlConfigModel `tfsdk:"esql_control_config"`
OptionsListControlConfig *OptionsListControlConfigModel `tfsdk:"options_list_control_config"`
RangeSliderControlConfig *RangeSliderControlConfigModel `tfsdk:"range_slider_control_config"`
SyntheticsStatsOverviewConfig *SyntheticsStatsOverviewConfigModel `tfsdk:"synthetics_stats_overview_config"`
SyntheticsMonitorsConfig *SyntheticsMonitorsConfigModel `tfsdk:"synthetics_monitors_config"`
VisConfig *VisConfigModel `tfsdk:"vis_config"`
ImageConfig *ImagePanelConfigModel `tfsdk:"image_config"`
SloAlertsConfig *SloAlertsPanelConfigModel `tfsdk:"slo_alerts_config"`
DiscoverSessionConfig *DiscoverSessionPanelConfigModel `tfsdk:"discover_session_config"`
ConfigJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"config_json"`
}
type PartitionEsqlGroupByModel ¶ added in v0.16.2
type PartitionEsqlGroupByModel struct {
Column types.String `tfsdk:"column"`
CollapseBy types.String `tfsdk:"collapse_by"`
ColorJSON jsontypes.Normalized `tfsdk:"color_json"`
FormatJSON jsontypes.Normalized `tfsdk:"format_json"`
Label types.String `tfsdk:"label"`
}
PartitionEsqlGroupByModel is the shared ES|QL group-by model for mosaic, treemap, and waffle.
type PartitionLegendModel ¶
type PartitionValueDisplay ¶
type PieChartConfigModel ¶
type PieChartConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
DonutHole types.String `tfsdk:"donut_hole"`
LabelPosition types.String `tfsdk:"label_position"`
Legend *PartitionLegendModel `tfsdk:"legend"`
Query *FilterSimpleModel `tfsdk:"query"`
Metrics []PieMetricModel `tfsdk:"metrics"`
GroupBy []PieGroupByModel `tfsdk:"group_by"`
}
type PieGroupByModel ¶
type PieGroupByModel struct {
Config customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"config_json"`
}
type PieMetricModel ¶
type PieMetricModel struct {
Config customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"config_json"`
}
type PinnedPanelModel ¶
type PinnedPanelModel struct {
Type types.String `tfsdk:"type"`
TimeSliderControlConfig *TimeSliderControlConfigModel `tfsdk:"time_slider_control_config"`
EsqlControlConfig *EsqlControlConfigModel `tfsdk:"esql_control_config"`
OptionsListControlConfig *OptionsListControlConfigModel `tfsdk:"options_list_control_config"`
RangeSliderControlConfig *RangeSliderControlConfigModel `tfsdk:"range_slider_control_config"`
}
func (PinnedPanelModel) SyntheticPanel ¶
func (pp PinnedPanelModel) SyntheticPanel() PanelModel
SyntheticPanel maps a pinned control-bar entry onto the subset of PanelModel shared with dashboard panels so the control FromAPI helpers can populate typed config without importing the dashboard package.
type RangeSliderControlConfigModel ¶
type RangeSliderControlConfigModel struct {
Title types.String `tfsdk:"title"`
DataViewID types.String `tfsdk:"data_view_id"`
FieldName types.String `tfsdk:"field_name"`
UseGlobalFilters types.Bool `tfsdk:"use_global_filters"`
IgnoreValidations types.Bool `tfsdk:"ignore_validations"`
Value types.List `tfsdk:"value"`
Step types.Float32 `tfsdk:"step"`
}
type ReferenceLineLayerModel ¶
type ReferenceLineLayerModel struct {
DataSourceJSON jsontypes.Normalized `tfsdk:"data_source_json"`
IgnoreGlobalFilters types.Bool `tfsdk:"ignore_global_filters"`
Sampling types.Float64 `tfsdk:"sampling"`
Thresholds []ThresholdModel `tfsdk:"thresholds"`
}
type RefreshIntervalModel ¶
type RegionMapConfigModel ¶
type RegionMapConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
MetricJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"metric_json"`
RegionJSON jsontypes.Normalized `tfsdk:"region_json"`
}
type SectionGridModel ¶
type SectionModel ¶
type SectionModel struct {
Title types.String `tfsdk:"title"`
ID types.String `tfsdk:"id"`
Collapsed types.Bool `tfsdk:"collapsed"`
Grid SectionGridModel `tfsdk:"grid"`
Panels []PanelModel `tfsdk:"panels"`
}
type SloAlertsPanelConfigModel ¶
type SloAlertsPanelConfigModel struct {
Slos []SloAlertsPanelSloModel `tfsdk:"slos"`
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []URLDrilldownModel `tfsdk:"drilldowns"`
}
type SloAlertsPanelSloModel ¶
type SloBurnRateConfigModel ¶
type SloBurnRateConfigModel struct {
SloID types.String `tfsdk:"slo_id"`
Duration types.String `tfsdk:"duration"`
SloInstanceID types.String `tfsdk:"slo_instance_id"`
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []URLDrilldownModel `tfsdk:"drilldowns"`
}
type SloErrorBudgetConfigModel ¶
type SloErrorBudgetConfigModel struct {
SloID types.String `tfsdk:"slo_id"`
SloInstanceID types.String `tfsdk:"slo_instance_id"`
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []URLDrilldownModel `tfsdk:"drilldowns"`
}
type SloGroupFiltersModel ¶
type SloOverviewConfigModel ¶
type SloOverviewConfigModel struct {
Single *SloOverviewSingleModel `tfsdk:"single"`
Groups *SloOverviewGroupsModel `tfsdk:"groups"`
}
type SloOverviewGroupsModel ¶
type SloOverviewGroupsModel struct {
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []URLDrilldownModel `tfsdk:"drilldowns"`
GroupFilters *SloGroupFiltersModel `tfsdk:"group_filters"`
}
type SloOverviewSingleModel ¶
type SloOverviewSingleModel struct {
SloID types.String `tfsdk:"slo_id"`
SloInstanceID types.String `tfsdk:"slo_instance_id"`
RemoteName types.String `tfsdk:"remote_name"`
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []URLDrilldownModel `tfsdk:"drilldowns"`
}
type SyntheticsFiltersModel ¶
type SyntheticsFiltersModel struct {
Projects []SyntheticsFilterItemModel `tfsdk:"projects"`
Tags []SyntheticsFilterItemModel `tfsdk:"tags"`
MonitorIDs []SyntheticsFilterItemModel `tfsdk:"monitor_ids"`
Locations []SyntheticsFilterItemModel `tfsdk:"locations"`
MonitorTypes []SyntheticsFilterItemModel `tfsdk:"monitor_types"`
}
type SyntheticsStatsOverviewConfigModel ¶
type SyntheticsStatsOverviewConfigModel struct {
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns []URLDrilldownModel `tfsdk:"drilldowns"`
Filters *SyntheticsFiltersModel `tfsdk:"filters"`
}
type TagcloudConfigModel ¶
type TagcloudConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
Orientation types.String `tfsdk:"orientation"`
FontSize *FontSizeModel `tfsdk:"font_size"`
MetricJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"metric_json"`
TagByJSON customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"tag_by_json"`
EsqlMetric *TagcloudEsqlMetric `tfsdk:"esql_metric"`
EsqlTagBy *TagcloudEsqlTagBy `tfsdk:"esql_tag_by"`
}
type TagcloudEsqlMetric ¶
type TagcloudEsqlTagBy ¶
type TagcloudEsqlTagBy struct {
Column types.String `tfsdk:"column"`
FormatJSON jsontypes.Normalized `tfsdk:"format_json"`
ColorJSON jsontypes.Normalized `tfsdk:"color_json"`
Label types.String `tfsdk:"label"`
}
type ThresholdModel ¶
type ThresholdModel struct {
Axis types.String `tfsdk:"axis"`
ColorJSON jsontypes.Normalized `tfsdk:"color_json"`
Column types.String `tfsdk:"column"`
ValueJSON jsontypes.Normalized `tfsdk:"value_json"`
Fill types.String `tfsdk:"fill"`
Icon types.String `tfsdk:"icon"`
Operation types.String `tfsdk:"operation"`
StrokeDash types.String `tfsdk:"stroke_dash"`
StrokeWidth types.Float64 `tfsdk:"stroke_width"`
Text types.String `tfsdk:"text"`
}
type TimeRangeModel ¶
type TreemapConfigModel ¶
type TreemapConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
GroupBy customtypes.JSONWithDefaultsValue[[]map[string]any] `tfsdk:"group_by_json"`
Metrics customtypes.JSONWithDefaultsValue[[]map[string]any] `tfsdk:"metrics_json"`
Legend *PartitionLegendModel `tfsdk:"legend"`
ValueDisplay *PartitionValueDisplay `tfsdk:"value_display"`
EsqlMetrics []TreemapEsqlMetric `tfsdk:"esql_metrics"`
EsqlGroupBy []PartitionEsqlGroupByModel `tfsdk:"esql_group_by"`
}
type TreemapEsqlMetric ¶
type TreemapEsqlMetric struct {
Column types.String `tfsdk:"column"`
Label types.String `tfsdk:"label"`
FormatJSON jsontypes.Normalized `tfsdk:"format_json"`
Color *LensStaticColorModel `tfsdk:"color"`
}
type URLDrilldownModel ¶
type VisByReferenceModel ¶
type VisByReferenceModel struct {
RefID types.String `tfsdk:"ref_id"`
ReferencesJSON jsontypes.Normalized `tfsdk:"references_json"`
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
HideTitle types.Bool `tfsdk:"hide_title"`
HideBorder types.Bool `tfsdk:"hide_border"`
Drilldowns DrilldownsModel `tfsdk:"drilldowns"`
TimeRange *TimeRangeModel `tfsdk:"time_range"`
}
type VisByValueModel ¶
type VisByValueModel struct {
LensByValueChartBlocks
}
type VisConfigModel ¶
type VisConfigModel struct {
ByValue *VisByValueModel `tfsdk:"by_value"`
ByReference *VisByReferenceModel `tfsdk:"by_reference"`
}
type WaffleConfigModel ¶
type WaffleConfigModel struct {
LensChartPresentationTFModel
LensChartBaseTFModel
Query *FilterSimpleModel `tfsdk:"query"`
Legend *WaffleLegendModel `tfsdk:"legend"`
ValueDisplay *PartitionValueDisplay `tfsdk:"value_display"`
Metrics []WaffleDSLMetric `tfsdk:"metrics"`
GroupBy []WaffleDSLGroupBy `tfsdk:"group_by"`
EsqlMetrics []WaffleEsqlMetric `tfsdk:"esql_metrics"`
EsqlGroupBy []PartitionEsqlGroupByModel `tfsdk:"esql_group_by"`
}
type WaffleDSLGroupBy ¶
type WaffleDSLGroupBy struct {
Config customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"config_json"`
}
type WaffleDSLMetric ¶
type WaffleDSLMetric struct {
Config customtypes.JSONWithDefaultsValue[map[string]any] `tfsdk:"config_json"`
}
type WaffleEsqlMetric ¶
type WaffleEsqlMetric struct {
Column types.String `tfsdk:"column"`
Label types.String `tfsdk:"label"`
FormatJSON jsontypes.Normalized `tfsdk:"format_json"`
Color *LensStaticColorModel `tfsdk:"color"`
}
type WaffleLegendModel ¶
type XYAxisConfigModel ¶
type XYAxisModel ¶
type XYAxisModel struct {
X *XYAxisConfigModel `tfsdk:"x"`
Y *YAxisConfigModel `tfsdk:"y"`
Y2 *YAxisConfigModel `tfsdk:"y2"`
}
type XYChartConfigModel ¶
type XYChartConfigModel struct {
LensChartPresentationTFModel
Title types.String `tfsdk:"title"`
Description types.String `tfsdk:"description"`
Axis *XYAxisModel `tfsdk:"axis"`
Decorations *XYDecorationsModel `tfsdk:"decorations"`
Fitting *XYFittingModel `tfsdk:"fitting"`
Layers []XYLayerModel `tfsdk:"layers"`
Legend *XYLegendModel `tfsdk:"legend"`
Query *FilterSimpleModel `tfsdk:"query"`
Filters []ChartFilterJSONModel `tfsdk:"filters"`
}
type XYDecorationsModel ¶
type XYDecorationsModel struct {
ShowEndZones types.Bool `tfsdk:"show_end_zones"`
ShowCurrentTimeMarker types.Bool `tfsdk:"show_current_time_marker"`
PointVisibility types.String `tfsdk:"point_visibility"`
LineInterpolation types.String `tfsdk:"line_interpolation"`
MinimumBarHeight types.Int64 `tfsdk:"minimum_bar_height"`
ShowValueLabels types.Bool `tfsdk:"show_value_labels"`
FillOpacity types.Float64 `tfsdk:"fill_opacity"`
}
type XYFittingModel ¶
type XYLayerModel ¶
type XYLayerModel struct {
Type types.String `tfsdk:"type"`
DataLayer *DataLayerModel `tfsdk:"data_layer"`
ReferenceLineLayer *ReferenceLineLayerModel `tfsdk:"reference_line_layer"`
}
type XYLegendModel ¶
type XYLegendModel struct {
Visibility types.String `tfsdk:"visibility"`
Statistics types.List `tfsdk:"statistics"`
TruncateAfterLines types.Int64 `tfsdk:"truncate_after_lines"`
Inside types.Bool `tfsdk:"inside"`
Position types.String `tfsdk:"position"`
Size types.String `tfsdk:"size"`
Columns types.Int64 `tfsdk:"columns"`
Alignment types.String `tfsdk:"alignment"`
}
type YAxisConfigModel ¶
type YMetricModel ¶
type YMetricModel struct {
ConfigJSON jsontypes.Normalized `tfsdk:"config_json"`
}
Source Files
¶
- controls.go
- dashboard.go
- discover_session.go
- doc.go
- filters.go
- image.go
- lens.go
- lens_datatable.go
- lens_gauge.go
- lens_heatmap.go
- lens_legacy_metric.go
- lens_metric.go
- lens_mosaic.go
- lens_pie.go
- lens_region_map.go
- lens_tagcloud.go
- lens_treemap.go
- lens_waffle.go
- lens_xy.go
- markdown.go
- panel.go
- pinned_synthetic.go
- slo_alerts.go
- slo_burn_rate.go
- slo_error_budget.go
- slo_overview.go
- synthetics.go