Skip to content

Commit dcc8389

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Revert "Remove duplicate MonitorFormulaAndFunctionCostDataSource schema" (#3642)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent f0eca9f commit dcc8389

File tree

4 files changed

+88
-10
lines changed

4 files changed

+88
-10
lines changed

.generator/schemas/v1/openapi.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7524,13 +7524,25 @@ components:
75247524
- L2NORM
75257525
- PERCENTILE
75267526
- STDDEV
7527+
MonitorFormulaAndFunctionCostDataSource:
7528+
description: Data source for cost queries.
7529+
enum:
7530+
- metrics
7531+
- cloud_cost
7532+
- datadog_usage
7533+
example: "cloud_cost"
7534+
type: string
7535+
x-enum-varnames:
7536+
- METRICS
7537+
- CLOUD_COST
7538+
- DATADOG_USAGE
75277539
MonitorFormulaAndFunctionCostQueryDefinition:
75287540
description: A formula and functions cost query.
75297541
properties:
75307542
aggregator:
75317543
$ref: "#/components/schemas/MonitorFormulaAndFunctionCostAggregator"
75327544
data_source:
7533-
$ref: "#/components/schemas/MonitorFormulaAndFunctionMetricsDataSource"
7545+
$ref: "#/components/schemas/MonitorFormulaAndFunctionCostDataSource"
75347546
name:
75357547
description: Name of the query for use in formulas.
75367548
example: "query1"

examples/v1/monitors/CreateMonitor_1303514967.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import com.datadog.api.client.v1.api.MonitorsApi;
66
import com.datadog.api.client.v1.model.Monitor;
77
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionCostAggregator;
8+
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionCostDataSource;
89
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionCostQueryDefinition;
9-
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionMetricsDataSource;
1010
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionQueryDefinition;
1111
import com.datadog.api.client.v1.model.MonitorOptions;
1212
import com.datadog.api.client.v1.model.MonitorThresholds;
@@ -37,8 +37,7 @@ public static void main(String[] args) {
3737
Collections.singletonList(
3838
new MonitorFormulaAndFunctionQueryDefinition(
3939
new MonitorFormulaAndFunctionCostQueryDefinition()
40-
.dataSource(
41-
MonitorFormulaAndFunctionMetricsDataSource.CLOUD_COST)
40+
.dataSource(MonitorFormulaAndFunctionCostDataSource.CLOUD_COST)
4241
.query(
4342
"sum:aws.cost.net.amortized.shared.resources.allocated{aws_product"
4443
+ " IN (amplify ,athena, backup, bedrock ) } by"
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/*
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2019-Present Datadog, Inc.
5+
*/
6+
7+
package com.datadog.api.client.v1.model;
8+
9+
import com.datadog.api.client.ModelEnum;
10+
import com.fasterxml.jackson.annotation.JsonCreator;
11+
import com.fasterxml.jackson.core.JsonGenerator;
12+
import com.fasterxml.jackson.core.JsonProcessingException;
13+
import com.fasterxml.jackson.databind.SerializerProvider;
14+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
15+
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
16+
import java.io.IOException;
17+
import java.util.Arrays;
18+
import java.util.HashSet;
19+
import java.util.Set;
20+
21+
/** Data source for cost queries. */
22+
@JsonSerialize(
23+
using =
24+
MonitorFormulaAndFunctionCostDataSource.MonitorFormulaAndFunctionCostDataSourceSerializer
25+
.class)
26+
public class MonitorFormulaAndFunctionCostDataSource extends ModelEnum<String> {
27+
28+
private static final Set<String> allowedValues =
29+
new HashSet<String>(Arrays.asList("metrics", "cloud_cost", "datadog_usage"));
30+
31+
public static final MonitorFormulaAndFunctionCostDataSource METRICS =
32+
new MonitorFormulaAndFunctionCostDataSource("metrics");
33+
public static final MonitorFormulaAndFunctionCostDataSource CLOUD_COST =
34+
new MonitorFormulaAndFunctionCostDataSource("cloud_cost");
35+
public static final MonitorFormulaAndFunctionCostDataSource DATADOG_USAGE =
36+
new MonitorFormulaAndFunctionCostDataSource("datadog_usage");
37+
38+
MonitorFormulaAndFunctionCostDataSource(String value) {
39+
super(value, allowedValues);
40+
}
41+
42+
public static class MonitorFormulaAndFunctionCostDataSourceSerializer
43+
extends StdSerializer<MonitorFormulaAndFunctionCostDataSource> {
44+
public MonitorFormulaAndFunctionCostDataSourceSerializer(
45+
Class<MonitorFormulaAndFunctionCostDataSource> t) {
46+
super(t);
47+
}
48+
49+
public MonitorFormulaAndFunctionCostDataSourceSerializer() {
50+
this(null);
51+
}
52+
53+
@Override
54+
public void serialize(
55+
MonitorFormulaAndFunctionCostDataSource value,
56+
JsonGenerator jgen,
57+
SerializerProvider provider)
58+
throws IOException, JsonProcessingException {
59+
jgen.writeObject(value.value);
60+
}
61+
}
62+
63+
@JsonCreator
64+
public static MonitorFormulaAndFunctionCostDataSource fromValue(String value) {
65+
return new MonitorFormulaAndFunctionCostDataSource(value);
66+
}
67+
}

src/main/java/com/datadog/api/client/v1/model/MonitorFormulaAndFunctionCostQueryDefinition.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class MonitorFormulaAndFunctionCostQueryDefinition {
3232
private MonitorFormulaAndFunctionCostAggregator aggregator;
3333

3434
public static final String JSON_PROPERTY_DATA_SOURCE = "data_source";
35-
private MonitorFormulaAndFunctionMetricsDataSource dataSource;
35+
private MonitorFormulaAndFunctionCostDataSource dataSource;
3636

3737
public static final String JSON_PROPERTY_NAME = "name";
3838
private String name;
@@ -45,7 +45,7 @@ public MonitorFormulaAndFunctionCostQueryDefinition() {}
4545
@JsonCreator
4646
public MonitorFormulaAndFunctionCostQueryDefinition(
4747
@JsonProperty(required = true, value = JSON_PROPERTY_DATA_SOURCE)
48-
MonitorFormulaAndFunctionMetricsDataSource dataSource,
48+
MonitorFormulaAndFunctionCostDataSource dataSource,
4949
@JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name,
5050
@JsonProperty(required = true, value = JSON_PROPERTY_QUERY) String query) {
5151
this.dataSource = dataSource;
@@ -81,24 +81,24 @@ public void setAggregator(MonitorFormulaAndFunctionCostAggregator aggregator) {
8181
}
8282

8383
public MonitorFormulaAndFunctionCostQueryDefinition dataSource(
84-
MonitorFormulaAndFunctionMetricsDataSource dataSource) {
84+
MonitorFormulaAndFunctionCostDataSource dataSource) {
8585
this.dataSource = dataSource;
8686
this.unparsed |= !dataSource.isValid();
8787
return this;
8888
}
8989

9090
/**
91-
* Data source for metrics queries.
91+
* Data source for cost queries.
9292
*
9393
* @return dataSource
9494
*/
9595
@JsonProperty(JSON_PROPERTY_DATA_SOURCE)
9696
@JsonInclude(value = JsonInclude.Include.ALWAYS)
97-
public MonitorFormulaAndFunctionMetricsDataSource getDataSource() {
97+
public MonitorFormulaAndFunctionCostDataSource getDataSource() {
9898
return dataSource;
9999
}
100100

101-
public void setDataSource(MonitorFormulaAndFunctionMetricsDataSource dataSource) {
101+
public void setDataSource(MonitorFormulaAndFunctionCostDataSource dataSource) {
102102
if (!dataSource.isValid()) {
103103
this.unparsed = true;
104104
}

0 commit comments

Comments
 (0)