tag enforces required tags on monitors.
+ * downtime sets a maximum downtime duration for the organization.
*
* @return policyType
*/
diff --git a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeEditRequest.java b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeEditRequest.java
index e28d95b418e..ac1df8db090 100644
--- a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeEditRequest.java
+++ b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeEditRequest.java
@@ -76,7 +76,8 @@ public MonitorConfigPolicyAttributeEditRequest policyType(MonitorConfigPolicyTyp
}
/**
- * The monitor configuration policy type.
+ * The monitor configuration policy type. tag enforces required tags on monitors.
+ * downtime sets a maximum downtime duration for the organization.
*
* @return policyType
*/
diff --git a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeResponse.java b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeResponse.java
index 5db1084b8eb..30851999f0c 100644
--- a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeResponse.java
+++ b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyAttributeResponse.java
@@ -63,7 +63,8 @@ public MonitorConfigPolicyAttributeResponse policyType(MonitorConfigPolicyType p
}
/**
- * The monitor configuration policy type.
+ * The monitor configuration policy type. tag enforces required tags on monitors.
+ * downtime sets a maximum downtime duration for the organization.
*
* @return policyType
*/
diff --git a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyDowntimePolicy.java b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyDowntimePolicy.java
new file mode 100644
index 00000000000..b7d494d26b3
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyDowntimePolicy.java
@@ -0,0 +1,90 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.Objects;
+
+/** Downtime duration attributes of a monitor configuration policy. */
+@JsonPropertyOrder({MonitorConfigPolicyDowntimePolicy.JSON_PROPERTY_MAX_DURATION_MS})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class MonitorConfigPolicyDowntimePolicy {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_MAX_DURATION_MS = "max_duration_ms";
+ private Long maxDurationMs;
+
+ public MonitorConfigPolicyDowntimePolicy() {}
+
+ @JsonCreator
+ public MonitorConfigPolicyDowntimePolicy(
+ @JsonProperty(required = true, value = JSON_PROPERTY_MAX_DURATION_MS) Long maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ }
+
+ public MonitorConfigPolicyDowntimePolicy maxDurationMs(Long maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ return this;
+ }
+
+ /**
+ * The maximum allowed downtime duration, in milliseconds. minimum: 1
+ *
+ * @return maxDurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_MAX_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getMaxDurationMs() {
+ return maxDurationMs;
+ }
+
+ public void setMaxDurationMs(Long maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ }
+
+ /** Return true if this MonitorConfigPolicyDowntimePolicy object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MonitorConfigPolicyDowntimePolicy monitorConfigPolicyDowntimePolicy =
+ (MonitorConfigPolicyDowntimePolicy) o;
+ return Objects.equals(this.maxDurationMs, monitorConfigPolicyDowntimePolicy.maxDurationMs);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(maxDurationMs);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MonitorConfigPolicyDowntimePolicy {\n");
+ sb.append(" maxDurationMs: ").append(toIndentedString(maxDurationMs)).append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyDowntimePolicyCreateRequest.java b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyDowntimePolicyCreateRequest.java
new file mode 100644
index 00000000000..94e4bff54cf
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyDowntimePolicyCreateRequest.java
@@ -0,0 +1,91 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.Objects;
+
+/** Downtime duration attributes of a monitor configuration policy. */
+@JsonPropertyOrder({MonitorConfigPolicyDowntimePolicyCreateRequest.JSON_PROPERTY_MAX_DURATION_MS})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class MonitorConfigPolicyDowntimePolicyCreateRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_MAX_DURATION_MS = "max_duration_ms";
+ private Long maxDurationMs;
+
+ public MonitorConfigPolicyDowntimePolicyCreateRequest() {}
+
+ @JsonCreator
+ public MonitorConfigPolicyDowntimePolicyCreateRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_MAX_DURATION_MS) Long maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ }
+
+ public MonitorConfigPolicyDowntimePolicyCreateRequest maxDurationMs(Long maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ return this;
+ }
+
+ /**
+ * The maximum allowed downtime duration, in milliseconds. minimum: 1
+ *
+ * @return maxDurationMs
+ */
+ @JsonProperty(JSON_PROPERTY_MAX_DURATION_MS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public Long getMaxDurationMs() {
+ return maxDurationMs;
+ }
+
+ public void setMaxDurationMs(Long maxDurationMs) {
+ this.maxDurationMs = maxDurationMs;
+ }
+
+ /** Return true if this MonitorConfigPolicyDowntimePolicyCreateRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ MonitorConfigPolicyDowntimePolicyCreateRequest monitorConfigPolicyDowntimePolicyCreateRequest =
+ (MonitorConfigPolicyDowntimePolicyCreateRequest) o;
+ return Objects.equals(
+ this.maxDurationMs, monitorConfigPolicyDowntimePolicyCreateRequest.maxDurationMs);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(maxDurationMs);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class MonitorConfigPolicyDowntimePolicyCreateRequest {\n");
+ sb.append(" maxDurationMs: ").append(toIndentedString(maxDurationMs)).append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyPolicy.java b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyPolicy.java
index b82b7173103..5703bb946cf 100644
--- a/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyPolicy.java
+++ b/src/main/java/com/datadog/api/client/v2/model/MonitorConfigPolicyPolicy.java
@@ -125,6 +125,52 @@ public MonitorConfigPolicyPolicy deserialize(JsonParser jp, DeserializationConte
log.log(Level.FINER, "Input data does not match schema 'MonitorConfigPolicyTagPolicy'", e);
}
+ // deserialize MonitorConfigPolicyDowntimePolicy
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (MonitorConfigPolicyDowntimePolicy.class.equals(Integer.class)
+ || MonitorConfigPolicyDowntimePolicy.class.equals(Long.class)
+ || MonitorConfigPolicyDowntimePolicy.class.equals(Float.class)
+ || MonitorConfigPolicyDowntimePolicy.class.equals(Double.class)
+ || MonitorConfigPolicyDowntimePolicy.class.equals(Boolean.class)
+ || MonitorConfigPolicyDowntimePolicy.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((MonitorConfigPolicyDowntimePolicy.class.equals(Integer.class)
+ || MonitorConfigPolicyDowntimePolicy.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((MonitorConfigPolicyDowntimePolicy.class.equals(Float.class)
+ || MonitorConfigPolicyDowntimePolicy.class.equals(Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (MonitorConfigPolicyDowntimePolicy.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (MonitorConfigPolicyDowntimePolicy.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp = tree.traverse(jp.getCodec()).readValueAs(MonitorConfigPolicyDowntimePolicy.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((MonitorConfigPolicyDowntimePolicy) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(Level.FINER, "Input data matches schema 'MonitorConfigPolicyDowntimePolicy'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER, "Input data does not match schema 'MonitorConfigPolicyDowntimePolicy'", e);
+ }
+
MonitorConfigPolicyPolicy ret = new MonitorConfigPolicyPolicy();
if (match == 1) {
ret.setActualInstance(deserialized);
@@ -159,8 +205,16 @@ public MonitorConfigPolicyPolicy(MonitorConfigPolicyTagPolicy o) {
setActualInstance(o);
}
+ public MonitorConfigPolicyPolicy(MonitorConfigPolicyDowntimePolicy o) {
+ super("oneOf", Boolean.FALSE);
+ setActualInstance(o);
+ }
+
static {
schemas.put("MonitorConfigPolicyTagPolicy", new GenericTypeIt could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
* composed schema (allOf, anyOf, oneOf).
@@ -182,18 +237,26 @@ public void setActualInstance(Object instance) {
super.setActualInstance(instance);
return;
}
+ if (JSON.isInstanceOf(
+ MonitorConfigPolicyDowntimePolicy.class, instance, new HashSet It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
* composed schema (allOf, anyOf, oneOf).
@@ -203,19 +265,27 @@ public void setActualInstance(Object instance) {
super.setActualInstance(instance);
return;
}
+ if (JSON.isInstanceOf(
+ MonitorConfigPolicyDowntimePolicyCreateRequest.class, instance, new HashSettag enforces required tags on monitors.
+ * downtime sets a maximum downtime duration for the organization.
+ */
@JsonSerialize(using = MonitorConfigPolicyType.MonitorConfigPolicyTypeSerializer.class)
public class MonitorConfigPolicyType extends ModelEnum