From ed69ad1cef378e42b50ce6a03e51ccb5a54979d5 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 2 Nov 2026 11:31:12 +0000 Subject: [PATCH] Regenerate client from commit 649b7bc of spec repo --- .generator/schemas/v1/openapi.yaml | 214 +++++++++ .../v1/model/JourneyMapConversionType.java | 58 +++ .../v1/model/JourneyMapCountingMethod.java | 57 +++ .../v1/model/JourneyMapExpandedPrefix.java | 125 +++++ .../client/v1/model/JourneyMapGroupBy.java | 158 +++++++ .../v1/model/JourneyMapGroupByAudience.java | 62 +++ .../api/client/v1/model/JourneyMapQuery.java | 437 ++++++++++++++++++ .../v1/model/JourneyMapRequestType.java | 55 +++ .../api/client/v1/model/JourneyMapTarget.java | 116 +++++ .../v1/model/JourneyMapWidgetDefinition.java | 291 ++++++++++++ .../model/JourneyMapWidgetDefinitionType.java | 58 +++ .../v1/model/JourneyMapWidgetRequest.java | 130 ++++++ .../api/client/v1/model/WidgetDefinition.java | 117 ++++- 13 files changed, 1853 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapConversionType.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapCountingMethod.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapExpandedPrefix.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapGroupBy.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapGroupByAudience.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapQuery.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapRequestType.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapTarget.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetDefinition.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetDefinitionType.java create mode 100644 src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetRequest.java diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index 62832808c87..f61f0719ac5 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -6335,6 +6335,219 @@ components: example: ok type: string type: object + JourneyMapConversionType: + description: Whether to show the paths that convert to the end step or drop off before it. + enum: + - conversion + - drop-off + example: conversion + type: string + x-enum-varnames: + - CONVERSION + - DROP_OFF + JourneyMapCountingMethod: + description: Whether to count unique journeys or all journeys. + enum: + - uniques + - totals + example: uniques + type: string + x-enum-varnames: + - UNIQUES + - TOTALS + JourneyMapExpandedPrefix: + additionalProperties: false + description: A path expanded to show the events that follow it. + properties: + events: + description: Events of the expanded path, in order. + example: + - "@view.name:/cart" + items: + description: An event of the expanded path. + type: string + minItems: 1 + type: array + path_limit: + description: Maximum number of paths shown after the expanded path. + example: 5 + format: int64 + maximum: 10 + minimum: 1 + type: integer + required: + - events + type: object + JourneyMapGroupBy: + additionalProperties: false + description: Group by configuration for the Journey Paths widget. + properties: + facet: + description: Facet to group by. Must be a valid tag name. + example: "@geo.country" + pattern: '^[@_a-zA-Z]?[a-zA-Z0-9_\-:.\/\\]*$' + type: string + source: + $ref: "#/components/schemas/JourneyMapGroupByAudience" + value_filters: + description: Facet values to keep. + example: + - France + items: + description: A facet value. + type: string + minItems: 1 + type: array + required: + - facet + - value_filters + type: object + JourneyMapGroupByAudience: + description: Audience the group by facet is read from. + enum: + - product_analytics_audience_filters.users + - product_analytics_audience_filters.accounts + example: product_analytics_audience_filters.users + type: string + x-enum-varnames: + - USERS + - ACCOUNTS + JourneyMapQuery: + description: Journey Paths query definition. + properties: + conversion_type: + $ref: "#/components/schemas/JourneyMapConversionType" + counting_method: + $ref: "#/components/schemas/JourneyMapCountingMethod" + data_source: + $ref: "#/components/schemas/ProductAnalyticsFunnelDataSource" + entries_per_step: + description: Maximum number of paths shown per step. + example: 5 + format: int64 + maximum: 10 + minimum: 1 + type: integer + event_filter: + description: Filter applied to the events shown along the paths. + example: "@type:view" + type: string + expanded_prefixes: + description: Paths expanded to show the events that follow them. + items: + $ref: "#/components/schemas/JourneyMapExpandedPrefix" + description: An expanded path. + type: array + uniqueItems: true + group_by: + description: Group by configuration. + items: + $ref: "#/components/schemas/JourneyMapGroupBy" + description: A Journey Paths group by configuration. + type: array + search: + $ref: "#/components/schemas/UserJourneySearch" + target: + $ref: "#/components/schemas/JourneyMapTarget" + required: + - data_source + - search + - target + type: object + JourneyMapRequestType: + description: Request type for the Journey Paths widget. + enum: + - journey_map + example: journey_map + type: string + x-enum-varnames: + - JOURNEY_MAP + JourneyMapTarget: + additionalProperties: false + description: The pair of journey steps the paths are visualized between. + properties: + end: + description: Key of the end step in `search.node_objects`. + example: node_1 + type: string + start: + description: Key of the start step in `search.node_objects`. + example: node_0 + type: string + required: + - start + - end + type: object + JourneyMapWidgetDefinition: + additionalProperties: false + description: The Journey Paths widget visualizes the paths users take between two steps of a Product Analytics journey. + properties: + description: + description: The description of the widget. + type: string + requests: + description: List of Journey Paths widget requests. Exactly one request is supported. + example: + - query: + data_source: product_analytics_journey + search: + expression: "node_0 -> node_1" + node_objects: + node_0: + data_source: product_analytics + search: + query: "@type:view @view.name:/cart" + node_1: + data_source: product_analytics + search: + query: "@type:view @view.name:/checkout" + target: + end: node_1 + start: node_0 + request_type: journey_map + items: + $ref: "#/components/schemas/JourneyMapWidgetRequest" + description: A Journey Paths widget request. + maxItems: 1 + 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/JourneyMapWidgetDefinitionType" + required: + - type + - requests + type: object + JourneyMapWidgetDefinitionType: + default: journey_map + description: Type of the Journey Paths widget. + enum: + - journey_map + example: journey_map + type: string + x-enum-varnames: + - JOURNEY_MAP + JourneyMapWidgetRequest: + additionalProperties: false + description: Journey Paths widget request. + properties: + query: + $ref: "#/components/schemas/JourneyMapQuery" + request_type: + $ref: "#/components/schemas/JourneyMapRequestType" + required: + - request_type + - query + type: object ListStreamColumn: description: Widget column. example: {"field": "timestamp", "width": "auto"} @@ -29049,6 +29262,7 @@ components: - $ref: "#/components/schemas/HostMapWidgetDefinition" - $ref: "#/components/schemas/IFrameWidgetDefinition" - $ref: "#/components/schemas/ImageWidgetDefinition" + - $ref: "#/components/schemas/JourneyMapWidgetDefinition" - $ref: "#/components/schemas/ListStreamWidgetDefinition" - $ref: "#/components/schemas/LogStreamWidgetDefinition" - $ref: "#/components/schemas/MonitorSummaryWidgetDefinition" diff --git a/src/main/java/com/datadog/api/client/v1/model/JourneyMapConversionType.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapConversionType.java new file mode 100644 index 00000000000..a111559c134 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapConversionType.java @@ -0,0 +1,58 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v1.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Whether to show the paths that convert to the end step or drop off before it. */ +@JsonSerialize(using = JourneyMapConversionType.JourneyMapConversionTypeSerializer.class) +public class JourneyMapConversionType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("conversion", "drop-off")); + + public static final JourneyMapConversionType CONVERSION = + new JourneyMapConversionType("conversion"); + public static final JourneyMapConversionType DROP_OFF = new JourneyMapConversionType("drop-off"); + + JourneyMapConversionType(String value) { + super(value, allowedValues); + } + + public static class JourneyMapConversionTypeSerializer + extends StdSerializer { + public JourneyMapConversionTypeSerializer(Class t) { + super(t); + } + + public JourneyMapConversionTypeSerializer() { + this(null); + } + + @Override + public void serialize( + JourneyMapConversionType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static JourneyMapConversionType fromValue(String value) { + return new JourneyMapConversionType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/JourneyMapCountingMethod.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapCountingMethod.java new file mode 100644 index 00000000000..39a3a5f2510 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapCountingMethod.java @@ -0,0 +1,57 @@ +/* + * 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; + +/** Whether to count unique journeys or all journeys. */ +@JsonSerialize(using = JourneyMapCountingMethod.JourneyMapCountingMethodSerializer.class) +public class JourneyMapCountingMethod extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("uniques", "totals")); + + public static final JourneyMapCountingMethod UNIQUES = new JourneyMapCountingMethod("uniques"); + public static final JourneyMapCountingMethod TOTALS = new JourneyMapCountingMethod("totals"); + + JourneyMapCountingMethod(String value) { + super(value, allowedValues); + } + + public static class JourneyMapCountingMethodSerializer + extends StdSerializer { + public JourneyMapCountingMethodSerializer(Class t) { + super(t); + } + + public JourneyMapCountingMethodSerializer() { + this(null); + } + + @Override + public void serialize( + JourneyMapCountingMethod value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static JourneyMapCountingMethod fromValue(String value) { + return new JourneyMapCountingMethod(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/JourneyMapExpandedPrefix.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapExpandedPrefix.java new file mode 100644 index 00000000000..f45bdde92c8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapExpandedPrefix.java @@ -0,0 +1,125 @@ +/* + * 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; + +/** A path expanded to show the events that follow it. */ +@JsonPropertyOrder({ + JourneyMapExpandedPrefix.JSON_PROPERTY_EVENTS, + JourneyMapExpandedPrefix.JSON_PROPERTY_PATH_LIMIT +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JourneyMapExpandedPrefix { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_EVENTS = "events"; + private List events = new ArrayList<>(); + + public static final String JSON_PROPERTY_PATH_LIMIT = "path_limit"; + private Long pathLimit; + + public JourneyMapExpandedPrefix() {} + + @JsonCreator + public JourneyMapExpandedPrefix( + @JsonProperty(required = true, value = JSON_PROPERTY_EVENTS) List events) { + this.events = events; + } + + public JourneyMapExpandedPrefix events(List events) { + this.events = events; + return this; + } + + public JourneyMapExpandedPrefix addEventsItem(String eventsItem) { + this.events.add(eventsItem); + return this; + } + + /** + * Events of the expanded path, in order. + * + * @return events + */ + @JsonProperty(JSON_PROPERTY_EVENTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getEvents() { + return events; + } + + public void setEvents(List events) { + this.events = events; + } + + public JourneyMapExpandedPrefix pathLimit(Long pathLimit) { + this.pathLimit = pathLimit; + return this; + } + + /** + * Maximum number of paths shown after the expanded path. minimum: 1 maximum: 10 + * + * @return pathLimit + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PATH_LIMIT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getPathLimit() { + return pathLimit; + } + + public void setPathLimit(Long pathLimit) { + this.pathLimit = pathLimit; + } + + /** Return true if this JourneyMapExpandedPrefix object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JourneyMapExpandedPrefix journeyMapExpandedPrefix = (JourneyMapExpandedPrefix) o; + return Objects.equals(this.events, journeyMapExpandedPrefix.events) + && Objects.equals(this.pathLimit, journeyMapExpandedPrefix.pathLimit); + } + + @Override + public int hashCode() { + return Objects.hash(events, pathLimit); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JourneyMapExpandedPrefix {\n"); + sb.append(" events: ").append(toIndentedString(events)).append("\n"); + sb.append(" pathLimit: ").append(toIndentedString(pathLimit)).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/JourneyMapGroupBy.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapGroupBy.java new file mode 100644 index 00000000000..b06d21d766e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapGroupBy.java @@ -0,0 +1,158 @@ +/* + * 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; + +/** Group by configuration for the Journey Paths widget. */ +@JsonPropertyOrder({ + JourneyMapGroupBy.JSON_PROPERTY_FACET, + JourneyMapGroupBy.JSON_PROPERTY_SOURCE, + JourneyMapGroupBy.JSON_PROPERTY_VALUE_FILTERS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JourneyMapGroupBy { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_FACET = "facet"; + private String facet; + + public static final String JSON_PROPERTY_SOURCE = "source"; + private JourneyMapGroupByAudience source; + + public static final String JSON_PROPERTY_VALUE_FILTERS = "value_filters"; + private List valueFilters = new ArrayList<>(); + + public JourneyMapGroupBy() {} + + @JsonCreator + public JourneyMapGroupBy( + @JsonProperty(required = true, value = JSON_PROPERTY_FACET) String facet, + @JsonProperty(required = true, value = JSON_PROPERTY_VALUE_FILTERS) + List valueFilters) { + this.facet = facet; + this.valueFilters = valueFilters; + } + + public JourneyMapGroupBy facet(String facet) { + this.facet = facet; + return this; + } + + /** + * Facet to group by. Must be a valid tag name. + * + * @return facet + */ + @JsonProperty(JSON_PROPERTY_FACET) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getFacet() { + return facet; + } + + public void setFacet(String facet) { + this.facet = facet; + } + + public JourneyMapGroupBy source(JourneyMapGroupByAudience source) { + this.source = source; + this.unparsed |= !source.isValid(); + return this; + } + + /** + * Audience the group by facet is read from. + * + * @return source + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SOURCE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JourneyMapGroupByAudience getSource() { + return source; + } + + public void setSource(JourneyMapGroupByAudience source) { + if (!source.isValid()) { + this.unparsed = true; + } + this.source = source; + } + + public JourneyMapGroupBy valueFilters(List valueFilters) { + this.valueFilters = valueFilters; + return this; + } + + public JourneyMapGroupBy addValueFiltersItem(String valueFiltersItem) { + this.valueFilters.add(valueFiltersItem); + return this; + } + + /** + * Facet values to keep. + * + * @return valueFilters + */ + @JsonProperty(JSON_PROPERTY_VALUE_FILTERS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getValueFilters() { + return valueFilters; + } + + public void setValueFilters(List valueFilters) { + this.valueFilters = valueFilters; + } + + /** Return true if this JourneyMapGroupBy object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JourneyMapGroupBy journeyMapGroupBy = (JourneyMapGroupBy) o; + return Objects.equals(this.facet, journeyMapGroupBy.facet) + && Objects.equals(this.source, journeyMapGroupBy.source) + && Objects.equals(this.valueFilters, journeyMapGroupBy.valueFilters); + } + + @Override + public int hashCode() { + return Objects.hash(facet, source, valueFilters); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JourneyMapGroupBy {\n"); + sb.append(" facet: ").append(toIndentedString(facet)).append("\n"); + sb.append(" source: ").append(toIndentedString(source)).append("\n"); + sb.append(" valueFilters: ").append(toIndentedString(valueFilters)).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/JourneyMapGroupByAudience.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapGroupByAudience.java new file mode 100644 index 00000000000..de904c030a1 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapGroupByAudience.java @@ -0,0 +1,62 @@ +/* + * 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; + +/** Audience the group by facet is read from. */ +@JsonSerialize(using = JourneyMapGroupByAudience.JourneyMapGroupByAudienceSerializer.class) +public class JourneyMapGroupByAudience extends ModelEnum { + + private static final Set allowedValues = + new HashSet( + Arrays.asList( + "product_analytics_audience_filters.users", + "product_analytics_audience_filters.accounts")); + + public static final JourneyMapGroupByAudience USERS = + new JourneyMapGroupByAudience("product_analytics_audience_filters.users"); + public static final JourneyMapGroupByAudience ACCOUNTS = + new JourneyMapGroupByAudience("product_analytics_audience_filters.accounts"); + + JourneyMapGroupByAudience(String value) { + super(value, allowedValues); + } + + public static class JourneyMapGroupByAudienceSerializer + extends StdSerializer { + public JourneyMapGroupByAudienceSerializer(Class t) { + super(t); + } + + public JourneyMapGroupByAudienceSerializer() { + this(null); + } + + @Override + public void serialize( + JourneyMapGroupByAudience value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static JourneyMapGroupByAudience fromValue(String value) { + return new JourneyMapGroupByAudience(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/JourneyMapQuery.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapQuery.java new file mode 100644 index 00000000000..cbdc100194b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapQuery.java @@ -0,0 +1,437 @@ +/* + * 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.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Journey Paths query definition. */ +@JsonPropertyOrder({ + JourneyMapQuery.JSON_PROPERTY_CONVERSION_TYPE, + JourneyMapQuery.JSON_PROPERTY_COUNTING_METHOD, + JourneyMapQuery.JSON_PROPERTY_DATA_SOURCE, + JourneyMapQuery.JSON_PROPERTY_ENTRIES_PER_STEP, + JourneyMapQuery.JSON_PROPERTY_EVENT_FILTER, + JourneyMapQuery.JSON_PROPERTY_EXPANDED_PREFIXES, + JourneyMapQuery.JSON_PROPERTY_GROUP_BY, + JourneyMapQuery.JSON_PROPERTY_SEARCH, + JourneyMapQuery.JSON_PROPERTY_TARGET +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JourneyMapQuery { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CONVERSION_TYPE = "conversion_type"; + private JourneyMapConversionType conversionType; + + public static final String JSON_PROPERTY_COUNTING_METHOD = "counting_method"; + private JourneyMapCountingMethod countingMethod; + + public static final String JSON_PROPERTY_DATA_SOURCE = "data_source"; + private ProductAnalyticsFunnelDataSource dataSource; + + public static final String JSON_PROPERTY_ENTRIES_PER_STEP = "entries_per_step"; + private Long entriesPerStep; + + public static final String JSON_PROPERTY_EVENT_FILTER = "event_filter"; + private String eventFilter; + + public static final String JSON_PROPERTY_EXPANDED_PREFIXES = "expanded_prefixes"; + private List expandedPrefixes = null; + + public static final String JSON_PROPERTY_GROUP_BY = "group_by"; + private List groupBy = null; + + public static final String JSON_PROPERTY_SEARCH = "search"; + private UserJourneySearch search; + + public static final String JSON_PROPERTY_TARGET = "target"; + private JourneyMapTarget target; + + public JourneyMapQuery() {} + + @JsonCreator + public JourneyMapQuery( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA_SOURCE) + ProductAnalyticsFunnelDataSource dataSource, + @JsonProperty(required = true, value = JSON_PROPERTY_SEARCH) UserJourneySearch search, + @JsonProperty(required = true, value = JSON_PROPERTY_TARGET) JourneyMapTarget target) { + this.dataSource = dataSource; + this.unparsed |= !dataSource.isValid(); + this.search = search; + this.unparsed |= search.unparsed; + this.target = target; + this.unparsed |= target.unparsed; + } + + public JourneyMapQuery conversionType(JourneyMapConversionType conversionType) { + this.conversionType = conversionType; + this.unparsed |= !conversionType.isValid(); + return this; + } + + /** + * Whether to show the paths that convert to the end step or drop off before it. + * + * @return conversionType + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CONVERSION_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JourneyMapConversionType getConversionType() { + return conversionType; + } + + public void setConversionType(JourneyMapConversionType conversionType) { + if (!conversionType.isValid()) { + this.unparsed = true; + } + this.conversionType = conversionType; + } + + public JourneyMapQuery countingMethod(JourneyMapCountingMethod countingMethod) { + this.countingMethod = countingMethod; + this.unparsed |= !countingMethod.isValid(); + return this; + } + + /** + * Whether to count unique journeys or all journeys. + * + * @return countingMethod + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_COUNTING_METHOD) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JourneyMapCountingMethod getCountingMethod() { + return countingMethod; + } + + public void setCountingMethod(JourneyMapCountingMethod countingMethod) { + if (!countingMethod.isValid()) { + this.unparsed = true; + } + this.countingMethod = countingMethod; + } + + public JourneyMapQuery dataSource(ProductAnalyticsFunnelDataSource dataSource) { + this.dataSource = dataSource; + this.unparsed |= !dataSource.isValid(); + return this; + } + + /** + * Data source for user journey funnel queries. + * + * @return dataSource + */ + @JsonProperty(JSON_PROPERTY_DATA_SOURCE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ProductAnalyticsFunnelDataSource getDataSource() { + return dataSource; + } + + public void setDataSource(ProductAnalyticsFunnelDataSource dataSource) { + if (!dataSource.isValid()) { + this.unparsed = true; + } + this.dataSource = dataSource; + } + + public JourneyMapQuery entriesPerStep(Long entriesPerStep) { + this.entriesPerStep = entriesPerStep; + return this; + } + + /** + * Maximum number of paths shown per step. minimum: 1 maximum: 10 + * + * @return entriesPerStep + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENTRIES_PER_STEP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getEntriesPerStep() { + return entriesPerStep; + } + + public void setEntriesPerStep(Long entriesPerStep) { + this.entriesPerStep = entriesPerStep; + } + + public JourneyMapQuery eventFilter(String eventFilter) { + this.eventFilter = eventFilter; + return this; + } + + /** + * Filter applied to the events shown along the paths. + * + * @return eventFilter + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EVENT_FILTER) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEventFilter() { + return eventFilter; + } + + public void setEventFilter(String eventFilter) { + this.eventFilter = eventFilter; + } + + public JourneyMapQuery expandedPrefixes(List expandedPrefixes) { + this.expandedPrefixes = expandedPrefixes; + if (expandedPrefixes != null) { + for (JourneyMapExpandedPrefix item : expandedPrefixes) { + this.unparsed |= item.unparsed; + } + } + return this; + } + + public JourneyMapQuery addExpandedPrefixesItem(JourneyMapExpandedPrefix expandedPrefixesItem) { + if (this.expandedPrefixes == null) { + this.expandedPrefixes = new ArrayList<>(); + } + this.expandedPrefixes.add(expandedPrefixesItem); + this.unparsed |= expandedPrefixesItem.unparsed; + return this; + } + + /** + * Paths expanded to show the events that follow them. + * + * @return expandedPrefixes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EXPANDED_PREFIXES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getExpandedPrefixes() { + return expandedPrefixes; + } + + public void setExpandedPrefixes(List expandedPrefixes) { + this.expandedPrefixes = expandedPrefixes; + if (expandedPrefixes != null) { + for (JourneyMapExpandedPrefix item : expandedPrefixes) { + this.unparsed |= item.unparsed; + } + } + } + + public JourneyMapQuery groupBy(List groupBy) { + this.groupBy = groupBy; + if (groupBy != null) { + for (JourneyMapGroupBy item : groupBy) { + this.unparsed |= item.unparsed; + } + } + return this; + } + + public JourneyMapQuery addGroupByItem(JourneyMapGroupBy groupByItem) { + if (this.groupBy == null) { + this.groupBy = new ArrayList<>(); + } + this.groupBy.add(groupByItem); + this.unparsed |= groupByItem.unparsed; + return this; + } + + /** + * Group by configuration. + * + * @return groupBy + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_GROUP_BY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getGroupBy() { + return groupBy; + } + + public void setGroupBy(List groupBy) { + this.groupBy = groupBy; + if (groupBy != null) { + for (JourneyMapGroupBy item : groupBy) { + this.unparsed |= item.unparsed; + } + } + } + + public JourneyMapQuery search(UserJourneySearch search) { + this.search = search; + this.unparsed |= search.unparsed; + return this; + } + + /** + * User journey search configuration. + * + * @return search + */ + @JsonProperty(JSON_PROPERTY_SEARCH) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UserJourneySearch getSearch() { + return search; + } + + public void setSearch(UserJourneySearch search) { + this.search = search; + if (search != null) { + this.unparsed |= search.unparsed; + } + } + + public JourneyMapQuery target(JourneyMapTarget target) { + this.target = target; + this.unparsed |= target.unparsed; + return this; + } + + /** + * The pair of journey steps the paths are visualized between. + * + * @return target + */ + @JsonProperty(JSON_PROPERTY_TARGET) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JourneyMapTarget getTarget() { + return target; + } + + public void setTarget(JourneyMapTarget target) { + this.target = target; + if (target != null) { + this.unparsed |= target.unparsed; + } + } + + /** + * 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 JourneyMapQuery + */ + @JsonAnySetter + public JourneyMapQuery putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JourneyMapQuery object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JourneyMapQuery journeyMapQuery = (JourneyMapQuery) o; + return Objects.equals(this.conversionType, journeyMapQuery.conversionType) + && Objects.equals(this.countingMethod, journeyMapQuery.countingMethod) + && Objects.equals(this.dataSource, journeyMapQuery.dataSource) + && Objects.equals(this.entriesPerStep, journeyMapQuery.entriesPerStep) + && Objects.equals(this.eventFilter, journeyMapQuery.eventFilter) + && Objects.equals(this.expandedPrefixes, journeyMapQuery.expandedPrefixes) + && Objects.equals(this.groupBy, journeyMapQuery.groupBy) + && Objects.equals(this.search, journeyMapQuery.search) + && Objects.equals(this.target, journeyMapQuery.target) + && Objects.equals(this.additionalProperties, journeyMapQuery.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + conversionType, + countingMethod, + dataSource, + entriesPerStep, + eventFilter, + expandedPrefixes, + groupBy, + search, + target, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JourneyMapQuery {\n"); + sb.append(" conversionType: ").append(toIndentedString(conversionType)).append("\n"); + sb.append(" countingMethod: ").append(toIndentedString(countingMethod)).append("\n"); + sb.append(" dataSource: ").append(toIndentedString(dataSource)).append("\n"); + sb.append(" entriesPerStep: ").append(toIndentedString(entriesPerStep)).append("\n"); + sb.append(" eventFilter: ").append(toIndentedString(eventFilter)).append("\n"); + sb.append(" expandedPrefixes: ").append(toIndentedString(expandedPrefixes)).append("\n"); + sb.append(" groupBy: ").append(toIndentedString(groupBy)).append("\n"); + sb.append(" search: ").append(toIndentedString(search)).append("\n"); + sb.append(" target: ").append(toIndentedString(target)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/JourneyMapRequestType.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapRequestType.java new file mode 100644 index 00000000000..c2cdbef7b0d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapRequestType.java @@ -0,0 +1,55 @@ +/* + * 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; + +/** Request type for the Journey Paths widget. */ +@JsonSerialize(using = JourneyMapRequestType.JourneyMapRequestTypeSerializer.class) +public class JourneyMapRequestType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("journey_map")); + + public static final JourneyMapRequestType JOURNEY_MAP = new JourneyMapRequestType("journey_map"); + + JourneyMapRequestType(String value) { + super(value, allowedValues); + } + + public static class JourneyMapRequestTypeSerializer extends StdSerializer { + public JourneyMapRequestTypeSerializer(Class t) { + super(t); + } + + public JourneyMapRequestTypeSerializer() { + this(null); + } + + @Override + public void serialize( + JourneyMapRequestType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static JourneyMapRequestType fromValue(String value) { + return new JourneyMapRequestType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/JourneyMapTarget.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapTarget.java new file mode 100644 index 00000000000..32bf406365d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapTarget.java @@ -0,0 +1,116 @@ +/* + * 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.Objects; + +/** The pair of journey steps the paths are visualized between. */ +@JsonPropertyOrder({JourneyMapTarget.JSON_PROPERTY_END, JourneyMapTarget.JSON_PROPERTY_START}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JourneyMapTarget { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_END = "end"; + private String end; + + public static final String JSON_PROPERTY_START = "start"; + private String start; + + public JourneyMapTarget() {} + + @JsonCreator + public JourneyMapTarget( + @JsonProperty(required = true, value = JSON_PROPERTY_END) String end, + @JsonProperty(required = true, value = JSON_PROPERTY_START) String start) { + this.end = end; + this.start = start; + } + + public JourneyMapTarget end(String end) { + this.end = end; + return this; + } + + /** + * Key of the end step in search.node_objects. + * + * @return end + */ + @JsonProperty(JSON_PROPERTY_END) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getEnd() { + return end; + } + + public void setEnd(String end) { + this.end = end; + } + + public JourneyMapTarget start(String start) { + this.start = start; + return this; + } + + /** + * Key of the start step in search.node_objects. + * + * @return start + */ + @JsonProperty(JSON_PROPERTY_START) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + /** Return true if this JourneyMapTarget object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JourneyMapTarget journeyMapTarget = (JourneyMapTarget) o; + return Objects.equals(this.end, journeyMapTarget.end) + && Objects.equals(this.start, journeyMapTarget.start); + } + + @Override + public int hashCode() { + return Objects.hash(end, start); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JourneyMapTarget {\n"); + sb.append(" end: ").append(toIndentedString(end)).append("\n"); + sb.append(" start: ").append(toIndentedString(start)).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/JourneyMapWidgetDefinition.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetDefinition.java new file mode 100644 index 00000000000..09734d98329 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetDefinition.java @@ -0,0 +1,291 @@ +/* + * 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; + +/** + * The Journey Paths widget visualizes the paths users take between two steps of a Product Analytics + * journey. + */ +@JsonPropertyOrder({ + JourneyMapWidgetDefinition.JSON_PROPERTY_DESCRIPTION, + JourneyMapWidgetDefinition.JSON_PROPERTY_REQUESTS, + JourneyMapWidgetDefinition.JSON_PROPERTY_TIME, + JourneyMapWidgetDefinition.JSON_PROPERTY_TITLE, + JourneyMapWidgetDefinition.JSON_PROPERTY_TITLE_ALIGN, + JourneyMapWidgetDefinition.JSON_PROPERTY_TITLE_SIZE, + JourneyMapWidgetDefinition.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JourneyMapWidgetDefinition { + @JsonIgnore public boolean unparsed = false; + 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 JourneyMapWidgetDefinitionType type = JourneyMapWidgetDefinitionType.JOURNEY_MAP; + + public JourneyMapWidgetDefinition() {} + + @JsonCreator + public JourneyMapWidgetDefinition( + @JsonProperty(required = true, value = JSON_PROPERTY_REQUESTS) + List requests, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + JourneyMapWidgetDefinitionType type) { + this.requests = requests; + for (JourneyMapWidgetRequest item : requests) { + this.unparsed |= item.unparsed; + } + this.type = type; + this.unparsed |= !type.isValid(); + } + + public JourneyMapWidgetDefinition 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 JourneyMapWidgetDefinition requests(List requests) { + this.requests = requests; + for (JourneyMapWidgetRequest item : requests) { + this.unparsed |= item.unparsed; + } + return this; + } + + public JourneyMapWidgetDefinition addRequestsItem(JourneyMapWidgetRequest requestsItem) { + this.requests.add(requestsItem); + this.unparsed |= requestsItem.unparsed; + return this; + } + + /** + * List of Journey Paths widget requests. Exactly one request is supported. + * + * @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 (JourneyMapWidgetRequest item : requests) { + this.unparsed |= item.unparsed; + } + } + } + + public JourneyMapWidgetDefinition 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 JourneyMapWidgetDefinition 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 JourneyMapWidgetDefinition 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 JourneyMapWidgetDefinition 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 JourneyMapWidgetDefinition type(JourneyMapWidgetDefinitionType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type of the Journey Paths widget. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JourneyMapWidgetDefinitionType getType() { + return type; + } + + public void setType(JourneyMapWidgetDefinitionType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** Return true if this JourneyMapWidgetDefinition object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JourneyMapWidgetDefinition journeyMapWidgetDefinition = (JourneyMapWidgetDefinition) o; + return Objects.equals(this.description, journeyMapWidgetDefinition.description) + && Objects.equals(this.requests, journeyMapWidgetDefinition.requests) + && Objects.equals(this.time, journeyMapWidgetDefinition.time) + && Objects.equals(this.title, journeyMapWidgetDefinition.title) + && Objects.equals(this.titleAlign, journeyMapWidgetDefinition.titleAlign) + && Objects.equals(this.titleSize, journeyMapWidgetDefinition.titleSize) + && Objects.equals(this.type, journeyMapWidgetDefinition.type); + } + + @Override + public int hashCode() { + return Objects.hash(description, requests, time, title, titleAlign, titleSize, type); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JourneyMapWidgetDefinition {\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/JourneyMapWidgetDefinitionType.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetDefinitionType.java new file mode 100644 index 00000000000..3b2c0cfb9f8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetDefinitionType.java @@ -0,0 +1,58 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v1.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Type of the Journey Paths widget. */ +@JsonSerialize( + using = JourneyMapWidgetDefinitionType.JourneyMapWidgetDefinitionTypeSerializer.class) +public class JourneyMapWidgetDefinitionType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("journey_map")); + + public static final JourneyMapWidgetDefinitionType JOURNEY_MAP = + new JourneyMapWidgetDefinitionType("journey_map"); + + JourneyMapWidgetDefinitionType(String value) { + super(value, allowedValues); + } + + public static class JourneyMapWidgetDefinitionTypeSerializer + extends StdSerializer { + public JourneyMapWidgetDefinitionTypeSerializer(Class t) { + super(t); + } + + public JourneyMapWidgetDefinitionTypeSerializer() { + this(null); + } + + @Override + public void serialize( + JourneyMapWidgetDefinitionType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static JourneyMapWidgetDefinitionType fromValue(String value) { + return new JourneyMapWidgetDefinitionType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetRequest.java b/src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetRequest.java new file mode 100644 index 00000000000..c3746065baf --- /dev/null +++ b/src/main/java/com/datadog/api/client/v1/model/JourneyMapWidgetRequest.java @@ -0,0 +1,130 @@ +/* + * 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.Objects; + +/** Journey Paths widget request. */ +@JsonPropertyOrder({ + JourneyMapWidgetRequest.JSON_PROPERTY_QUERY, + JourneyMapWidgetRequest.JSON_PROPERTY_REQUEST_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JourneyMapWidgetRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_QUERY = "query"; + private JourneyMapQuery query; + + public static final String JSON_PROPERTY_REQUEST_TYPE = "request_type"; + private JourneyMapRequestType requestType; + + public JourneyMapWidgetRequest() {} + + @JsonCreator + public JourneyMapWidgetRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_QUERY) JourneyMapQuery query, + @JsonProperty(required = true, value = JSON_PROPERTY_REQUEST_TYPE) + JourneyMapRequestType requestType) { + this.query = query; + this.unparsed |= query.unparsed; + this.requestType = requestType; + this.unparsed |= !requestType.isValid(); + } + + public JourneyMapWidgetRequest query(JourneyMapQuery query) { + this.query = query; + this.unparsed |= query.unparsed; + return this; + } + + /** + * Journey Paths query definition. + * + * @return query + */ + @JsonProperty(JSON_PROPERTY_QUERY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JourneyMapQuery getQuery() { + return query; + } + + public void setQuery(JourneyMapQuery query) { + this.query = query; + if (query != null) { + this.unparsed |= query.unparsed; + } + } + + public JourneyMapWidgetRequest requestType(JourneyMapRequestType requestType) { + this.requestType = requestType; + this.unparsed |= !requestType.isValid(); + return this; + } + + /** + * Request type for the Journey Paths widget. + * + * @return requestType + */ + @JsonProperty(JSON_PROPERTY_REQUEST_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JourneyMapRequestType getRequestType() { + return requestType; + } + + public void setRequestType(JourneyMapRequestType requestType) { + if (!requestType.isValid()) { + this.unparsed = true; + } + this.requestType = requestType; + } + + /** Return true if this JourneyMapWidgetRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JourneyMapWidgetRequest journeyMapWidgetRequest = (JourneyMapWidgetRequest) o; + return Objects.equals(this.query, journeyMapWidgetRequest.query) + && Objects.equals(this.requestType, journeyMapWidgetRequest.requestType); + } + + @Override + public int hashCode() { + return Objects.hash(query, requestType); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JourneyMapWidgetRequest {\n"); + sb.append(" query: ").append(toIndentedString(query)).append("\n"); + sb.append(" requestType: ").append(toIndentedString(requestType)).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/WidgetDefinition.java b/src/main/java/com/datadog/api/client/v1/model/WidgetDefinition.java index 4e27489c5aa..54c8f5f6773 100644 --- a/src/main/java/com/datadog/api/client/v1/model/WidgetDefinition.java +++ b/src/main/java/com/datadog/api/client/v1/model/WidgetDefinition.java @@ -983,6 +983,51 @@ public WidgetDefinition deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'ImageWidgetDefinition'", e); } + // deserialize JourneyMapWidgetDefinition + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (JourneyMapWidgetDefinition.class.equals(Integer.class) + || JourneyMapWidgetDefinition.class.equals(Long.class) + || JourneyMapWidgetDefinition.class.equals(Float.class) + || JourneyMapWidgetDefinition.class.equals(Double.class) + || JourneyMapWidgetDefinition.class.equals(Boolean.class) + || JourneyMapWidgetDefinition.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((JourneyMapWidgetDefinition.class.equals(Integer.class) + || JourneyMapWidgetDefinition.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((JourneyMapWidgetDefinition.class.equals(Float.class) + || JourneyMapWidgetDefinition.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (JourneyMapWidgetDefinition.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (JourneyMapWidgetDefinition.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(JourneyMapWidgetDefinition.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 (!((JourneyMapWidgetDefinition) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'JourneyMapWidgetDefinition'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'JourneyMapWidgetDefinition'", e); + } + // deserialize ListStreamWidgetDefinition try { boolean attemptParsing = true; @@ -2150,6 +2195,11 @@ public WidgetDefinition(ImageWidgetDefinition o) { setActualInstance(o); } + public WidgetDefinition(JourneyMapWidgetDefinition o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + public WidgetDefinition(ListStreamWidgetDefinition o) { super("oneOf", Boolean.FALSE); setActualInstance(o); @@ -2289,6 +2339,7 @@ public WidgetDefinition(WildcardWidgetDefinition o) { schemas.put("HostMapWidgetDefinition", new GenericType() {}); schemas.put("IFrameWidgetDefinition", new GenericType() {}); schemas.put("ImageWidgetDefinition", new GenericType() {}); + schemas.put("JourneyMapWidgetDefinition", new GenericType() {}); schemas.put("ListStreamWidgetDefinition", new GenericType() {}); schemas.put("LogStreamWidgetDefinition", new GenericType() {}); schemas.put( @@ -2332,14 +2383,14 @@ public Map getSchemas() { * FunnelWidgetDefinition, ProductAnalyticsFunnelWidgetDefinition, GeomapWidgetDefinition, * GroupWidgetDefinition, HeatgridWidgetDefinition, HeatMapWidgetDefinition, * HostMapWidgetDefinition, IFrameWidgetDefinition, ImageWidgetDefinition, - * ListStreamWidgetDefinition, LogStreamWidgetDefinition, MonitorSummaryWidgetDefinition, - * NoteWidgetDefinition, PowerpackWidgetDefinition, PointPlotWidgetDefinition, - * QueryValueWidgetDefinition, RetentionCurveWidgetDefinition, RunWorkflowWidgetDefinition, - * SLOListWidgetDefinition, SLOWidgetDefinition, ScatterPlotWidgetDefinition, - * SankeyWidgetDefinition, ServiceMapWidgetDefinition, ServiceSummaryWidgetDefinition, - * SplitGraphWidgetDefinition, SunburstWidgetDefinition, TableWidgetDefinition, - * TimeseriesWidgetDefinition, ToplistWidgetDefinition, TopologyMapWidgetDefinition, - * TreeMapWidgetDefinition, WildcardWidgetDefinition + * JourneyMapWidgetDefinition, ListStreamWidgetDefinition, LogStreamWidgetDefinition, + * MonitorSummaryWidgetDefinition, NoteWidgetDefinition, PowerpackWidgetDefinition, + * PointPlotWidgetDefinition, QueryValueWidgetDefinition, RetentionCurveWidgetDefinition, + * RunWorkflowWidgetDefinition, SLOListWidgetDefinition, SLOWidgetDefinition, + * ScatterPlotWidgetDefinition, SankeyWidgetDefinition, ServiceMapWidgetDefinition, + * ServiceSummaryWidgetDefinition, SplitGraphWidgetDefinition, SunburstWidgetDefinition, + * TableWidgetDefinition, TimeseriesWidgetDefinition, ToplistWidgetDefinition, + * TopologyMapWidgetDefinition, TreeMapWidgetDefinition, WildcardWidgetDefinition * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a * composed schema (allOf, anyOf, oneOf). @@ -2427,6 +2478,10 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(JourneyMapWidgetDefinition.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(ListStreamWidgetDefinition.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -2536,7 +2591,7 @@ public void setActualInstance(Object instance) { + " ProductAnalyticsFunnelWidgetDefinition, GeomapWidgetDefinition," + " GroupWidgetDefinition, HeatgridWidgetDefinition, HeatMapWidgetDefinition," + " HostMapWidgetDefinition, IFrameWidgetDefinition, ImageWidgetDefinition," - + " ListStreamWidgetDefinition, LogStreamWidgetDefinition," + + " JourneyMapWidgetDefinition, ListStreamWidgetDefinition, LogStreamWidgetDefinition," + " MonitorSummaryWidgetDefinition, NoteWidgetDefinition, PowerpackWidgetDefinition," + " PointPlotWidgetDefinition, QueryValueWidgetDefinition," + " RetentionCurveWidgetDefinition, RunWorkflowWidgetDefinition," @@ -2555,14 +2610,15 @@ public void setActualInstance(Object instance) { * FreeTextWidgetDefinition, FunnelWidgetDefinition, ProductAnalyticsFunnelWidgetDefinition, * GeomapWidgetDefinition, GroupWidgetDefinition, HeatgridWidgetDefinition, * HeatMapWidgetDefinition, HostMapWidgetDefinition, IFrameWidgetDefinition, - * ImageWidgetDefinition, ListStreamWidgetDefinition, LogStreamWidgetDefinition, - * MonitorSummaryWidgetDefinition, NoteWidgetDefinition, PowerpackWidgetDefinition, - * PointPlotWidgetDefinition, QueryValueWidgetDefinition, RetentionCurveWidgetDefinition, - * RunWorkflowWidgetDefinition, SLOListWidgetDefinition, SLOWidgetDefinition, - * ScatterPlotWidgetDefinition, SankeyWidgetDefinition, ServiceMapWidgetDefinition, - * ServiceSummaryWidgetDefinition, SplitGraphWidgetDefinition, SunburstWidgetDefinition, - * TableWidgetDefinition, TimeseriesWidgetDefinition, ToplistWidgetDefinition, - * TopologyMapWidgetDefinition, TreeMapWidgetDefinition, WildcardWidgetDefinition + * ImageWidgetDefinition, JourneyMapWidgetDefinition, ListStreamWidgetDefinition, + * LogStreamWidgetDefinition, MonitorSummaryWidgetDefinition, NoteWidgetDefinition, + * PowerpackWidgetDefinition, PointPlotWidgetDefinition, QueryValueWidgetDefinition, + * RetentionCurveWidgetDefinition, RunWorkflowWidgetDefinition, SLOListWidgetDefinition, + * SLOWidgetDefinition, ScatterPlotWidgetDefinition, SankeyWidgetDefinition, + * ServiceMapWidgetDefinition, ServiceSummaryWidgetDefinition, SplitGraphWidgetDefinition, + * SunburstWidgetDefinition, TableWidgetDefinition, TimeseriesWidgetDefinition, + * ToplistWidgetDefinition, TopologyMapWidgetDefinition, TreeMapWidgetDefinition, + * WildcardWidgetDefinition * * @return The actual instance (AlertGraphWidgetDefinition, AlertValueWidgetDefinition, * BarChartWidgetDefinition, ChangeWidgetDefinition, CheckStatusWidgetDefinition, @@ -2571,14 +2627,14 @@ public void setActualInstance(Object instance) { * FunnelWidgetDefinition, ProductAnalyticsFunnelWidgetDefinition, GeomapWidgetDefinition, * GroupWidgetDefinition, HeatgridWidgetDefinition, HeatMapWidgetDefinition, * HostMapWidgetDefinition, IFrameWidgetDefinition, ImageWidgetDefinition, - * ListStreamWidgetDefinition, LogStreamWidgetDefinition, MonitorSummaryWidgetDefinition, - * NoteWidgetDefinition, PowerpackWidgetDefinition, PointPlotWidgetDefinition, - * QueryValueWidgetDefinition, RetentionCurveWidgetDefinition, RunWorkflowWidgetDefinition, - * SLOListWidgetDefinition, SLOWidgetDefinition, ScatterPlotWidgetDefinition, - * SankeyWidgetDefinition, ServiceMapWidgetDefinition, ServiceSummaryWidgetDefinition, - * SplitGraphWidgetDefinition, SunburstWidgetDefinition, TableWidgetDefinition, - * TimeseriesWidgetDefinition, ToplistWidgetDefinition, TopologyMapWidgetDefinition, - * TreeMapWidgetDefinition, WildcardWidgetDefinition) + * JourneyMapWidgetDefinition, ListStreamWidgetDefinition, LogStreamWidgetDefinition, + * MonitorSummaryWidgetDefinition, NoteWidgetDefinition, PowerpackWidgetDefinition, + * PointPlotWidgetDefinition, QueryValueWidgetDefinition, RetentionCurveWidgetDefinition, + * RunWorkflowWidgetDefinition, SLOListWidgetDefinition, SLOWidgetDefinition, + * ScatterPlotWidgetDefinition, SankeyWidgetDefinition, ServiceMapWidgetDefinition, + * ServiceSummaryWidgetDefinition, SplitGraphWidgetDefinition, SunburstWidgetDefinition, + * TableWidgetDefinition, TimeseriesWidgetDefinition, ToplistWidgetDefinition, + * TopologyMapWidgetDefinition, TreeMapWidgetDefinition, WildcardWidgetDefinition) */ @Override public Object getActualInstance() { @@ -2807,6 +2863,17 @@ public ImageWidgetDefinition getImageWidgetDefinition() throws ClassCastExceptio return (ImageWidgetDefinition) super.getActualInstance(); } + /** + * Get the actual instance of `JourneyMapWidgetDefinition`. If the actual instance is not + * `JourneyMapWidgetDefinition`, the ClassCastException will be thrown. + * + * @return The actual instance of `JourneyMapWidgetDefinition` + * @throws ClassCastException if the instance is not `JourneyMapWidgetDefinition` + */ + public JourneyMapWidgetDefinition getJourneyMapWidgetDefinition() throws ClassCastException { + return (JourneyMapWidgetDefinition) super.getActualInstance(); + } + /** * Get the actual instance of `ListStreamWidgetDefinition`. If the actual instance is not * `ListStreamWidgetDefinition`, the ClassCastException will be thrown.