From 965f317c5547d919e108508d0b2def7922e2e31f Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 22 Jan 2026 17:52:08 +0000 Subject: [PATCH] Regenerate client from commit 42acf0f of spec repo --- .generator/schemas/v2/openapi.yaml | 19 ++ .../api/client/v2/model/OnCallTrigger.java | 139 +++++++++++++ .../client/v2/model/OnCallTriggerWrapper.java | 186 ++++++++++++++++++ .../datadog/api/client/v2/model/Trigger.java | 87 +++++++- 4 files changed, 421 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/datadog/api/client/v2/model/OnCallTrigger.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/OnCallTriggerWrapper.java diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 6cd7c2ab9ef..90a96bb6ac2 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -41678,6 +41678,24 @@ components: - type - method 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: + rateLimit: + $ref: '#/components/schemas/TriggerRateLimit' + type: object + OnCallTriggerWrapper: + description: Schema for an On-Call-based trigger. + properties: + onCallTrigger: + $ref: '#/components/schemas/OnCallTrigger' + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - onCallTrigger + type: object OnDemandConcurrencyCap: description: On-demand concurrency cap. properties: @@ -60788,6 +60806,7 @@ components: - $ref: '#/components/schemas/IncidentTriggerWrapper' - $ref: '#/components/schemas/MonitorTriggerWrapper' - $ref: '#/components/schemas/NotebookTriggerWrapper' + - $ref: '#/components/schemas/OnCallTriggerWrapper' - $ref: '#/components/schemas/ScheduleTriggerWrapper' - $ref: '#/components/schemas/SecurityTriggerWrapper' - $ref: '#/components/schemas/SelfServiceTriggerWrapper' diff --git a/src/main/java/com/datadog/api/client/v2/model/OnCallTrigger.java b/src/main/java/com/datadog/api/client/v2/model/OnCallTrigger.java new file mode 100644 index 00000000000..d9e2078b3e4 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/OnCallTrigger.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 from an On-Call Page or On-Call Handover. For automatic triggering a handle + * must be configured and the workflow must be published. + */ +@JsonPropertyOrder({OnCallTrigger.JSON_PROPERTY_RATE_LIMIT}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class OnCallTrigger { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_RATE_LIMIT = "rateLimit"; + private TriggerRateLimit rateLimit; + + public OnCallTrigger 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; + } + + /** + * 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 OnCallTrigger + */ + @JsonAnySetter + public OnCallTrigger 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 OnCallTrigger object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OnCallTrigger onCallTrigger = (OnCallTrigger) o; + return Objects.equals(this.rateLimit, onCallTrigger.rateLimit) + && Objects.equals(this.additionalProperties, onCallTrigger.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(rateLimit, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OnCallTrigger {\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/OnCallTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/OnCallTriggerWrapper.java new file mode 100644 index 00000000000..aed8b5d8550 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/OnCallTriggerWrapper.java @@ -0,0 +1,186 @@ +/* + * 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-based trigger. */ +@JsonPropertyOrder({ + OnCallTriggerWrapper.JSON_PROPERTY_ON_CALL_TRIGGER, + OnCallTriggerWrapper.JSON_PROPERTY_START_STEP_NAMES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class OnCallTriggerWrapper { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ON_CALL_TRIGGER = "onCallTrigger"; + private OnCallTrigger onCallTrigger; + + public static final String JSON_PROPERTY_START_STEP_NAMES = "startStepNames"; + private List startStepNames = null; + + public OnCallTriggerWrapper() {} + + @JsonCreator + public OnCallTriggerWrapper( + @JsonProperty(required = true, value = JSON_PROPERTY_ON_CALL_TRIGGER) + OnCallTrigger onCallTrigger) { + this.onCallTrigger = onCallTrigger; + this.unparsed |= onCallTrigger.unparsed; + } + + public OnCallTriggerWrapper onCallTrigger(OnCallTrigger onCallTrigger) { + this.onCallTrigger = onCallTrigger; + this.unparsed |= onCallTrigger.unparsed; + return this; + } + + /** + * 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. + * + * @return onCallTrigger + */ + @JsonProperty(JSON_PROPERTY_ON_CALL_TRIGGER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public OnCallTrigger getOnCallTrigger() { + return onCallTrigger; + } + + public void setOnCallTrigger(OnCallTrigger onCallTrigger) { + this.onCallTrigger = onCallTrigger; + } + + public OnCallTriggerWrapper startStepNames(List startStepNames) { + this.startStepNames = startStepNames; + return this; + } + + public OnCallTriggerWrapper addStartStepNamesItem(String startStepNamesItem) { + if (this.startStepNames == null) { + this.startStepNames = new ArrayList<>(); + } + this.startStepNames.add(startStepNamesItem); + return this; + } + + /** + * A list of 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 OnCallTriggerWrapper + */ + @JsonAnySetter + public OnCallTriggerWrapper 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 OnCallTriggerWrapper object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + OnCallTriggerWrapper onCallTriggerWrapper = (OnCallTriggerWrapper) o; + return Objects.equals(this.onCallTrigger, onCallTriggerWrapper.onCallTrigger) + && Objects.equals(this.startStepNames, onCallTriggerWrapper.startStepNames) + && Objects.equals(this.additionalProperties, onCallTriggerWrapper.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(onCallTrigger, startStepNames, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class OnCallTriggerWrapper {\n"); + sb.append(" onCallTrigger: ").append(toIndentedString(onCallTrigger)).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 0c5a3feaebf..1702ec64053 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 @@ -570,6 +570,51 @@ public Trigger deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'NotebookTriggerWrapper'", e); } + // deserialize OnCallTriggerWrapper + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (OnCallTriggerWrapper.class.equals(Integer.class) + || OnCallTriggerWrapper.class.equals(Long.class) + || OnCallTriggerWrapper.class.equals(Float.class) + || OnCallTriggerWrapper.class.equals(Double.class) + || OnCallTriggerWrapper.class.equals(Boolean.class) + || OnCallTriggerWrapper.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((OnCallTriggerWrapper.class.equals(Integer.class) + || OnCallTriggerWrapper.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((OnCallTriggerWrapper.class.equals(Float.class) + || OnCallTriggerWrapper.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (OnCallTriggerWrapper.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (OnCallTriggerWrapper.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(OnCallTriggerWrapper.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 (!((OnCallTriggerWrapper) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'OnCallTriggerWrapper'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'OnCallTriggerWrapper'", e); + } + // deserialize ScheduleTriggerWrapper try { boolean attemptParsing = true; @@ -922,6 +967,11 @@ public Trigger(NotebookTriggerWrapper o) { setActualInstance(o); } + public Trigger(OnCallTriggerWrapper o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public Trigger(ScheduleTriggerWrapper o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -965,6 +1015,7 @@ public Trigger(WorkflowTriggerWrapper o) { schemas.put("IncidentTriggerWrapper", new GenericType() {}); schemas.put("MonitorTriggerWrapper", new GenericType() {}); schemas.put("NotebookTriggerWrapper", new GenericType() {}); + schemas.put("OnCallTriggerWrapper", new GenericType() {}); schemas.put("ScheduleTriggerWrapper", new GenericType() {}); schemas.put("SecurityTriggerWrapper", new GenericType() {}); schemas.put("SelfServiceTriggerWrapper", new GenericType() {}); @@ -985,9 +1036,9 @@ public Map getSchemas() { * against the oneOf child schemas: APITriggerWrapper, AppTriggerWrapper, CaseTriggerWrapper, * ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper, DatastoreTriggerWrapper, * DashboardTriggerWrapper, GithubWebhookTriggerWrapper, IncidentTriggerWrapper, - * MonitorTriggerWrapper, NotebookTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper, - * SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, - * WorkflowTriggerWrapper + * MonitorTriggerWrapper, NotebookTriggerWrapper, 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). @@ -1039,6 +1090,10 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(OnCallTriggerWrapper.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(ScheduleTriggerWrapper.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -1073,24 +1128,25 @@ public void setActualInstance(Object instance) { + " ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper," + " DatastoreTriggerWrapper, DashboardTriggerWrapper, GithubWebhookTriggerWrapper," + " IncidentTriggerWrapper, MonitorTriggerWrapper, NotebookTriggerWrapper," - + " ScheduleTriggerWrapper, SecurityTriggerWrapper, SelfServiceTriggerWrapper," - + " SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper"); + + " OnCallTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper," + + " SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper," + + " WorkflowTriggerWrapper"); } /** * Get the actual instance, which can be the following: APITriggerWrapper, AppTriggerWrapper, * CaseTriggerWrapper, ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper, * DatastoreTriggerWrapper, DashboardTriggerWrapper, GithubWebhookTriggerWrapper, - * IncidentTriggerWrapper, MonitorTriggerWrapper, NotebookTriggerWrapper, ScheduleTriggerWrapper, - * SecurityTriggerWrapper, SelfServiceTriggerWrapper, SlackTriggerWrapper, + * IncidentTriggerWrapper, MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallTriggerWrapper, + * ScheduleTriggerWrapper, SecurityTriggerWrapper, SelfServiceTriggerWrapper, SlackTriggerWrapper, * SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper * * @return The actual instance (APITriggerWrapper, AppTriggerWrapper, CaseTriggerWrapper, * ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper, DatastoreTriggerWrapper, * DashboardTriggerWrapper, GithubWebhookTriggerWrapper, IncidentTriggerWrapper, - * MonitorTriggerWrapper, NotebookTriggerWrapper, ScheduleTriggerWrapper, - * SecurityTriggerWrapper, SelfServiceTriggerWrapper, SlackTriggerWrapper, - * SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper) + * MonitorTriggerWrapper, NotebookTriggerWrapper, OnCallTriggerWrapper, + * ScheduleTriggerWrapper, SecurityTriggerWrapper, SelfServiceTriggerWrapper, + * SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper) */ @Override public Object getActualInstance() { @@ -1219,6 +1275,17 @@ public NotebookTriggerWrapper getNotebookTriggerWrapper() throws ClassCastExcept return (NotebookTriggerWrapper) super.getActualInstance(); } + /** + * Get the actual instance of `OnCallTriggerWrapper`. If the actual instance is not + * `OnCallTriggerWrapper`, the ClassCastException will be thrown. + * + * @return The actual instance of `OnCallTriggerWrapper` + * @throws ClassCastException if the instance is not `OnCallTriggerWrapper` + */ + public OnCallTriggerWrapper getOnCallTriggerWrapper() throws ClassCastException { + return (OnCallTriggerWrapper) super.getActualInstance(); + } + /** * Get the actual instance of `ScheduleTriggerWrapper`. If the actual instance is not * `ScheduleTriggerWrapper`, the ClassCastException will be thrown.