diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 0040506a554..afe196e102f 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -5716,9 +5716,41 @@ components: required: - facet type: object + ListStreamIssuePersona: + description: Persona filter for the `issue_stream` data source. + enum: + - all + - browser + - mobile + - backend + type: string + x-enum-varnames: + - ALL + - BROWSER + - MOBILE + - BACKEND + ListStreamIssueState: + description: Issue state filter for the `issue_stream` data source. + enum: + - OPEN + - IGNORED + - ACKNOWLEDGED + - RESOLVED + type: string + x-enum-varnames: + - OPEN + - IGNORED + - ACKNOWLEDGED + - RESOLVED ListStreamQuery: description: Updated list stream widget. properties: + assignee_uuids: + description: Filter by assignee UUIDs. Usable only with `issue_stream`. + items: + description: Assignee UUID. + type: string + type: array clustering_pattern_field_path: description: Specifies the field for logs pattern clustering. Usable only with logs_pattern_stream. example: "message" @@ -5746,16 +5778,35 @@ components: description: Index. type: string type: array + persona: + $ref: "#/components/schemas/ListStreamIssuePersona" query_string: description: Widget query. example: "@service:app" type: string sort: $ref: "#/components/schemas/WidgetFieldSort" + states: + description: Filter by issue states. Usable only with `issue_stream`. + items: + $ref: "#/components/schemas/ListStreamIssueState" + type: array storage: description: Option for storage location. Feature in Private Beta. example: "indexes" type: string + suspected_causes: + description: Filter by suspected causes. Usable only with `issue_stream`. + items: + description: Suspected cause. + type: string + type: array + team_handles: + description: Filter by team handles. Usable only with `issue_stream`. + items: + description: Team handle. + type: string + type: array required: - query_string - data_source @@ -5769,8 +5820,8 @@ components: x-enum-varnames: - EVENT_LIST ListStreamSource: - default: apm_issue_stream - description: Source from which to query items to display in the stream. + default: logs_stream + description: Source from which to query items to display in the stream. apm_issue_stream, rum_issue_stream, and logs_issue_stream are deprecated. Use issue_stream instead. enum: - logs_stream - audit_stream @@ -5785,7 +5836,8 @@ components: - event_stream - rum_stream - llm_observability_stream - example: apm_issue_stream + - issue_stream + example: logs_stream type: string x-enum-varnames: - LOGS_STREAM @@ -5801,6 +5853,7 @@ components: - EVENT_STREAM - RUM_STREAM - LLM_OBSERVABILITY_STREAM + - ISSUE_STREAM ListStreamWidgetDefinition: description: |- The list stream visualization displays a table of recent events in your application that diff --git a/src/main/java/com/datadog/api/client/v1/model/ListStreamIssuePersona.java b/src/main/java/com/datadog/api/client/v1/model/ListStreamIssuePersona.java new file mode 100644 index 00000000000..4dfd8008360 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/ListStreamIssuePersona.java @@ -0,0 +1,59 @@ +/* + * 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.v1.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Persona filter for the issue_stream data source. */ +@JsonSerialize(using = ListStreamIssuePersona.ListStreamIssuePersonaSerializer.class) +public class ListStreamIssuePersona extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("all", "browser", "mobile", "backend")); + + public static final ListStreamIssuePersona ALL = new ListStreamIssuePersona("all"); + public static final ListStreamIssuePersona BROWSER = new ListStreamIssuePersona("browser"); + public static final ListStreamIssuePersona MOBILE = new ListStreamIssuePersona("mobile"); + public static final ListStreamIssuePersona BACKEND = new ListStreamIssuePersona("backend"); + + ListStreamIssuePersona(String value) { + super(value, allowedValues); + } + + public static class ListStreamIssuePersonaSerializer + extends StdSerializer { + public ListStreamIssuePersonaSerializer(Class t) { + super(t); + } + + public ListStreamIssuePersonaSerializer() { + this(null); + } + + @Override + public void serialize( + ListStreamIssuePersona value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ListStreamIssuePersona fromValue(String value) { + return new ListStreamIssuePersona(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/ListStreamIssueState.java b/src/main/java/com/datadog/api/client/v1/model/ListStreamIssueState.java new file mode 100644 index 00000000000..39056bf5458 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/ListStreamIssueState.java @@ -0,0 +1,58 @@ +/* + * 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.v1.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Issue state filter for the issue_stream data source. */ +@JsonSerialize(using = ListStreamIssueState.ListStreamIssueStateSerializer.class) +public class ListStreamIssueState extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("OPEN", "IGNORED", "ACKNOWLEDGED", "RESOLVED")); + + public static final ListStreamIssueState OPEN = new ListStreamIssueState("OPEN"); + public static final ListStreamIssueState IGNORED = new ListStreamIssueState("IGNORED"); + public static final ListStreamIssueState ACKNOWLEDGED = new ListStreamIssueState("ACKNOWLEDGED"); + public static final ListStreamIssueState RESOLVED = new ListStreamIssueState("RESOLVED"); + + ListStreamIssueState(String value) { + super(value, allowedValues); + } + + public static class ListStreamIssueStateSerializer extends StdSerializer { + public ListStreamIssueStateSerializer(Class t) { + super(t); + } + + public ListStreamIssueStateSerializer() { + this(null); + } + + @Override + public void serialize( + ListStreamIssueState value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ListStreamIssueState fromValue(String value) { + return new ListStreamIssueState(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/ListStreamQuery.java b/src/main/java/com/datadog/api/client/v1/model/ListStreamQuery.java index 9396163d2a9..2b2d13f72d5 100644 --- a/src/main/java/com/datadog/api/client/v1/model/ListStreamQuery.java +++ b/src/main/java/com/datadog/api/client/v1/model/ListStreamQuery.java @@ -21,20 +21,28 @@ /** Updated list stream widget. */ @JsonPropertyOrder({ + ListStreamQuery.JSON_PROPERTY_ASSIGNEE_UUIDS, ListStreamQuery.JSON_PROPERTY_CLUSTERING_PATTERN_FIELD_PATH, ListStreamQuery.JSON_PROPERTY_COMPUTE, ListStreamQuery.JSON_PROPERTY_DATA_SOURCE, ListStreamQuery.JSON_PROPERTY_EVENT_SIZE, ListStreamQuery.JSON_PROPERTY_GROUP_BY, ListStreamQuery.JSON_PROPERTY_INDEXES, + ListStreamQuery.JSON_PROPERTY_PERSONA, ListStreamQuery.JSON_PROPERTY_QUERY_STRING, ListStreamQuery.JSON_PROPERTY_SORT, - ListStreamQuery.JSON_PROPERTY_STORAGE + ListStreamQuery.JSON_PROPERTY_STATES, + ListStreamQuery.JSON_PROPERTY_STORAGE, + ListStreamQuery.JSON_PROPERTY_SUSPECTED_CAUSES, + ListStreamQuery.JSON_PROPERTY_TEAM_HANDLES }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ListStreamQuery { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ASSIGNEE_UUIDS = "assignee_uuids"; + private List assigneeUuids = null; + public static final String JSON_PROPERTY_CLUSTERING_PATTERN_FIELD_PATH = "clustering_pattern_field_path"; private String clusteringPatternFieldPath; @@ -43,7 +51,7 @@ public class ListStreamQuery { private List compute = null; public static final String JSON_PROPERTY_DATA_SOURCE = "data_source"; - private ListStreamSource dataSource = ListStreamSource.APM_ISSUE_STREAM; + private ListStreamSource dataSource = ListStreamSource.LOGS_STREAM; public static final String JSON_PROPERTY_EVENT_SIZE = "event_size"; private WidgetEventSize eventSize; @@ -54,15 +62,27 @@ public class ListStreamQuery { public static final String JSON_PROPERTY_INDEXES = "indexes"; private List indexes = null; + public static final String JSON_PROPERTY_PERSONA = "persona"; + private ListStreamIssuePersona persona; + public static final String JSON_PROPERTY_QUERY_STRING = "query_string"; private String queryString; public static final String JSON_PROPERTY_SORT = "sort"; private WidgetFieldSort sort; + public static final String JSON_PROPERTY_STATES = "states"; + private List states = null; + public static final String JSON_PROPERTY_STORAGE = "storage"; private String storage; + public static final String JSON_PROPERTY_SUSPECTED_CAUSES = "suspected_causes"; + private List suspectedCauses = null; + + public static final String JSON_PROPERTY_TEAM_HANDLES = "team_handles"; + private List teamHandles = null; + public ListStreamQuery() {} @JsonCreator @@ -74,6 +94,35 @@ public ListStreamQuery( this.queryString = queryString; } + public ListStreamQuery assigneeUuids(List assigneeUuids) { + this.assigneeUuids = assigneeUuids; + return this; + } + + public ListStreamQuery addAssigneeUuidsItem(String assigneeUuidsItem) { + if (this.assigneeUuids == null) { + this.assigneeUuids = new ArrayList<>(); + } + this.assigneeUuids.add(assigneeUuidsItem); + return this; + } + + /** + * Filter by assignee UUIDs. Usable only with issue_stream. + * + * @return assigneeUuids + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ASSIGNEE_UUIDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getAssigneeUuids() { + return assigneeUuids; + } + + public void setAssigneeUuids(List assigneeUuids) { + this.assigneeUuids = assigneeUuids; + } + public ListStreamQuery clusteringPatternFieldPath(String clusteringPatternFieldPath) { this.clusteringPatternFieldPath = clusteringPatternFieldPath; return this; @@ -136,7 +185,8 @@ public ListStreamQuery dataSource(ListStreamSource dataSource) { } /** - * Source from which to query items to display in the stream. + * Source from which to query items to display in the stream. apm_issue_stream, rum_issue_stream, + * and logs_issue_stream are deprecated. Use issue_stream instead. * * @return dataSource */ @@ -242,6 +292,31 @@ public void setIndexes(List indexes) { this.indexes = indexes; } + public ListStreamQuery persona(ListStreamIssuePersona persona) { + this.persona = persona; + this.unparsed |= !persona.isValid(); + return this; + } + + /** + * Persona filter for the issue_stream data source. + * + * @return persona + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PERSONA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ListStreamIssuePersona getPersona() { + return persona; + } + + public void setPersona(ListStreamIssuePersona persona) { + if (!persona.isValid()) { + this.unparsed = true; + } + this.persona = persona; + } + public ListStreamQuery queryString(String queryString) { this.queryString = queryString; return this; @@ -284,6 +359,36 @@ public void setSort(WidgetFieldSort sort) { this.sort = sort; } + public ListStreamQuery states(List states) { + this.states = states; + return this; + } + + public ListStreamQuery addStatesItem(ListStreamIssueState statesItem) { + if (this.states == null) { + this.states = new ArrayList<>(); + } + this.states.add(statesItem); + this.unparsed |= !statesItem.isValid(); + return this; + } + + /** + * Filter by issue states. Usable only with issue_stream. + * + * @return states + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getStates() { + return states; + } + + public void setStates(List states) { + this.states = states; + } + public ListStreamQuery storage(String storage) { this.storage = storage; return this; @@ -305,6 +410,64 @@ public void setStorage(String storage) { this.storage = storage; } + public ListStreamQuery suspectedCauses(List suspectedCauses) { + this.suspectedCauses = suspectedCauses; + return this; + } + + public ListStreamQuery addSuspectedCausesItem(String suspectedCausesItem) { + if (this.suspectedCauses == null) { + this.suspectedCauses = new ArrayList<>(); + } + this.suspectedCauses.add(suspectedCausesItem); + return this; + } + + /** + * Filter by suspected causes. Usable only with issue_stream. + * + * @return suspectedCauses + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SUSPECTED_CAUSES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getSuspectedCauses() { + return suspectedCauses; + } + + public void setSuspectedCauses(List suspectedCauses) { + this.suspectedCauses = suspectedCauses; + } + + public ListStreamQuery teamHandles(List teamHandles) { + this.teamHandles = teamHandles; + return this; + } + + public ListStreamQuery addTeamHandlesItem(String teamHandlesItem) { + if (this.teamHandles == null) { + this.teamHandles = new ArrayList<>(); + } + this.teamHandles.add(teamHandlesItem); + return this; + } + + /** + * Filter by team handles. Usable only with issue_stream. + * + * @return teamHandles + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TEAM_HANDLES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getTeamHandles() { + return teamHandles; + } + + public void setTeamHandles(List teamHandles) { + this.teamHandles = teamHandles; + } + /** * A container for additional, undeclared properties. This is a holder for any undeclared * properties as specified with the 'additionalProperties' keyword in the OAS document. @@ -361,31 +524,41 @@ public boolean equals(Object o) { return false; } ListStreamQuery listStreamQuery = (ListStreamQuery) o; - return Objects.equals( + return Objects.equals(this.assigneeUuids, listStreamQuery.assigneeUuids) + && Objects.equals( this.clusteringPatternFieldPath, listStreamQuery.clusteringPatternFieldPath) && Objects.equals(this.compute, listStreamQuery.compute) && Objects.equals(this.dataSource, listStreamQuery.dataSource) && Objects.equals(this.eventSize, listStreamQuery.eventSize) && Objects.equals(this.groupBy, listStreamQuery.groupBy) && Objects.equals(this.indexes, listStreamQuery.indexes) + && Objects.equals(this.persona, listStreamQuery.persona) && Objects.equals(this.queryString, listStreamQuery.queryString) && Objects.equals(this.sort, listStreamQuery.sort) + && Objects.equals(this.states, listStreamQuery.states) && Objects.equals(this.storage, listStreamQuery.storage) + && Objects.equals(this.suspectedCauses, listStreamQuery.suspectedCauses) + && Objects.equals(this.teamHandles, listStreamQuery.teamHandles) && Objects.equals(this.additionalProperties, listStreamQuery.additionalProperties); } @Override public int hashCode() { return Objects.hash( + assigneeUuids, clusteringPatternFieldPath, compute, dataSource, eventSize, groupBy, indexes, + persona, queryString, sort, + states, storage, + suspectedCauses, + teamHandles, additionalProperties); } @@ -393,6 +566,7 @@ public int hashCode() { public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ListStreamQuery {\n"); + sb.append(" assigneeUuids: ").append(toIndentedString(assigneeUuids)).append("\n"); sb.append(" clusteringPatternFieldPath: ") .append(toIndentedString(clusteringPatternFieldPath)) .append("\n"); @@ -401,9 +575,13 @@ public String toString() { sb.append(" eventSize: ").append(toIndentedString(eventSize)).append("\n"); sb.append(" groupBy: ").append(toIndentedString(groupBy)).append("\n"); sb.append(" indexes: ").append(toIndentedString(indexes)).append("\n"); + sb.append(" persona: ").append(toIndentedString(persona)).append("\n"); sb.append(" queryString: ").append(toIndentedString(queryString)).append("\n"); sb.append(" sort: ").append(toIndentedString(sort)).append("\n"); + sb.append(" states: ").append(toIndentedString(states)).append("\n"); sb.append(" storage: ").append(toIndentedString(storage)).append("\n"); + sb.append(" suspectedCauses: ").append(toIndentedString(suspectedCauses)).append("\n"); + sb.append(" teamHandles: ").append(toIndentedString(teamHandles)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java b/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java index a97672ff7b8..fad871580c8 100644 --- a/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java +++ b/src/main/java/com/datadog/api/client/v1/model/ListStreamSource.java @@ -18,7 +18,10 @@ import java.util.HashSet; import java.util.Set; -/** Source from which to query items to display in the stream. */ +/** + * Source from which to query items to display in the stream. apm_issue_stream, rum_issue_stream, + * and logs_issue_stream are deprecated. Use issue_stream instead. + */ @JsonSerialize(using = ListStreamSource.ListStreamSourceSerializer.class) public class ListStreamSource extends ModelEnum { @@ -37,7 +40,8 @@ public class ListStreamSource extends ModelEnum { "logs_transaction_stream", "event_stream", "rum_stream", - "llm_observability_stream")); + "llm_observability_stream", + "issue_stream")); public static final ListStreamSource LOGS_STREAM = new ListStreamSource("logs_stream"); public static final ListStreamSource AUDIT_STREAM = new ListStreamSource("audit_stream"); @@ -57,6 +61,7 @@ public class ListStreamSource extends ModelEnum { public static final ListStreamSource RUM_STREAM = new ListStreamSource("rum_stream"); public static final ListStreamSource LLM_OBSERVABILITY_STREAM = new ListStreamSource("llm_observability_stream"); + public static final ListStreamSource ISSUE_STREAM = new ListStreamSource("issue_stream"); ListStreamSource(String value) { super(value, allowedValues);