diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 56e7d72a7dc..239e5b62e6d 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -21732,6 +21732,46 @@ components: type: object TopologyMapWidgetDefinition: description: This widget displays a topology of nodes and edges for different data sources. It replaces the service map widget. + oneOf: + - $ref: "#/components/schemas/TopologyMapWidgetDefinitionDataStreams" + - $ref: "#/components/schemas/TopologyMapWidgetDefinitionServiceMap" + TopologyMapWidgetDefinitionDataStreams: + additionalProperties: false + description: Topology map widget backed by the data streams data source. + properties: + custom_links: + description: List of custom links. + items: + $ref: "#/components/schemas/WidgetCustomLink" + type: array + description: + description: The description of the widget. + type: string + requests: + description: One Topology request. + items: + $ref: "#/components/schemas/TopologyRequestDataStreams" + minItems: 1 + type: array + time: + $ref: "#/components/schemas/WidgetTime" + title: + description: Title of your widget. + type: string + title_align: + $ref: "#/components/schemas/WidgetTextAlign" + title_size: + description: Size of the title. + type: string + type: + $ref: "#/components/schemas/TopologyMapWidgetDefinitionType" + required: + - type + - requests + type: object + TopologyMapWidgetDefinitionServiceMap: + additionalProperties: false + description: Topology map widget backed by the service map data source. properties: custom_links: description: List of custom links. @@ -21742,11 +21782,13 @@ components: description: The description of the widget. type: string requests: - description: One or more Topology requests. + description: One Topology request. items: - $ref: "#/components/schemas/TopologyRequest" + $ref: "#/components/schemas/TopologyRequestServiceMap" minItems: 1 type: array + time: + $ref: "#/components/schemas/WidgetTime" title: description: Title of your widget. type: string @@ -21770,38 +21812,89 @@ components: type: string x-enum-varnames: - TOPOLOGY_MAP - TopologyQuery: - description: Query to service-based topology data sources like the service map or data streams. + TopologyQueryDataStreams: + additionalProperties: false + description: Query to the data streams topology data source. properties: data_source: - $ref: "#/components/schemas/TopologyQueryDataSource" + $ref: "#/components/schemas/TopologyQueryDataStreamsDataSource" filters: description: Your environment and primary tag (or * if enabled for your account). example: ["env:prod", "az:us-east"] items: - description: Environment or primary tag, generally in a key:value format + description: Environment or primary tag, generally in a key:value format. type: string minItems: 1 type: array + query_string: + description: A search string for filtering services. When set, this replaces the `service` field. + example: "service:myservice" + type: string service: - description: Name of the service - example: myService + description: (deprecated) Name of the service. Leave this empty and use query_string instead. + example: myservice type: string + required: + - data_source + - filters + - service type: object - TopologyQueryDataSource: - description: Name of the data source + TopologyQueryDataStreamsDataSource: + description: Name of the data source. enum: - data_streams - - service_map + example: data_streams type: string x-enum-varnames: - DATA_STREAMS + TopologyQueryServiceMap: + additionalProperties: false + description: Query to the service map topology data source. + properties: + data_source: + $ref: "#/components/schemas/TopologyQueryServiceMapDataSource" + filters: + description: Your environment and primary tag (or * if enabled for your account). + example: ["env:prod", "az:us-east"] + items: + description: Environment or primary tag, generally in a key:value format + type: string + minItems: 1 + type: array + query_string: + description: A search string for filtering services. When set, this replaces the `service` field. + example: "service:myservice" + type: string + service: + description: (deprecated) Name of the service. Leave this empty and use query_string instead. + example: myservice + type: string + required: + - data_source + - filters + - service + type: object + TopologyQueryServiceMapDataSource: + description: Name of the data source. + enum: + - service_map + example: service_map + type: string + x-enum-varnames: - SERVICE_MAP - TopologyRequest: - description: Request that will return nodes and edges to be used by topology map. + TopologyRequestDataStreams: + description: Request that returns nodes and edges from the data streams data source. + properties: + query: + $ref: "#/components/schemas/TopologyQueryDataStreams" + request_type: + $ref: "#/components/schemas/TopologyRequestType" + type: object + TopologyRequestServiceMap: + description: Request that returns nodes and edges from the service map data source. properties: query: - $ref: "#/components/schemas/TopologyQuery" + $ref: "#/components/schemas/TopologyQueryServiceMap" request_type: $ref: "#/components/schemas/TopologyRequestType" type: object diff --git a/examples/v1/dashboards/CreateDashboard_2652180930.java b/examples/v1/dashboards/CreateDashboard_2652180930.java index 202790b3596..438363d4eb0 100644 --- a/examples/v1/dashboards/CreateDashboard_2652180930.java +++ b/examples/v1/dashboards/CreateDashboard_2652180930.java @@ -6,10 +6,11 @@ import com.datadog.api.client.v1.model.Dashboard; import com.datadog.api.client.v1.model.DashboardLayoutType; import com.datadog.api.client.v1.model.TopologyMapWidgetDefinition; +import com.datadog.api.client.v1.model.TopologyMapWidgetDefinitionServiceMap; import com.datadog.api.client.v1.model.TopologyMapWidgetDefinitionType; -import com.datadog.api.client.v1.model.TopologyQuery; -import com.datadog.api.client.v1.model.TopologyQueryDataSource; -import com.datadog.api.client.v1.model.TopologyRequest; +import com.datadog.api.client.v1.model.TopologyQueryServiceMap; +import com.datadog.api.client.v1.model.TopologyQueryServiceMapDataSource; +import com.datadog.api.client.v1.model.TopologyRequestServiceMap; import com.datadog.api.client.v1.model.TopologyRequestType; import com.datadog.api.client.v1.model.Widget; import com.datadog.api.client.v1.model.WidgetDefinition; @@ -33,23 +34,26 @@ public static void main(String[] args) { .layout(new WidgetLayout().x(0L).y(0L).width(47L).height(15L)) .definition( new WidgetDefinition( - new TopologyMapWidgetDefinition() - .title("") - .titleSize("16") - .titleAlign(WidgetTextAlign.LEFT) - .type(TopologyMapWidgetDefinitionType.TOPOLOGY_MAP) - .requests( - Collections.singletonList( - new TopologyRequest() - .requestType(TopologyRequestType.TOPOLOGY) - .query( - new TopologyQuery() - .dataSource( - TopologyQueryDataSource.SERVICE_MAP) - .service("") - .filters( - Arrays.asList( - "env:none", "environment:*"))))))))) + new TopologyMapWidgetDefinition( + new TopologyMapWidgetDefinitionServiceMap() + .title("") + .titleSize("16") + .titleAlign(WidgetTextAlign.LEFT) + .type(TopologyMapWidgetDefinitionType.TOPOLOGY_MAP) + .requests( + Collections.singletonList( + new TopologyRequestServiceMap() + .requestType(TopologyRequestType.TOPOLOGY) + .query( + new TopologyQueryServiceMap() + .dataSource( + TopologyQueryServiceMapDataSource + .SERVICE_MAP) + .service("") + .filters( + Arrays.asList( + "env:none", + "environment:*")))))))))) .layoutType(DashboardLayoutType.FREE); try { diff --git a/examples/v1/dashboards/CreateDashboard_2815497946.java b/examples/v1/dashboards/CreateDashboard_2815497946.java new file mode 100644 index 00000000000..8fe73645a6c --- /dev/null +++ b/examples/v1/dashboards/CreateDashboard_2815497946.java @@ -0,0 +1,70 @@ +// Create a new dashboard with topology_map data_streams widget + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v1.api.DashboardsApi; +import com.datadog.api.client.v1.model.Dashboard; +import com.datadog.api.client.v1.model.DashboardLayoutType; +import com.datadog.api.client.v1.model.TopologyMapWidgetDefinition; +import com.datadog.api.client.v1.model.TopologyMapWidgetDefinitionDataStreams; +import com.datadog.api.client.v1.model.TopologyMapWidgetDefinitionType; +import com.datadog.api.client.v1.model.TopologyQueryDataStreams; +import com.datadog.api.client.v1.model.TopologyQueryDataStreamsDataSource; +import com.datadog.api.client.v1.model.TopologyRequestDataStreams; +import com.datadog.api.client.v1.model.TopologyRequestType; +import com.datadog.api.client.v1.model.Widget; +import com.datadog.api.client.v1.model.WidgetDefinition; +import com.datadog.api.client.v1.model.WidgetLayout; +import com.datadog.api.client.v1.model.WidgetTextAlign; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + DashboardsApi apiInstance = new DashboardsApi(defaultClient); + + Dashboard body = + new Dashboard() + .title("Example-Dashboard") + .description("") + .widgets( + Collections.singletonList( + new Widget() + .layout(new WidgetLayout().x(0L).y(0L).width(47L).height(15L)) + .definition( + new WidgetDefinition( + new TopologyMapWidgetDefinition( + new TopologyMapWidgetDefinitionDataStreams() + .title("") + .titleSize("16") + .titleAlign(WidgetTextAlign.LEFT) + .type(TopologyMapWidgetDefinitionType.TOPOLOGY_MAP) + .requests( + Collections.singletonList( + new TopologyRequestDataStreams() + .requestType(TopologyRequestType.TOPOLOGY) + .query( + new TopologyQueryDataStreams() + .dataSource( + TopologyQueryDataStreamsDataSource + .DATA_STREAMS) + .service("") + .filters( + Collections.singletonList( + "env:prod")) + .queryString( + "service:myservice"))))))))) + .layoutType(DashboardLayoutType.FREE); + + try { + Dashboard result = apiInstance.createDashboard(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling DashboardsApi#createDashboard"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinition.java b/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinition.java index 653e9d82985..1c56033436d 100644 --- a/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinition.java +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinition.java @@ -6,363 +6,299 @@ package com.datadog.api.client.v1.model; -import com.fasterxml.jackson.annotation.JsonAnyGetter; -import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.annotation.JsonCreator; +import com.datadog.api.client.AbstractOpenApiSchema; +import com.datadog.api.client.JSON; +import com.datadog.api.client.UnparsedObject; 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 com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import jakarta.ws.rs.core.GenericType; +import java.io.IOException; +import java.util.Collections; import java.util.HashMap; -import java.util.List; +import java.util.HashSet; import java.util.Map; -import java.util.Objects; +import java.util.logging.Level; +import java.util.logging.Logger; -/** - * This widget displays a topology of nodes and edges for different data sources. It replaces the - * service map widget. - */ -@JsonPropertyOrder({ - TopologyMapWidgetDefinition.JSON_PROPERTY_CUSTOM_LINKS, - TopologyMapWidgetDefinition.JSON_PROPERTY_DESCRIPTION, - TopologyMapWidgetDefinition.JSON_PROPERTY_REQUESTS, - TopologyMapWidgetDefinition.JSON_PROPERTY_TITLE, - TopologyMapWidgetDefinition.JSON_PROPERTY_TITLE_ALIGN, - TopologyMapWidgetDefinition.JSON_PROPERTY_TITLE_SIZE, - TopologyMapWidgetDefinition.JSON_PROPERTY_TYPE -}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class TopologyMapWidgetDefinition { - @JsonIgnore public boolean unparsed = false; - public static final String JSON_PROPERTY_CUSTOM_LINKS = "custom_links"; - private List customLinks = null; - - public static final String JSON_PROPERTY_DESCRIPTION = "description"; - private String description; - - public static final String JSON_PROPERTY_REQUESTS = "requests"; - private List requests = new ArrayList<>(); - - public static final String JSON_PROPERTY_TITLE = "title"; - private String title; - - public static final String JSON_PROPERTY_TITLE_ALIGN = "title_align"; - private WidgetTextAlign titleAlign; +@JsonDeserialize(using = TopologyMapWidgetDefinition.TopologyMapWidgetDefinitionDeserializer.class) +@JsonSerialize(using = TopologyMapWidgetDefinition.TopologyMapWidgetDefinitionSerializer.class) +public class TopologyMapWidgetDefinition extends AbstractOpenApiSchema { + private static final Logger log = Logger.getLogger(TopologyMapWidgetDefinition.class.getName()); - public static final String JSON_PROPERTY_TITLE_SIZE = "title_size"; - private String titleSize; - - public static final String JSON_PROPERTY_TYPE = "type"; - private TopologyMapWidgetDefinitionType type = TopologyMapWidgetDefinitionType.TOPOLOGY_MAP; - - public TopologyMapWidgetDefinition() {} + @JsonIgnore public boolean unparsed = false; - @JsonCreator - public TopologyMapWidgetDefinition( - @JsonProperty(required = true, value = JSON_PROPERTY_REQUESTS) List requests, - @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) - TopologyMapWidgetDefinitionType type) { - this.requests = requests; - for (TopologyRequest item : requests) { - this.unparsed |= item.unparsed; + public static class TopologyMapWidgetDefinitionSerializer + extends StdSerializer { + public TopologyMapWidgetDefinitionSerializer(Class t) { + super(t); } - this.type = type; - this.unparsed |= !type.isValid(); - } - public TopologyMapWidgetDefinition customLinks(List customLinks) { - this.customLinks = customLinks; - if (customLinks != null) { - for (WidgetCustomLink item : customLinks) { - this.unparsed |= item.unparsed; - } + public TopologyMapWidgetDefinitionSerializer() { + this(null); } - return this; - } - public TopologyMapWidgetDefinition addCustomLinksItem(WidgetCustomLink customLinksItem) { - if (this.customLinks == null) { - this.customLinks = new ArrayList<>(); + @Override + public void serialize( + TopologyMapWidgetDefinition value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); } - this.customLinks.add(customLinksItem); - this.unparsed |= customLinksItem.unparsed; - return this; - } - - /** - * List of custom links. - * - * @return customLinks - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_CUSTOM_LINKS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getCustomLinks() { - return customLinks; } - public void setCustomLinks(List customLinks) { - this.customLinks = customLinks; - if (customLinks != null) { - for (WidgetCustomLink item : customLinks) { - this.unparsed |= item.unparsed; - } + public static class TopologyMapWidgetDefinitionDeserializer + extends StdDeserializer { + public TopologyMapWidgetDefinitionDeserializer() { + this(TopologyMapWidgetDefinition.class); } - } - - public TopologyMapWidgetDefinition description(String description) { - this.description = description; - return this; - } - /** - * The description of the widget. - * - * @return description - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_DESCRIPTION) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - public TopologyMapWidgetDefinition requests(List requests) { - this.requests = requests; - for (TopologyRequest item : requests) { - this.unparsed |= item.unparsed; + public TopologyMapWidgetDefinitionDeserializer(Class vc) { + super(vc); } - return this; - } - public TopologyMapWidgetDefinition addRequestsItem(TopologyRequest requestsItem) { - this.requests.add(requestsItem); - this.unparsed |= requestsItem.unparsed; - return this; - } + @Override + public TopologyMapWidgetDefinition deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + Object tmp = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize TopologyMapWidgetDefinitionDataStreams + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TopologyMapWidgetDefinitionDataStreams.class.equals(Integer.class) + || TopologyMapWidgetDefinitionDataStreams.class.equals(Long.class) + || TopologyMapWidgetDefinitionDataStreams.class.equals(Float.class) + || TopologyMapWidgetDefinitionDataStreams.class.equals(Double.class) + || TopologyMapWidgetDefinitionDataStreams.class.equals(Boolean.class) + || TopologyMapWidgetDefinitionDataStreams.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((TopologyMapWidgetDefinitionDataStreams.class.equals(Integer.class) + || TopologyMapWidgetDefinitionDataStreams.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((TopologyMapWidgetDefinitionDataStreams.class.equals(Float.class) + || TopologyMapWidgetDefinitionDataStreams.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (TopologyMapWidgetDefinitionDataStreams.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (TopologyMapWidgetDefinitionDataStreams.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs(TopologyMapWidgetDefinitionDataStreams.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 (!((TopologyMapWidgetDefinitionDataStreams) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, "Input data matches schema 'TopologyMapWidgetDefinitionDataStreams'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'TopologyMapWidgetDefinitionDataStreams'", + e); + } - /** - * One or more Topology requests. - * - * @return requests - */ - @JsonProperty(JSON_PROPERTY_REQUESTS) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public List getRequests() { - return requests; - } + // deserialize TopologyMapWidgetDefinitionServiceMap + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TopologyMapWidgetDefinitionServiceMap.class.equals(Integer.class) + || TopologyMapWidgetDefinitionServiceMap.class.equals(Long.class) + || TopologyMapWidgetDefinitionServiceMap.class.equals(Float.class) + || TopologyMapWidgetDefinitionServiceMap.class.equals(Double.class) + || TopologyMapWidgetDefinitionServiceMap.class.equals(Boolean.class) + || TopologyMapWidgetDefinitionServiceMap.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((TopologyMapWidgetDefinitionServiceMap.class.equals(Integer.class) + || TopologyMapWidgetDefinitionServiceMap.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((TopologyMapWidgetDefinitionServiceMap.class.equals(Float.class) + || TopologyMapWidgetDefinitionServiceMap.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (TopologyMapWidgetDefinitionServiceMap.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (TopologyMapWidgetDefinitionServiceMap.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()).readValueAs(TopologyMapWidgetDefinitionServiceMap.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 (!((TopologyMapWidgetDefinitionServiceMap) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'TopologyMapWidgetDefinitionServiceMap'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema 'TopologyMapWidgetDefinitionServiceMap'", + e); + } - public void setRequests(List requests) { - this.requests = requests; - if (requests != null) { - for (TopologyRequest item : requests) { - this.unparsed |= item.unparsed; + TopologyMapWidgetDefinition ret = new TopologyMapWidgetDefinition(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); } + return ret; } - } - - public TopologyMapWidgetDefinition title(String title) { - this.title = title; - return this; - } - - /** - * Title of your widget. - * - * @return title - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_TITLE) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getTitle() { - return title; - } - public void setTitle(String title) { - this.title = title; + /** Handle deserialization of the 'null' value. */ + @Override + public TopologyMapWidgetDefinition getNullValue(DeserializationContext ctxt) + throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), "TopologyMapWidgetDefinition cannot be null"); + } } - public TopologyMapWidgetDefinition titleAlign(WidgetTextAlign titleAlign) { - this.titleAlign = titleAlign; - this.unparsed |= !titleAlign.isValid(); - return this; - } + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); - /** - * How to align the text on the widget. - * - * @return titleAlign - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_TITLE_ALIGN) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public WidgetTextAlign getTitleAlign() { - return titleAlign; + public TopologyMapWidgetDefinition() { + super("oneOf", Boolean.FALSE); } - public void setTitleAlign(WidgetTextAlign titleAlign) { - if (!titleAlign.isValid()) { - this.unparsed = true; - } - this.titleAlign = titleAlign; + public TopologyMapWidgetDefinition(TopologyMapWidgetDefinitionDataStreams o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); } - public TopologyMapWidgetDefinition titleSize(String titleSize) { - this.titleSize = titleSize; - return this; + public TopologyMapWidgetDefinition(TopologyMapWidgetDefinitionServiceMap o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); } - /** - * Size of the title. - * - * @return titleSize - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_TITLE_SIZE) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getTitleSize() { - return titleSize; - } - - public void setTitleSize(String titleSize) { - this.titleSize = titleSize; + static { + schemas.put( + "TopologyMapWidgetDefinitionDataStreams", + new GenericType() {}); + schemas.put( + "TopologyMapWidgetDefinitionServiceMap", + new GenericType() {}); + JSON.registerDescendants( + TopologyMapWidgetDefinition.class, Collections.unmodifiableMap(schemas)); } - public TopologyMapWidgetDefinition type(TopologyMapWidgetDefinitionType type) { - this.type = type; - this.unparsed |= !type.isValid(); - return this; + @Override + public Map getSchemas() { + return TopologyMapWidgetDefinition.schemas; } /** - * Type of the topology map widget. + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: TopologyMapWidgetDefinitionDataStreams, + * TopologyMapWidgetDefinitionServiceMap * - * @return type + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). */ - @JsonProperty(JSON_PROPERTY_TYPE) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public TopologyMapWidgetDefinitionType getType() { - return type; - } - - public void setType(TopologyMapWidgetDefinitionType type) { - if (!type.isValid()) { - this.unparsed = true; + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + TopologyMapWidgetDefinitionDataStreams.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf( + TopologyMapWidgetDefinitionServiceMap.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; } - this.type = type; - } - - /** - * 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 TopologyMapWidgetDefinition - */ - @JsonAnySetter - public TopologyMapWidgetDefinition putAdditionalProperty(String key, Object value) { - if (this.additionalProperties == null) { - this.additionalProperties = new HashMap(); + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; } - this.additionalProperties.put(key, value); - return this; + throw new RuntimeException( + "Invalid instance type. Must be TopologyMapWidgetDefinitionDataStreams," + + " TopologyMapWidgetDefinitionServiceMap"); } /** - * Return the additional (undeclared) property. + * Get the actual instance, which can be the following: TopologyMapWidgetDefinitionDataStreams, + * TopologyMapWidgetDefinitionServiceMap * - * @return The additional properties + * @return The actual instance (TopologyMapWidgetDefinitionDataStreams, + * TopologyMapWidgetDefinitionServiceMap) */ - @JsonAnyGetter - public Map getAdditionalProperties() { - return additionalProperties; + @Override + public Object getActualInstance() { + return super.getActualInstance(); } /** - * Return the additional (undeclared) property with the specified name. + * Get the actual instance of `TopologyMapWidgetDefinitionDataStreams`. If the actual instance is + * not `TopologyMapWidgetDefinitionDataStreams`, the ClassCastException will be thrown. * - * @param key The arbitrary key to get - * @return The specific additional property for the given key + * @return The actual instance of `TopologyMapWidgetDefinitionDataStreams` + * @throws ClassCastException if the instance is not `TopologyMapWidgetDefinitionDataStreams` */ - public Object getAdditionalProperty(String key) { - if (this.additionalProperties == null) { - return null; - } - return this.additionalProperties.get(key); - } - - /** Return true if this TopologyMapWidgetDefinition object is equal to o. */ - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - TopologyMapWidgetDefinition topologyMapWidgetDefinition = (TopologyMapWidgetDefinition) o; - return Objects.equals(this.customLinks, topologyMapWidgetDefinition.customLinks) - && Objects.equals(this.description, topologyMapWidgetDefinition.description) - && Objects.equals(this.requests, topologyMapWidgetDefinition.requests) - && Objects.equals(this.title, topologyMapWidgetDefinition.title) - && Objects.equals(this.titleAlign, topologyMapWidgetDefinition.titleAlign) - && Objects.equals(this.titleSize, topologyMapWidgetDefinition.titleSize) - && Objects.equals(this.type, topologyMapWidgetDefinition.type) - && Objects.equals( - this.additionalProperties, topologyMapWidgetDefinition.additionalProperties); - } - - @Override - public int hashCode() { - return Objects.hash( - customLinks, - description, - requests, - title, - titleAlign, - titleSize, - type, - additionalProperties); - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("class TopologyMapWidgetDefinition {\n"); - sb.append(" customLinks: ").append(toIndentedString(customLinks)).append("\n"); - sb.append(" description: ").append(toIndentedString(description)).append("\n"); - sb.append(" requests: ").append(toIndentedString(requests)).append("\n"); - sb.append(" title: ").append(toIndentedString(title)).append("\n"); - sb.append(" titleAlign: ").append(toIndentedString(titleAlign)).append("\n"); - sb.append(" titleSize: ").append(toIndentedString(titleSize)).append("\n"); - sb.append(" type: ").append(toIndentedString(type)).append("\n"); - sb.append(" additionalProperties: ") - .append(toIndentedString(additionalProperties)) - .append("\n"); - sb.append('}'); - return sb.toString(); + public TopologyMapWidgetDefinitionDataStreams getTopologyMapWidgetDefinitionDataStreams() + throws ClassCastException { + return (TopologyMapWidgetDefinitionDataStreams) super.getActualInstance(); } /** - * Convert the given object to string with each line indented by 4 spaces (except the first line). + * Get the actual instance of `TopologyMapWidgetDefinitionServiceMap`. If the actual instance is + * not `TopologyMapWidgetDefinitionServiceMap`, the ClassCastException will be thrown. + * + * @return The actual instance of `TopologyMapWidgetDefinitionServiceMap` + * @throws ClassCastException if the instance is not `TopologyMapWidgetDefinitionServiceMap` */ - private String toIndentedString(Object o) { - if (o == null) { - return "null"; - } - return o.toString().replace("\n", "\n "); + public TopologyMapWidgetDefinitionServiceMap getTopologyMapWidgetDefinitionServiceMap() + throws ClassCastException { + return (TopologyMapWidgetDefinitionServiceMap) super.getActualInstance(); } } diff --git a/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinitionDataStreams.java b/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinitionDataStreams.java new file mode 100644 index 00000000000..b1cca0e656a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinitionDataStreams.java @@ -0,0 +1,339 @@ +/* + * 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.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.List; +import java.util.Objects; + +/** Topology map widget backed by the data streams data source. */ +@JsonPropertyOrder({ + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_CUSTOM_LINKS, + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_DESCRIPTION, + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_REQUESTS, + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_TIME, + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_TITLE, + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_TITLE_ALIGN, + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_TITLE_SIZE, + TopologyMapWidgetDefinitionDataStreams.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TopologyMapWidgetDefinitionDataStreams { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CUSTOM_LINKS = "custom_links"; + private List customLinks = null; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + private String description; + + public static final String JSON_PROPERTY_REQUESTS = "requests"; + private List requests = new ArrayList<>(); + + public static final String JSON_PROPERTY_TIME = "time"; + private WidgetTime time; + + public static final String JSON_PROPERTY_TITLE = "title"; + private String title; + + public static final String JSON_PROPERTY_TITLE_ALIGN = "title_align"; + private WidgetTextAlign titleAlign; + + public static final String JSON_PROPERTY_TITLE_SIZE = "title_size"; + private String titleSize; + + public static final String JSON_PROPERTY_TYPE = "type"; + private TopologyMapWidgetDefinitionType type = TopologyMapWidgetDefinitionType.TOPOLOGY_MAP; + + public TopologyMapWidgetDefinitionDataStreams() {} + + @JsonCreator + public TopologyMapWidgetDefinitionDataStreams( + @JsonProperty(required = true, value = JSON_PROPERTY_REQUESTS) + List requests, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + TopologyMapWidgetDefinitionType type) { + this.requests = requests; + for (TopologyRequestDataStreams item : requests) { + this.unparsed |= item.unparsed; + } + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TopologyMapWidgetDefinitionDataStreams customLinks(List customLinks) { + this.customLinks = customLinks; + if (customLinks != null) { + for (WidgetCustomLink item : customLinks) { + this.unparsed |= item.unparsed; + } + } + return this; + } + + public TopologyMapWidgetDefinitionDataStreams addCustomLinksItem( + WidgetCustomLink customLinksItem) { + if (this.customLinks == null) { + this.customLinks = new ArrayList<>(); + } + this.customLinks.add(customLinksItem); + this.unparsed |= customLinksItem.unparsed; + return this; + } + + /** + * List of custom links. + * + * @return customLinks + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CUSTOM_LINKS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getCustomLinks() { + return customLinks; + } + + public void setCustomLinks(List customLinks) { + this.customLinks = customLinks; + if (customLinks != null) { + for (WidgetCustomLink item : customLinks) { + this.unparsed |= item.unparsed; + } + } + } + + public TopologyMapWidgetDefinitionDataStreams description(String description) { + this.description = description; + return this; + } + + /** + * The description of the widget. + * + * @return description + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public TopologyMapWidgetDefinitionDataStreams requests( + List requests) { + this.requests = requests; + for (TopologyRequestDataStreams item : requests) { + this.unparsed |= item.unparsed; + } + return this; + } + + public TopologyMapWidgetDefinitionDataStreams addRequestsItem( + TopologyRequestDataStreams requestsItem) { + this.requests.add(requestsItem); + this.unparsed |= requestsItem.unparsed; + return this; + } + + /** + * One Topology request. + * + * @return requests + */ + @JsonProperty(JSON_PROPERTY_REQUESTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getRequests() { + return requests; + } + + public void setRequests(List requests) { + this.requests = requests; + if (requests != null) { + for (TopologyRequestDataStreams item : requests) { + this.unparsed |= item.unparsed; + } + } + } + + public TopologyMapWidgetDefinitionDataStreams time(WidgetTime time) { + this.time = time; + this.unparsed |= time.unparsed; + return this; + } + + /** + * Time setting for the widget. + * + * @return time + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TIME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public WidgetTime getTime() { + return time; + } + + public void setTime(WidgetTime time) { + this.time = time; + if (time != null) { + this.unparsed |= time.unparsed; + } + } + + public TopologyMapWidgetDefinitionDataStreams title(String title) { + this.title = title; + return this; + } + + /** + * Title of your widget. + * + * @return title + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public TopologyMapWidgetDefinitionDataStreams titleAlign(WidgetTextAlign titleAlign) { + this.titleAlign = titleAlign; + this.unparsed |= !titleAlign.isValid(); + return this; + } + + /** + * How to align the text on the widget. + * + * @return titleAlign + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE_ALIGN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public WidgetTextAlign getTitleAlign() { + return titleAlign; + } + + public void setTitleAlign(WidgetTextAlign titleAlign) { + if (!titleAlign.isValid()) { + this.unparsed = true; + } + this.titleAlign = titleAlign; + } + + public TopologyMapWidgetDefinitionDataStreams titleSize(String titleSize) { + this.titleSize = titleSize; + return this; + } + + /** + * Size of the title. + * + * @return titleSize + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE_SIZE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTitleSize() { + return titleSize; + } + + public void setTitleSize(String titleSize) { + this.titleSize = titleSize; + } + + public TopologyMapWidgetDefinitionDataStreams type(TopologyMapWidgetDefinitionType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type of the topology map widget. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TopologyMapWidgetDefinitionType getType() { + return type; + } + + public void setType(TopologyMapWidgetDefinitionType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** Return true if this TopologyMapWidgetDefinitionDataStreams object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TopologyMapWidgetDefinitionDataStreams topologyMapWidgetDefinitionDataStreams = + (TopologyMapWidgetDefinitionDataStreams) o; + return Objects.equals(this.customLinks, topologyMapWidgetDefinitionDataStreams.customLinks) + && Objects.equals(this.description, topologyMapWidgetDefinitionDataStreams.description) + && Objects.equals(this.requests, topologyMapWidgetDefinitionDataStreams.requests) + && Objects.equals(this.time, topologyMapWidgetDefinitionDataStreams.time) + && Objects.equals(this.title, topologyMapWidgetDefinitionDataStreams.title) + && Objects.equals(this.titleAlign, topologyMapWidgetDefinitionDataStreams.titleAlign) + && Objects.equals(this.titleSize, topologyMapWidgetDefinitionDataStreams.titleSize) + && Objects.equals(this.type, topologyMapWidgetDefinitionDataStreams.type); + } + + @Override + public int hashCode() { + return Objects.hash( + customLinks, description, requests, time, title, titleAlign, titleSize, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TopologyMapWidgetDefinitionDataStreams {\n"); + sb.append(" customLinks: ").append(toIndentedString(customLinks)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" requests: ").append(toIndentedString(requests)).append("\n"); + sb.append(" time: ").append(toIndentedString(time)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" titleAlign: ").append(toIndentedString(titleAlign)).append("\n"); + sb.append(" titleSize: ").append(toIndentedString(titleSize)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).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/v1/model/TopologyMapWidgetDefinitionServiceMap.java b/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinitionServiceMap.java new file mode 100644 index 00000000000..d67183cb7d2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyMapWidgetDefinitionServiceMap.java @@ -0,0 +1,338 @@ +/* + * 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.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.List; +import java.util.Objects; + +/** Topology map widget backed by the service map data source. */ +@JsonPropertyOrder({ + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_CUSTOM_LINKS, + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_DESCRIPTION, + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_REQUESTS, + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_TIME, + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_TITLE, + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_TITLE_ALIGN, + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_TITLE_SIZE, + TopologyMapWidgetDefinitionServiceMap.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TopologyMapWidgetDefinitionServiceMap { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CUSTOM_LINKS = "custom_links"; + private List customLinks = null; + + public static final String JSON_PROPERTY_DESCRIPTION = "description"; + private String description; + + public static final String JSON_PROPERTY_REQUESTS = "requests"; + private List requests = new ArrayList<>(); + + public static final String JSON_PROPERTY_TIME = "time"; + private WidgetTime time; + + public static final String JSON_PROPERTY_TITLE = "title"; + private String title; + + public static final String JSON_PROPERTY_TITLE_ALIGN = "title_align"; + private WidgetTextAlign titleAlign; + + public static final String JSON_PROPERTY_TITLE_SIZE = "title_size"; + private String titleSize; + + public static final String JSON_PROPERTY_TYPE = "type"; + private TopologyMapWidgetDefinitionType type = TopologyMapWidgetDefinitionType.TOPOLOGY_MAP; + + public TopologyMapWidgetDefinitionServiceMap() {} + + @JsonCreator + public TopologyMapWidgetDefinitionServiceMap( + @JsonProperty(required = true, value = JSON_PROPERTY_REQUESTS) + List requests, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + TopologyMapWidgetDefinitionType type) { + this.requests = requests; + for (TopologyRequestServiceMap item : requests) { + this.unparsed |= item.unparsed; + } + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TopologyMapWidgetDefinitionServiceMap customLinks(List customLinks) { + this.customLinks = customLinks; + if (customLinks != null) { + for (WidgetCustomLink item : customLinks) { + this.unparsed |= item.unparsed; + } + } + return this; + } + + public TopologyMapWidgetDefinitionServiceMap addCustomLinksItem( + WidgetCustomLink customLinksItem) { + if (this.customLinks == null) { + this.customLinks = new ArrayList<>(); + } + this.customLinks.add(customLinksItem); + this.unparsed |= customLinksItem.unparsed; + return this; + } + + /** + * List of custom links. + * + * @return customLinks + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CUSTOM_LINKS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getCustomLinks() { + return customLinks; + } + + public void setCustomLinks(List customLinks) { + this.customLinks = customLinks; + if (customLinks != null) { + for (WidgetCustomLink item : customLinks) { + this.unparsed |= item.unparsed; + } + } + } + + public TopologyMapWidgetDefinitionServiceMap description(String description) { + this.description = description; + return this; + } + + /** + * The description of the widget. + * + * @return description + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DESCRIPTION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public TopologyMapWidgetDefinitionServiceMap requests(List requests) { + this.requests = requests; + for (TopologyRequestServiceMap item : requests) { + this.unparsed |= item.unparsed; + } + return this; + } + + public TopologyMapWidgetDefinitionServiceMap addRequestsItem( + TopologyRequestServiceMap requestsItem) { + this.requests.add(requestsItem); + this.unparsed |= requestsItem.unparsed; + return this; + } + + /** + * One Topology request. + * + * @return requests + */ + @JsonProperty(JSON_PROPERTY_REQUESTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getRequests() { + return requests; + } + + public void setRequests(List requests) { + this.requests = requests; + if (requests != null) { + for (TopologyRequestServiceMap item : requests) { + this.unparsed |= item.unparsed; + } + } + } + + public TopologyMapWidgetDefinitionServiceMap time(WidgetTime time) { + this.time = time; + this.unparsed |= time.unparsed; + return this; + } + + /** + * Time setting for the widget. + * + * @return time + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TIME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public WidgetTime getTime() { + return time; + } + + public void setTime(WidgetTime time) { + this.time = time; + if (time != null) { + this.unparsed |= time.unparsed; + } + } + + public TopologyMapWidgetDefinitionServiceMap title(String title) { + this.title = title; + return this; + } + + /** + * Title of your widget. + * + * @return title + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public TopologyMapWidgetDefinitionServiceMap titleAlign(WidgetTextAlign titleAlign) { + this.titleAlign = titleAlign; + this.unparsed |= !titleAlign.isValid(); + return this; + } + + /** + * How to align the text on the widget. + * + * @return titleAlign + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE_ALIGN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public WidgetTextAlign getTitleAlign() { + return titleAlign; + } + + public void setTitleAlign(WidgetTextAlign titleAlign) { + if (!titleAlign.isValid()) { + this.unparsed = true; + } + this.titleAlign = titleAlign; + } + + public TopologyMapWidgetDefinitionServiceMap titleSize(String titleSize) { + this.titleSize = titleSize; + return this; + } + + /** + * Size of the title. + * + * @return titleSize + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TITLE_SIZE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getTitleSize() { + return titleSize; + } + + public void setTitleSize(String titleSize) { + this.titleSize = titleSize; + } + + public TopologyMapWidgetDefinitionServiceMap type(TopologyMapWidgetDefinitionType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type of the topology map widget. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TopologyMapWidgetDefinitionType getType() { + return type; + } + + public void setType(TopologyMapWidgetDefinitionType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** Return true if this TopologyMapWidgetDefinitionServiceMap object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TopologyMapWidgetDefinitionServiceMap topologyMapWidgetDefinitionServiceMap = + (TopologyMapWidgetDefinitionServiceMap) o; + return Objects.equals(this.customLinks, topologyMapWidgetDefinitionServiceMap.customLinks) + && Objects.equals(this.description, topologyMapWidgetDefinitionServiceMap.description) + && Objects.equals(this.requests, topologyMapWidgetDefinitionServiceMap.requests) + && Objects.equals(this.time, topologyMapWidgetDefinitionServiceMap.time) + && Objects.equals(this.title, topologyMapWidgetDefinitionServiceMap.title) + && Objects.equals(this.titleAlign, topologyMapWidgetDefinitionServiceMap.titleAlign) + && Objects.equals(this.titleSize, topologyMapWidgetDefinitionServiceMap.titleSize) + && Objects.equals(this.type, topologyMapWidgetDefinitionServiceMap.type); + } + + @Override + public int hashCode() { + return Objects.hash( + customLinks, description, requests, time, title, titleAlign, titleSize, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TopologyMapWidgetDefinitionServiceMap {\n"); + sb.append(" customLinks: ").append(toIndentedString(customLinks)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" requests: ").append(toIndentedString(requests)).append("\n"); + sb.append(" time: ").append(toIndentedString(time)).append("\n"); + sb.append(" title: ").append(toIndentedString(title)).append("\n"); + sb.append(" titleAlign: ").append(toIndentedString(titleAlign)).append("\n"); + sb.append(" titleSize: ").append(toIndentedString(titleSize)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).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/v1/model/TopologyQueryDataStreams.java b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryDataStreams.java new file mode 100644 index 00000000000..f421fa8285a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryDataStreams.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.v1.model; + +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.List; +import java.util.Objects; + +/** Query to the data streams topology data source. */ +@JsonPropertyOrder({ + TopologyQueryDataStreams.JSON_PROPERTY_DATA_SOURCE, + TopologyQueryDataStreams.JSON_PROPERTY_FILTERS, + TopologyQueryDataStreams.JSON_PROPERTY_QUERY_STRING, + TopologyQueryDataStreams.JSON_PROPERTY_SERVICE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TopologyQueryDataStreams { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA_SOURCE = "data_source"; + private TopologyQueryDataStreamsDataSource dataSource; + + public static final String JSON_PROPERTY_FILTERS = "filters"; + private List filters = new ArrayList<>(); + + public static final String JSON_PROPERTY_QUERY_STRING = "query_string"; + private String queryString; + + public static final String JSON_PROPERTY_SERVICE = "service"; + private String service; + + public TopologyQueryDataStreams() {} + + @JsonCreator + public TopologyQueryDataStreams( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA_SOURCE) + TopologyQueryDataStreamsDataSource dataSource, + @JsonProperty(required = true, value = JSON_PROPERTY_FILTERS) List filters, + @JsonProperty(required = true, value = JSON_PROPERTY_SERVICE) String service) { + this.dataSource = dataSource; + this.unparsed |= !dataSource.isValid(); + this.filters = filters; + this.service = service; + } + + public TopologyQueryDataStreams dataSource(TopologyQueryDataStreamsDataSource dataSource) { + this.dataSource = dataSource; + this.unparsed |= !dataSource.isValid(); + return this; + } + + /** + * Name of the data source. + * + * @return dataSource + */ + @JsonProperty(JSON_PROPERTY_DATA_SOURCE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TopologyQueryDataStreamsDataSource getDataSource() { + return dataSource; + } + + public void setDataSource(TopologyQueryDataStreamsDataSource dataSource) { + if (!dataSource.isValid()) { + this.unparsed = true; + } + this.dataSource = dataSource; + } + + public TopologyQueryDataStreams filters(List filters) { + this.filters = filters; + return this; + } + + public TopologyQueryDataStreams addFiltersItem(String filtersItem) { + this.filters.add(filtersItem); + return this; + } + + /** + * Your environment and primary tag (or * if enabled for your account). + * + * @return filters + */ + @JsonProperty(JSON_PROPERTY_FILTERS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getFilters() { + return filters; + } + + public void setFilters(List filters) { + this.filters = filters; + } + + public TopologyQueryDataStreams queryString(String queryString) { + this.queryString = queryString; + return this; + } + + /** + * A search string for filtering services. When set, this replaces the service field. + * + * @return queryString + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_QUERY_STRING) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getQueryString() { + return queryString; + } + + public void setQueryString(String queryString) { + this.queryString = queryString; + } + + public TopologyQueryDataStreams service(String service) { + this.service = service; + return this; + } + + /** + * (deprecated) Name of the service. Leave this empty and use query_string instead. + * + * @return service + */ + @JsonProperty(JSON_PROPERTY_SERVICE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getService() { + return service; + } + + public void setService(String service) { + this.service = service; + } + + /** Return true if this TopologyQueryDataStreams object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TopologyQueryDataStreams topologyQueryDataStreams = (TopologyQueryDataStreams) o; + return Objects.equals(this.dataSource, topologyQueryDataStreams.dataSource) + && Objects.equals(this.filters, topologyQueryDataStreams.filters) + && Objects.equals(this.queryString, topologyQueryDataStreams.queryString) + && Objects.equals(this.service, topologyQueryDataStreams.service); + } + + @Override + public int hashCode() { + return Objects.hash(dataSource, filters, queryString, service); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TopologyQueryDataStreams {\n"); + sb.append(" dataSource: ").append(toIndentedString(dataSource)).append("\n"); + sb.append(" filters: ").append(toIndentedString(filters)).append("\n"); + sb.append(" queryString: ").append(toIndentedString(queryString)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).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/v1/model/TopologyQueryDataStreamsDataSource.java b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryDataStreamsDataSource.java new file mode 100644 index 00000000000..0a692d70a84 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryDataStreamsDataSource.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; + +/** Name of the data source. */ +@JsonSerialize( + using = TopologyQueryDataStreamsDataSource.TopologyQueryDataStreamsDataSourceSerializer.class) +public class TopologyQueryDataStreamsDataSource extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("data_streams")); + + public static final TopologyQueryDataStreamsDataSource DATA_STREAMS = + new TopologyQueryDataStreamsDataSource("data_streams"); + + TopologyQueryDataStreamsDataSource(String value) { + super(value, allowedValues); + } + + public static class TopologyQueryDataStreamsDataSourceSerializer + extends StdSerializer { + public TopologyQueryDataStreamsDataSourceSerializer( + Class t) { + super(t); + } + + public TopologyQueryDataStreamsDataSourceSerializer() { + this(null); + } + + @Override + public void serialize( + TopologyQueryDataStreamsDataSource value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static TopologyQueryDataStreamsDataSource fromValue(String value) { + return new TopologyQueryDataStreamsDataSource(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/TopologyQueryServiceMap.java b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryServiceMap.java new file mode 100644 index 00000000000..efa0c2d3cb7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryServiceMap.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.v1.model; + +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.List; +import java.util.Objects; + +/** Query to the service map topology data source. */ +@JsonPropertyOrder({ + TopologyQueryServiceMap.JSON_PROPERTY_DATA_SOURCE, + TopologyQueryServiceMap.JSON_PROPERTY_FILTERS, + TopologyQueryServiceMap.JSON_PROPERTY_QUERY_STRING, + TopologyQueryServiceMap.JSON_PROPERTY_SERVICE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TopologyQueryServiceMap { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA_SOURCE = "data_source"; + private TopologyQueryServiceMapDataSource dataSource; + + public static final String JSON_PROPERTY_FILTERS = "filters"; + private List filters = new ArrayList<>(); + + public static final String JSON_PROPERTY_QUERY_STRING = "query_string"; + private String queryString; + + public static final String JSON_PROPERTY_SERVICE = "service"; + private String service; + + public TopologyQueryServiceMap() {} + + @JsonCreator + public TopologyQueryServiceMap( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA_SOURCE) + TopologyQueryServiceMapDataSource dataSource, + @JsonProperty(required = true, value = JSON_PROPERTY_FILTERS) List filters, + @JsonProperty(required = true, value = JSON_PROPERTY_SERVICE) String service) { + this.dataSource = dataSource; + this.unparsed |= !dataSource.isValid(); + this.filters = filters; + this.service = service; + } + + public TopologyQueryServiceMap dataSource(TopologyQueryServiceMapDataSource dataSource) { + this.dataSource = dataSource; + this.unparsed |= !dataSource.isValid(); + return this; + } + + /** + * Name of the data source. + * + * @return dataSource + */ + @JsonProperty(JSON_PROPERTY_DATA_SOURCE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TopologyQueryServiceMapDataSource getDataSource() { + return dataSource; + } + + public void setDataSource(TopologyQueryServiceMapDataSource dataSource) { + if (!dataSource.isValid()) { + this.unparsed = true; + } + this.dataSource = dataSource; + } + + public TopologyQueryServiceMap filters(List filters) { + this.filters = filters; + return this; + } + + public TopologyQueryServiceMap addFiltersItem(String filtersItem) { + this.filters.add(filtersItem); + return this; + } + + /** + * Your environment and primary tag (or * if enabled for your account). + * + * @return filters + */ + @JsonProperty(JSON_PROPERTY_FILTERS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getFilters() { + return filters; + } + + public void setFilters(List filters) { + this.filters = filters; + } + + public TopologyQueryServiceMap queryString(String queryString) { + this.queryString = queryString; + return this; + } + + /** + * A search string for filtering services. When set, this replaces the service field. + * + * @return queryString + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_QUERY_STRING) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getQueryString() { + return queryString; + } + + public void setQueryString(String queryString) { + this.queryString = queryString; + } + + public TopologyQueryServiceMap service(String service) { + this.service = service; + return this; + } + + /** + * (deprecated) Name of the service. Leave this empty and use query_string instead. + * + * @return service + */ + @JsonProperty(JSON_PROPERTY_SERVICE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getService() { + return service; + } + + public void setService(String service) { + this.service = service; + } + + /** Return true if this TopologyQueryServiceMap object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TopologyQueryServiceMap topologyQueryServiceMap = (TopologyQueryServiceMap) o; + return Objects.equals(this.dataSource, topologyQueryServiceMap.dataSource) + && Objects.equals(this.filters, topologyQueryServiceMap.filters) + && Objects.equals(this.queryString, topologyQueryServiceMap.queryString) + && Objects.equals(this.service, topologyQueryServiceMap.service); + } + + @Override + public int hashCode() { + return Objects.hash(dataSource, filters, queryString, service); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TopologyQueryServiceMap {\n"); + sb.append(" dataSource: ").append(toIndentedString(dataSource)).append("\n"); + sb.append(" filters: ").append(toIndentedString(filters)).append("\n"); + sb.append(" queryString: ").append(toIndentedString(queryString)).append("\n"); + sb.append(" service: ").append(toIndentedString(service)).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/v1/model/TopologyQueryDataSource.java b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryServiceMapDataSource.java similarity index 52% rename from src/main/java/com/datadog/api/client/v1/model/TopologyQueryDataSource.java rename to src/main/java/com/datadog/api/client/v1/model/TopologyQueryServiceMapDataSource.java index d7796b96ad1..2e3fb342ab5 100644 --- a/src/main/java/com/datadog/api/client/v1/model/TopologyQueryDataSource.java +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyQueryServiceMapDataSource.java @@ -18,42 +18,41 @@ import java.util.HashSet; import java.util.Set; -/** Name of the data source */ -@JsonSerialize(using = TopologyQueryDataSource.TopologyQueryDataSourceSerializer.class) -public class TopologyQueryDataSource extends ModelEnum { +/** Name of the data source. */ +@JsonSerialize( + using = TopologyQueryServiceMapDataSource.TopologyQueryServiceMapDataSourceSerializer.class) +public class TopologyQueryServiceMapDataSource extends ModelEnum { private static final Set allowedValues = - new HashSet(Arrays.asList("data_streams", "service_map")); + new HashSet(Arrays.asList("service_map")); - public static final TopologyQueryDataSource DATA_STREAMS = - new TopologyQueryDataSource("data_streams"); - public static final TopologyQueryDataSource SERVICE_MAP = - new TopologyQueryDataSource("service_map"); + public static final TopologyQueryServiceMapDataSource SERVICE_MAP = + new TopologyQueryServiceMapDataSource("service_map"); - TopologyQueryDataSource(String value) { + TopologyQueryServiceMapDataSource(String value) { super(value, allowedValues); } - public static class TopologyQueryDataSourceSerializer - extends StdSerializer { - public TopologyQueryDataSourceSerializer(Class t) { + public static class TopologyQueryServiceMapDataSourceSerializer + extends StdSerializer { + public TopologyQueryServiceMapDataSourceSerializer(Class t) { super(t); } - public TopologyQueryDataSourceSerializer() { + public TopologyQueryServiceMapDataSourceSerializer() { this(null); } @Override public void serialize( - TopologyQueryDataSource value, JsonGenerator jgen, SerializerProvider provider) + TopologyQueryServiceMapDataSource value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeObject(value.value); } } @JsonCreator - public static TopologyQueryDataSource fromValue(String value) { - return new TopologyQueryDataSource(value); + public static TopologyQueryServiceMapDataSource fromValue(String value) { + return new TopologyQueryServiceMapDataSource(value); } } diff --git a/src/main/java/com/datadog/api/client/v1/model/TopologyQuery.java b/src/main/java/com/datadog/api/client/v1/model/TopologyRequestDataStreams.java similarity index 52% rename from src/main/java/com/datadog/api/client/v1/model/TopologyQuery.java rename to src/main/java/com/datadog/api/client/v1/model/TopologyRequestDataStreams.java index 4b11e56e641..8a41e68c0f2 100644 --- a/src/main/java/com/datadog/api/client/v1/model/TopologyQuery.java +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyRequestDataStreams.java @@ -12,104 +12,73 @@ 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; -/** Query to service-based topology data sources like the service map or data streams. */ +/** Request that returns nodes and edges from the data streams data source. */ @JsonPropertyOrder({ - TopologyQuery.JSON_PROPERTY_DATA_SOURCE, - TopologyQuery.JSON_PROPERTY_FILTERS, - TopologyQuery.JSON_PROPERTY_SERVICE + TopologyRequestDataStreams.JSON_PROPERTY_QUERY, + TopologyRequestDataStreams.JSON_PROPERTY_REQUEST_TYPE }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class TopologyQuery { +public class TopologyRequestDataStreams { @JsonIgnore public boolean unparsed = false; - public static final String JSON_PROPERTY_DATA_SOURCE = "data_source"; - private TopologyQueryDataSource dataSource; + public static final String JSON_PROPERTY_QUERY = "query"; + private TopologyQueryDataStreams query; - public static final String JSON_PROPERTY_FILTERS = "filters"; - private List filters = null; + public static final String JSON_PROPERTY_REQUEST_TYPE = "request_type"; + private TopologyRequestType requestType; - public static final String JSON_PROPERTY_SERVICE = "service"; - private String service; - - public TopologyQuery dataSource(TopologyQueryDataSource dataSource) { - this.dataSource = dataSource; - this.unparsed |= !dataSource.isValid(); + public TopologyRequestDataStreams query(TopologyQueryDataStreams query) { + this.query = query; + this.unparsed |= query.unparsed; return this; } /** - * Name of the data source + * Query to the data streams topology data source. * - * @return dataSource + * @return query */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_DATA_SOURCE) + @JsonProperty(JSON_PROPERTY_QUERY) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public TopologyQueryDataSource getDataSource() { - return dataSource; - } - - public void setDataSource(TopologyQueryDataSource dataSource) { - if (!dataSource.isValid()) { - this.unparsed = true; - } - this.dataSource = dataSource; + public TopologyQueryDataStreams getQuery() { + return query; } - public TopologyQuery filters(List filters) { - this.filters = filters; - return this; - } - - public TopologyQuery addFiltersItem(String filtersItem) { - if (this.filters == null) { - this.filters = new ArrayList<>(); + public void setQuery(TopologyQueryDataStreams query) { + this.query = query; + if (query != null) { + this.unparsed |= query.unparsed; } - this.filters.add(filtersItem); - return this; - } - - /** - * Your environment and primary tag (or * if enabled for your account). - * - * @return filters - */ - @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_FILTERS) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getFilters() { - return filters; - } - - public void setFilters(List filters) { - this.filters = filters; } - public TopologyQuery service(String service) { - this.service = service; + public TopologyRequestDataStreams requestType(TopologyRequestType requestType) { + this.requestType = requestType; + this.unparsed |= !requestType.isValid(); return this; } /** - * Name of the service + * Widget request type. * - * @return service + * @return requestType */ @jakarta.annotation.Nullable - @JsonProperty(JSON_PROPERTY_SERVICE) + @JsonProperty(JSON_PROPERTY_REQUEST_TYPE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public String getService() { - return service; + public TopologyRequestType getRequestType() { + return requestType; } - public void setService(String service) { - this.service = service; + public void setRequestType(TopologyRequestType requestType) { + if (!requestType.isValid()) { + this.unparsed = true; + } + this.requestType = requestType; } /** @@ -124,10 +93,10 @@ public void setService(String service) { * * @param key The arbitrary key to set * @param value The associated value - * @return TopologyQuery + * @return TopologyRequestDataStreams */ @JsonAnySetter - public TopologyQuery putAdditionalProperty(String key, Object value) { + public TopologyRequestDataStreams putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -158,7 +127,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this TopologyQuery object is equal to o. */ + /** Return true if this TopologyRequestDataStreams object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -167,25 +136,24 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - TopologyQuery topologyQuery = (TopologyQuery) o; - return Objects.equals(this.dataSource, topologyQuery.dataSource) - && Objects.equals(this.filters, topologyQuery.filters) - && Objects.equals(this.service, topologyQuery.service) - && Objects.equals(this.additionalProperties, topologyQuery.additionalProperties); + TopologyRequestDataStreams topologyRequestDataStreams = (TopologyRequestDataStreams) o; + return Objects.equals(this.query, topologyRequestDataStreams.query) + && Objects.equals(this.requestType, topologyRequestDataStreams.requestType) + && Objects.equals( + this.additionalProperties, topologyRequestDataStreams.additionalProperties); } @Override public int hashCode() { - return Objects.hash(dataSource, filters, service, additionalProperties); + return Objects.hash(query, requestType, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class TopologyQuery {\n"); - sb.append(" dataSource: ").append(toIndentedString(dataSource)).append("\n"); - sb.append(" filters: ").append(toIndentedString(filters)).append("\n"); - sb.append(" service: ").append(toIndentedString(service)).append("\n"); + sb.append("class TopologyRequestDataStreams {\n"); + sb.append(" query: ").append(toIndentedString(query)).append("\n"); + sb.append(" requestType: ").append(toIndentedString(requestType)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v1/model/TopologyRequest.java b/src/main/java/com/datadog/api/client/v1/model/TopologyRequestServiceMap.java similarity index 78% rename from src/main/java/com/datadog/api/client/v1/model/TopologyRequest.java rename to src/main/java/com/datadog/api/client/v1/model/TopologyRequestServiceMap.java index 0a9bd2c55b7..006cc81e956 100644 --- a/src/main/java/com/datadog/api/client/v1/model/TopologyRequest.java +++ b/src/main/java/com/datadog/api/client/v1/model/TopologyRequestServiceMap.java @@ -16,47 +16,47 @@ import java.util.Map; import java.util.Objects; -/** Request that will return nodes and edges to be used by topology map. */ +/** Request that returns nodes and edges from the service map data source. */ @JsonPropertyOrder({ - TopologyRequest.JSON_PROPERTY_QUERY, - TopologyRequest.JSON_PROPERTY_REQUEST_TYPE + TopologyRequestServiceMap.JSON_PROPERTY_QUERY, + TopologyRequestServiceMap.JSON_PROPERTY_REQUEST_TYPE }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") -public class TopologyRequest { +public class TopologyRequestServiceMap { @JsonIgnore public boolean unparsed = false; public static final String JSON_PROPERTY_QUERY = "query"; - private TopologyQuery query; + private TopologyQueryServiceMap query; public static final String JSON_PROPERTY_REQUEST_TYPE = "request_type"; private TopologyRequestType requestType; - public TopologyRequest query(TopologyQuery query) { + public TopologyRequestServiceMap query(TopologyQueryServiceMap query) { this.query = query; this.unparsed |= query.unparsed; return this; } /** - * Query to service-based topology data sources like the service map or data streams. + * Query to the service map topology data source. * * @return query */ @jakarta.annotation.Nullable @JsonProperty(JSON_PROPERTY_QUERY) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public TopologyQuery getQuery() { + public TopologyQueryServiceMap getQuery() { return query; } - public void setQuery(TopologyQuery query) { + public void setQuery(TopologyQueryServiceMap query) { this.query = query; if (query != null) { this.unparsed |= query.unparsed; } } - public TopologyRequest requestType(TopologyRequestType requestType) { + public TopologyRequestServiceMap requestType(TopologyRequestType requestType) { this.requestType = requestType; this.unparsed |= !requestType.isValid(); return this; @@ -93,10 +93,10 @@ public void setRequestType(TopologyRequestType requestType) { * * @param key The arbitrary key to set * @param value The associated value - * @return TopologyRequest + * @return TopologyRequestServiceMap */ @JsonAnySetter - public TopologyRequest putAdditionalProperty(String key, Object value) { + public TopologyRequestServiceMap putAdditionalProperty(String key, Object value) { if (this.additionalProperties == null) { this.additionalProperties = new HashMap(); } @@ -127,7 +127,7 @@ public Object getAdditionalProperty(String key) { return this.additionalProperties.get(key); } - /** Return true if this TopologyRequest object is equal to o. */ + /** Return true if this TopologyRequestServiceMap object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { @@ -136,10 +136,11 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - TopologyRequest topologyRequest = (TopologyRequest) o; - return Objects.equals(this.query, topologyRequest.query) - && Objects.equals(this.requestType, topologyRequest.requestType) - && Objects.equals(this.additionalProperties, topologyRequest.additionalProperties); + TopologyRequestServiceMap topologyRequestServiceMap = (TopologyRequestServiceMap) o; + return Objects.equals(this.query, topologyRequestServiceMap.query) + && Objects.equals(this.requestType, topologyRequestServiceMap.requestType) + && Objects.equals( + this.additionalProperties, topologyRequestServiceMap.additionalProperties); } @Override @@ -150,7 +151,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class TopologyRequest {\n"); + sb.append("class TopologyRequestServiceMap {\n"); sb.append(" query: ").append(toIndentedString(query)).append("\n"); sb.append(" requestType: ").append(toIndentedString(requestType)).append("\n"); sb.append(" additionalProperties: ") diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewMetric.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewMetric.java index 6c9d37d4b8b..5f6312cfae9 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewMetric.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewMetric.java @@ -43,6 +43,9 @@ public AWSMetricNameFilterPreviewMetric( List ddNames) { this.cwName = cwName; this.ddNames = ddNames; + for (AWSMetricNameFilterPreviewDDName item : ddNames) { + this.unparsed |= item.unparsed; + } } public AWSMetricNameFilterPreviewMetric cwName(String cwName) { @@ -93,6 +96,11 @@ public List getDdNames() { public void setDdNames(List ddNames) { this.ddNames = ddNames; + if (ddNames != null) { + for (AWSMetricNameFilterPreviewDDName item : ddNames) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewNamespace.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewNamespace.java index ab4964ce022..1b913d8f6b0 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewNamespace.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewNamespace.java @@ -48,7 +48,13 @@ public AWSMetricNameFilterPreviewNamespace( List metrics, @JsonProperty(required = true, value = JSON_PROPERTY_NAMESPACE) String namespace) { this.filters = filters; + for (AWSMetricNameFilterPreviewFilterMatch item : filters) { + this.unparsed |= item.unparsed; + } this.metrics = metrics; + for (AWSMetricNameFilterPreviewMetric item : metrics) { + this.unparsed |= item.unparsed; + } this.namespace = namespace; } @@ -81,6 +87,11 @@ public List getFilters() { public void setFilters(List filters) { this.filters = filters; + if (filters != null) { + for (AWSMetricNameFilterPreviewFilterMatch item : filters) { + this.unparsed |= item.unparsed; + } + } } public AWSMetricNameFilterPreviewNamespace metrics( @@ -113,6 +124,11 @@ public List getMetrics() { public void setMetrics(List metrics) { this.metrics = metrics; + if (metrics != null) { + for (AWSMetricNameFilterPreviewMetric item : metrics) { + this.unparsed |= item.unparsed; + } + } } public AWSMetricNameFilterPreviewNamespace namespace(String namespace) { diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequest.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequest.java index 9bab3ce6524..01ffc736d3e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequest.java @@ -55,6 +55,9 @@ public AWSMetricNameFilterPreviewRequestData getData() { public void setData(AWSMetricNameFilterPreviewRequestData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestAttributes.java index b272c260f65..f2b789aa824 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestAttributes.java @@ -35,6 +35,9 @@ public AWSMetricNameFilterPreviewRequestAttributes( @JsonProperty(required = true, value = JSON_PROPERTY_METRIC_NAME_FILTERS) List metricNameFilters) { this.metricNameFilters = metricNameFilters; + for (AWSMetricNameFilters item : metricNameFilters) { + this.unparsed |= item.unparsed; + } } public AWSMetricNameFilterPreviewRequestAttributes metricNameFilters( @@ -66,6 +69,11 @@ public List getMetricNameFilters() { public void setMetricNameFilters(List metricNameFilters) { this.metricNameFilters = metricNameFilters; + if (metricNameFilters != null) { + for (AWSMetricNameFilters item : metricNameFilters) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestData.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestData.java index 7f2dff658c9..d7972692327 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestData.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewRequestData.java @@ -67,6 +67,9 @@ public AWSMetricNameFilterPreviewRequestAttributes getAttributes() { public void setAttributes(AWSMetricNameFilterPreviewRequestAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public AWSMetricNameFilterPreviewRequestData type(AWSMetricNameFilterPreviewType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponse.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponse.java index 668f9f744f4..e1e75f0fbd2 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponse.java @@ -55,6 +55,9 @@ public AWSMetricNameFilterPreviewResponseData getData() { public void setData(AWSMetricNameFilterPreviewResponseData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseAttributes.java index 2ef27e28a41..8cd43cb03ba 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseAttributes.java @@ -35,6 +35,9 @@ public AWSMetricNameFilterPreviewResponseAttributes( @JsonProperty(required = true, value = JSON_PROPERTY_NAMESPACES) List namespaces) { this.namespaces = namespaces; + for (AWSMetricNameFilterPreviewNamespace item : namespaces) { + this.unparsed |= item.unparsed; + } } public AWSMetricNameFilterPreviewResponseAttributes namespaces( @@ -66,6 +69,11 @@ public List getNamespaces() { public void setNamespaces(List namespaces) { this.namespaces = namespaces; + if (namespaces != null) { + for (AWSMetricNameFilterPreviewNamespace item : namespaces) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseData.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseData.java index dae97d33a68..ad9fd860717 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseData.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricNameFilterPreviewResponseData.java @@ -73,6 +73,9 @@ public AWSMetricNameFilterPreviewResponseAttributes getAttributes() { public void setAttributes(AWSMetricNameFilterPreviewResponseAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public AWSMetricNameFilterPreviewResponseData id(String id) { diff --git a/src/main/java/com/datadog/api/client/v2/model/AWSMetricsConfig.java b/src/main/java/com/datadog/api/client/v2/model/AWSMetricsConfig.java index 2ded1bc032d..a0ba14e5df5 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AWSMetricsConfig.java +++ b/src/main/java/com/datadog/api/client/v2/model/AWSMetricsConfig.java @@ -139,8 +139,10 @@ public void setEnabled(Boolean enabled) { public AWSMetricsConfig metricNameFilters(List metricNameFilters) { this.metricNameFilters = metricNameFilters; - for (AWSMetricNameFilters item : metricNameFilters) { - this.unparsed |= item.unparsed; + if (metricNameFilters != null) { + for (AWSMetricNameFilters item : metricNameFilters) { + this.unparsed |= item.unparsed; + } } return this; } @@ -169,6 +171,11 @@ public List getMetricNameFilters() { public void setMetricNameFilters(List metricNameFilters) { this.metricNameFilters = metricNameFilters; + if (metricNameFilters != null) { + for (AWSMetricNameFilters item : metricNameFilters) { + this.unparsed |= item.unparsed; + } + } } public AWSMetricsConfig namespaceFilters(AWSNamespaceFilters namespaceFilters) { diff --git a/src/main/java/com/datadog/api/client/v2/model/AccountFilters.java b/src/main/java/com/datadog/api/client/v2/model/AccountFilters.java index 8d5f4c0a35c..08eea2a4e33 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AccountFilters.java +++ b/src/main/java/com/datadog/api/client/v2/model/AccountFilters.java @@ -68,6 +68,9 @@ public AccountFiltersAttributes getAttributes() { public void setAttributes(AccountFiltersAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public AccountFilters id(String id) { diff --git a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersAttributes.java index 17a0003c06e..3947261fc67 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersAttributes.java @@ -55,6 +55,9 @@ public AccountFilteringConfig getAccountFilters() { public void setAccountFilters(AccountFilteringConfig accountFilters) { this.accountFilters = accountFilters; + if (accountFilters != null) { + this.unparsed |= accountFilters.unparsed; + } } public AccountFiltersAttributes accountId(String accountId) { diff --git a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchData.java b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchData.java index 931cbbb1a92..5d341041b7f 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchData.java +++ b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchData.java @@ -66,6 +66,9 @@ public AccountFiltersPatchRequestAttributes getAttributes() { public void setAttributes(AccountFiltersPatchRequestAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public AccountFiltersPatchData type(AccountFiltersPatchRequestType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequest.java b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequest.java index bf665e78f38..9251cc15dc3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequest.java @@ -54,6 +54,9 @@ public AccountFiltersPatchData getData() { public void setData(AccountFiltersPatchData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequestAttributes.java index 3b014ae11be..9cb24ad0672 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersPatchRequestAttributes.java @@ -56,6 +56,9 @@ public AccountFilteringConfig getAccountFilters() { public void setAccountFilters(AccountFilteringConfig accountFilters) { this.accountFilters = accountFilters; + if (accountFilters != null) { + this.unparsed |= accountFilters.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersResponse.java b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersResponse.java index 672479bb11a..10c8ce002a3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/AccountFiltersResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/AccountFiltersResponse.java @@ -45,6 +45,9 @@ public AccountFilters getData() { public void setData(AccountFilters data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleListResponse.java b/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleListResponse.java index 8dc18fb8665..6307526e259 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleListResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleListResponse.java @@ -41,6 +41,9 @@ public DatasetReportScheduleListResponse( @JsonProperty(required = true, value = JSON_PROPERTY_DATA) List data) { this.data = data; + for (DatasetReportScheduleResponseData item : data) { + this.unparsed |= item.unparsed; + } } public DatasetReportScheduleListResponse data(List data) { @@ -70,12 +73,19 @@ public List getData() { public void setData(List data) { this.data = data; + if (data != null) { + for (DatasetReportScheduleResponseData item : data) { + this.unparsed |= item.unparsed; + } + } } public DatasetReportScheduleListResponse included(List included) { this.included = included; - for (ReportScheduleIncludedResource item : included) { - this.unparsed |= item.unparsed; + if (included != null) { + for (ReportScheduleIncludedResource item : included) { + this.unparsed |= item.unparsed; + } } return this; } @@ -104,6 +114,11 @@ public List getIncluded() { public void setIncluded(List included) { this.included = included; + if (included != null) { + for (ReportScheduleIncludedResource item : included) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleResponseData.java b/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleResponseData.java index bf47b38f122..9d6410a918c 100644 --- a/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleResponseData.java +++ b/src/main/java/com/datadog/api/client/v2/model/DatasetReportScheduleResponseData.java @@ -80,6 +80,9 @@ public DatasetReportScheduleResponseAttributes getAttributes() { public void setAttributes(DatasetReportScheduleResponseAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public DatasetReportScheduleResponseData id(UUID id) { @@ -122,6 +125,9 @@ public ReportScheduleResponseRelationships getRelationships() { public void setRelationships(ReportScheduleResponseRelationships relationships) { this.relationships = relationships; + if (relationships != null) { + this.unparsed |= relationships.unparsed; + } } public DatasetReportScheduleResponseData type(ReportScheduleType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesRequest.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesRequest.java index 342bd8a4f19..dab75fab5d7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesRequest.java @@ -119,6 +119,9 @@ public IncidentUserDefinedRolePolicy getPolicy() { public void setPolicy(IncidentUserDefinedRolePolicy policy) { this.policy = policy; + if (policy != null) { + this.unparsed |= policy.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesResponse.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesResponse.java index 06a52fbb10f..248bfe4d72c 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataAttributesResponse.java @@ -173,6 +173,9 @@ public IncidentUserDefinedRolePolicy getPolicy() { public void setPolicy(IncidentUserDefinedRolePolicy policy) { this.policy = policy; + if (policy != null) { + this.unparsed |= policy.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataRequest.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataRequest.java index 5d1bb6bc0e8..571545f94fb 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataRequest.java @@ -73,6 +73,9 @@ public IncidentUserDefinedRoleDataAttributesRequest getAttributes() { public void setAttributes(IncidentUserDefinedRoleDataAttributesRequest attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public IncidentUserDefinedRoleDataRequest relationships( @@ -95,6 +98,9 @@ public IncidentUserDefinedRoleRelationshipsRequest getRelationships() { public void setRelationships(IncidentUserDefinedRoleRelationshipsRequest relationships) { this.relationships = relationships; + if (relationships != null) { + this.unparsed |= relationships.unparsed; + } } public IncidentUserDefinedRoleDataRequest type(IncidentUserDefinedRoleType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataResponse.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataResponse.java index 26e5ac55194..89224db1995 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleDataResponse.java @@ -76,6 +76,9 @@ public IncidentUserDefinedRoleDataAttributesResponse getAttributes() { public void setAttributes(IncidentUserDefinedRoleDataAttributesResponse attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public IncidentUserDefinedRoleDataResponse id(UUID id) { @@ -119,6 +122,9 @@ public IncidentUserDefinedRoleRelationshipsResponse getRelationships() { public void setRelationships(IncidentUserDefinedRoleRelationshipsResponse relationships) { this.relationships = relationships; + if (relationships != null) { + this.unparsed |= relationships.unparsed; + } } public IncidentUserDefinedRoleDataResponse type(IncidentUserDefinedRoleType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleIncidentTypeRelationship.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleIncidentTypeRelationship.java index aa935dc5835..ae5612171bb 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleIncidentTypeRelationship.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleIncidentTypeRelationship.java @@ -56,6 +56,9 @@ public IncidentUserDefinedRoleIncidentTypeRelationshipData getData() { public void setData(IncidentUserDefinedRoleIncidentTypeRelationshipData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataAttributesRequest.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataAttributesRequest.java index fe41888d77d..3903dd8f018 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataAttributesRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataAttributesRequest.java @@ -109,6 +109,9 @@ public IncidentUserDefinedRolePolicy getPolicy() { public void setPolicy(IncidentUserDefinedRolePolicy policy) { this.policy = policy; + if (policy != null) { + this.unparsed |= policy.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataRequest.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataRequest.java index 5f3975822a1..5188bb44e87 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchDataRequest.java @@ -69,6 +69,9 @@ public IncidentUserDefinedRolePatchDataAttributesRequest getAttributes() { public void setAttributes(IncidentUserDefinedRolePatchDataAttributesRequest attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public IncidentUserDefinedRolePatchDataRequest id(UUID id) { diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchRequest.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchRequest.java index 684e4f915a5..001dda3ca97 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolePatchRequest.java @@ -55,6 +55,9 @@ public IncidentUserDefinedRolePatchDataRequest getData() { public void setData(IncidentUserDefinedRolePatchDataRequest data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsRequest.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsRequest.java index 51972c5594e..c768cda4a9b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsRequest.java @@ -56,6 +56,9 @@ public IncidentUserDefinedRoleIncidentTypeRelationship getIncidentType() { public void setIncidentType(IncidentUserDefinedRoleIncidentTypeRelationship incidentType) { this.incidentType = incidentType; + if (incidentType != null) { + this.unparsed |= incidentType.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsResponse.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsResponse.java index 58427e9a088..8f511f837d3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRelationshipsResponse.java @@ -56,6 +56,9 @@ public RelationshipToUser getCreatedByUser() { public void setCreatedByUser(RelationshipToUser createdByUser) { this.createdByUser = createdByUser; + if (createdByUser != null) { + this.unparsed |= createdByUser.unparsed; + } } public IncidentUserDefinedRoleRelationshipsResponse incidentType( @@ -79,6 +82,9 @@ public IncidentUserDefinedRoleIncidentTypeRelationship getIncidentType() { public void setIncidentType(IncidentUserDefinedRoleIncidentTypeRelationship incidentType) { this.incidentType = incidentType; + if (incidentType != null) { + this.unparsed |= incidentType.unparsed; + } } public IncidentUserDefinedRoleRelationshipsResponse lastModifiedByUser( @@ -102,6 +108,9 @@ public RelationshipToUser getLastModifiedByUser() { public void setLastModifiedByUser(RelationshipToUser lastModifiedByUser) { this.lastModifiedByUser = lastModifiedByUser; + if (lastModifiedByUser != null) { + this.unparsed |= lastModifiedByUser.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRequest.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRequest.java index e97226c0c02..b86f2385782 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleRequest.java @@ -55,6 +55,9 @@ public IncidentUserDefinedRoleDataRequest getData() { public void setData(IncidentUserDefinedRoleDataRequest data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleResponse.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleResponse.java index c7ac2e8c545..d47535dca8b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRoleResponse.java @@ -63,13 +63,18 @@ public IncidentUserDefinedRoleDataResponse getData() { public void setData(IncidentUserDefinedRoleDataResponse data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } public IncidentUserDefinedRoleResponse included( List included) { this.included = included; - for (IncidentUserDefinedRoleIncludedItem item : included) { - this.unparsed |= item.unparsed; + if (included != null) { + for (IncidentUserDefinedRoleIncludedItem item : included) { + this.unparsed |= item.unparsed; + } } return this; } @@ -98,6 +103,11 @@ public List getIncluded() { public void setIncluded(List included) { this.included = included; + if (included != null) { + for (IncidentUserDefinedRoleIncludedItem item : included) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolesResponse.java b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolesResponse.java index 2a6dced4108..cecc671ebe8 100644 --- a/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolesResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/IncidentUserDefinedRolesResponse.java @@ -41,6 +41,9 @@ public IncidentUserDefinedRolesResponse( @JsonProperty(required = true, value = JSON_PROPERTY_DATA) List data) { this.data = data; + for (IncidentUserDefinedRoleDataResponse item : data) { + this.unparsed |= item.unparsed; + } } public IncidentUserDefinedRolesResponse data(List data) { @@ -71,13 +74,20 @@ public List getData() { public void setData(List data) { this.data = data; + if (data != null) { + for (IncidentUserDefinedRoleDataResponse item : data) { + this.unparsed |= item.unparsed; + } + } } public IncidentUserDefinedRolesResponse included( List included) { this.included = included; - for (IncidentUserDefinedRoleIncludedItem item : included) { - this.unparsed |= item.unparsed; + if (included != null) { + for (IncidentUserDefinedRoleIncludedItem item : included) { + this.unparsed |= item.unparsed; + } } return this; } @@ -106,6 +116,11 @@ public List getIncluded() { public void setIncluded(List included) { this.included = included; + if (included != null) { + for (IncidentUserDefinedRoleIncludedItem item : included) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineTagCardinalityLimitProcessor.java b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineTagCardinalityLimitProcessor.java index f7ce38de217..2ce98c8f169 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineTagCardinalityLimitProcessor.java +++ b/src/main/java/com/datadog/api/client/v2/model/ObservabilityPipelineTagCardinalityLimitProcessor.java @@ -269,6 +269,9 @@ public ObservabilityPipelineTagCardinalityLimitProcessorTrackingMode getTracking public void setTrackingMode( ObservabilityPipelineTagCardinalityLimitProcessorTrackingMode trackingMode) { this.trackingMode = trackingMode; + if (trackingMode != null) { + this.unparsed |= trackingMode.unparsed; + } } public ObservabilityPipelineTagCardinalityLimitProcessor type( diff --git a/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionData.java b/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionData.java index d68023cc822..2ee7d9accac 100644 --- a/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionData.java +++ b/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionData.java @@ -75,6 +75,9 @@ public OrgGroupPolicySuggestionAttributes getAttributes() { public void setAttributes(OrgGroupPolicySuggestionAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public OrgGroupPolicySuggestionData id(String id) { @@ -118,6 +121,9 @@ public OrgGroupPolicySuggestionRelationships getRelationships() { public void setRelationships(OrgGroupPolicySuggestionRelationships relationships) { this.relationships = relationships; + if (relationships != null) { + this.unparsed |= relationships.unparsed; + } } public OrgGroupPolicySuggestionData type(OrgGroupPolicySuggestionType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionListResponse.java b/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionListResponse.java index 8db3b154c20..9a3f493549c 100644 --- a/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionListResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionListResponse.java @@ -35,6 +35,9 @@ public OrgGroupPolicySuggestionListResponse( @JsonProperty(required = true, value = JSON_PROPERTY_DATA) List data) { this.data = data; + for (OrgGroupPolicySuggestionData item : data) { + this.unparsed |= item.unparsed; + } } public OrgGroupPolicySuggestionListResponse data(List data) { @@ -64,6 +67,11 @@ public List getData() { public void setData(List data) { this.data = data; + if (data != null) { + for (OrgGroupPolicySuggestionData item : data) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionRelationships.java b/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionRelationships.java index e79c4866ad6..28c21eb2574 100644 --- a/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionRelationships.java +++ b/src/main/java/com/datadog/api/client/v2/model/OrgGroupPolicySuggestionRelationships.java @@ -45,6 +45,9 @@ public OrgGroupRelationshipToOne getOrgGroup() { public void setOrgGroup(OrgGroupRelationshipToOne orgGroup) { this.orgGroup = orgGroup; + if (orgGroup != null) { + this.unparsed |= orgGroup.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/PrintReportRequest.java b/src/main/java/com/datadog/api/client/v2/model/PrintReportRequest.java index cd84ba7bb91..99afb3c69fb 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PrintReportRequest.java +++ b/src/main/java/com/datadog/api/client/v2/model/PrintReportRequest.java @@ -54,6 +54,9 @@ public PrintReportRequestData getData() { public void setData(PrintReportRequestData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestAttributes.java index 112f2353425..1ff0d9546a3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestAttributes.java @@ -72,6 +72,9 @@ public PrintReportRequestAttributes( this.resourceType = resourceType; this.unparsed |= !resourceType.isValid(); this.templateVariables = templateVariables; + for (ReportScheduleTemplateVariable item : templateVariables) { + this.unparsed |= item.unparsed; + } this.timezone = timezone; } @@ -170,6 +173,11 @@ public List getTemplateVariables() { public void setTemplateVariables(List templateVariables) { this.templateVariables = templateVariables; + if (templateVariables != null) { + for (ReportScheduleTemplateVariable item : templateVariables) { + this.unparsed |= item.unparsed; + } + } } public PrintReportRequestAttributes timeframe(String timeframe) { diff --git a/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestData.java b/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestData.java index a6780c5b35e..3da24e29f7a 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestData.java +++ b/src/main/java/com/datadog/api/client/v2/model/PrintReportRequestData.java @@ -66,6 +66,9 @@ public PrintReportRequestAttributes getAttributes() { public void setAttributes(PrintReportRequestAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public PrintReportRequestData type(PrintReportType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/PrintReportResponse.java b/src/main/java/com/datadog/api/client/v2/model/PrintReportResponse.java index 8789f2e2f65..902fe09df3e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PrintReportResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/PrintReportResponse.java @@ -54,6 +54,9 @@ public PrintReportResponseData getData() { public void setData(PrintReportResponseData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseAttributes.java index 39a731a8740..a97175a9705 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseAttributes.java @@ -77,6 +77,9 @@ public PrintReportResponseAttributes( this.resourceType = resourceType; this.unparsed |= !resourceType.isValid(); this.templateVariables = templateVariables; + for (ReportScheduleTemplateVariable item : templateVariables) { + this.unparsed |= item.unparsed; + } this.timezone = timezone; this.toTs = toTs; } @@ -194,6 +197,11 @@ public List getTemplateVariables() { public void setTemplateVariables(List templateVariables) { this.templateVariables = templateVariables; + if (templateVariables != null) { + for (ReportScheduleTemplateVariable item : templateVariables) { + this.unparsed |= item.unparsed; + } + } } public PrintReportResponseAttributes timeframe(String timeframe) { diff --git a/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseData.java b/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseData.java index 77db90150e7..df500427118 100644 --- a/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseData.java +++ b/src/main/java/com/datadog/api/client/v2/model/PrintReportResponseData.java @@ -71,6 +71,9 @@ public PrintReportResponseAttributes getAttributes() { public void setAttributes(PrintReportResponseAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public PrintReportResponseData id(UUID id) { diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderData.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderData.java index b2bc6fc056e..e3b2bb7920a 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderData.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderData.java @@ -74,6 +74,9 @@ public ScheduleOnCallResponderDataAttributes getAttributes() { public void setAttributes(ScheduleOnCallResponderDataAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public ScheduleOnCallResponderData id(String id) { @@ -118,6 +121,9 @@ public ScheduleOnCallResponderDataRelationships getRelationships() { public void setRelationships(ScheduleOnCallResponderDataRelationships relationships) { this.relationships = relationships; + if (relationships != null) { + this.unparsed |= relationships.unparsed; + } } public ScheduleOnCallResponderData type(ScheduleOnCallResponderDataType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationships.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationships.java index af7ec98f2c4..155b0ee4355 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationships.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationships.java @@ -47,6 +47,9 @@ public ScheduleOnCallResponderDataRelationshipsShifts getShifts() { public void setShifts(ScheduleOnCallResponderDataRelationshipsShifts shifts) { this.shifts = shifts; + if (shifts != null) { + this.unparsed |= shifts.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationshipsShifts.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationshipsShifts.java index 3e8c74bd710..4ddd289877d 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationshipsShifts.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponderDataRelationshipsShifts.java @@ -33,8 +33,10 @@ public class ScheduleOnCallResponderDataRelationshipsShifts { public ScheduleOnCallResponderDataRelationshipsShifts data( List data) { this.data = data; - for (ScheduleOnCallResponderDataRelationshipsShiftsDataItems item : data) { - this.unparsed |= item.unparsed; + if (data != null) { + for (ScheduleOnCallResponderDataRelationshipsShiftsDataItems item : data) { + this.unparsed |= item.unparsed; + } } return this; } @@ -63,6 +65,11 @@ public List getData() { public void setData(List data) { this.data = data; + if (data != null) { + for (ScheduleOnCallResponderDataRelationshipsShiftsDataItems item : data) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponders.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponders.java index a28a548884f..a08d1554293 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponders.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallResponders.java @@ -57,12 +57,17 @@ public ScheduleOnCallRespondersData getData() { public void setData(ScheduleOnCallRespondersData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } public ScheduleOnCallResponders included(List included) { this.included = included; - for (ScheduleOnCallRespondersIncluded item : included) { - this.unparsed |= item.unparsed; + if (included != null) { + for (ScheduleOnCallRespondersIncluded item : included) { + this.unparsed |= item.unparsed; + } } return this; } @@ -91,6 +96,11 @@ public List getIncluded() { public void setIncluded(List included) { this.included = included; + if (included != null) { + for (ScheduleOnCallRespondersIncluded item : included) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersData.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersData.java index b7008025f1e..d026c60b393 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersData.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersData.java @@ -75,6 +75,9 @@ public ScheduleOnCallRespondersDataAttributes getAttributes() { public void setAttributes(ScheduleOnCallRespondersDataAttributes attributes) { this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } } public ScheduleOnCallRespondersData id(String id) { @@ -120,6 +123,9 @@ public ScheduleOnCallRespondersDataRelationships getRelationships() { public void setRelationships(ScheduleOnCallRespondersDataRelationships relationships) { this.relationships = relationships; + if (relationships != null) { + this.unparsed |= relationships.unparsed; + } } public ScheduleOnCallRespondersData type(ScheduleOnCallRespondersDataType type) { diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationships.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationships.java index 255acba0f9a..c09a9839f02 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationships.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationships.java @@ -55,6 +55,9 @@ public ScheduleOnCallRespondersDataRelationshipsResponders getResponders() { public void setResponders(ScheduleOnCallRespondersDataRelationshipsResponders responders) { this.responders = responders; + if (responders != null) { + this.unparsed |= responders.unparsed; + } } public ScheduleOnCallRespondersDataRelationships schedule( @@ -78,6 +81,9 @@ public ScheduleOnCallRespondersDataRelationshipsSchedule getSchedule() { public void setSchedule(ScheduleOnCallRespondersDataRelationshipsSchedule schedule) { this.schedule = schedule; + if (schedule != null) { + this.unparsed |= schedule.unparsed; + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsResponders.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsResponders.java index 3628959d909..be23f4401e8 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsResponders.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsResponders.java @@ -30,8 +30,10 @@ public class ScheduleOnCallRespondersDataRelationshipsResponders { public ScheduleOnCallRespondersDataRelationshipsResponders data( List data) { this.data = data; - for (ScheduleOnCallRespondersDataRelationshipsRespondersDataItems item : data) { - this.unparsed |= item.unparsed; + if (data != null) { + for (ScheduleOnCallRespondersDataRelationshipsRespondersDataItems item : data) { + this.unparsed |= item.unparsed; + } } return this; } @@ -60,6 +62,11 @@ public List getDat public void setData(List data) { this.data = data; + if (data != null) { + for (ScheduleOnCallRespondersDataRelationshipsRespondersDataItems item : data) { + this.unparsed |= item.unparsed; + } + } } /** diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsSchedule.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsSchedule.java index 6cdcfa71dd6..10d3613a43b 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsSchedule.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleOnCallRespondersDataRelationshipsSchedule.java @@ -46,6 +46,9 @@ public ScheduleOnCallRespondersDataRelationshipsScheduleData getData() { public void setData(ScheduleOnCallRespondersDataRelationshipsScheduleData data) { this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } } /** diff --git a/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_topology_map_data_streams_widget.freeze b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_topology_map_data_streams_widget.freeze new file mode 100644 index 00000000000..21a59912fa3 --- /dev/null +++ b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_topology_map_data_streams_widget.freeze @@ -0,0 +1 @@ +2026-03-20T18:16:51.929Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_topology_map_data_streams_widget.json b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_topology_map_data_streams_widget.json new file mode 100644 index 00000000000..59814bdb0e4 --- /dev/null +++ b/src/test/resources/cassettes/features/v1/Create_a_new_dashboard_with_topology_map_data_streams_widget.json @@ -0,0 +1,58 @@ +[ + { + "httpRequest": { + "body": { + "type": "JSON", + "json": "{\"description\":\"\",\"layout_type\":\"free\",\"notify_list\":[],\"template_variables\":[],\"title\":\"Test-Create_a_new_dashboard_with_topology_map_data_streams_widget-1774030611\",\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"data_streams\",\"filters\":[\"env:prod\"],\"query_string\":\"service:myservice\",\"service\":\"\"},\"request_type\":\"topology\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"topology_map\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0}}]}" + }, + "headers": {}, + "method": "POST", + "path": "/api/v1/dashboard", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"id\":\"whr-253-7we\",\"title\":\"Test-Create_a_new_dashboard_with_topology_map_data_streams_widget-1774030611\",\"description\":\"\",\"author_handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"author_name\":\"CI Account\",\"layout_type\":\"free\",\"url\":\"/dashboard/whr-253-7we/test-createanewdashboardwithtopologymapdatastreamswidget-1774030611\",\"template_variables\":[],\"widgets\":[{\"definition\":{\"requests\":[{\"query\":{\"data_source\":\"data_streams\",\"filters\":[\"env:prod\"],\"query_string\":\"service:myservice\",\"service\":\"\"},\"request_type\":\"topology\"}],\"title\":\"\",\"title_align\":\"left\",\"title_size\":\"16\",\"type\":\"topology_map\"},\"layout\":{\"height\":15,\"width\":47,\"x\":0,\"y\":0},\"id\":1843670487553482}],\"notify_list\":[],\"created_at\":\"2026-03-20T18:16:52.209473+00:00\",\"modified_at\":\"2026-03-20T18:16:52.209473+00:00\",\"restricted_roles\":[]}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "5ef852d7-c1bc-cb27-9d3a-40ee81b48bd4" + }, + { + "httpRequest": { + "headers": {}, + "method": "DELETE", + "path": "/api/v1/dashboard/whr-253-7we", + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"deleted_dashboard_id\":\"whr-253-7we\"}", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "33d0dcbd-89c8-bfed-9729-3770bde62baa" + } +] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature b/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature index 28e57ec5e2a..984a718679b 100644 --- a/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature +++ b/src/test/resources/com/datadog/api/client/v1/api/dashboards.feature @@ -1128,6 +1128,19 @@ Feature: Dashboards And the response "widgets[0].definition.requests[0].sort.order_by[0].type" is equal to "formula" And the response "widgets[0].definition.requests[0].sort.order_by[0].index" is equal to 0 + @team:DataDog/dashboards-backend + Scenario: Create a new dashboard with topology_map data_streams widget + Given new "CreateDashboard" request + And body from file "dashboards_json_payload/topology_map_widget_data_streams.json" + When the request is sent + Then the response status is 200 OK + And the response "widgets[0].definition.type" is equal to "topology_map" + And the response "widgets[0].definition.requests[0].request_type" is equal to "topology" + And the response "widgets[0].definition.requests[0].query.data_source" is equal to "data_streams" + And the response "widgets[0].definition.requests[0].query.service" is equal to "" + And the response "widgets[0].definition.requests[0].query.filters" is equal to ["env:prod"] + And the response "widgets[0].definition.requests[0].query.query_string" is equal to "service:myservice" + @team:DataDog/dashboards-backend Scenario: Create a new dashboard with topology_map widget Given new "CreateDashboard" request diff --git a/src/test/resources/com/datadog/api/client/v1/api/dashboards_json_payload/topology_map_widget_data_streams.json b/src/test/resources/com/datadog/api/client/v1/api/dashboards_json_payload/topology_map_widget_data_streams.json new file mode 100644 index 00000000000..f454b974e6b --- /dev/null +++ b/src/test/resources/com/datadog/api/client/v1/api/dashboards_json_payload/topology_map_widget_data_streams.json @@ -0,0 +1,34 @@ +{ + "title": "{{ unique }}", + "description": "", + "widgets": [ + { + "layout": { + "x": 0, + "y": 0, + "width": 47, + "height": 15 + }, + "definition": { + "title": "", + "title_size": "16", + "title_align": "left", + "type": "topology_map", + "requests": [ + { + "request_type": "topology", + "query": { + "data_source": "data_streams", + "service": "", + "filters": ["env:prod"], + "query_string": "service:myservice" + } + } + ] + } + } + ], + "template_variables": [], + "layout_type": "free", + "notify_list": [] +}