diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 6cd7c2ab9ef..e7ef56c3e55 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -9248,6 +9248,10 @@ components: $ref: '#/components/schemas/ServiceNowTicket' status: $ref: '#/components/schemas/CaseStatus' + status_group: + $ref: '#/components/schemas/CaseStatusGroup' + status_name: + $ref: '#/components/schemas/CaseStatusName' title: description: Title example: Memory leak investigation on API @@ -9314,6 +9318,8 @@ components: type: string priority: $ref: '#/components/schemas/CasePriority' + status_name: + $ref: '#/components/schemas/CaseStatusName' title: description: Title example: Security breach investigation @@ -9482,7 +9488,9 @@ components: - PRIORITY - STATUS CaseStatus: - description: Case status + deprecated: true + description: Deprecated way of representing the case status, which only supports + OPEN, IN_PROGRESS, and CLOSED statuses. Use `status_name` instead. enum: - OPEN - IN_PROGRESS @@ -9493,6 +9501,23 @@ components: - OPEN - IN_PROGRESS - CLOSED + CaseStatusGroup: + description: Status group of the case. + enum: + - SG_OPEN + - SG_IN_PROGRESS + - SG_CLOSED + example: SG_OPEN + type: string + x-enum-varnames: + - SG_OPEN + - SG_IN_PROGRESS + - SG_CLOSED + CaseStatusName: + description: Status of the case. Must be one of the existing statuses for the + case's type. + example: Open + type: string CaseTrigger: description: Trigger a workflow from a Case. For automatic triggering a handle must be configured and the workflow must be published. @@ -9716,8 +9741,9 @@ components: properties: status: $ref: '#/components/schemas/CaseStatus' - required: - - status + deprecated: true + status_name: + $ref: '#/components/schemas/CaseStatusName' type: object CaseUpdateStatusRequest: description: Case update status request diff --git a/src/main/java/com/datadog/api/client/v2/model/CaseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/CaseAttributes.java index bc59cfd5915..65350568c2e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/CaseAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/CaseAttributes.java @@ -33,6 +33,8 @@ CaseAttributes.JSON_PROPERTY_PRIORITY, CaseAttributes.JSON_PROPERTY_SERVICE_NOW_TICKET, CaseAttributes.JSON_PROPERTY_STATUS, + CaseAttributes.JSON_PROPERTY_STATUS_GROUP, + CaseAttributes.JSON_PROPERTY_STATUS_NAME, CaseAttributes.JSON_PROPERTY_TITLE, CaseAttributes.JSON_PROPERTY_TYPE, CaseAttributes.JSON_PROPERTY_TYPE_ID @@ -78,6 +80,12 @@ public class CaseAttributes { public static final String JSON_PROPERTY_STATUS = "status"; private CaseStatus status; + public static final String JSON_PROPERTY_STATUS_GROUP = "status_group"; + private CaseStatusGroup statusGroup; + + public static final String JSON_PROPERTY_STATUS_NAME = "status_name"; + private String statusName; + public static final String JSON_PROPERTY_TITLE = "title"; private String title; @@ -362,10 +370,13 @@ public CaseAttributes status(CaseStatus status) { } /** - * Case status + * Deprecated way of representing the case status, which only supports OPEN, IN_PROGRESS, and + * CLOSED statuses. Use status_name instead. * * @return status + * @deprecated */ + @Deprecated @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_STATUS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -373,6 +384,7 @@ public CaseStatus getStatus() { return status; } + @Deprecated public void setStatus(CaseStatus status) { if (!status.isValid()) { this.unparsed = true; @@ -380,6 +392,52 @@ public void setStatus(CaseStatus status) { this.status = status; } + public CaseAttributes statusGroup(CaseStatusGroup statusGroup) { + this.statusGroup = statusGroup; + this.unparsed |= !statusGroup.isValid(); + return this; + } + + /** + * Status group of the case. + * + * @return statusGroup + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS_GROUP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public CaseStatusGroup getStatusGroup() { + return statusGroup; + } + + public void setStatusGroup(CaseStatusGroup statusGroup) { + if (!statusGroup.isValid()) { + this.unparsed = true; + } + this.statusGroup = statusGroup; + } + + public CaseAttributes statusName(String statusName) { + this.statusName = statusName; + return this; + } + + /** + * Status of the case. Must be one of the existing statuses for the case's type. + * + * @return statusName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + public CaseAttributes title(String title) { this.title = title; return this; @@ -518,6 +576,8 @@ public boolean equals(Object o) { && Objects.equals(this.priority, caseAttributes.priority) && Objects.equals(this.serviceNowTicket, caseAttributes.serviceNowTicket) && Objects.equals(this.status, caseAttributes.status) + && Objects.equals(this.statusGroup, caseAttributes.statusGroup) + && Objects.equals(this.statusName, caseAttributes.statusName) && Objects.equals(this.title, caseAttributes.title) && Objects.equals(this.type, caseAttributes.type) && Objects.equals(this.typeId, caseAttributes.typeId) @@ -539,6 +599,8 @@ public int hashCode() { priority, serviceNowTicket, status, + statusGroup, + statusName, title, type, typeId, @@ -561,6 +623,8 @@ public String toString() { sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); sb.append(" serviceNowTicket: ").append(toIndentedString(serviceNowTicket)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" statusGroup: ").append(toIndentedString(statusGroup)).append("\n"); + sb.append(" statusName: ").append(toIndentedString(statusName)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" typeId: ").append(toIndentedString(typeId)).append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/CaseCreateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/CaseCreateAttributes.java index 17d1094c02c..d5f549e8c08 100644 --- a/src/main/java/com/datadog/api/client/v2/model/CaseCreateAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/CaseCreateAttributes.java @@ -22,6 +22,7 @@ CaseCreateAttributes.JSON_PROPERTY_CUSTOM_ATTRIBUTES, CaseCreateAttributes.JSON_PROPERTY_DESCRIPTION, CaseCreateAttributes.JSON_PROPERTY_PRIORITY, + CaseCreateAttributes.JSON_PROPERTY_STATUS_NAME, CaseCreateAttributes.JSON_PROPERTY_TITLE, CaseCreateAttributes.JSON_PROPERTY_TYPE_ID }) @@ -38,6 +39,9 @@ public class CaseCreateAttributes { public static final String JSON_PROPERTY_PRIORITY = "priority"; private CasePriority priority = CasePriority.NOT_DEFINED; + public static final String JSON_PROPERTY_STATUS_NAME = "status_name"; + private String statusName; + public static final String JSON_PROPERTY_TITLE = "title"; private String title; @@ -130,6 +134,27 @@ public void setPriority(CasePriority priority) { this.priority = priority; } + public CaseCreateAttributes statusName(String statusName) { + this.statusName = statusName; + return this; + } + + /** + * Status of the case. Must be one of the existing statuses for the case's type. + * + * @return statusName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + public CaseCreateAttributes title(String title) { this.title = title; return this; @@ -229,6 +254,7 @@ public boolean equals(Object o) { return Objects.equals(this.customAttributes, caseCreateAttributes.customAttributes) && Objects.equals(this.description, caseCreateAttributes.description) && Objects.equals(this.priority, caseCreateAttributes.priority) + && Objects.equals(this.statusName, caseCreateAttributes.statusName) && Objects.equals(this.title, caseCreateAttributes.title) && Objects.equals(this.typeId, caseCreateAttributes.typeId) && Objects.equals(this.additionalProperties, caseCreateAttributes.additionalProperties); @@ -237,7 +263,7 @@ public boolean equals(Object o) { @Override public int hashCode() { return Objects.hash( - customAttributes, description, priority, title, typeId, additionalProperties); + customAttributes, description, priority, statusName, title, typeId, additionalProperties); } @Override @@ -247,6 +273,7 @@ public String toString() { sb.append(" customAttributes: ").append(toIndentedString(customAttributes)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" priority: ").append(toIndentedString(priority)).append("\n"); + sb.append(" statusName: ").append(toIndentedString(statusName)).append("\n"); sb.append(" title: ").append(toIndentedString(title)).append("\n"); sb.append(" typeId: ").append(toIndentedString(typeId)).append("\n"); sb.append(" additionalProperties: ") diff --git a/src/main/java/com/datadog/api/client/v2/model/CaseStatus.java b/src/main/java/com/datadog/api/client/v2/model/CaseStatus.java index d00bf17f6a4..7d1c404fd9f 100644 --- a/src/main/java/com/datadog/api/client/v2/model/CaseStatus.java +++ b/src/main/java/com/datadog/api/client/v2/model/CaseStatus.java @@ -18,7 +18,10 @@ import java.util.HashSet; import java.util.Set; -/** Case status */ +/** + * Deprecated way of representing the case status, which only supports OPEN, IN_PROGRESS, and CLOSED + * statuses. Use status_name instead. + */ @JsonSerialize(using = CaseStatus.CaseStatusSerializer.class) public class CaseStatus extends ModelEnum { diff --git a/src/main/java/com/datadog/api/client/v2/model/CaseStatusGroup.java b/src/main/java/com/datadog/api/client/v2/model/CaseStatusGroup.java new file mode 100644 index 00000000000..78160012002 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/CaseStatusGroup.java @@ -0,0 +1,56 @@ +/* + * 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.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; + +/** Status group of the case. */ +@JsonSerialize(using = CaseStatusGroup.CaseStatusGroupSerializer.class) +public class CaseStatusGroup extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("SG_OPEN", "SG_IN_PROGRESS", "SG_CLOSED")); + + public static final CaseStatusGroup SG_OPEN = new CaseStatusGroup("SG_OPEN"); + public static final CaseStatusGroup SG_IN_PROGRESS = new CaseStatusGroup("SG_IN_PROGRESS"); + public static final CaseStatusGroup SG_CLOSED = new CaseStatusGroup("SG_CLOSED"); + + CaseStatusGroup(String value) { + super(value, allowedValues); + } + + public static class CaseStatusGroupSerializer extends StdSerializer { + public CaseStatusGroupSerializer(Class t) { + super(t); + } + + public CaseStatusGroupSerializer() { + this(null); + } + + @Override + public void serialize(CaseStatusGroup value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static CaseStatusGroup fromValue(String value) { + return new CaseStatusGroup(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/CaseUpdateStatusAttributes.java b/src/main/java/com/datadog/api/client/v2/model/CaseUpdateStatusAttributes.java index e15f9de8c47..c0363dffcd9 100644 --- a/src/main/java/com/datadog/api/client/v2/model/CaseUpdateStatusAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/CaseUpdateStatusAttributes.java @@ -8,7 +8,6 @@ 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; @@ -18,7 +17,10 @@ import java.util.Objects; /** Case update status attributes */ -@JsonPropertyOrder({CaseUpdateStatusAttributes.JSON_PROPERTY_STATUS}) +@JsonPropertyOrder({ + CaseUpdateStatusAttributes.JSON_PROPERTY_STATUS, + CaseUpdateStatusAttributes.JSON_PROPERTY_STATUS_NAME +}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class CaseUpdateStatusAttributes { @@ -26,14 +28,8 @@ public class CaseUpdateStatusAttributes { public static final String JSON_PROPERTY_STATUS = "status"; private CaseStatus status; - public CaseUpdateStatusAttributes() {} - - @JsonCreator - public CaseUpdateStatusAttributes( - @JsonProperty(required = true, value = JSON_PROPERTY_STATUS) CaseStatus status) { - this.status = status; - this.unparsed |= !status.isValid(); - } + public static final String JSON_PROPERTY_STATUS_NAME = "status_name"; + private String statusName; public CaseUpdateStatusAttributes status(CaseStatus status) { this.status = status; @@ -42,16 +38,21 @@ public CaseUpdateStatusAttributes status(CaseStatus status) { } /** - * Case status + * Deprecated way of representing the case status, which only supports OPEN, IN_PROGRESS, and + * CLOSED statuses. Use status_name instead. * * @return status + * @deprecated */ + @Deprecated + @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_STATUS) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public CaseStatus getStatus() { return status; } + @Deprecated public void setStatus(CaseStatus status) { if (!status.isValid()) { this.unparsed = true; @@ -59,6 +60,27 @@ public void setStatus(CaseStatus status) { this.status = status; } + public CaseUpdateStatusAttributes statusName(String statusName) { + this.statusName = statusName; + return this; + } + + /** + * Status of the case. Must be one of the existing statuses for the case's type. + * + * @return statusName + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getStatusName() { + return statusName; + } + + public void setStatusName(String statusName) { + this.statusName = statusName; + } + /** * A container for additional, undeclared properties. This is a holder for any undeclared * properties as specified with the 'additionalProperties' keyword in the OAS document. @@ -116,13 +138,14 @@ public boolean equals(Object o) { } CaseUpdateStatusAttributes caseUpdateStatusAttributes = (CaseUpdateStatusAttributes) o; return Objects.equals(this.status, caseUpdateStatusAttributes.status) + && Objects.equals(this.statusName, caseUpdateStatusAttributes.statusName) && Objects.equals( this.additionalProperties, caseUpdateStatusAttributes.additionalProperties); } @Override public int hashCode() { - return Objects.hash(status, additionalProperties); + return Objects.hash(status, statusName, additionalProperties); } @Override @@ -130,6 +153,7 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class CaseUpdateStatusAttributes {\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); + sb.append(" statusName: ").append(toIndentedString(statusName)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/IssueCaseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/IssueCaseAttributes.java index 59e733ce5cb..18185f80902 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IssueCaseAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/IssueCaseAttributes.java @@ -337,10 +337,13 @@ public IssueCaseAttributes status(CaseStatus status) { } /** - * Case status + * Deprecated way of representing the case status, which only supports OPEN, IN_PROGRESS, and + * CLOSED statuses. Use status_name instead. * * @return status + * @deprecated */ + @Deprecated @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_STATUS) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) @@ -348,6 +351,7 @@ public CaseStatus getStatus() { return status; } + @Deprecated public void setStatus(CaseStatus status) { if (!status.isValid()) { this.unparsed = true;