grafana / cog

Code Generation with a human touch
Apache License 2.0
43 stars 2 forks source link

Java: Factory methods for disjunctions #528

Closed spinillos closed 3 weeks ago

spinillos commented 3 weeks ago

Contributes to: https://github.com/grafana/cog/issues/512

Disjunctions should admit only one value. With the current code, the way to create an object for a disjunction looks:

StringOrBool value = new StringOrBool();
value.string = "abc";
value.bool = true;

So its able to accept more than one value, but the result is going to be the first one evaluated in the serialised process. Apart of this, this is super annoying way to create a disjunction that should only accept one option.

With this change, we only can create this object like:

StringOrBool aString = StringOrBool.createString("abc");
StringOrBool aBool = StringOrBool.createBool(true);

The modifier of their fields and default constructor (the one without parameters) become protected. This modifier only allows internal package use to simplify the access to serializers and deserializers.

Note: The PR changes the import order because this was evaluating the types of the field before and now is done inside the template.

github-actions[bot] commented 3 weeks ago

Note: in addition to the changes introduced by this PR, the diff includes unreleased changes living in main.

### 🔎 Changes to `grafana-foundation-sdk@next+cog-v0.0.x` ```patch diff --git a/go/alerting/notificationpolicy_builder_gen.go b/go/alerting/notificationpolicy_builder_gen.go index 6e5da26..6feca2c 100644 --- a/go/alerting/notificationpolicy_builder_gen.go +++ b/go/alerting/notificationpolicy_builder_gen.go @@ -41,6 +41,14 @@ func (builder *NotificationPolicyBuilder) Build() (NotificationPolicy, error) { return *builder.internal, nil } +// A Route is a node that contains definitions of how to handle alerts. This is modified +// from the upstream alertmanager in that it adds the ObjectMatchers property. +func (builder *NotificationPolicyBuilder) ActiveTimeIntervals(activeTimeIntervals []string) *NotificationPolicyBuilder { + builder.internal.ActiveTimeIntervals = activeTimeIntervals + + return builder +} + // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. func (builder *NotificationPolicyBuilder) Continue(continueArg bool) *NotificationPolicyBuilder { diff --git a/go/alerting/notificationtemplate_builder_gen.go b/go/alerting/notificationtemplate_builder_gen.go index 7087deb..2af7cac 100644 --- a/go/alerting/notificationtemplate_builder_gen.go +++ b/go/alerting/notificationtemplate_builder_gen.go @@ -57,5 +57,11 @@ func (builder *NotificationTemplateBuilder) Template(template string) *Notificat return builder } +func (builder *NotificationTemplateBuilder) Version(version string) *NotificationTemplateBuilder { + builder.internal.Version = &version + + return builder +} + func (builder *NotificationTemplateBuilder) applyDefaults() { } diff --git a/go/alerting/types_gen.go b/go/alerting/types_gen.go index e4205d0..89f5def 100644 --- a/go/alerting/types_gen.go +++ b/go/alerting/types_gen.go @@ -141,6 +141,7 @@ type NotificationTemplate struct { Name *string `json:"name,omitempty"` Provenance *Provenance `json:"provenance,omitempty"` Template *string `json:"template,omitempty"` + Version *string `json:"version,omitempty"` } type ObjectMatcher []string @@ -191,6 +192,9 @@ type RelativeTimeRange struct { // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. type NotificationPolicy struct { + // A Route is a node that contains definitions of how to handle alerts. This is modified + // from the upstream alertmanager in that it adds the ObjectMatchers property. + ActiveTimeIntervals []string `json:"active_time_intervals,omitempty"` // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. Continue *bool `json:"continue,omitempty"` diff --git a/go/bargauge/panel_builder_gen.go b/go/bargauge/panel_builder_gen.go index 10ee5aa..6600f82 100644 --- a/go/bargauge/panel_builder_gen.go +++ b/go/bargauge/panel_builder_gen.go @@ -478,6 +478,20 @@ func (builder *PanelBuilder) MinVizHeight(minVizHeight uint32) *PanelBuilder { return builder } +func (builder *PanelBuilder) Legend(legend cog.Builder[common.VizLegendOptions]) *PanelBuilder { + if builder.internal.Options == nil { + builder.internal.Options = &Options{} + } + legendResource, err := legend.Build() + if err != nil { + builder.errors["options.legend"] = err.(cog.BuildErrors) + return builder + } + builder.internal.Options.(*Options).Legend = legendResource + + return builder +} + func (builder *PanelBuilder) ReduceOptions(reduceOptions cog.Builder[common.ReduceDataOptions]) *PanelBuilder { if builder.internal.Options == nil { builder.internal.Options = &Options{} diff --git a/go/bargauge/types_gen.go b/go/bargauge/types_gen.go index cb37a70..4dfcd63 100644 --- a/go/bargauge/types_gen.go +++ b/go/bargauge/types_gen.go @@ -17,6 +17,7 @@ type Options struct { Sizing common.BarGaugeSizing `json:"sizing"` MinVizWidth uint32 `json:"minVizWidth"` MinVizHeight uint32 `json:"minVizHeight"` + Legend common.VizLegendOptions `json:"legend"` ReduceOptions common.ReduceDataOptions `json:"reduceOptions"` Text *common.VizTextDisplayOptions `json:"text,omitempty"` MaxVizHeight uint32 `json:"maxVizHeight"` diff --git a/go/common/types_gen.go b/go/common/types_gen.go index c089dee..f5d6c0c 100644 --- a/go/common/types_gen.go +++ b/go/common/types_gen.go @@ -622,9 +622,10 @@ const ( type BarGaugeNamePlacement string const ( - BarGaugeNamePlacementAuto BarGaugeNamePlacement = "auto" - BarGaugeNamePlacementTop BarGaugeNamePlacement = "top" - BarGaugeNamePlacementLeft BarGaugeNamePlacement = "left" + BarGaugeNamePlacementAuto BarGaugeNamePlacement = "auto" + BarGaugeNamePlacementTop BarGaugeNamePlacement = "top" + BarGaugeNamePlacementLeft BarGaugeNamePlacement = "left" + BarGaugeNamePlacementHidden BarGaugeNamePlacement = "hidden" ) // Allows for the bar gauge size to be set explicitly diff --git a/go/dashboard/types_gen.go b/go/dashboard/types_gen.go index a95bc16..6bb90ae 100644 --- a/go/dashboard/types_gen.go +++ b/go/dashboard/types_gen.go @@ -291,6 +291,7 @@ const ( VariableTypeTextbox VariableType = "textbox" VariableTypeCustom VariableType = "custom" VariableTypeSystem VariableType = "system" + VariableTypeSnapshot VariableType = "snapshot" ) // Color mode for a field. You can specify a single color, or select a continuous (gradient) color schemes, based on a value. diff --git a/go/expr/types_gen.go b/go/expr/types_gen.go index f154a57..3d0826d 100644 --- a/go/expr/types_gen.go +++ b/go/expr/types_gen.go @@ -676,8 +676,9 @@ const ( type TypeClassicConditionsType string const ( - TypeClassicConditionsTypeAnd TypeClassicConditionsType = "and" - TypeClassicConditionsTypeOr TypeClassicConditionsType = "or" + TypeClassicConditionsTypeAnd TypeClassicConditionsType = "and" + TypeClassicConditionsTypeOr TypeClassicConditionsType = "or" + TypeClassicConditionsTypeLogicOr TypeClassicConditionsType = "logic-or" ) type TypeThresholdType string diff --git a/go/logs/panel_builder_gen.go b/go/logs/panel_builder_gen.go index b3880c7..2fcdccc 100644 --- a/go/logs/panel_builder_gen.go +++ b/go/logs/panel_builder_gen.go @@ -542,6 +542,33 @@ func (builder *PanelBuilder) OnClickFilterOutString(onClickFilterOutString any) return builder } +func (builder *PanelBuilder) OnClickShowField(onClickShowField any) *PanelBuilder { + if builder.internal.Options == nil { + builder.internal.Options = &Options{} + } + builder.internal.Options.(*Options).OnClickShowField = &onClickShowField + + return builder +} + +func (builder *PanelBuilder) OnClickHideField(onClickHideField any) *PanelBuilder { + if builder.internal.Options == nil { + builder.internal.Options = &Options{} + } + builder.internal.Options.(*Options).OnClickHideField = &onClickHideField + + return builder +} + +func (builder *PanelBuilder) DisplayedFields(displayedFields []string) *PanelBuilder { + if builder.internal.Options == nil { + builder.internal.Options = &Options{} + } + builder.internal.Options.(*Options).DisplayedFields = displayedFields + + return builder +} + func (builder *PanelBuilder) applyDefaults() { builder.Transparent(false) builder.Height(9) diff --git a/go/logs/types_gen.go b/go/logs/types_gen.go index b79fc6a..baa6855 100644 --- a/go/logs/types_gen.go +++ b/go/logs/types_gen.go @@ -20,11 +20,14 @@ type Options struct { SortOrder common.LogsSortOrder `json:"sortOrder"` DedupStrategy common.LogsDedupStrategy `json:"dedupStrategy"` // TODO: figure out how to define callbacks - OnClickFilterLabel any `json:"onClickFilterLabel,omitempty"` - OnClickFilterOutLabel any `json:"onClickFilterOutLabel,omitempty"` - IsFilterLabelActive any `json:"isFilterLabelActive,omitempty"` - OnClickFilterString any `json:"onClickFilterString,omitempty"` - OnClickFilterOutString any `json:"onClickFilterOutString,omitempty"` + OnClickFilterLabel any `json:"onClickFilterLabel,omitempty"` + OnClickFilterOutLabel any `json:"onClickFilterOutLabel,omitempty"` + IsFilterLabelActive any `json:"isFilterLabelActive,omitempty"` + OnClickFilterString any `json:"onClickFilterString,omitempty"` + OnClickFilterOutString any `json:"onClickFilterOutString,omitempty"` + OnClickShowField any `json:"onClickShowField,omitempty"` + OnClickHideField any `json:"onClickHideField,omitempty"` + DisplayedFields []string `json:"displayedFields,omitempty"` } func VariantConfig() variants.PanelcfgConfig { diff --git a/go/statetimeline/panel_builder_gen.go b/go/statetimeline/panel_builder_gen.go index fb9edc2..ef438e2 100644 --- a/go/statetimeline/panel_builder_gen.go +++ b/go/statetimeline/panel_builder_gen.go @@ -449,6 +449,16 @@ func (builder *PanelBuilder) MergeValues(mergeValues bool) *PanelBuilder { return builder } +// Controls value alignment on the timelines +func (builder *PanelBuilder) AlignValue(alignValue common.TimelineValueAlignment) *PanelBuilder { + if builder.internal.Options == nil { + builder.internal.Options = &Options{} + } + builder.internal.Options.(*Options).AlignValue = &alignValue + + return builder +} + func (builder *PanelBuilder) Legend(legend cog.Builder[common.VizLegendOptions]) *PanelBuilder { if builder.internal.Options == nil { builder.internal.Options = &Options{} @@ -486,12 +496,16 @@ func (builder *PanelBuilder) Timezone(timezone []common.TimeZone) *PanelBuilder return builder } -// Controls value alignment on the timelines -func (builder *PanelBuilder) AlignValue(alignValue common.TimelineValueAlignment) *PanelBuilder { +// Enables pagination when > 0 +func (builder *PanelBuilder) PerPage(perPage float64) *PanelBuilder { + if !(perPage >= 1) { + builder.errors["perPage"] = cog.MakeBuildErrors("perPage", errors.New("perPage must be >= 1")) + return builder + } if builder.internal.Options == nil { builder.internal.Options = &Options{} } - builder.internal.Options.(*Options).AlignValue = &alignValue + builder.internal.Options.(*Options).PerPage = &perPage return builder } @@ -553,6 +567,7 @@ func (builder *PanelBuilder) applyDefaults() { builder.RowHeight(0.9) builder.MergeValues(true) builder.AlignValue("left") + builder.PerPage(20) builder.LineWidth(0) builder.FillOpacity(70) } diff --git a/go/statetimeline/types_gen.go b/go/statetimeline/types_gen.go index 305599d..14095c4 100644 --- a/go/statetimeline/types_gen.go +++ b/go/statetimeline/types_gen.go @@ -15,12 +15,14 @@ type Options struct { // Controls the row height RowHeight float64 `json:"rowHeight"` // Merge equal consecutive values - MergeValues *bool `json:"mergeValues,omitempty"` - Legend common.VizLegendOptions `json:"legend"` - Tooltip common.VizTooltipOptions `json:"tooltip"` - Timezone []common.TimeZone `json:"timezone,omitempty"` + MergeValues *bool `json:"mergeValues,omitempty"` // Controls value alignment on the timelines AlignValue *common.TimelineValueAlignment `json:"alignValue,omitempty"` + Legend common.VizLegendOptions `json:"legend"` + Tooltip common.VizTooltipOptions `json:"tooltip"` + Timezone []common.TimeZone `json:"timezone,omitempty"` + // Enables pagination when > 0 + PerPage *float64 `json:"perPage,omitempty"` } type FieldConfig struct { diff --git a/java/gradle.properties b/java/gradle.properties index 26ea477..26cbe50 100644 --- a/java/gradle.properties +++ b/java/gradle.properties @@ -1 +1 @@ -grafanaFoundationSDKVersion=next-1722522306 +grafanaFoundationSDKVersion=next-1725466016 diff --git a/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java b/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java index c387171..b834569 100644 --- a/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java +++ b/java/src/main/java/com/grafana/foundation/accesspolicy/AccessPolicy.java @@ -2,11 +2,11 @@ package com.grafana.foundation.accesspolicy; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; import java.util.LinkedList; public class AccessPolicy { diff --git a/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java b/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java index 7467f3a..76cffde 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java +++ b/java/src/main/java/com/grafana/foundation/alerting/MuteTiming.java @@ -2,11 +2,11 @@ package com.grafana.foundation.alerting; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class MuteTiming { @JsonProperty("name") diff --git a/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java b/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java index 2680962..1e10a64 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java +++ b/java/src/main/java/com/grafana/foundation/alerting/NotificationPolicy.java @@ -2,16 +2,20 @@ package com.grafana.foundation.alerting; -import java.util.List; -import java.util.Map; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; +import java.util.Map; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. public class NotificationPolicy { + // A Route is a node that contains definitions of how to handle alerts. This is modified + // from the upstream alertmanager in that it adds the ObjectMatchers property. + @JsonProperty("active_time_intervals") + public List activeTimeIntervals; // A Route is a node that contains definitions of how to handle alerts. This is modified // from the upstream alertmanager in that it adds the ObjectMatchers property. @JsonProperty("continue") @@ -77,6 +81,11 @@ public class NotificationPolicy { public Builder() { this.internal = new NotificationPolicy(); } + public Builder activeTimeIntervals(List activeTimeIntervals) { + this.internal.activeTimeIntervals = activeTimeIntervals; + return this; + } + public Builder continueArg(Boolean continueArg) { this.internal.continueArg = continueArg; return this; diff --git a/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java b/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java index 3df4c5a..f4f40f2 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java +++ b/java/src/main/java/com/grafana/foundation/alerting/NotificationSettings.java @@ -2,11 +2,11 @@ package com.grafana.foundation.alerting; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class NotificationSettings { @JsonProperty("group_by") diff --git a/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java b/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java index 508f3a1..cd57282 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java +++ b/java/src/main/java/com/grafana/foundation/alerting/NotificationTemplate.java @@ -13,7 +13,9 @@ public class NotificationTemplate { @JsonProperty("provenance") public String provenance; @JsonProperty("template") - public String template; + public String template; + @JsonProperty("version") + public String version; public String toJSON() throws JsonProcessingException { ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter(); @@ -41,6 +43,11 @@ public class NotificationTemplate { this.internal.template = template; return this; } + + public Builder version(String version) { + this.internal.version = version; + return this; + } public NotificationTemplate build() { return this.internal; } diff --git a/java/src/main/java/com/grafana/foundation/alerting/Query.java b/java/src/main/java/com/grafana/foundation/alerting/Query.java index 2a642a3..d0559bb 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/Query.java +++ b/java/src/main/java/com/grafana/foundation/alerting/Query.java @@ -2,12 +2,12 @@ package com.grafana.foundation.alerting; -import com.grafana.foundation.cog.variants.Dataquery; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.grafana.foundation.cog.variants.Dataquery; @JsonDeserialize(using = QueryDeserializer.class) public class Query { diff --git a/java/src/main/java/com/grafana/foundation/alerting/Rule.java b/java/src/main/java/com/grafana/foundation/alerting/Rule.java index 5465fbb..ed14d00 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/Rule.java +++ b/java/src/main/java/com/grafana/foundation/alerting/Rule.java @@ -2,12 +2,12 @@ package com.grafana.foundation.alerting; -import java.util.Map; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.Map; +import java.util.List; import java.util.LinkedList; public class Rule { diff --git a/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java b/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java index 6c389b2..a4c9b78 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java +++ b/java/src/main/java/com/grafana/foundation/alerting/RuleGroup.java @@ -2,11 +2,11 @@ package com.grafana.foundation.alerting; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; import java.util.LinkedList; public class RuleGroup { diff --git a/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java b/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java index c281bfe..8c2ad1c 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java +++ b/java/src/main/java/com/grafana/foundation/alerting/TimeInterval.java @@ -2,11 +2,11 @@ package com.grafana.foundation.alerting; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class TimeInterval { @JsonProperty("name") diff --git a/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java b/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java index b28811f..f473d3c 100644 --- a/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java +++ b/java/src/main/java/com/grafana/foundation/alerting/TimeIntervalItem.java @@ -2,11 +2,11 @@ package com.grafana.foundation.alerting; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class TimeIntervalItem { @JsonProperty("days_of_month") diff --git a/java/src/main/java/com/grafana/foundation/annotationslist/Options.java b/java/src/main/java/com/grafana/foundation/annotationslist/Options.java index 37b7ac6..bc0c342 100644 --- a/java/src/main/java/com/grafana/foundation/annotationslist/Options.java +++ b/java/src/main/java/com/grafana/foundation/annotationslist/Options.java @@ -2,11 +2,11 @@ package com.grafana.foundation.annotationslist; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class Options { @JsonProperty("onlyFromThisDashboard") diff --git a/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java b/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java index 1e70724..5372e0a 100644 --- a/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java +++ b/java/src/main/java/com/grafana/foundation/annotationslist/PanelBuilder.java @@ -2,11 +2,11 @@ package com.grafana.foundation.annotationslist; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; import com.grafana.foundation.dashboard.Panel; import com.grafana.foundation.cog.variants.Dataquery; import java.util.LinkedList; diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java index 82ec33a..28b06aa 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureLogsQuery.java @@ -2,11 +2,11 @@ package com.grafana.foundation.azuremonitor; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; // Azure Monitor Logs sub-query properties public class AzureLogsQuery { diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java index 7edac11..e34af30 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricDimension.java @@ -2,11 +2,11 @@ package com.grafana.foundation.azuremonitor; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class AzureMetricDimension { // Name of Dimension to be filtered on. diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java index 68fcbb7..a4a75b0 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMetricQuery.java @@ -2,11 +2,11 @@ package com.grafana.foundation.azuremonitor; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class AzureMetricQuery { // Array of resource URIs to be queried. diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java index 0699b49..be0dd29 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureMonitorQuery.java @@ -2,11 +2,11 @@ package com.grafana.foundation.azuremonitor; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class AzureMonitorQuery implements com.grafana.foundation.cog.variants.Dataquery { // A unique identifier for the query within the list of targets. diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java index e29f803..ff88929 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesFilter.java @@ -2,11 +2,11 @@ package com.grafana.foundation.azuremonitor; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class AzureTracesFilter { // Property name, auto-populated based on available traces. diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java index 8778519..d1c4a9e 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/AzureTracesQuery.java @@ -2,11 +2,11 @@ package com.grafana.foundation.azuremonitor; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; // Application Insights Traces sub-query properties public class AzureTracesQuery { diff --git a/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java b/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java index 5ef4029..15a1a01 100644 --- a/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java +++ b/java/src/main/java/com/grafana/foundation/azuremonitor/GrafanaTemplateVariableQuery.java @@ -11,25 +11,76 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @JsonDeserialize(using = GrafanaTemplateVariableQueryDeserializer.class) public class GrafanaTemplateVariableQuery { @JsonUnwrapped - public AppInsightsMetricNameQuery appInsightsMetricNameQuery; + protected AppInsightsMetricNameQuery appInsightsMetricNameQuery; @JsonUnwrapped - public AppInsightsGroupByQuery appInsightsGroupByQuery; + protected AppInsightsGroupByQuery appInsightsGroupByQuery; @JsonUnwrapped - public SubscriptionsQuery subscriptionsQuery; + protected SubscriptionsQuery subscriptionsQuery; @JsonUnwrapped - public ResourceGroupsQuery resourceGroupsQuery; + protected ResourceGroupsQuery resourceGroupsQuery; @JsonUnwrapped - public ResourceNamesQuery resourceNamesQuery; + protected ResourceNamesQuery resourceNamesQuery; @JsonUnwrapped - public MetricNamespaceQuery metricNamespaceQuery; + protected MetricNamespaceQuery metricNamespaceQuery; @JsonUnwrapped - public MetricDefinitionsQuery metricDefinitionsQuery; + protected MetricDefinitionsQuery metricDefinitionsQuery; @JsonUnwrapped - public MetricNamesQuery metricNamesQuery; + protected MetricNamesQuery metricNamesQuery; @JsonUnwrapped - public WorkspacesQuery workspacesQuery; + protected WorkspacesQuery workspacesQuery; @JsonUnwrapped - public UnknownQuery unknownQuery; + protected UnknownQuery unknownQuery; + protected GrafanaTemplateVariableQuery() {} + public static GrafanaTemplateVariableQuery createAppInsightsMetricNameQuery(com.grafana.foundation.cog.Builder appInsightsMetricNameQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.appInsightsMetricNameQuery = appInsightsMetricNameQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createAppInsightsGroupByQuery(com.grafana.foundation.cog.Builder appInsightsGroupByQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.appInsightsGroupByQuery = appInsightsGroupByQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createSubscriptionsQuery(com.grafana.foundation.cog.Builder subscriptionsQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.subscriptionsQuery = subscriptionsQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createResourceGroupsQuery(com.grafana.foundation.cog.Builder resourceGroupsQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.resourceGroupsQuery = resourceGroupsQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createResourceNamesQuery(com.grafana.foundation.cog.Builder resourceNamesQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.resourceNamesQuery = resourceNamesQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createMetricNamespaceQuery(com.grafana.foundation.cog.Builder metricNamespaceQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.metricNamespaceQuery = metricNamespaceQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createMetricDefinitionsQuery(com.grafana.foundation.cog.Builder metricDefinitionsQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.metricDefinitionsQuery = metricDefinitionsQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createMetricNamesQuery(com.grafana.foundation.cog.Builder metricNamesQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.metricNamesQuery = metricNamesQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createWorkspacesQuery(com.grafana.foundation.cog.Builder workspacesQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.workspacesQuery = workspacesQuery.build(); + return grafanaTemplateVariableQuery; + } + public static GrafanaTemplateVariableQuery createUnknownQuery(com.grafana.foundation.cog.Builder unknownQuery) { + GrafanaTemplateVariableQuery grafanaTemplateVariableQuery = new GrafanaTemplateVariableQuery(); + grafanaTemplateVariableQuery.unknownQuery = unknownQuery.build(); + return grafanaTemplateVariableQuery; + } public String toJSON() throws JsonProcessingException { if (appInsightsMetricNameQuery != null) { diff --git a/java/src/main/java/com/grafana/foundation/barchart/FieldConfig.java b/java/src/main/java/com/grafana/foundation/barchart/FieldConfig.java index 424f722..d3f1a19 100644 --- a/java/src/main/java/com/grafana/foundation/barchart/FieldConfig.java +++ b/java/src/main/java/com/grafana/foundation/barchart/FieldConfig.java @@ -2,16 +2,16 @@ package com.grafana.foundation.barchart; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; import com.grafana.foundation.common.GraphGradientMode; import com.grafana.foundation.common.AxisPlacement; import com.grafana.foundation.common.AxisColorMode; import com.grafana.foundation.common.ScaleDistributionConfig; import com.grafana.foundation.common.HideSeriesConfig; import com.grafana.foundation.common.GraphThresholdsStyleConfig; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; public class FieldConfig { // Controls line width of the bars. diff --git a/java/src/main/java/com/grafana/foundation/barchart/Options.java b/java/src/main/java/com/grafana/foundation/barchart/Options.java index 2b98fee..c5c3ced 100644 --- a/java/src/main/java/com/grafana/foundation/barchart/Options.java +++ b/java/src/main/java/com/grafana/foundation/barchart/Options.java @@ -2,16 +2,16 @@ package com.grafana.foundation.barchart; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; import com.grafana.foundation.common.VizOrientation; import com.grafana.foundation.common.StackingMode; import com.grafana.foundation.common.VisibilityMode; import com.grafana.foundation.common.VizLegendOptions; import com.grafana.foundation.common.VizTooltipOptions; import com.grafana.foundation.common.VizTextDisplayOptions; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; public class Options { // Manually select which field from the dataset to represent the x field. diff --git a/java/src/main/java/com/grafana/foundation/barchart/PanelBuilder.java b/java/src/main/java/com/grafana/foundation/barchart/PanelBuilder.java index 90b2f50..dda81ca 100644 --- a/java/src/main/java/com/grafana/foundation/barchart/PanelBuilder.java +++ b/java/src/main/java/com/grafana/foundation/barchart/PanelBuilder.java @@ -2,16 +2,16 @@ package com.grafana.foundation.barchart; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; import com.grafana.foundation.common.VizOrientation; import com.grafana.foundation.common.StackingMode; import com.grafana.foundation.common.VisibilityMode; import com.grafana.foundation.common.VizLegendOptions; import com.grafana.foundation.common.VizTooltipOptions; import com.grafana.foundation.common.VizTextDisplayOptions; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; import com.grafana.foundation.dashboard.Panel; import java.util.List; import com.grafana.foundation.cog.variants.Dataquery; diff --git a/java/src/main/java/com/grafana/foundation/bargauge/Options.java b/java/src/main/java/com/grafana/foundation/bargauge/Options.java index 385c854..1de6eb5 100644 --- a/java/src/main/java/com/grafana/foundation/bargauge/Options.java +++ b/java/src/main/java/com/grafana/foundation/bargauge/Options.java @@ -2,17 +2,18 @@ package com.grafana.foundation.bargauge; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; import com.grafana.foundation.common.BarGaugeDisplayMode; import com.grafana.foundation.common.BarGaugeValueMode; import com.grafana.foundation.common.BarGaugeNamePlacement; import com.grafana.foundation.common.BarGaugeSizing; +import com.grafana.foundation.common.VizLegendOptions; import com.grafana.foundation.common.ReduceDataOptions; import com.grafana.foundation.common.VizTextDisplayOptions; import com.grafana.foundation.common.VizOrientation; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; public class Options { @JsonProperty("displayMode") @@ -29,6 +30,8 @@ public class Options { public Integer minVizWidth; @JsonProperty("minVizHeight") public Integer minVizHeight; + @JsonProperty("legend") + public VizLegendOptions legend; @JsonProperty("reduceOptions") public ReduceDataOptions reduceOptions; @JsonProperty("text") diff --git a/java/src/main/java/com/grafana/foundation/bargauge/PanelBuilder.java b/java/src/main/java/com/grafana/foundation/bargauge/PanelBuilder.java index 009843b..f7c73bb 100644 --- a/java/src/main/java/com/grafana/foundation/bargauge/PanelBuilder.java +++ b/java/src/main/java/com/grafana/foundation/bargauge/PanelBuilder.java @@ -2,17 +2,18 @@ package com.grafana.foundation.bargauge; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectWriter; import com.grafana.foundation.common.BarGaugeDisplayMode; import com.grafana.foundation.common.BarGaugeValueMode; import com.grafana.foundation.common.BarGaugeNamePlacement; import com.grafana.foundation.common.BarGaugeSizing; +import com.grafana.foundation.common.VizLegendOptions; import com.grafana.foundation.common.ReduceDataOptions; import com.grafana.foundation.common.VizTextDisplayOptions; import com.grafana.foundation.common.VizOrientation; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; import com.grafana.foundation.dashboard.Panel; import java.util.List; import com.grafana.foundation.cog.variants.Dataquery; @@ -333,6 +334,15 @@ public class PanelBuilder implements com.grafana.foundation.cog.Builder { this.internal.options = optionsResource; return this; } + public PanelBuilder legend(com.grafana.foundation.cog.Builder legend) { + if (this.internal.options == null) { + this.internal.options = new com.grafana.foundation.bargauge.Options(); + } + com.grafana.foundation.bargauge.Options optionsResource = (com.grafana.foundation.bargauge.Options) this.internal.options; + optionsResource.legend = legend.build(); + this.internal.options = optionsResource; + return this; + } public PanelBuilder reduceOptions(com.grafana.foundation.cog.Builder reduceOptions) { if (this.internal.options == null) { this.internal.options = new com.grafana.foundation.bargauge.Options(); diff --git a/java/src/main/java/com/grafana/foundation/candlestick/Options.java b/java/src/main/java/com/grafana/foundation/candlestick/Options.java index b4374cc..05da3ce 100644 --- a/java/src/main/java/com/grafana/foundation/candlestick/Options.java +++ b/java/src/main/java/com/grafana/foundation/candlestick/Options.java @@ -2,12 +2,12 @@ package com.grafana.foundation.candlestick; -import com.grafana.foundation.common.VizLegendOptions; -import com.grafana.foundation.common.VizTooltipOptions; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.grafana.foundation.common.VizLegendOptions; +import com.grafana.foundation.common.VizTooltipOptions; public class Options { // Sets which dimensions are used for the visualization diff --git a/java/src/main/java/com/grafana/foundation/canvas/BackgroundConfig.java b/java/src/main/java/com/grafana/foundation/canvas/BackgroundConfig.java index 5fac0db..7c9138c 100644 --- a/java/src/main/java/com/grafana/foundation/canvas/BackgroundConfig.java +++ b/java/src/main/java/com/grafana/foundation/canvas/BackgroundConfig.java @@ -2,12 +2,12 @@ package com.grafana.foundation.canvas; -import com.grafana.foundation.common.ColorDimensionConfig; -import com.grafana.foundation.common.ResourceDimensionConfig; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.grafana.foundation.common.ColorDimensionConfig; +import com.grafana.foundation.common.ResourceDimensionConfig; public class BackgroundConfig { @JsonProperty("color") diff --git a/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java b/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java index 2960b5f..e22b26e 100644 --- a/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java +++ b/java/src/main/java/com/grafana/foundation/canvas/CanvasConnection.java @@ -2,13 +2,13 @@ package com.grafana.foundation.canvas; -import com.grafana.foundation.common.ColorDimensionConfig; -import com.grafana.foundation.common.ScaleDimensionConfig; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.grafana.foundation.common.ColorDimensionConfig; +import com.grafana.foundation.common.ScaleDimensionConfig; +import java.util.List; public class CanvasConnection { @JsonProperty("source") diff --git a/java/src/main/java/com/grafana/foundation/canvas/CanvasElementOptions.java b/java/src/main/java/com/grafana/foundation/canvas/CanvasElementOptions.java index df10136..7f868b8 100644 --- a/java/src/main/java/com/grafana/foundation/canvas/CanvasElementOptions.java +++ b/java/src/main/java/com/grafana/foundation/canvas/CanvasElementOptions.java @@ -2,11 +2,11 @@ package com.grafana.foundation.canvas; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class CanvasElementOptions { @JsonProperty("name") diff --git a/java/src/main/java/com/grafana/foundation/canvas/CanvasOptionsRoot.java b/java/src/main/java/com/grafana/foundation/canvas/CanvasOptionsRoot.java index 2eaf555..f391878 100644 --- a/java/src/main/java/com/grafana/foundation/canvas/CanvasOptionsRoot.java +++ b/java/src/main/java/com/grafana/foundation/canvas/CanvasOptionsRoot.java @@ -2,11 +2,11 @@ package com.grafana.foundation.canvas; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class CanvasOptionsRoot { // Name of the root element diff --git a/java/src/main/java/com/grafana/foundation/canvas/LineConfig.java b/java/src/main/java/com/grafana/foundation/canvas/LineConfig.java index fb94a31..ee4b076 100644 --- a/java/src/main/java/com/grafana/foundation/canvas/LineConfig.java +++ b/java/src/main/java/com/grafana/foundation/canvas/LineConfig.java @@ -2,11 +2,11 @@ package com.grafana.foundation.canvas; -import com.grafana.foundation.common.ColorDimensionConfig; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import com.grafana.foundation.common.ColorDimensionConfig; public class LineConfig { @JsonProperty("color") diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchAnnotationQuery.java b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchAnnotationQuery.java index ece0682..916ac0e 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchAnnotationQuery.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchAnnotationQuery.java @@ -2,12 +2,12 @@ package com.grafana.foundation.cloudwatch; -import java.util.Map; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.Map; +import java.util.List; // Shape of a CloudWatch Annotation query // TS type is CloudWatchDefaultQuery = Omit & CloudWatchMetricsQuery, declared in veneer diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchLogsQuery.java b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchLogsQuery.java index f1c9664..ba2b0bf 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchLogsQuery.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchLogsQuery.java @@ -2,11 +2,11 @@ package com.grafana.foundation.cloudwatch; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; // Shape of a CloudWatch Logs query public class CloudWatchLogsQuery implements com.grafana.foundation.cog.variants.Dataquery { diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchMetricsQuery.java b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchMetricsQuery.java index 766452e..a110a20 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchMetricsQuery.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchMetricsQuery.java @@ -2,12 +2,12 @@ package com.grafana.foundation.cloudwatch; -import java.util.Map; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.Map; +import java.util.List; // Shape of a CloudWatch Metrics query public class CloudWatchMetricsQuery implements com.grafana.foundation.cog.variants.Dataquery { diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchQuery.java b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchQuery.java index df970b5..0b3d2f3 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchQuery.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/CloudWatchQuery.java @@ -11,11 +11,27 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @JsonDeserialize(using = CloudWatchQueryDeserializer.class) public class CloudWatchQuery implements com.grafana.foundation.cog.variants.Dataquery { @JsonUnwrapped - public CloudWatchMetricsQuery cloudWatchMetricsQuery; + protected CloudWatchMetricsQuery cloudWatchMetricsQuery; @JsonUnwrapped - public CloudWatchLogsQuery cloudWatchLogsQuery; + protected CloudWatchLogsQuery cloudWatchLogsQuery; @JsonUnwrapped - public CloudWatchAnnotationQuery cloudWatchAnnotationQuery; + protected CloudWatchAnnotationQuery cloudWatchAnnotationQuery; + protected CloudWatchQuery() {} + public static CloudWatchQuery createCloudWatchMetricsQuery(com.grafana.foundation.cog.Builder cloudWatchMetricsQuery) { + CloudWatchQuery cloudWatchQuery = new CloudWatchQuery(); + cloudWatchQuery.cloudWatchMetricsQuery = cloudWatchMetricsQuery.build(); + return cloudWatchQuery; + } + public static CloudWatchQuery createCloudWatchLogsQuery(com.grafana.foundation.cog.Builder cloudWatchLogsQuery) { + CloudWatchQuery cloudWatchQuery = new CloudWatchQuery(); + cloudWatchQuery.cloudWatchLogsQuery = cloudWatchLogsQuery.build(); + return cloudWatchQuery; + } + public static CloudWatchQuery createCloudWatchAnnotationQuery(com.grafana.foundation.cog.Builder cloudWatchAnnotationQuery) { + CloudWatchQuery cloudWatchQuery = new CloudWatchQuery(); + cloudWatchQuery.cloudWatchAnnotationQuery = cloudWatchAnnotationQuery.build(); + return cloudWatchQuery; + } public String toJSON() throws JsonProcessingException { if (cloudWatchMetricsQuery != null) { diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/MetricStat.java b/java/src/main/java/com/grafana/foundation/cloudwatch/MetricStat.java index a00ff2c..4915e74 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/MetricStat.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/MetricStat.java @@ -2,12 +2,12 @@ package com.grafana.foundation.cloudwatch; -import java.util.Map; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.Map; +import java.util.List; public class MetricStat { // AWS region to query for the metric diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorArrayExpression.java b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorArrayExpression.java index c592f29..9dc3415 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorArrayExpression.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorArrayExpression.java @@ -2,11 +2,11 @@ package com.grafana.foundation.cloudwatch; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class QueryEditorArrayExpression { @JsonProperty("type") diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorExpression.java b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorExpression.java index f22680a..c96a845 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorExpression.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorExpression.java @@ -11,17 +11,48 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @JsonDeserialize(using = QueryEditorExpressionDeserializer.class) public class QueryEditorExpression { @JsonUnwrapped - public QueryEditorArrayExpression queryEditorArrayExpression; + protected QueryEditorArrayExpression queryEditorArrayExpression; @JsonUnwrapped - public QueryEditorPropertyExpression queryEditorPropertyExpression; + protected QueryEditorPropertyExpression queryEditorPropertyExpression; @JsonUnwrapped - public QueryEditorGroupByExpression queryEditorGroupByExpression; + protected QueryEditorGroupByExpression queryEditorGroupByExpression; @JsonUnwrapped - public QueryEditorFunctionExpression queryEditorFunctionExpression; + protected QueryEditorFunctionExpression queryEditorFunctionExpression; @JsonUnwrapped - public QueryEditorFunctionParameterExpression queryEditorFunctionParameterExpression; + protected QueryEditorFunctionParameterExpression queryEditorFunctionParameterExpression; @JsonUnwrapped - public QueryEditorOperatorExpression queryEditorOperatorExpression; + protected QueryEditorOperatorExpression queryEditorOperatorExpression; + protected QueryEditorExpression() {} + public static QueryEditorExpression createQueryEditorArrayExpression(com.grafana.foundation.cog.Builder queryEditorArrayExpression) { + QueryEditorExpression queryEditorExpression = new QueryEditorExpression(); + queryEditorExpression.queryEditorArrayExpression = queryEditorArrayExpression.build(); + return queryEditorExpression; + } + public static QueryEditorExpression createQueryEditorPropertyExpression(com.grafana.foundation.cog.Builder queryEditorPropertyExpression) { + QueryEditorExpression queryEditorExpression = new QueryEditorExpression(); + queryEditorExpression.queryEditorPropertyExpression = queryEditorPropertyExpression.build(); + return queryEditorExpression; + } + public static QueryEditorExpression createQueryEditorGroupByExpression(com.grafana.foundation.cog.Builder queryEditorGroupByExpression) { + QueryEditorExpression queryEditorExpression = new QueryEditorExpression(); + queryEditorExpression.queryEditorGroupByExpression = queryEditorGroupByExpression.build(); + return queryEditorExpression; + } + public static QueryEditorExpression createQueryEditorFunctionExpression(com.grafana.foundation.cog.Builder queryEditorFunctionExpression) { + QueryEditorExpression queryEditorExpression = new QueryEditorExpression(); + queryEditorExpression.queryEditorFunctionExpression = queryEditorFunctionExpression.build(); + return queryEditorExpression; + } + public static QueryEditorExpression createQueryEditorFunctionParameterExpression(com.grafana.foundation.cog.Builder queryEditorFunctionParameterExpression) { + QueryEditorExpression queryEditorExpression = new QueryEditorExpression(); + queryEditorExpression.queryEditorFunctionParameterExpression = queryEditorFunctionParameterExpression.build(); + return queryEditorExpression; + } + public static QueryEditorExpression createQueryEditorOperatorExpression(com.grafana.foundation.cog.Builder queryEditorOperatorExpression) { + QueryEditorExpression queryEditorExpression = new QueryEditorExpression(); + queryEditorExpression.queryEditorOperatorExpression = queryEditorOperatorExpression.build(); + return queryEditorExpression; + } public String toJSON() throws JsonProcessingException { if (queryEditorArrayExpression != null) { diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorFunctionExpression.java b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorFunctionExpression.java index 046a4f2..31b3c46 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorFunctionExpression.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorFunctionExpression.java @@ -2,11 +2,11 @@ package com.grafana.foundation.cloudwatch; -import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; +import java.util.List; public class QueryEditorFunctionExpression { @JsonProperty("type") diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorType.java b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorType.java index 5b2bdbf..258aa85 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorType.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorType.java @@ -13,11 +13,27 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @JsonSerialize(using = QueryEditorOperatorTypeSerializer.class) public class QueryEditorOperatorType { @JsonUnwrapped - public String string; + protected String string; @JsonUnwrapped - public Boolean bool; + protected Boolean bool; @JsonUnwrapped - public Long int64; + protected Long int64; + protected QueryEditorOperatorType() {} + public static QueryEditorOperatorType createString(String string) { + QueryEditorOperatorType queryEditorOperatorType = new QueryEditorOperatorType(); + queryEditorOperatorType.string = string; + return queryEditorOperatorType; + } + public static QueryEditorOperatorType createBool(Boolean bool) { + QueryEditorOperatorType queryEditorOperatorType = new QueryEditorOperatorType(); + queryEditorOperatorType.bool = bool; + return queryEditorOperatorType; + } + public static QueryEditorOperatorType createInt64(Long int64) { + QueryEditorOperatorType queryEditorOperatorType = new QueryEditorOperatorType(); + queryEditorOperatorType.int64 = int64; + return queryEditorOperatorType; + } public String toJSON() throws JsonProcessingException { if (string != null) { diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorValueType.java b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorValueType.java index a8776bf..5e1e09f 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorValueType.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorOperatorValueType.java @@ -2,25 +2,46 @@ package com.grafana.foundation.cloudwatch; -import java.util.List; import com.fasterxml.jackson.annotation.JsonUnwrapped; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import java.util.List; @JsonDeserialize(using = QueryEditorOperatorValueTypeDeserializer.class) @JsonSerialize(using = QueryEditorOperatorValueTypeSerializer.class) public class QueryEditorOperatorValueType { @JsonUnwrapped - public String string; + protected String string; @JsonUnwrapped - public Boolean bool; + protected Boolean bool; @JsonUnwrapped - public Long int64; + protected Long int64; @JsonUnwrapped - public List arrayOfQueryEditorOperatorType; + protected List arrayOfQueryEditorOperatorType; + protected QueryEditorOperatorValueType() {} + public static QueryEditorOperatorValueType createString(String string) { + QueryEditorOperatorValueType queryEditorOperatorValueType = new QueryEditorOperatorValueType(); + queryEditorOperatorValueType.string = string; + return queryEditorOperatorValueType; + } + public static QueryEditorOperatorValueType createBool(Boolean bool) { + QueryEditorOperatorValueType queryEditorOperatorValueType = new QueryEditorOperatorValueType(); + queryEditorOperatorValueType.bool = bool; + return queryEditorOperatorValueType; + } + public static QueryEditorOperatorValueType createInt64(Long int64) { + QueryEditorOperatorValueType queryEditorOperatorValueType = new QueryEditorOperatorValueType(); + queryEditorOperatorValueType.int64 = int64; + return queryEditorOperatorValueType; + } + public static QueryEditorOperatorValueType createArrayOfQueryEditorOperatorType(List arrayOfQueryEditorOperatorType) { + QueryEditorOperatorValueType queryEditorOperatorValueType = new QueryEditorOperatorValueType(); + queryEditorOperatorValueType.arrayOfQueryEditorOperatorType = arrayOfQueryEditorOperatorType; + return queryEditorOperatorValueType; + } public String toJSON() throws JsonProcessingException { if (string != null) { diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyExpressionOrQueryEditorFunctionExpression.java b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyExpressionOrQueryEditorFunctionExpression.java index 799d86b..3e9edc7 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyExpressionOrQueryEditorFunctionExpression.java +++ b/java/src/main/java/com/grafana/foundation/cloudwatch/QueryEditorPropertyExpressionOrQueryEditorFunctionExpression.java @@ -11,9 +11,20 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize; @JsonDeserialize(using = QueryEditorPropertyExpressionOrQueryEditorFunctionExpressionDeserializer.class) public class QueryEditorPropertyExpressionOrQueryEditorFunctionExpression { @JsonUnwrapped - public QueryEditorPropertyExpression queryEditorPropertyExpression; + protected QueryEditorPropertyExpression queryEditorPropertyExpression; @JsonUnwrapped - public QueryEditorFunctionExpression queryEditorFunctionExpression; + protected QueryEditorFunctionExpression queryEditorFunctionExpression; + protected QueryEditorPropertyExpressionOrQueryEditorFunctionExpression() {} + public static QueryEditorPropertyExpressionOrQueryEditorFunctionExpression createQueryEditorPropertyExpression(com.grafana.foundation.cog.Builder queryEditorPropertyExpression) { + QueryEditorPropertyExpressionOrQueryEditorFunctionExpression queryEditorPropertyExpressionOrQueryEditorFunctionExpression = new QueryEditorPropertyExpressionOrQueryEditorFunctionExpression(); + queryEditorPropertyExpressionOrQueryEditorFunctionExpression.queryEditorPropertyExpression = queryEditorPropertyExpression.build(); + return queryEditorPropertyExpressionOrQueryEditorFunctionExpression; + } + public static QueryEditorPropertyExpressionOrQueryEditorFunctionExpression createQueryEditorFunctionExpression(com.grafana.foundation.cog.Builder queryEditorFunctionExpression) { + QueryEditorPropertyExpressionOrQueryEditorFunctionExpression queryEditorPropertyExpressionOrQueryEditorFunctionExpression = new QueryEditorPropertyExpressionOrQueryEditorFunctionExpression(); + queryEditorPropertyExpressionOrQueryEditorFunctionExpression.queryEditorFunctionExpression = queryEditorFunctionExpression.build(); + return queryEditorPropertyExpressionOrQueryEditorFunctionExpression; + } public String toJSON() throws JsonProcessingException { if (queryEditorPropertyExpression != null) { diff --git a/java/src/main/java/com/grafana/foundation/cloudwatch/StringOrArrayOfString.java b/java/src/main/java/com/grafana/foundation/cloudwatch/StringOrArrayOfString.java index 01558bb..f4d2254 100644 --- a/java/src/main/java/com/grafana/foundation/cloudwatch/StringOrArrayOfString.java +++ b/java/src/main/java...*[Comment body truncated]*