CloudWatch Logs: Support Log Anomalies query type (#113067)
This commit is contained in:
@@ -285,6 +285,13 @@ func NewQueryEditorOperatorValueType() *QueryEditorOperatorValueType {
|
||||
return NewStringOrBoolOrInt64OrArrayOfQueryEditorOperatorType()
|
||||
}
|
||||
|
||||
type LogsMode string
|
||||
|
||||
const (
|
||||
LogsModeInsights LogsMode = "Insights"
|
||||
LogsModeAnomalies LogsMode = "Anomalies"
|
||||
)
|
||||
|
||||
type LogsQueryLanguage string
|
||||
|
||||
const (
|
||||
@@ -297,7 +304,9 @@ const (
|
||||
type CloudWatchLogsQuery struct {
|
||||
// Whether a query is a Metrics, Logs, or Annotations query
|
||||
QueryMode CloudWatchQueryMode `json:"queryMode"`
|
||||
Id string `json:"id"`
|
||||
// Whether a query is a Logs Insights or Logs Anomalies query
|
||||
LogsMode *LogsMode `json:"logsMode,omitempty"`
|
||||
Id string `json:"id"`
|
||||
// AWS region to query for the logs
|
||||
Region string `json:"region"`
|
||||
// The CloudWatch Logs Insights query to execute
|
||||
@@ -347,6 +356,40 @@ func NewLogGroup() *LogGroup {
|
||||
return &LogGroup{}
|
||||
}
|
||||
|
||||
// Shape of a Cloudwatch Logs Anomalies query
|
||||
type CloudWatchLogsAnomaliesQuery struct {
|
||||
Id string `json:"id"`
|
||||
// AWS region to query for the logs
|
||||
Region string `json:"region"`
|
||||
// Whether a query is a Metrics, Logs or Annotations query
|
||||
QueryMode *CloudWatchQueryMode `json:"queryMode,omitempty"`
|
||||
// Whether a query is a Logs Insights or Logs Anomalies query
|
||||
LogsMode *LogsMode `json:"logsMode,omitempty"`
|
||||
// Filter to return only anomalies that are 'SUPPRESSED', 'UNSUPPRESSED', or 'ALL' (default)
|
||||
SuppressionState *string `json:"suppressionState,omitempty"`
|
||||
// A unique identifier for the query within the list of targets.
|
||||
// In server side expressions, the refId is used as a variable name to identify results.
|
||||
// By default, the UI will assign A->Z; however setting meaningful names may be useful.
|
||||
RefId string `json:"refId"`
|
||||
// If hide is set to true, Grafana will filter out the response(s) associated with this query before returning it to the panel.
|
||||
Hide *bool `json:"hide,omitempty"`
|
||||
// Specify the query flavor
|
||||
// TODO make this required and give it a default
|
||||
QueryType *string `json:"queryType,omitempty"`
|
||||
// Used to filter only the anomalies found by a certain anomaly detector
|
||||
AnomalyDetectionARN *string `json:"anomalyDetectionARN,omitempty"`
|
||||
// For mixed data sources the selected datasource is on the query level.
|
||||
// For non mixed scenarios this is undefined.
|
||||
// TODO find a better way to do this ^ that's friendly to schema
|
||||
// TODO this shouldn't be unknown but DataSourceRef | null
|
||||
Datasource any `json:"datasource,omitempty"`
|
||||
}
|
||||
|
||||
// NewCloudWatchLogsAnomaliesQuery creates a new CloudWatchLogsAnomaliesQuery object.
|
||||
func NewCloudWatchLogsAnomaliesQuery() *CloudWatchLogsAnomaliesQuery {
|
||||
return &CloudWatchLogsAnomaliesQuery{}
|
||||
}
|
||||
|
||||
// Shape of a CloudWatch Annotation query
|
||||
// TS type is CloudWatchDefaultQuery = Omit<CloudWatchLogsQuery, 'queryMode'> & CloudWatchMetricsQuery, declared in veneer
|
||||
// #CloudWatchDefaultQuery: #CloudWatchLogsQuery & #CloudWatchMetricsQuery @cuetsy(kind="type")
|
||||
|
||||
Reference in New Issue
Block a user