diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index e24a358f1bd..3f6d911acd9 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -33708,10 +33708,27 @@ components: example: 3600 format: int64 type: integer + fail_on_no_data: + default: true + description: Whether the rule should fail if a matching monitor group is in a NO DATA state. + example: false + type: boolean + fail_on_no_groups_found: + default: false + description: Whether the rule should fail if no monitor groups are found for the query. + example: false + type: boolean query: description: Monitors that match this query are evaluated. example: "service:my-service env:prod" type: string + warmup: + default: 0 + description: Seconds to wait after a deployment starts before evaluating the monitor's status. + example: 0 + format: int64 + minimum: 0 + type: integer required: - query type: object diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java index 968a6c36fe4..b088e22db49 100644 --- a/src/main/java/com/datadog/api/client/ApiClient.java +++ b/src/main/java/com/datadog/api/client/ApiClient.java @@ -77,6 +77,7 @@ public class ApiClient { protected Map defaultCookieMap = new HashMap(); protected String basePath = "https://api.datadoghq.com"; protected String userAgent; + private boolean isIaC = false; private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME; protected List servers = @@ -1937,6 +1938,33 @@ public ApiClient addDefaultHeader(String key, String value) { return this; } + /** + * Set whether this API client is managed by Infrastructure as Code (IaC) tooling. When enabled, + * the {@code X-Datadog-Managed-By: iac} header is sent on every request made through this client + * (by adding to the default header map). + * + * @param isIaC Whether calls made with this client originate from IaC tooling + * @return API client + */ + public ApiClient setIsIaC(boolean isIaC) { + this.isIaC = isIaC; + if (isIaC) { + addDefaultHeader("X-Datadog-Managed-By", "iac"); + } else { + defaultHeaderMap.remove("X-Datadog-Managed-By"); + } + return this; + } + + /** + * Get whether this API client is managed by Infrastructure as Code (IaC) tooling. + * + * @return Whether this client is managed by IaC tooling + */ + public boolean getIsIaC() { + return isIaC; + } + /** * Add a default cookie. * diff --git a/src/main/java/com/datadog/api/client/v2/model/DeploymentRuleOptionsMonitor.java b/src/main/java/com/datadog/api/client/v2/model/DeploymentRuleOptionsMonitor.java index 7436b00a94a..5f5624026a6 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DeploymentRuleOptionsMonitor.java +++ b/src/main/java/com/datadog/api/client/v2/model/DeploymentRuleOptionsMonitor.java @@ -16,7 +16,10 @@ /** Monitor options for deployment rules. */ @JsonPropertyOrder({ DeploymentRuleOptionsMonitor.JSON_PROPERTY_DURATION, - DeploymentRuleOptionsMonitor.JSON_PROPERTY_QUERY + DeploymentRuleOptionsMonitor.JSON_PROPERTY_FAIL_ON_NO_DATA, + DeploymentRuleOptionsMonitor.JSON_PROPERTY_FAIL_ON_NO_GROUPS_FOUND, + DeploymentRuleOptionsMonitor.JSON_PROPERTY_QUERY, + DeploymentRuleOptionsMonitor.JSON_PROPERTY_WARMUP }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") @@ -25,9 +28,18 @@ public class DeploymentRuleOptionsMonitor { public static final String JSON_PROPERTY_DURATION = "duration"; private Long duration; + public static final String JSON_PROPERTY_FAIL_ON_NO_DATA = "fail_on_no_data"; + private Boolean failOnNoData = true; + + public static final String JSON_PROPERTY_FAIL_ON_NO_GROUPS_FOUND = "fail_on_no_groups_found"; + private Boolean failOnNoGroupsFound = false; + public static final String JSON_PROPERTY_QUERY = "query"; private String query; + public static final String JSON_PROPERTY_WARMUP = "warmup"; + private Long warmup = 0l; + public DeploymentRuleOptionsMonitor() {} @JsonCreator @@ -57,6 +69,48 @@ public void setDuration(Long duration) { this.duration = duration; } + public DeploymentRuleOptionsMonitor failOnNoData(Boolean failOnNoData) { + this.failOnNoData = failOnNoData; + return this; + } + + /** + * Whether the rule should fail if a matching monitor group is in a NO DATA state. + * + * @return failOnNoData + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FAIL_ON_NO_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getFailOnNoData() { + return failOnNoData; + } + + public void setFailOnNoData(Boolean failOnNoData) { + this.failOnNoData = failOnNoData; + } + + public DeploymentRuleOptionsMonitor failOnNoGroupsFound(Boolean failOnNoGroupsFound) { + this.failOnNoGroupsFound = failOnNoGroupsFound; + return this; + } + + /** + * Whether the rule should fail if no monitor groups are found for the query. + * + * @return failOnNoGroupsFound + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FAIL_ON_NO_GROUPS_FOUND) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getFailOnNoGroupsFound() { + return failOnNoGroupsFound; + } + + public void setFailOnNoGroupsFound(Boolean failOnNoGroupsFound) { + this.failOnNoGroupsFound = failOnNoGroupsFound; + } + public DeploymentRuleOptionsMonitor query(String query) { this.query = query; return this; @@ -77,6 +131,27 @@ public void setQuery(String query) { this.query = query; } + public DeploymentRuleOptionsMonitor warmup(Long warmup) { + this.warmup = warmup; + return this; + } + + /** + * Seconds to wait after a deployment starts before evaluating the monitor's status. minimum: 0 + * + * @return warmup + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_WARMUP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getWarmup() { + return warmup; + } + + public void setWarmup(Long warmup) { + this.warmup = warmup; + } + /** Return true if this DeploymentRuleOptionsMonitor object is equal to o. */ @Override public boolean equals(Object o) { @@ -88,12 +163,16 @@ public boolean equals(Object o) { } DeploymentRuleOptionsMonitor deploymentRuleOptionsMonitor = (DeploymentRuleOptionsMonitor) o; return Objects.equals(this.duration, deploymentRuleOptionsMonitor.duration) - && Objects.equals(this.query, deploymentRuleOptionsMonitor.query); + && Objects.equals(this.failOnNoData, deploymentRuleOptionsMonitor.failOnNoData) + && Objects.equals( + this.failOnNoGroupsFound, deploymentRuleOptionsMonitor.failOnNoGroupsFound) + && Objects.equals(this.query, deploymentRuleOptionsMonitor.query) + && Objects.equals(this.warmup, deploymentRuleOptionsMonitor.warmup); } @Override public int hashCode() { - return Objects.hash(duration, query); + return Objects.hash(duration, failOnNoData, failOnNoGroupsFound, query, warmup); } @Override @@ -101,7 +180,12 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class DeploymentRuleOptionsMonitor {\n"); sb.append(" duration: ").append(toIndentedString(duration)).append("\n"); + sb.append(" failOnNoData: ").append(toIndentedString(failOnNoData)).append("\n"); + sb.append(" failOnNoGroupsFound: ") + .append(toIndentedString(failOnNoGroupsFound)) + .append("\n"); sb.append(" query: ").append(toIndentedString(query)).append("\n"); + sb.append(" warmup: ").append(toIndentedString(warmup)).append("\n"); sb.append('}'); return sb.toString(); }