From b0b2adc2aa254545433bbfce8ffe1c7761abf9fe Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Fri, 16 Oct 2026 12:18:41 +0000 Subject: [PATCH] Regenerate client from commit 01b0e11 of spec repo --- .generator/schemas/v2/openapi.yaml | 17 ++ .../v2/model/OnCallShiftChangeTrigger.java | 139 +++++++++++++ .../OnCallShiftChangeTriggerWrapper.java | 195 ++++++++++++++++++ .../datadog/api/client/v2/model/Trigger.java | 97 +++++++-- 4 files changed, 436 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/datadog/api/client/v2/model/OnCallShiftChangeTrigger.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/OnCallShiftChangeTriggerWrapper.java diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 3ee8518a48c..ca29b5f3a0a 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -90344,6 +90344,22 @@ components: - type - method type: object + OnCallShiftChangeTrigger: + description: "Trigger a workflow when an On-Call shift changes. The workflow must be published." + properties: + rateLimit: + $ref: "#/components/schemas/TriggerRateLimit" + type: object + OnCallShiftChangeTriggerWrapper: + description: "Schema for an On-Call shift change trigger." + properties: + onCallShiftChangeTrigger: + $ref: "#/components/schemas/OnCallShiftChangeTrigger" + startStepNames: + $ref: "#/components/schemas/StartStepNames" + required: + - onCallShiftChangeTrigger + type: object OnCallTrigger: description: "Trigger a workflow from an On-Call Page or On-Call Handover. For automatic triggering a handle must be configured and the workflow must be published." properties: @@ -134234,6 +134250,7 @@ components: - $ref: "#/components/schemas/IncidentTriggerWrapper" - $ref: "#/components/schemas/MonitorTriggerWrapper" - $ref: "#/components/schemas/NotebookTriggerWrapper" + - $ref: "#/components/schemas/OnCallShiftChangeTriggerWrapper" - $ref: "#/components/schemas/OnCallTriggerWrapper" - $ref: "#/components/schemas/ScheduleTriggerWrapper" - $ref: "#/components/schemas/SecurityTriggerWrapper" diff --git a/src/main/java/com/datadog/api/client/v2/model/OnCallShiftChangeTrigger.java b/src/main/java/com/datadog/api/client/v2/model/OnCallShiftChangeTrigger.java new file mode 100644 index 00000000000..c19091c3b6c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/OnCallShiftChangeTrigger.java @@ -0,0 +1,139 @@ +/* + * 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.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +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.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Trigger a workflow when an On-Call shift changes. The workflow must be published. */ +@JsonPropertyOrder({OnCallShiftChangeTrigger.JSON_PROPERTY_RATE_LIMIT}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class OnCallShiftChangeTrigger { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_RATE_LIMIT = "rateLimit"; + private TriggerRateLimit rateLimit; + + public OnCallShiftChangeTrigger rateLimit(TriggerRateLimit rateLimit) { + this.rateLimit = rateLimit; + this.unparsed |= rateLimit.unparsed; + return this; + } + + /** + * Defines a rate limit for a trigger. + * + * @return rateLimit + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RATE_LIMIT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TriggerRateLimit getRateLimit() { + return rateLimit; + } + + public void setRateLimit(TriggerRateLimit rateLimit) { + this.rateLimit = rateLimit; + if (rateLimit != null) { + this.unparsed |= rateLimit.unparsed; + } + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return OnCallShiftChangeTrigger + */ + @JsonAnySetter + public OnCallShiftChangeTrigger putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this OnCallShiftChangeTrigger object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OnCallShiftChangeTrigger onCallShiftChangeTrigger = (OnCallShiftChangeTrigger) o; + return Objects.equals(this.rateLimit, onCallShiftChangeTrigger.rateLimit) + && Objects.equals(this.additionalProperties, onCallShiftChangeTrigger.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(rateLimit, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OnCallShiftChangeTrigger {\n"); + sb.append(" rateLimit: ").append(toIndentedString(rateLimit)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .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/OnCallShiftChangeTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/OnCallShiftChangeTriggerWrapper.java new file mode 100644 index 00000000000..04a8103ca36 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/OnCallShiftChangeTriggerWrapper.java @@ -0,0 +1,195 @@ +/* + * 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.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +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.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Schema for an On-Call shift change trigger. */ +@JsonPropertyOrder({ + OnCallShiftChangeTriggerWrapper.JSON_PROPERTY_ON_CALL_SHIFT_CHANGE_TRIGGER, + OnCallShiftChangeTriggerWrapper.JSON_PROPERTY_START_STEP_NAMES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class OnCallShiftChangeTriggerWrapper { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ON_CALL_SHIFT_CHANGE_TRIGGER = + "onCallShiftChangeTrigger"; + private OnCallShiftChangeTrigger onCallShiftChangeTrigger; + + public static final String JSON_PROPERTY_START_STEP_NAMES = "startStepNames"; + private List startStepNames = null; + + public OnCallShiftChangeTriggerWrapper() {} + + @JsonCreator + public OnCallShiftChangeTriggerWrapper( + @JsonProperty(required = true, value = JSON_PROPERTY_ON_CALL_SHIFT_CHANGE_TRIGGER) + OnCallShiftChangeTrigger onCallShiftChangeTrigger) { + this.onCallShiftChangeTrigger = onCallShiftChangeTrigger; + this.unparsed |= onCallShiftChangeTrigger.unparsed; + } + + public OnCallShiftChangeTriggerWrapper onCallShiftChangeTrigger( + OnCallShiftChangeTrigger onCallShiftChangeTrigger) { + this.onCallShiftChangeTrigger = onCallShiftChangeTrigger; + this.unparsed |= onCallShiftChangeTrigger.unparsed; + return this; + } + + /** + * Trigger a workflow when an On-Call shift changes. The workflow must be published. + * + * @return onCallShiftChangeTrigger + */ + @JsonProperty(JSON_PROPERTY_ON_CALL_SHIFT_CHANGE_TRIGGER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public OnCallShiftChangeTrigger getOnCallShiftChangeTrigger() { + return onCallShiftChangeTrigger; + } + + public void setOnCallShiftChangeTrigger(OnCallShiftChangeTrigger onCallShiftChangeTrigger) { + this.onCallShiftChangeTrigger = onCallShiftChangeTrigger; + if (onCallShiftChangeTrigger != null) { + this.unparsed |= onCallShiftChangeTrigger.unparsed; + } + } + + public OnCallShiftChangeTriggerWrapper startStepNames(List startStepNames) { + this.startStepNames = startStepNames; + return this; + } + + public OnCallShiftChangeTriggerWrapper addStartStepNamesItem(String startStepNamesItem) { + if (this.startStepNames == null) { + this.startStepNames = new ArrayList<>(); + } + this.startStepNames.add(startStepNamesItem); + return this; + } + + /** + * Names of existing workflow steps that run first after a trigger fires. + * + * @return startStepNames + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_START_STEP_NAMES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getStartStepNames() { + return startStepNames; + } + + public void setStartStepNames(List startStepNames) { + this.startStepNames = startStepNames; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return OnCallShiftChangeTriggerWrapper + */ + @JsonAnySetter + public OnCallShiftChangeTriggerWrapper putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this OnCallShiftChangeTriggerWrapper object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OnCallShiftChangeTriggerWrapper onCallShiftChangeTriggerWrapper = + (OnCallShiftChangeTriggerWrapper) o; + return Objects.equals( + this.onCallShiftChangeTrigger, onCallShiftChangeTriggerWrapper.onCallShiftChangeTrigger) + && Objects.equals(this.startStepNames, onCallShiftChangeTriggerWrapper.startStepNames) + && Objects.equals( + this.additionalProperties, onCallShiftChangeTriggerWrapper.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(onCallShiftChangeTrigger, startStepNames, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OnCallShiftChangeTriggerWrapper {\n"); + sb.append(" onCallShiftChangeTrigger: ") + .append(toIndentedString(onCallShiftChangeTrigger)) + .append("\n"); + sb.append(" startStepNames: ").append(toIndentedString(startStepNames)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .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/Trigger.java b/src/main/java/com/datadog/api/client/v2/model/Trigger.java index ba008d502fc..fbf53c824ee 100644 --- a/src/main/java/com/datadog/api/client/v2/model/Trigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/Trigger.java @@ -992,6 +992,52 @@ public Trigger deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'NotebookTriggerWrapper'", e); } + // deserialize OnCallShiftChangeTriggerWrapper + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (OnCallShiftChangeTriggerWrapper.class.equals(Integer.class) + || OnCallShiftChangeTriggerWrapper.class.equals(Long.class) + || OnCallShiftChangeTriggerWrapper.class.equals(Float.class) + || OnCallShiftChangeTriggerWrapper.class.equals(Double.class) + || OnCallShiftChangeTriggerWrapper.class.equals(Boolean.class) + || OnCallShiftChangeTriggerWrapper.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((OnCallShiftChangeTriggerWrapper.class.equals(Integer.class) + || OnCallShiftChangeTriggerWrapper.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((OnCallShiftChangeTriggerWrapper.class.equals(Float.class) + || OnCallShiftChangeTriggerWrapper.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (OnCallShiftChangeTriggerWrapper.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (OnCallShiftChangeTriggerWrapper.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(OnCallShiftChangeTriggerWrapper.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 (!((OnCallShiftChangeTriggerWrapper) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'OnCallShiftChangeTriggerWrapper'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, "Input data does not match schema 'OnCallShiftChangeTriggerWrapper'", e); + } + // deserialize OnCallTriggerWrapper try { boolean attemptParsing = true; @@ -1434,6 +1480,11 @@ public Trigger(NotebookTriggerWrapper o) { setActualInstance(o); } + public Trigger(OnCallShiftChangeTriggerWrapper o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public Trigger(OnCallTriggerWrapper o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -1501,6 +1552,8 @@ public Trigger(WorkflowTriggerWrapper o) { schemas.put("IncidentTriggerWrapper", new GenericType() {}); schemas.put("MonitorTriggerWrapper", new GenericType() {}); schemas.put("NotebookTriggerWrapper", new GenericType() {}); + schemas.put( + "OnCallShiftChangeTriggerWrapper", new GenericType() {}); schemas.put("OnCallTriggerWrapper", new GenericType() {}); schemas.put("ScheduleTriggerWrapper", new GenericType() {}); schemas.put("SecurityTriggerWrapper", new GenericType() {}); @@ -1526,9 +1579,10 @@ public Map getSchemas() { * IncidentImpactCreatedTriggerWrapper, IncidentImpactUpdatedTriggerWrapper, * IncidentPostmortemUpdatedTriggerWrapper, IncidentResponderCreatedTriggerWrapper, * IncidentSavedTriggerWrapper, IncidentScheduleTriggerWrapper, IncidentTriggerWrapper, - * MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallTriggerWrapper, ScheduleTriggerWrapper, - * SecurityTriggerWrapper, SelfServiceTriggerWrapper, SlackTriggerWrapper, - * SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper + * MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallShiftChangeTriggerWrapper, + * OnCallTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper, + * SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, + * WorkflowTriggerWrapper * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a * composed schema (allOf, anyOf, oneOf). @@ -1621,6 +1675,11 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf( + OnCallShiftChangeTriggerWrapper.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(OnCallTriggerWrapper.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -1663,9 +1722,9 @@ public void setActualInstance(Object instance) { + " IncidentPostmortemUpdatedTriggerWrapper, IncidentResponderCreatedTriggerWrapper," + " IncidentSavedTriggerWrapper, IncidentScheduleTriggerWrapper," + " IncidentTriggerWrapper, MonitorTriggerWrapper, NotebookTriggerWrapper," - + " OnCallTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper," - + " SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper," - + " WorkflowTriggerWrapper"); + + " OnCallShiftChangeTriggerWrapper, OnCallTriggerWrapper, ScheduleTriggerWrapper," + + " SecurityTriggerWrapper, SelfServiceTriggerWrapper, SlackTriggerWrapper," + + " SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper"); } /** @@ -1676,9 +1735,10 @@ public void setActualInstance(Object instance) { * IncidentImpactCreatedTriggerWrapper, IncidentImpactUpdatedTriggerWrapper, * IncidentPostmortemUpdatedTriggerWrapper, IncidentResponderCreatedTriggerWrapper, * IncidentSavedTriggerWrapper, IncidentScheduleTriggerWrapper, IncidentTriggerWrapper, - * MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallTriggerWrapper, ScheduleTriggerWrapper, - * SecurityTriggerWrapper, SelfServiceTriggerWrapper, SlackTriggerWrapper, - * SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper + * MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallShiftChangeTriggerWrapper, + * OnCallTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper, + * SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, + * WorkflowTriggerWrapper * * @return The actual instance (AgentTriggerWrapper, APITriggerWrapper, AppTriggerWrapper, * CaseTriggerWrapper, ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper, @@ -1687,9 +1747,10 @@ public void setActualInstance(Object instance) { * IncidentImpactCreatedTriggerWrapper, IncidentImpactUpdatedTriggerWrapper, * IncidentPostmortemUpdatedTriggerWrapper, IncidentResponderCreatedTriggerWrapper, * IncidentSavedTriggerWrapper, IncidentScheduleTriggerWrapper, IncidentTriggerWrapper, - * MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallTriggerWrapper, - * ScheduleTriggerWrapper, SecurityTriggerWrapper, SelfServiceTriggerWrapper, - * SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper) + * MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallShiftChangeTriggerWrapper, + * OnCallTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper, + * SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, + * WorkflowTriggerWrapper) */ @Override public Object getActualInstance() { @@ -1923,6 +1984,18 @@ public NotebookTriggerWrapper getNotebookTriggerWrapper() throws ClassCastExcept return (NotebookTriggerWrapper) super.getActualInstance(); } + /** + * Get the actual instance of `OnCallShiftChangeTriggerWrapper`. If the actual instance is not + * `OnCallShiftChangeTriggerWrapper`, the ClassCastException will be thrown. + * + * @return The actual instance of `OnCallShiftChangeTriggerWrapper` + * @throws ClassCastException if the instance is not `OnCallShiftChangeTriggerWrapper` + */ + public OnCallShiftChangeTriggerWrapper getOnCallShiftChangeTriggerWrapper() + throws ClassCastException { + return (OnCallShiftChangeTriggerWrapper) super.getActualInstance(); + } + /** * Get the actual instance of `OnCallTriggerWrapper`. If the actual instance is not * `OnCallTriggerWrapper`, the ClassCastException will be thrown.