diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 9b5a962d175..b6f21787845 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -33935,6 +33935,21 @@ components: format: int64 type: integer type: object + DeviceTagsBySource: + description: Tags associated with a device from a specific source. + properties: + source: + description: The source of the tags. + example: user + type: string + tags: + description: The list of tags for the source. + example: ["tag:test", "tag:testbis"] + items: + description: A tag string in `key:value` format. + type: string + type: array + type: object DevicesListData: description: The devices list data properties: @@ -63468,6 +63483,12 @@ components: ListTagsResponseDataAttributes: description: The definition of ListTagsResponseDataAttributes object. properties: + by_source: + description: The list of device tags grouped by source. + items: + $ref: "#/components/schemas/DeviceTagsBySource" + readOnly: true + type: array tags: description: The list of tags example: ["tag:test", "tag:testbis"] @@ -173995,6 +174016,20 @@ paths: content: application/json: examples: + by_source: + value: + data: + attributes: + by_source: + - source: user + tags: + - "tag:test" + - "tag:testbis" + - source: snmp + tags: + - "device_ip:1.2.3.4" + id: foiwf7rgw38fh + type: tags default: value: data: diff --git a/src/main/java/com/datadog/api/client/v2/model/DeviceTagsBySource.java b/src/main/java/com/datadog/api/client/v2/model/DeviceTagsBySource.java new file mode 100644 index 00000000000..c68fd7ac098 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/DeviceTagsBySource.java @@ -0,0 +1,171 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Tags associated with a device from a specific source. */ +@JsonPropertyOrder({DeviceTagsBySource.JSON_PROPERTY_SOURCE, DeviceTagsBySource.JSON_PROPERTY_TAGS}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class DeviceTagsBySource { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_SOURCE = "source"; + private String source; + + public static final String JSON_PROPERTY_TAGS = "tags"; + private List tags = null; + + public DeviceTagsBySource source(String source) { + this.source = source; + return this; + } + + /** + * The source of the tags. + * + * @return source + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SOURCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getSource() { + return source; + } + + public void setSource(String source) { + this.source = source; + } + + public DeviceTagsBySource tags(List tags) { + this.tags = tags; + return this; + } + + public DeviceTagsBySource addTagsItem(String tagsItem) { + if (this.tags == null) { + this.tags = new ArrayList<>(); + } + this.tags.add(tagsItem); + return this; + } + + /** + * The list of tags for the source. + * + * @return tags + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TAGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getTags() { + return tags; + } + + public void setTags(List tags) { + this.tags = tags; + } + + /** + * 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 DeviceTagsBySource + */ + @JsonAnySetter + public DeviceTagsBySource 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 DeviceTagsBySource object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DeviceTagsBySource deviceTagsBySource = (DeviceTagsBySource) o; + return Objects.equals(this.source, deviceTagsBySource.source) + && Objects.equals(this.tags, deviceTagsBySource.tags) + && Objects.equals(this.additionalProperties, deviceTagsBySource.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(source, tags, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class DeviceTagsBySource {\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).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/ListTagsResponseDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/ListTagsResponseDataAttributes.java index 04becf5fbc2..d1099500b8f 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ListTagsResponseDataAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/ListTagsResponseDataAttributes.java @@ -19,14 +19,32 @@ import java.util.Objects; /** The definition of ListTagsResponseDataAttributes object. */ -@JsonPropertyOrder({ListTagsResponseDataAttributes.JSON_PROPERTY_TAGS}) +@JsonPropertyOrder({ + ListTagsResponseDataAttributes.JSON_PROPERTY_BY_SOURCE, + ListTagsResponseDataAttributes.JSON_PROPERTY_TAGS +}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class ListTagsResponseDataAttributes { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BY_SOURCE = "by_source"; + private List bySource = null; + public static final String JSON_PROPERTY_TAGS = "tags"; private List tags = null; + /** + * The list of device tags grouped by source. + * + * @return bySource + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BY_SOURCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getBySource() { + return bySource; + } + public ListTagsResponseDataAttributes tags(List tags) { this.tags = tags; return this; @@ -113,20 +131,22 @@ public boolean equals(Object o) { } ListTagsResponseDataAttributes listTagsResponseDataAttributes = (ListTagsResponseDataAttributes) o; - return Objects.equals(this.tags, listTagsResponseDataAttributes.tags) + return Objects.equals(this.bySource, listTagsResponseDataAttributes.bySource) + && Objects.equals(this.tags, listTagsResponseDataAttributes.tags) && Objects.equals( this.additionalProperties, listTagsResponseDataAttributes.additionalProperties); } @Override public int hashCode() { - return Objects.hash(tags, additionalProperties); + return Objects.hash(bySource, tags, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class ListTagsResponseDataAttributes {\n"); + sb.append(" bySource: ").append(toIndentedString(bySource)).append("\n"); sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties))