diff --git a/.apigentools-info b/.apigentools-info index 54dece8534c..438751cd3c4 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2025-03-24 14:58:29.224495", - "spec_repo_commit": "764de5f0" + "regenerated": "2025-03-25 18:26:16.433113", + "spec_repo_commit": "b25d7c85" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2025-03-24 14:58:29.240267", - "spec_repo_commit": "764de5f0" + "regenerated": "2025-03-25 18:26:16.449884", + "spec_repo_commit": "b25d7c85" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index cd3b7d730ba..664a9f7ecae 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -1095,7 +1095,7 @@ components: x-enum-varnames: - API_KEYS APITrigger: - description: Trigger a workflow VIA an API. The workflow must be published. + description: Trigger a workflow from an API request. The workflow must be published. properties: rateLimit: $ref: '#/components/schemas/TriggerRateLimit' @@ -2313,7 +2313,7 @@ components: description: Schema for an App-based trigger. properties: appTrigger: - description: Trigger a workflow VIA an App. + description: Trigger a workflow from an App. type: object startStepNames: $ref: '#/components/schemas/StartStepNames' @@ -6525,7 +6525,7 @@ components: - IN_PROGRESS - CLOSED CaseTrigger: - description: Trigger a workflow VIA a Case. For automatic triggering a handle + description: Trigger a workflow from a Case. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: @@ -6762,7 +6762,7 @@ components: description: Schema for a Change Event-based trigger. properties: changeEventTrigger: - description: Trigger a workflow VIA a Change Event. + description: Trigger a workflow from a Change Event. type: object startStepNames: $ref: '#/components/schemas/StartStepNames' @@ -10589,7 +10589,7 @@ components: description: Schema for a Dashboard-based trigger. properties: dashboardTrigger: - description: Trigger a workflow VIA a Dashboard. + description: Trigger a workflow from a Dashboard. type: object startStepNames: $ref: '#/components/schemas/StartStepNames' @@ -10813,6 +10813,17 @@ components: type: string x-enum-varnames: - DATATRANSFORM + DatabaseMonitoringTriggerWrapper: + description: Schema for a Database Monitoring-based trigger. + properties: + databaseMonitoringTrigger: + description: Trigger a workflow from Database Monitoring. + type: object + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - databaseMonitoringTrigger + type: object Date: description: Date as Unix timestamp in milliseconds. example: 1722439510282 @@ -14393,9 +14404,9 @@ components: example: https://github.com/organization/example-repository type: string GithubWebhookTrigger: - description: Trigger a workflow VIA GitHub webhook. To trigger a workflow from - GitHub, you must set a `webhookSecret`. In your GitHub Webhook Settings, set - the Payload URL to "base_url"/api/v2/workflows/"workflow_id"/webhook?orgId="org_id", + description: Trigger a workflow from a GitHub webhook. To trigger a workflow + from GitHub, you must set a `webhookSecret`. In your GitHub Webhook Settings, + set the Payload URL to "base_url"/api/v2/workflows/"workflow_id"/webhook?orgId="org_id", select application/json for the content type, and be highly recommend enabling SSL verification for security. The workflow must be published. properties: @@ -16706,7 +16717,7 @@ components: x-enum-varnames: - INCIDENT_TODOS IncidentTrigger: - description: Trigger a workflow VIA an Incident. For automatic triggering a + description: Trigger a workflow from an Incident. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: @@ -21179,7 +21190,7 @@ components: $ref: '#/components/schemas/MonitorDowntimeMatchResourceType' type: object MonitorTrigger: - description: Trigger a workflow VIA a Monitor. For automatic triggering a handle + description: Trigger a workflow from a Monitor. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: @@ -21317,6 +21328,17 @@ components: meta: $ref: '#/components/schemas/MonthlyCostAttributionMeta' type: object + NotebookTriggerWrapper: + description: Schema for a Notebook-based trigger. + properties: + notebookTrigger: + description: Trigger a workflow from a Notebook. + type: object + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - notebookTrigger + type: object NotificationRule: description: 'Notification rules allow full control over notifications generated by the various Datadog security products. @@ -26139,7 +26161,7 @@ components: $ref: '#/components/schemas/ScalarFormulaResponseType' type: object ScheduleTrigger: - description: Trigger a workflow VIA a Schedule. The workflow must be published. + description: Trigger a workflow from a Schedule. The workflow must be published. properties: rruleExpression: description: Recurrence rule expression for scheduling. @@ -28436,7 +28458,7 @@ components: type: string type: object SecurityTrigger: - description: Trigger a workflow VIA a Security Signal or Finding. For automatic + description: Trigger a workflow from a Security Signal or Finding. For automatic triggering a handle must be configured and the workflow must be published. properties: rateLimit: @@ -28475,6 +28497,17 @@ components: required: - trigger_source type: object + SelfServiceTriggerWrapper: + description: Schema for a Self Service-based trigger. + properties: + selfServiceTrigger: + description: Trigger a workflow from Self Service. + type: object + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - selfServiceTrigger + type: object SensitiveDataScannerConfigRequest: description: Group reorder request. properties: @@ -30195,7 +30228,7 @@ components: description: Schema for a Slack-based trigger. properties: slackTrigger: - description: Trigger a workflow VIA Slack. The workflow must be published. + description: Trigger a workflow from Slack. The workflow must be published. type: object startStepNames: $ref: '#/components/schemas/StartStepNames' @@ -30249,6 +30282,17 @@ components: required: - attributes type: object + SoftwareCatalogTriggerWrapper: + description: Schema for a Software Catalog-based trigger. + properties: + softwareCatalogTrigger: + description: Trigger a workflow from Software Catalog. + type: object + startStepNames: + $ref: '#/components/schemas/StartStepNames' + required: + - softwareCatalogTrigger + type: object SortDirection: default: desc description: The direction to sort by. @@ -32108,13 +32152,17 @@ components: - $ref: '#/components/schemas/AppTriggerWrapper' - $ref: '#/components/schemas/CaseTriggerWrapper' - $ref: '#/components/schemas/ChangeEventTriggerWrapper' + - $ref: '#/components/schemas/DatabaseMonitoringTriggerWrapper' - $ref: '#/components/schemas/DashboardTriggerWrapper' - $ref: '#/components/schemas/GithubWebhookTriggerWrapper' - $ref: '#/components/schemas/IncidentTriggerWrapper' - $ref: '#/components/schemas/MonitorTriggerWrapper' + - $ref: '#/components/schemas/NotebookTriggerWrapper' - $ref: '#/components/schemas/ScheduleTriggerWrapper' - $ref: '#/components/schemas/SecurityTriggerWrapper' + - $ref: '#/components/schemas/SelfServiceTriggerWrapper' - $ref: '#/components/schemas/SlackTriggerWrapper' + - $ref: '#/components/schemas/SoftwareCatalogTriggerWrapper' - $ref: '#/components/schemas/WorkflowTriggerWrapper' TriggerRateLimit: description: Defines a rate limit for a trigger. @@ -33743,7 +33791,7 @@ components: startStepNames: $ref: '#/components/schemas/StartStepNames' workflowTrigger: - description: Trigger a workflow VIA the Datadog UI. Only required if no + description: Trigger a workflow from the Datadog UI. Only required if no other trigger exists. type: object required: diff --git a/src/main/java/com/datadog/api/client/v2/model/APITrigger.java b/src/main/java/com/datadog/api/client/v2/model/APITrigger.java index 910495bd516..3fdf23ec6a0 100644 --- a/src/main/java/com/datadog/api/client/v2/model/APITrigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/APITrigger.java @@ -16,7 +16,7 @@ import java.util.Map; import java.util.Objects; -/** Trigger a workflow VIA an API. The workflow must be published. */ +/** Trigger a workflow from an API request. The workflow must be published. */ @JsonPropertyOrder({APITrigger.JSON_PROPERTY_RATE_LIMIT}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") diff --git a/src/main/java/com/datadog/api/client/v2/model/APITriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/APITriggerWrapper.java index 52eaf6be5df..a492a90d6e6 100644 --- a/src/main/java/com/datadog/api/client/v2/model/APITriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/APITriggerWrapper.java @@ -50,7 +50,7 @@ public APITriggerWrapper apiTrigger(APITrigger apiTrigger) { } /** - * Trigger a workflow VIA an API. The workflow must be published. + * Trigger a workflow from an API request. The workflow must be published. * * @return apiTrigger */ diff --git a/src/main/java/com/datadog/api/client/v2/model/AppTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/AppTriggerWrapper.java index 4bc14459a3f..8956433728c 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AppTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/AppTriggerWrapper.java @@ -48,7 +48,7 @@ public AppTriggerWrapper appTrigger(Object appTrigger) { } /** - * Trigger a workflow VIA an App. + * Trigger a workflow from an App. * * @return appTrigger */ diff --git a/src/main/java/com/datadog/api/client/v2/model/CaseTrigger.java b/src/main/java/com/datadog/api/client/v2/model/CaseTrigger.java index d4716f30f49..864c6cd0e42 100644 --- a/src/main/java/com/datadog/api/client/v2/model/CaseTrigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/CaseTrigger.java @@ -17,7 +17,7 @@ import java.util.Objects; /** - * Trigger a workflow VIA a Case. For automatic triggering a handle must be configured and the + * Trigger a workflow from a Case. For automatic triggering a handle must be configured and the * workflow must be published. */ @JsonPropertyOrder({CaseTrigger.JSON_PROPERTY_RATE_LIMIT}) diff --git a/src/main/java/com/datadog/api/client/v2/model/CaseTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/CaseTriggerWrapper.java index 58b535d1843..1b247cec017 100644 --- a/src/main/java/com/datadog/api/client/v2/model/CaseTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/CaseTriggerWrapper.java @@ -50,7 +50,7 @@ public CaseTriggerWrapper caseTrigger(CaseTrigger caseTrigger) { } /** - * Trigger a workflow VIA a Case. For automatic triggering a handle must be configured and the + * Trigger a workflow from a Case. For automatic triggering a handle must be configured and the * workflow must be published. * * @return caseTrigger diff --git a/src/main/java/com/datadog/api/client/v2/model/ChangeEventTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/ChangeEventTriggerWrapper.java index 26741f560d0..87fc51dd5c9 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ChangeEventTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/ChangeEventTriggerWrapper.java @@ -49,7 +49,7 @@ public ChangeEventTriggerWrapper changeEventTrigger(Object changeEventTrigger) { } /** - * Trigger a workflow VIA a Change Event. + * Trigger a workflow from a Change Event. * * @return changeEventTrigger */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DashboardTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/DashboardTriggerWrapper.java index 82477a84063..8b22894b403 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DashboardTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/DashboardTriggerWrapper.java @@ -49,7 +49,7 @@ public DashboardTriggerWrapper dashboardTrigger(Object dashboardTrigger) { } /** - * Trigger a workflow VIA a Dashboard. + * Trigger a workflow from a Dashboard. * * @return dashboardTrigger */ diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabaseMonitoringTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/DatabaseMonitoringTriggerWrapper.java new file mode 100644 index 00000000000..2496dbbe398 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/DatabaseMonitoringTriggerWrapper.java @@ -0,0 +1,191 @@ +/* + * 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 a Database Monitoring-based trigger. */ +@JsonPropertyOrder({ + DatabaseMonitoringTriggerWrapper.JSON_PROPERTY_DATABASE_MONITORING_TRIGGER, + DatabaseMonitoringTriggerWrapper.JSON_PROPERTY_START_STEP_NAMES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class DatabaseMonitoringTriggerWrapper { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATABASE_MONITORING_TRIGGER = + "databaseMonitoringTrigger"; + private Object databaseMonitoringTrigger; + + public static final String JSON_PROPERTY_START_STEP_NAMES = "startStepNames"; + private List startStepNames = null; + + public DatabaseMonitoringTriggerWrapper() {} + + @JsonCreator + public DatabaseMonitoringTriggerWrapper( + @JsonProperty(required = true, value = JSON_PROPERTY_DATABASE_MONITORING_TRIGGER) + Object databaseMonitoringTrigger) { + this.databaseMonitoringTrigger = databaseMonitoringTrigger; + } + + public DatabaseMonitoringTriggerWrapper databaseMonitoringTrigger( + Object databaseMonitoringTrigger) { + this.databaseMonitoringTrigger = databaseMonitoringTrigger; + return this; + } + + /** + * Trigger a workflow from Database Monitoring. + * + * @return databaseMonitoringTrigger + */ + @JsonProperty(JSON_PROPERTY_DATABASE_MONITORING_TRIGGER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Object getDatabaseMonitoringTrigger() { + return databaseMonitoringTrigger; + } + + public void setDatabaseMonitoringTrigger(Object databaseMonitoringTrigger) { + this.databaseMonitoringTrigger = databaseMonitoringTrigger; + } + + public DatabaseMonitoringTriggerWrapper startStepNames(List startStepNames) { + this.startStepNames = startStepNames; + return this; + } + + public DatabaseMonitoringTriggerWrapper 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 DatabaseMonitoringTriggerWrapper + */ + @JsonAnySetter + public DatabaseMonitoringTriggerWrapper 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 DatabaseMonitoringTriggerWrapper object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DatabaseMonitoringTriggerWrapper databaseMonitoringTriggerWrapper = + (DatabaseMonitoringTriggerWrapper) o; + return Objects.equals( + this.databaseMonitoringTrigger, + databaseMonitoringTriggerWrapper.databaseMonitoringTrigger) + && Objects.equals(this.startStepNames, databaseMonitoringTriggerWrapper.startStepNames) + && Objects.equals( + this.additionalProperties, databaseMonitoringTriggerWrapper.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(databaseMonitoringTrigger, startStepNames, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DatabaseMonitoringTriggerWrapper {\n"); + sb.append(" databaseMonitoringTrigger: ") + .append(toIndentedString(databaseMonitoringTrigger)) + .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/GithubWebhookTrigger.java b/src/main/java/com/datadog/api/client/v2/model/GithubWebhookTrigger.java index a027abef548..1313fdb6e61 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GithubWebhookTrigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/GithubWebhookTrigger.java @@ -17,8 +17,8 @@ import java.util.Objects; /** - * Trigger a workflow VIA GitHub webhook. To trigger a workflow from GitHub, you must set a - * webhookSecret. In your GitHub Webhook Settings, set the Payload URL to + * Trigger a workflow from a GitHub webhook. To trigger a workflow from GitHub, you must set a + * webhookSecret. In your GitHub Webhook Settings, set the Payload URL to * "base_url"/api/v2/workflows/"workflow_id"/webhook?orgId="org_id", select application/json for the * content type, and be highly recommend enabling SSL verification for security. The workflow must * be published. diff --git a/src/main/java/com/datadog/api/client/v2/model/GithubWebhookTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/GithubWebhookTriggerWrapper.java index 02ef2d5cbf1..09683e6fcc6 100644 --- a/src/main/java/com/datadog/api/client/v2/model/GithubWebhookTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/GithubWebhookTriggerWrapper.java @@ -52,8 +52,8 @@ public GithubWebhookTriggerWrapper githubWebhookTrigger( } /** - * Trigger a workflow VIA GitHub webhook. To trigger a workflow from GitHub, you must set a - * webhookSecret. In your GitHub Webhook Settings, set the Payload URL to + * Trigger a workflow from a GitHub webhook. To trigger a workflow from GitHub, you must set a + * webhookSecret. In your GitHub Webhook Settings, set the Payload URL to * "base_url"/api/v2/workflows/"workflow_id"/webhook?orgId="org_id", select application/json for * the content type, and be highly recommend enabling SSL verification for security. The workflow * must be published. diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentTrigger.java b/src/main/java/com/datadog/api/client/v2/model/IncidentTrigger.java index b66772e162c..6386f710255 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentTrigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentTrigger.java @@ -17,7 +17,7 @@ import java.util.Objects; /** - * Trigger a workflow VIA an Incident. For automatic triggering a handle must be configured and the + * Trigger a workflow from an Incident. For automatic triggering a handle must be configured and the * workflow must be published. */ @JsonPropertyOrder({IncidentTrigger.JSON_PROPERTY_RATE_LIMIT}) diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/IncidentTriggerWrapper.java index a83c827d378..c16718cae3c 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentTriggerWrapper.java @@ -51,7 +51,7 @@ public IncidentTriggerWrapper incidentTrigger(IncidentTrigger incidentTrigger) { } /** - * Trigger a workflow VIA an Incident. For automatic triggering a handle must be configured and + * Trigger a workflow from an Incident. For automatic triggering a handle must be configured and * the workflow must be published. * * @return incidentTrigger diff --git a/src/main/java/com/datadog/api/client/v2/model/MonitorTrigger.java b/src/main/java/com/datadog/api/client/v2/model/MonitorTrigger.java index 7f7124a7cc6..e3bb4c73589 100644 --- a/src/main/java/com/datadog/api/client/v2/model/MonitorTrigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/MonitorTrigger.java @@ -17,7 +17,7 @@ import java.util.Objects; /** - * Trigger a workflow VIA a Monitor. For automatic triggering a handle must be configured and the + * Trigger a workflow from a Monitor. For automatic triggering a handle must be configured and the * workflow must be published. */ @JsonPropertyOrder({MonitorTrigger.JSON_PROPERTY_RATE_LIMIT}) diff --git a/src/main/java/com/datadog/api/client/v2/model/MonitorTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/MonitorTriggerWrapper.java index 7dde250b995..630e820087f 100644 --- a/src/main/java/com/datadog/api/client/v2/model/MonitorTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/MonitorTriggerWrapper.java @@ -51,7 +51,7 @@ public MonitorTriggerWrapper monitorTrigger(MonitorTrigger monitorTrigger) { } /** - * Trigger a workflow VIA a Monitor. For automatic triggering a handle must be configured and the + * Trigger a workflow from a Monitor. For automatic triggering a handle must be configured and the * workflow must be published. * * @return monitorTrigger diff --git a/src/main/java/com/datadog/api/client/v2/model/NotebookTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/NotebookTriggerWrapper.java new file mode 100644 index 00000000000..f54196db148 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/NotebookTriggerWrapper.java @@ -0,0 +1,183 @@ +/* + * 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 a Notebook-based trigger. */ +@JsonPropertyOrder({ + NotebookTriggerWrapper.JSON_PROPERTY_NOTEBOOK_TRIGGER, + NotebookTriggerWrapper.JSON_PROPERTY_START_STEP_NAMES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class NotebookTriggerWrapper { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_NOTEBOOK_TRIGGER = "notebookTrigger"; + private Object notebookTrigger; + + public static final String JSON_PROPERTY_START_STEP_NAMES = "startStepNames"; + private List startStepNames = null; + + public NotebookTriggerWrapper() {} + + @JsonCreator + public NotebookTriggerWrapper( + @JsonProperty(required = true, value = JSON_PROPERTY_NOTEBOOK_TRIGGER) + Object notebookTrigger) { + this.notebookTrigger = notebookTrigger; + } + + public NotebookTriggerWrapper notebookTrigger(Object notebookTrigger) { + this.notebookTrigger = notebookTrigger; + return this; + } + + /** + * Trigger a workflow from a Notebook. + * + * @return notebookTrigger + */ + @JsonProperty(JSON_PROPERTY_NOTEBOOK_TRIGGER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Object getNotebookTrigger() { + return notebookTrigger; + } + + public void setNotebookTrigger(Object notebookTrigger) { + this.notebookTrigger = notebookTrigger; + } + + public NotebookTriggerWrapper startStepNames(List startStepNames) { + this.startStepNames = startStepNames; + return this; + } + + public NotebookTriggerWrapper 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 NotebookTriggerWrapper + */ + @JsonAnySetter + public NotebookTriggerWrapper 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 NotebookTriggerWrapper object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NotebookTriggerWrapper notebookTriggerWrapper = (NotebookTriggerWrapper) o; + return Objects.equals(this.notebookTrigger, notebookTriggerWrapper.notebookTrigger) + && Objects.equals(this.startStepNames, notebookTriggerWrapper.startStepNames) + && Objects.equals(this.additionalProperties, notebookTriggerWrapper.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(notebookTrigger, startStepNames, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NotebookTriggerWrapper {\n"); + sb.append(" notebookTrigger: ").append(toIndentedString(notebookTrigger)).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/ScheduleTrigger.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleTrigger.java index 60e7e60e791..f13814202b9 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleTrigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleTrigger.java @@ -17,7 +17,7 @@ import java.util.Map; import java.util.Objects; -/** Trigger a workflow VIA a Schedule. The workflow must be published. */ +/** Trigger a workflow from a Schedule. The workflow must be published. */ @JsonPropertyOrder({ScheduleTrigger.JSON_PROPERTY_RRULE_EXPRESSION}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleTriggerWrapper.java index a3e76888bc3..7834af7e43e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleTriggerWrapper.java @@ -51,7 +51,7 @@ public ScheduleTriggerWrapper scheduleTrigger(ScheduleTrigger scheduleTrigger) { } /** - * Trigger a workflow VIA a Schedule. The workflow must be published. + * Trigger a workflow from a Schedule. The workflow must be published. * * @return scheduleTrigger */ diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityTrigger.java b/src/main/java/com/datadog/api/client/v2/model/SecurityTrigger.java index 192f289e0b3..268f7684314 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityTrigger.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityTrigger.java @@ -17,7 +17,7 @@ import java.util.Objects; /** - * Trigger a workflow VIA a Security Signal or Finding. For automatic triggering a handle must be + * Trigger a workflow from a Security Signal or Finding. For automatic triggering a handle must be * configured and the workflow must be published. */ @JsonPropertyOrder({SecurityTrigger.JSON_PROPERTY_RATE_LIMIT}) diff --git a/src/main/java/com/datadog/api/client/v2/model/SecurityTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/SecurityTriggerWrapper.java index cefa71b3013..3319318c5fa 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SecurityTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/SecurityTriggerWrapper.java @@ -51,7 +51,7 @@ public SecurityTriggerWrapper securityTrigger(SecurityTrigger securityTrigger) { } /** - * Trigger a workflow VIA a Security Signal or Finding. For automatic triggering a handle must be + * Trigger a workflow from a Security Signal or Finding. For automatic triggering a handle must be * configured and the workflow must be published. * * @return securityTrigger diff --git a/src/main/java/com/datadog/api/client/v2/model/SelfServiceTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/SelfServiceTriggerWrapper.java new file mode 100644 index 00000000000..9cbbbb9fd68 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SelfServiceTriggerWrapper.java @@ -0,0 +1,184 @@ +/* + * 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 a Self Service-based trigger. */ +@JsonPropertyOrder({ + SelfServiceTriggerWrapper.JSON_PROPERTY_SELF_SERVICE_TRIGGER, + SelfServiceTriggerWrapper.JSON_PROPERTY_START_STEP_NAMES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SelfServiceTriggerWrapper { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_SELF_SERVICE_TRIGGER = "selfServiceTrigger"; + private Object selfServiceTrigger; + + public static final String JSON_PROPERTY_START_STEP_NAMES = "startStepNames"; + private List startStepNames = null; + + public SelfServiceTriggerWrapper() {} + + @JsonCreator + public SelfServiceTriggerWrapper( + @JsonProperty(required = true, value = JSON_PROPERTY_SELF_SERVICE_TRIGGER) + Object selfServiceTrigger) { + this.selfServiceTrigger = selfServiceTrigger; + } + + public SelfServiceTriggerWrapper selfServiceTrigger(Object selfServiceTrigger) { + this.selfServiceTrigger = selfServiceTrigger; + return this; + } + + /** + * Trigger a workflow from Self Service. + * + * @return selfServiceTrigger + */ + @JsonProperty(JSON_PROPERTY_SELF_SERVICE_TRIGGER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Object getSelfServiceTrigger() { + return selfServiceTrigger; + } + + public void setSelfServiceTrigger(Object selfServiceTrigger) { + this.selfServiceTrigger = selfServiceTrigger; + } + + public SelfServiceTriggerWrapper startStepNames(List startStepNames) { + this.startStepNames = startStepNames; + return this; + } + + public SelfServiceTriggerWrapper 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 SelfServiceTriggerWrapper + */ + @JsonAnySetter + public SelfServiceTriggerWrapper 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 SelfServiceTriggerWrapper object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SelfServiceTriggerWrapper selfServiceTriggerWrapper = (SelfServiceTriggerWrapper) o; + return Objects.equals(this.selfServiceTrigger, selfServiceTriggerWrapper.selfServiceTrigger) + && Objects.equals(this.startStepNames, selfServiceTriggerWrapper.startStepNames) + && Objects.equals( + this.additionalProperties, selfServiceTriggerWrapper.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(selfServiceTrigger, startStepNames, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SelfServiceTriggerWrapper {\n"); + sb.append(" selfServiceTrigger: ").append(toIndentedString(selfServiceTrigger)).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/SlackTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/SlackTriggerWrapper.java index ffde0c34079..d58b3894f05 100644 --- a/src/main/java/com/datadog/api/client/v2/model/SlackTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/SlackTriggerWrapper.java @@ -48,7 +48,7 @@ public SlackTriggerWrapper slackTrigger(Object slackTrigger) { } /** - * Trigger a workflow VIA Slack. The workflow must be published. + * Trigger a workflow from Slack. The workflow must be published. * * @return slackTrigger */ diff --git a/src/main/java/com/datadog/api/client/v2/model/SoftwareCatalogTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/SoftwareCatalogTriggerWrapper.java new file mode 100644 index 00000000000..38621a3ed89 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SoftwareCatalogTriggerWrapper.java @@ -0,0 +1,187 @@ +/* + * 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 a Software Catalog-based trigger. */ +@JsonPropertyOrder({ + SoftwareCatalogTriggerWrapper.JSON_PROPERTY_SOFTWARE_CATALOG_TRIGGER, + SoftwareCatalogTriggerWrapper.JSON_PROPERTY_START_STEP_NAMES +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SoftwareCatalogTriggerWrapper { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_SOFTWARE_CATALOG_TRIGGER = "softwareCatalogTrigger"; + private Object softwareCatalogTrigger; + + public static final String JSON_PROPERTY_START_STEP_NAMES = "startStepNames"; + private List startStepNames = null; + + public SoftwareCatalogTriggerWrapper() {} + + @JsonCreator + public SoftwareCatalogTriggerWrapper( + @JsonProperty(required = true, value = JSON_PROPERTY_SOFTWARE_CATALOG_TRIGGER) + Object softwareCatalogTrigger) { + this.softwareCatalogTrigger = softwareCatalogTrigger; + } + + public SoftwareCatalogTriggerWrapper softwareCatalogTrigger(Object softwareCatalogTrigger) { + this.softwareCatalogTrigger = softwareCatalogTrigger; + return this; + } + + /** + * Trigger a workflow from Software Catalog. + * + * @return softwareCatalogTrigger + */ + @JsonProperty(JSON_PROPERTY_SOFTWARE_CATALOG_TRIGGER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Object getSoftwareCatalogTrigger() { + return softwareCatalogTrigger; + } + + public void setSoftwareCatalogTrigger(Object softwareCatalogTrigger) { + this.softwareCatalogTrigger = softwareCatalogTrigger; + } + + public SoftwareCatalogTriggerWrapper startStepNames(List startStepNames) { + this.startStepNames = startStepNames; + return this; + } + + public SoftwareCatalogTriggerWrapper 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 SoftwareCatalogTriggerWrapper + */ + @JsonAnySetter + public SoftwareCatalogTriggerWrapper 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 SoftwareCatalogTriggerWrapper object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SoftwareCatalogTriggerWrapper softwareCatalogTriggerWrapper = (SoftwareCatalogTriggerWrapper) o; + return Objects.equals( + this.softwareCatalogTrigger, softwareCatalogTriggerWrapper.softwareCatalogTrigger) + && Objects.equals(this.startStepNames, softwareCatalogTriggerWrapper.startStepNames) + && Objects.equals( + this.additionalProperties, softwareCatalogTriggerWrapper.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(softwareCatalogTrigger, startStepNames, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SoftwareCatalogTriggerWrapper {\n"); + sb.append(" softwareCatalogTrigger: ") + .append(toIndentedString(softwareCatalogTrigger)) + .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 2123b65d2f1..7cea1913125 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 @@ -254,6 +254,52 @@ public Trigger deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'ChangeEventTriggerWrapper'", e); } + // deserialize DatabaseMonitoringTriggerWrapper + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (DatabaseMonitoringTriggerWrapper.class.equals(Integer.class) + || DatabaseMonitoringTriggerWrapper.class.equals(Long.class) + || DatabaseMonitoringTriggerWrapper.class.equals(Float.class) + || DatabaseMonitoringTriggerWrapper.class.equals(Double.class) + || DatabaseMonitoringTriggerWrapper.class.equals(Boolean.class) + || DatabaseMonitoringTriggerWrapper.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((DatabaseMonitoringTriggerWrapper.class.equals(Integer.class) + || DatabaseMonitoringTriggerWrapper.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((DatabaseMonitoringTriggerWrapper.class.equals(Float.class) + || DatabaseMonitoringTriggerWrapper.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (DatabaseMonitoringTriggerWrapper.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (DatabaseMonitoringTriggerWrapper.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(DatabaseMonitoringTriggerWrapper.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 (!((DatabaseMonitoringTriggerWrapper) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'DatabaseMonitoringTriggerWrapper'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, "Input data does not match schema 'DatabaseMonitoringTriggerWrapper'", e); + } + // deserialize DashboardTriggerWrapper try { boolean attemptParsing = true; @@ -434,6 +480,51 @@ public Trigger deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'MonitorTriggerWrapper'", e); } + // deserialize NotebookTriggerWrapper + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (NotebookTriggerWrapper.class.equals(Integer.class) + || NotebookTriggerWrapper.class.equals(Long.class) + || NotebookTriggerWrapper.class.equals(Float.class) + || NotebookTriggerWrapper.class.equals(Double.class) + || NotebookTriggerWrapper.class.equals(Boolean.class) + || NotebookTriggerWrapper.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((NotebookTriggerWrapper.class.equals(Integer.class) + || NotebookTriggerWrapper.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((NotebookTriggerWrapper.class.equals(Float.class) + || NotebookTriggerWrapper.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (NotebookTriggerWrapper.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (NotebookTriggerWrapper.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(NotebookTriggerWrapper.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 (!((NotebookTriggerWrapper) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'NotebookTriggerWrapper'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'NotebookTriggerWrapper'", e); + } + // deserialize ScheduleTriggerWrapper try { boolean attemptParsing = true; @@ -524,6 +615,51 @@ public Trigger deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'SecurityTriggerWrapper'", e); } + // deserialize SelfServiceTriggerWrapper + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (SelfServiceTriggerWrapper.class.equals(Integer.class) + || SelfServiceTriggerWrapper.class.equals(Long.class) + || SelfServiceTriggerWrapper.class.equals(Float.class) + || SelfServiceTriggerWrapper.class.equals(Double.class) + || SelfServiceTriggerWrapper.class.equals(Boolean.class) + || SelfServiceTriggerWrapper.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((SelfServiceTriggerWrapper.class.equals(Integer.class) + || SelfServiceTriggerWrapper.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((SelfServiceTriggerWrapper.class.equals(Float.class) + || SelfServiceTriggerWrapper.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (SelfServiceTriggerWrapper.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (SelfServiceTriggerWrapper.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(SelfServiceTriggerWrapper.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 (!((SelfServiceTriggerWrapper) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'SelfServiceTriggerWrapper'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'SelfServiceTriggerWrapper'", e); + } + // deserialize SlackTriggerWrapper try { boolean attemptParsing = true; @@ -568,6 +704,51 @@ public Trigger deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'SlackTriggerWrapper'", e); } + // deserialize SoftwareCatalogTriggerWrapper + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (SoftwareCatalogTriggerWrapper.class.equals(Integer.class) + || SoftwareCatalogTriggerWrapper.class.equals(Long.class) + || SoftwareCatalogTriggerWrapper.class.equals(Float.class) + || SoftwareCatalogTriggerWrapper.class.equals(Double.class) + || SoftwareCatalogTriggerWrapper.class.equals(Boolean.class) + || SoftwareCatalogTriggerWrapper.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((SoftwareCatalogTriggerWrapper.class.equals(Integer.class) + || SoftwareCatalogTriggerWrapper.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((SoftwareCatalogTriggerWrapper.class.equals(Float.class) + || SoftwareCatalogTriggerWrapper.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (SoftwareCatalogTriggerWrapper.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (SoftwareCatalogTriggerWrapper.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(SoftwareCatalogTriggerWrapper.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 (!((SoftwareCatalogTriggerWrapper) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'SoftwareCatalogTriggerWrapper'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'SoftwareCatalogTriggerWrapper'", e); + } + // deserialize WorkflowTriggerWrapper try { boolean attemptParsing = true; @@ -661,6 +842,11 @@ public Trigger(ChangeEventTriggerWrapper o) { setActualInstance(o); } + public Trigger(DatabaseMonitoringTriggerWrapper o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public Trigger(DashboardTriggerWrapper o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -681,6 +867,11 @@ public Trigger(MonitorTriggerWrapper o) { setActualInstance(o); } + public Trigger(NotebookTriggerWrapper o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public Trigger(ScheduleTriggerWrapper o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -691,11 +882,21 @@ public Trigger(SecurityTriggerWrapper o) { setActualInstance(o); } + public Trigger(SelfServiceTriggerWrapper o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public Trigger(SlackTriggerWrapper o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } + public Trigger(SoftwareCatalogTriggerWrapper o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public Trigger(WorkflowTriggerWrapper o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -706,13 +907,19 @@ public Trigger(WorkflowTriggerWrapper o) { schemas.put("AppTriggerWrapper", new GenericType() {}); schemas.put("CaseTriggerWrapper", new GenericType() {}); schemas.put("ChangeEventTriggerWrapper", new GenericType() {}); + schemas.put( + "DatabaseMonitoringTriggerWrapper", new GenericType() {}); schemas.put("DashboardTriggerWrapper", new GenericType() {}); schemas.put("GithubWebhookTriggerWrapper", new GenericType() {}); schemas.put("IncidentTriggerWrapper", new GenericType() {}); schemas.put("MonitorTriggerWrapper", new GenericType() {}); + schemas.put("NotebookTriggerWrapper", new GenericType() {}); schemas.put("ScheduleTriggerWrapper", new GenericType() {}); schemas.put("SecurityTriggerWrapper", new GenericType() {}); + schemas.put("SelfServiceTriggerWrapper", new GenericType() {}); schemas.put("SlackTriggerWrapper", new GenericType() {}); + schemas.put( + "SoftwareCatalogTriggerWrapper", new GenericType() {}); schemas.put("WorkflowTriggerWrapper", new GenericType() {}); JSON.registerDescendants(Trigger.class, Collections.unmodifiableMap(schemas)); } @@ -725,9 +932,11 @@ public Map getSchemas() { /** * Set the instance that matches the oneOf child schema, check the instance parameter is valid * against the oneOf child schemas: APITriggerWrapper, AppTriggerWrapper, CaseTriggerWrapper, - * ChangeEventTriggerWrapper, DashboardTriggerWrapper, GithubWebhookTriggerWrapper, - * IncidentTriggerWrapper, MonitorTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper, - * SlackTriggerWrapper, WorkflowTriggerWrapper + * ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper, DashboardTriggerWrapper, + * GithubWebhookTriggerWrapper, IncidentTriggerWrapper, MonitorTriggerWrapper, + * NotebookTriggerWrapper, 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). @@ -750,6 +959,11 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf( + DatabaseMonitoringTriggerWrapper.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(DashboardTriggerWrapper.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -766,6 +980,10 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(NotebookTriggerWrapper.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(ScheduleTriggerWrapper.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -774,10 +992,18 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(SelfServiceTriggerWrapper.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(SlackTriggerWrapper.class, instance, new HashSet>())) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(SoftwareCatalogTriggerWrapper.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(WorkflowTriggerWrapper.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -789,21 +1015,27 @@ public void setActualInstance(Object instance) { } throw new RuntimeException( "Invalid instance type. Must be APITriggerWrapper, AppTriggerWrapper, CaseTriggerWrapper," - + " ChangeEventTriggerWrapper, DashboardTriggerWrapper, GithubWebhookTriggerWrapper," - + " IncidentTriggerWrapper, MonitorTriggerWrapper, ScheduleTriggerWrapper," - + " SecurityTriggerWrapper, SlackTriggerWrapper, WorkflowTriggerWrapper"); + + " ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper," + + " DashboardTriggerWrapper, GithubWebhookTriggerWrapper, IncidentTriggerWrapper," + + " MonitorTriggerWrapper, NotebookTriggerWrapper, ScheduleTriggerWrapper," + + " SecurityTriggerWrapper, SelfServiceTriggerWrapper, SlackTriggerWrapper," + + " SoftwareCatalogTriggerWrapper, WorkflowTriggerWrapper"); } /** * Get the actual instance, which can be the following: APITriggerWrapper, AppTriggerWrapper, - * CaseTriggerWrapper, ChangeEventTriggerWrapper, DashboardTriggerWrapper, - * GithubWebhookTriggerWrapper, IncidentTriggerWrapper, MonitorTriggerWrapper, - * ScheduleTriggerWrapper, SecurityTriggerWrapper, SlackTriggerWrapper, WorkflowTriggerWrapper + * CaseTriggerWrapper, ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper, + * DashboardTriggerWrapper, GithubWebhookTriggerWrapper, IncidentTriggerWrapper, + * MonitorTriggerWrapper, NotebookTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper, + * SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, + * WorkflowTriggerWrapper * * @return The actual instance (APITriggerWrapper, AppTriggerWrapper, CaseTriggerWrapper, - * ChangeEventTriggerWrapper, DashboardTriggerWrapper, GithubWebhookTriggerWrapper, - * IncidentTriggerWrapper, MonitorTriggerWrapper, ScheduleTriggerWrapper, - * SecurityTriggerWrapper, SlackTriggerWrapper, WorkflowTriggerWrapper) + * ChangeEventTriggerWrapper, DatabaseMonitoringTriggerWrapper, DashboardTriggerWrapper, + * GithubWebhookTriggerWrapper, IncidentTriggerWrapper, MonitorTriggerWrapper, + * NotebookTriggerWrapper, ScheduleTriggerWrapper, SecurityTriggerWrapper, + * SelfServiceTriggerWrapper, SlackTriggerWrapper, SoftwareCatalogTriggerWrapper, + * WorkflowTriggerWrapper) */ @Override public Object getActualInstance() { @@ -854,6 +1086,18 @@ public ChangeEventTriggerWrapper getChangeEventTriggerWrapper() throws ClassCast return (ChangeEventTriggerWrapper) super.getActualInstance(); } + /** + * Get the actual instance of `DatabaseMonitoringTriggerWrapper`. If the actual instance is not + * `DatabaseMonitoringTriggerWrapper`, the ClassCastException will be thrown. + * + * @return The actual instance of `DatabaseMonitoringTriggerWrapper` + * @throws ClassCastException if the instance is not `DatabaseMonitoringTriggerWrapper` + */ + public DatabaseMonitoringTriggerWrapper getDatabaseMonitoringTriggerWrapper() + throws ClassCastException { + return (DatabaseMonitoringTriggerWrapper) super.getActualInstance(); + } + /** * Get the actual instance of `DashboardTriggerWrapper`. If the actual instance is not * `DashboardTriggerWrapper`, the ClassCastException will be thrown. @@ -898,6 +1142,17 @@ public MonitorTriggerWrapper getMonitorTriggerWrapper() throws ClassCastExceptio return (MonitorTriggerWrapper) super.getActualInstance(); } + /** + * Get the actual instance of `NotebookTriggerWrapper`. If the actual instance is not + * `NotebookTriggerWrapper`, the ClassCastException will be thrown. + * + * @return The actual instance of `NotebookTriggerWrapper` + * @throws ClassCastException if the instance is not `NotebookTriggerWrapper` + */ + public NotebookTriggerWrapper getNotebookTriggerWrapper() throws ClassCastException { + return (NotebookTriggerWrapper) super.getActualInstance(); + } + /** * Get the actual instance of `ScheduleTriggerWrapper`. If the actual instance is not * `ScheduleTriggerWrapper`, the ClassCastException will be thrown. @@ -920,6 +1175,17 @@ public SecurityTriggerWrapper getSecurityTriggerWrapper() throws ClassCastExcept return (SecurityTriggerWrapper) super.getActualInstance(); } + /** + * Get the actual instance of `SelfServiceTriggerWrapper`. If the actual instance is not + * `SelfServiceTriggerWrapper`, the ClassCastException will be thrown. + * + * @return The actual instance of `SelfServiceTriggerWrapper` + * @throws ClassCastException if the instance is not `SelfServiceTriggerWrapper` + */ + public SelfServiceTriggerWrapper getSelfServiceTriggerWrapper() throws ClassCastException { + return (SelfServiceTriggerWrapper) super.getActualInstance(); + } + /** * Get the actual instance of `SlackTriggerWrapper`. If the actual instance is not * `SlackTriggerWrapper`, the ClassCastException will be thrown. @@ -931,6 +1197,18 @@ public SlackTriggerWrapper getSlackTriggerWrapper() throws ClassCastException { return (SlackTriggerWrapper) super.getActualInstance(); } + /** + * Get the actual instance of `SoftwareCatalogTriggerWrapper`. If the actual instance is not + * `SoftwareCatalogTriggerWrapper`, the ClassCastException will be thrown. + * + * @return The actual instance of `SoftwareCatalogTriggerWrapper` + * @throws ClassCastException if the instance is not `SoftwareCatalogTriggerWrapper` + */ + public SoftwareCatalogTriggerWrapper getSoftwareCatalogTriggerWrapper() + throws ClassCastException { + return (SoftwareCatalogTriggerWrapper) super.getActualInstance(); + } + /** * Get the actual instance of `WorkflowTriggerWrapper`. If the actual instance is not * `WorkflowTriggerWrapper`, the ClassCastException will be thrown. diff --git a/src/main/java/com/datadog/api/client/v2/model/WorkflowTriggerWrapper.java b/src/main/java/com/datadog/api/client/v2/model/WorkflowTriggerWrapper.java index 4860a6db274..563c23ac1f5 100644 --- a/src/main/java/com/datadog/api/client/v2/model/WorkflowTriggerWrapper.java +++ b/src/main/java/com/datadog/api/client/v2/model/WorkflowTriggerWrapper.java @@ -78,7 +78,7 @@ public WorkflowTriggerWrapper workflowTrigger(Object workflowTrigger) { } /** - * Trigger a workflow VIA the Datadog UI. Only required if no other trigger exists. + * Trigger a workflow from the Datadog UI. Only required if no other trigger exists. * * @return workflowTrigger */