Documentation
¶
Overview ¶
Package api contains API structures for use with the Databricks SQL API.
These are not intended to be used directly.
They are kept in a separate package to avoid confusion between the Terraform resources and the API objects. While their structure is very similar, there are a handful of nuanced differences to improve the UX of the Terraform resource.
Index ¶
- func NewStringOrInt(s string) stringOrInt
- type Dashboard
- type DateTimeRange
- type Query
- type QueryOptions
- type QueryParameter
- type QueryParameterDate
- type QueryParameterDateRange
- type QueryParameterDateTime
- type QueryParameterDateTimeRange
- type QueryParameterDateTimeSec
- type QueryParameterDateTimeSecRange
- type QueryParameterEnum
- type QueryParameterMultipleValuesOptions
- type QueryParameterNumber
- type QueryParameterQuery
- type QueryParameterRangeBase
- type QueryParameterText
- type QuerySchedule
- type Visualization
- type Widget
- type WidgetOptions
- type WidgetParameterMapping
- type WidgetPosition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewStringOrInt ¶
func NewStringOrInt(s string) stringOrInt
Types ¶
type Dashboard ¶
type Dashboard struct {
ID string `json:"id"`
Name string `json:"name"`
Tags []string `json:"tags,omitempty"`
Widgets []json.RawMessage `json:"widgets,omitempty"`
Parent string `json:"parent,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
RunAsRole string `json:"run_as_role,omitempty"`
DashboardFiltersEnabled bool `json:"dashboard_filters_enabled,omitempty"`
}
Dashboard ...
type DateTimeRange ¶ added in v1.7.0
type Query ¶
type Query struct {
ID string `json:"id,omitempty"`
DataSourceID string `json:"data_source_id"`
Name string `json:"name"`
Description string `json:"description"`
Query string `json:"query"`
// Deprecated: Use databricks_job resource to schedule a Query
Schedule *QuerySchedule `json:"schedule"`
RunAsRole string `json:"run_as_role,omitempty"`
Options *QueryOptions `json:"options,omitempty"`
Tags []string `json:"tags,omitempty"`
Visualizations []json.RawMessage `json:"visualizations,omitempty"`
Parent string `json:"parent,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
Query ...
type QueryOptions ¶
type QueryOptions struct {
Parameters []any `json:"-"`
RawParameters []json.RawMessage `json:"parameters,omitempty"`
}
QueryOptions ...
func (*QueryOptions) MarshalJSON ¶
func (o *QueryOptions) MarshalJSON() ([]byte, error)
MarshalJSON ...
func (*QueryOptions) UnmarshalJSON ¶
func (o *QueryOptions) UnmarshalJSON(b []byte) error
UnmarshalJSON ...
type QueryParameter ¶
type QueryParameter struct {
Name string `json:"name"`
Title string `json:"title,omitempty"`
Type string `json:"type"`
}
QueryParameter ...
type QueryParameterDate ¶
type QueryParameterDate struct {
QueryParameter
Value string `json:"value"`
}
QueryParameterDate ...
func (QueryParameterDate) MarshalJSON ¶
func (p QueryParameterDate) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterDate) UnmarshalJSON ¶
func (p *QueryParameterDate) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QueryParameterDateRange ¶
type QueryParameterDateRange struct {
QueryParameterRangeBase
}
QueryParameterDateRange ...
func (QueryParameterDateRange) MarshalJSON ¶
func (p QueryParameterDateRange) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterDateRange) UnmarshalJSON ¶
func (p *QueryParameterDateRange) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QueryParameterDateTime ¶
type QueryParameterDateTime struct {
QueryParameter
Value any `json:"value"`
StringValue string `json:"-"`
}
QueryParameterDateTime ...
func (QueryParameterDateTime) MarshalJSON ¶
func (p QueryParameterDateTime) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterDateTime) UnmarshalJSON ¶
func (p *QueryParameterDateTime) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QueryParameterDateTimeRange ¶
type QueryParameterDateTimeRange struct {
QueryParameterRangeBase
}
QueryParameterDateTimeRange ...
func (QueryParameterDateTimeRange) MarshalJSON ¶
func (p QueryParameterDateTimeRange) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterDateTimeRange) UnmarshalJSON ¶
func (p *QueryParameterDateTimeRange) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QueryParameterDateTimeSec ¶
type QueryParameterDateTimeSec struct {
QueryParameter
Value string `json:"value"`
}
QueryParameterDateTimeSec ...
func (QueryParameterDateTimeSec) MarshalJSON ¶
func (p QueryParameterDateTimeSec) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterDateTimeSec) UnmarshalJSON ¶
func (p *QueryParameterDateTimeSec) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QueryParameterDateTimeSecRange ¶
type QueryParameterDateTimeSecRange struct {
QueryParameterRangeBase
}
QueryParameterDateTimeSecRange ...
func (QueryParameterDateTimeSecRange) MarshalJSON ¶
func (p QueryParameterDateTimeSecRange) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterDateTimeSecRange) UnmarshalJSON ¶
func (p *QueryParameterDateTimeSecRange) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QueryParameterEnum ¶
type QueryParameterEnum struct {
QueryParameter
Values []string `json:"-"`
Value json.RawMessage `json:"value"`
Options string `json:"enumOptions"`
Multi *QueryParameterMultipleValuesOptions `json:"multiValuesOptions,omitempty"`
}
QueryParameterEnum ...
func (QueryParameterEnum) MarshalJSON ¶
func (p QueryParameterEnum) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterEnum) UnmarshalJSON ¶
func (p *QueryParameterEnum) UnmarshalJSON(b []byte) error
UnmarshalJSON deals with polymorphism of the `value` field.
type QueryParameterMultipleValuesOptions ¶
type QueryParameterMultipleValuesOptions struct {
Prefix string `json:"prefix"`
Suffix string `json:"suffix"`
Separator string `json:"separator"`
}
QueryParameterMultipleValuesOptions ...
type QueryParameterNumber ¶
type QueryParameterNumber struct {
QueryParameter
Value float64 `json:"value"`
}
QueryParameterNumber ...
func (QueryParameterNumber) MarshalJSON ¶
func (p QueryParameterNumber) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterNumber) UnmarshalJSON ¶
func (p *QueryParameterNumber) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QueryParameterQuery ¶
type QueryParameterQuery struct {
QueryParameter
Values []string `json:"-"`
Value json.RawMessage `json:"value"`
QueryID string `json:"queryId"`
Multi *QueryParameterMultipleValuesOptions `json:"multiValuesOptions,omitempty"`
}
QueryParameterQuery ...
func (QueryParameterQuery) MarshalJSON ¶
func (p QueryParameterQuery) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterQuery) UnmarshalJSON ¶
func (p *QueryParameterQuery) UnmarshalJSON(b []byte) error
UnmarshalJSON deals with polymorphism of the `value` field.
type QueryParameterRangeBase ¶ added in v1.7.0
type QueryParameterRangeBase struct {
QueryParameter
Value any `json:"value"`
StringValue string `json:"-"`
RangeValue *DateTimeRange `json:"-"`
}
type QueryParameterText ¶
type QueryParameterText struct {
QueryParameter
Value string `json:"value"`
}
QueryParameterText ...
func (QueryParameterText) MarshalJSON ¶
func (p QueryParameterText) MarshalJSON() ([]byte, error)
MarshalJSON sets the type before marshaling.
func (*QueryParameterText) UnmarshalJSON ¶
func (p *QueryParameterText) UnmarshalJSON(b []byte) error
UnmarshalJSON clears the type after marshaling.
type QuerySchedule ¶
type QuerySchedule struct {
// Interval in seconds.
//
// For daily schedules, this MUST be a multiple of 86400.
// For weekly schedules, this MUST be a multiple of 604800.
//
Interval int `json:"interval"`
// Time of day, for daily and weekly schedules.
Time *string `json:"time"`
// Day of week, for weekly schedules.
DayOfWeek *string `json:"day_of_week"`
// Schedule should be active until this date.
Until *string `json:"until"`
}
QuerySchedule ... Deprecated: Use databricks_job resource to schedule a Query
type Visualization ¶
type Visualization struct {
// Visualizations evolved from having integer IDs to string UUIDs.
// This type supports either in support of a transition without breakage.
ID stringOrInt `json:"id,omitempty"`
QueryID string `json:"query_id,omitempty"`
Type string `json:"type"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Options json.RawMessage `json:"options,omitempty"`
Query json.RawMessage `json:"query,omitempty"`
QueryPlan json.RawMessage `json:"query_plan,omitempty"`
}
Visualization ...
type Widget ¶
type Widget struct {
// Widgets evolved from having integer IDs to string UUIDs.
// This type supports either in support of a transition without breakage.
ID stringOrInt `json:"id,omitempty"`
// Widgets are part of a dashboard.
DashboardID string `json:"dashboard_id"`
// They are either linked to a query visualization or embed a piece of Markdown text.
// These fields are mutually exclusive and must be `null` if they don't apply.
VisualizationID *stringOrInt `json:"visualization_id"`
Text *string `json:"text"`
// Options apply to both visualization and text widgets.
Options WidgetOptions `json:"options"`
// This field is no longer in use, but is still required as part of the schema.
// It's OK that the field value is 0 everywhere.
Width int `json:"width"`
// Fields below are set only when retrieving an existing widget.
Visualization json.RawMessage `json:"visualization,omitempty"`
}
Widget ...
type WidgetOptions ¶
type WidgetOptions struct {
ParameterMapping map[string]WidgetParameterMapping `json:"parameterMappings"`
Position *WidgetPosition `json:"position,omitempty"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
}
WidgetOptions ...
type WidgetParameterMapping ¶
type WidgetParameterMapping struct {
Name string `json:"name"`
Type string `json:"type"`
MapTo string `json:"mapTo,omitempty"`
// The type of the value depends on the type of the parameter referred to by `name`.
Value any `json:"value"`
// This title overrides the title given to this parameter by the query, if specified.
Title string `json:"title,omitempty"`
}
WidgetParameterMapping ...