com.grafana.foundation.alerting.Query Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of grafana-foundation-sdk Show documentation
Show all versions of grafana-foundation-sdk Show documentation
A set of tools, types and libraries for building and manipulating Grafana objects.
// Code generated - EDITING IS FUTILE. DO NOT EDIT.
package com.grafana.foundation.alerting;
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.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.grafana.foundation.cog.variants.Dataquery;
@JsonDeserialize(using = QueryDeserializer.class)
public class Query {
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("datasourceUid")
public String datasourceUid;
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("model")
public Dataquery model;
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("queryType")
public String queryType;
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("refId")
public String refId;
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
@JsonProperty("relativeTimeRange")
public RelativeTimeRange relativeTimeRange;
public String toJSON() throws JsonProcessingException {
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
return ow.writeValueAsString(this);
}
public static class Builder implements com.grafana.foundation.cog.Builder {
private final Query internal;
public Builder(String refId) {
this.internal = new Query();
this.internal.refId = refId;
}
public Builder datasourceUid(String datasourceUid) {
this.internal.datasourceUid = datasourceUid;
return this;
}
public Builder model(com.grafana.foundation.cog.Builder model) {
this.internal.model = model.build();
return this;
}
public Builder queryType(String queryType) {
this.internal.queryType = queryType;
return this;
}
public Builder refId(String refId) {
this.internal.refId = refId;
return this;
}
public Builder relativeTimeRange(RelativeTimeRange relativeTimeRange) {
this.internal.relativeTimeRange = relativeTimeRange;
return this;
}
public Query build() {
return this.internal;
}
}
}