Elastic Search: Fix BasePipelineMetricAggregation schema type (#64335)

* Fix type

* Tweak BaseBucketAggregation type

* Remove comment
This commit is contained in:
Alex Khomenko
2023-03-08 13:12:44 +02:00
committed by GitHub
parent 42c32504be
commit 4c30403904
5 changed files with 126 additions and 187 deletions

View File

@@ -62,25 +62,12 @@ const (
// Defines values for BasePipelineMetricAggregationType.
const (
BasePipelineMetricAggregationTypeAvg BasePipelineMetricAggregationType = "avg"
BasePipelineMetricAggregationTypeBucketScript BasePipelineMetricAggregationType = "bucket_script"
BasePipelineMetricAggregationTypeCardinality BasePipelineMetricAggregationType = "cardinality"
BasePipelineMetricAggregationTypeCount BasePipelineMetricAggregationType = "count"
BasePipelineMetricAggregationTypeCumulativeSum BasePipelineMetricAggregationType = "cumulative_sum"
BasePipelineMetricAggregationTypeDerivative BasePipelineMetricAggregationType = "derivative"
BasePipelineMetricAggregationTypeExtendedStats BasePipelineMetricAggregationType = "extended_stats"
BasePipelineMetricAggregationTypeLogs BasePipelineMetricAggregationType = "logs"
BasePipelineMetricAggregationTypeMax BasePipelineMetricAggregationType = "max"
BasePipelineMetricAggregationTypeMin BasePipelineMetricAggregationType = "min"
BasePipelineMetricAggregationTypeMovingAvg BasePipelineMetricAggregationType = "moving_avg"
BasePipelineMetricAggregationTypeMovingFn BasePipelineMetricAggregationType = "moving_fn"
BasePipelineMetricAggregationTypePercentiles BasePipelineMetricAggregationType = "percentiles"
BasePipelineMetricAggregationTypeRate BasePipelineMetricAggregationType = "rate"
BasePipelineMetricAggregationTypeRawData BasePipelineMetricAggregationType = "raw_data"
BasePipelineMetricAggregationTypeRawDocument BasePipelineMetricAggregationType = "raw_document"
BasePipelineMetricAggregationTypeSerialDiff BasePipelineMetricAggregationType = "serial_diff"
BasePipelineMetricAggregationTypeSum BasePipelineMetricAggregationType = "sum"
BasePipelineMetricAggregationTypeTopMetrics BasePipelineMetricAggregationType = "top_metrics"
)
// Defines values for BucketAggregationSettingsOrder.
@@ -457,7 +444,7 @@ type AverageType string
// BaseBucketAggregation defines model for BaseBucketAggregation.
type BaseBucketAggregation struct {
Id string `json:"id"`
Settings map[string]interface{} `json:"settings,omitempty"`
Settings *interface{} `json:"settings,omitempty"`
Type BaseBucketAggregationType `json:"type"`
}
@@ -498,35 +485,31 @@ type BasePipelineMetricAggregationType string
// BucketAggregation defines model for BucketAggregation.
type BucketAggregation struct {
Field *string `json:"field,omitempty"`
Id *string `json:"id,omitempty"`
Settings *BucketAggregationSettings `json:"settings,omitempty"`
Type *interface{} `json:"type,omitempty"`
union json.RawMessage
Field *string `json:"field,omitempty"`
Id *string `json:"id,omitempty"`
Settings *struct {
Filters []struct {
Label string `json:"label"`
Query string `json:"query"`
} `json:"filters,omitempty"`
Interval *string `json:"interval,omitempty"`
MinDocCount *string `json:"min_doc_count,omitempty"`
Missing *string `json:"missing,omitempty"`
Offset *string `json:"offset,omitempty"`
Order *BucketAggregationSettingsOrder `json:"order,omitempty"`
OrderBy *string `json:"orderBy,omitempty"`
Precision *string `json:"precision,omitempty"`
Size *string `json:"size,omitempty"`
TimeZone *string `json:"timeZone,omitempty"`
TrimEdges *string `json:"trimEdges,omitempty"`
} `json:"settings,omitempty"`
Type *interface{} `json:"type,omitempty"`
union json.RawMessage
}
// BucketAggregationSettingsOrder defines model for BucketAggregation.Settings.Order.
type BucketAggregationSettingsOrder string
// BucketAggregationSettings defines model for BucketAggregation.Settings.
type BucketAggregationSettings struct {
Filters []struct {
Label string `json:"label"`
Query string `json:"query"`
} `json:"filters,omitempty"`
Interval *string `json:"interval,omitempty"`
MinDocCount *string `json:"min_doc_count,omitempty"`
Missing *string `json:"missing,omitempty"`
Offset *string `json:"offset,omitempty"`
Order *BucketAggregationSettingsOrder `json:"order,omitempty"`
OrderBy *string `json:"orderBy,omitempty"`
Precision *string `json:"precision,omitempty"`
Size *string `json:"size,omitempty"`
TimeZone *string `json:"timeZone,omitempty"`
TrimEdges *string `json:"trimEdges,omitempty"`
AdditionalProperties map[string]interface{} `json:"-"`
}
// BucketAggregationType defines model for BucketAggregationType.
type BucketAggregationType string
@@ -534,7 +517,7 @@ type BucketAggregationType string
type BucketAggregationWithField struct {
Field *string `json:"field,omitempty"`
Id string `json:"id"`
Settings map[string]interface{} `json:"settings,omitempty"`
Settings *interface{} `json:"settings,omitempty"`
Type BucketAggregationWithFieldType `json:"type"`
}
@@ -664,32 +647,28 @@ type ElasticsearchDataQuery struct {
// BucketAggsSettingsOrder defines model for ElasticsearchDataQuery.BucketAggs.Settings.Order.
type BucketAggsSettingsOrder string
// BucketAggsSettings defines model for ElasticsearchDataQuery.BucketAggs.Settings.
type BucketAggsSettings struct {
Filters []struct {
Label string `json:"label"`
Query string `json:"query"`
} `json:"filters,omitempty"`
Interval *string `json:"interval,omitempty"`
MinDocCount *string `json:"min_doc_count,omitempty"`
Missing *string `json:"missing,omitempty"`
Offset *string `json:"offset,omitempty"`
Order *BucketAggsSettingsOrder `json:"order,omitempty"`
OrderBy *string `json:"orderBy,omitempty"`
Precision *string `json:"precision,omitempty"`
Size *string `json:"size,omitempty"`
TimeZone *string `json:"timeZone,omitempty"`
TrimEdges *string `json:"trimEdges,omitempty"`
AdditionalProperties map[string]interface{} `json:"-"`
}
// BucketAggsItem defines model for ElasticsearchDataQuery.bucketAggs.Item.
type BucketAggsItem struct {
Field *string `json:"field,omitempty"`
Id *string `json:"id,omitempty"`
Settings *BucketAggsSettings `json:"settings,omitempty"`
Type *interface{} `json:"type,omitempty"`
union json.RawMessage
Field *string `json:"field,omitempty"`
Id *string `json:"id,omitempty"`
Settings *struct {
Filters []struct {
Label string `json:"label"`
Query string `json:"query"`
} `json:"filters,omitempty"`
Interval *string `json:"interval,omitempty"`
MinDocCount *string `json:"min_doc_count,omitempty"`
Missing *string `json:"missing,omitempty"`
Offset *string `json:"offset,omitempty"`
Order *BucketAggsSettingsOrder `json:"order,omitempty"`
OrderBy *string `json:"orderBy,omitempty"`
Precision *string `json:"precision,omitempty"`
Size *string `json:"size,omitempty"`
TimeZone *string `json:"timeZone,omitempty"`
TrimEdges *string `json:"trimEdges,omitempty"`
} `json:"settings,omitempty"`
Type *interface{} `json:"type,omitempty"`
union json.RawMessage
}
// MetricsSettings defines model for ElasticsearchDataQuery.Metrics.Settings.