Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .generator/schemas/v1/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7524,13 +7524,25 @@ components:
- L2NORM
- PERCENTILE
- STDDEV
MonitorFormulaAndFunctionCostDataSource:
description: Data source for cost queries.
enum:
- metrics
- cloud_cost
- datadog_usage
example: "cloud_cost"
type: string
x-enum-varnames:
- METRICS
- CLOUD_COST
- DATADOG_USAGE
MonitorFormulaAndFunctionCostQueryDefinition:
description: A formula and functions cost query.
properties:
aggregator:
$ref: "#/components/schemas/MonitorFormulaAndFunctionCostAggregator"
data_source:
$ref: "#/components/schemas/MonitorFormulaAndFunctionMetricsDataSource"
$ref: "#/components/schemas/MonitorFormulaAndFunctionCostDataSource"
name:
description: Name of the query for use in formulas.
example: "query1"
Expand Down
5 changes: 2 additions & 3 deletions examples/v1/monitors/CreateMonitor_1303514967.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import com.datadog.api.client.v1.api.MonitorsApi;
import com.datadog.api.client.v1.model.Monitor;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionCostAggregator;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionCostDataSource;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionCostQueryDefinition;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionMetricsDataSource;
import com.datadog.api.client.v1.model.MonitorFormulaAndFunctionQueryDefinition;
import com.datadog.api.client.v1.model.MonitorOptions;
import com.datadog.api.client.v1.model.MonitorThresholds;
Expand Down Expand Up @@ -37,8 +37,7 @@ public static void main(String[] args) {
Collections.singletonList(
new MonitorFormulaAndFunctionQueryDefinition(
new MonitorFormulaAndFunctionCostQueryDefinition()
.dataSource(
MonitorFormulaAndFunctionMetricsDataSource.CLOUD_COST)
.dataSource(MonitorFormulaAndFunctionCostDataSource.CLOUD_COST)
.query(
"sum:aws.cost.net.amortized.shared.resources.allocated{aws_product"
+ " IN (amplify ,athena, backup, bedrock ) } by"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
* 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;

/** Data source for cost queries. */
@JsonSerialize(
using =
MonitorFormulaAndFunctionCostDataSource.MonitorFormulaAndFunctionCostDataSourceSerializer
.class)
public class MonitorFormulaAndFunctionCostDataSource extends ModelEnum<String> {

private static final Set<String> allowedValues =
new HashSet<String>(Arrays.asList("metrics", "cloud_cost", "datadog_usage"));

public static final MonitorFormulaAndFunctionCostDataSource METRICS =
new MonitorFormulaAndFunctionCostDataSource("metrics");
public static final MonitorFormulaAndFunctionCostDataSource CLOUD_COST =
new MonitorFormulaAndFunctionCostDataSource("cloud_cost");
public static final MonitorFormulaAndFunctionCostDataSource DATADOG_USAGE =
new MonitorFormulaAndFunctionCostDataSource("datadog_usage");

MonitorFormulaAndFunctionCostDataSource(String value) {
super(value, allowedValues);
}

public static class MonitorFormulaAndFunctionCostDataSourceSerializer
extends StdSerializer<MonitorFormulaAndFunctionCostDataSource> {
public MonitorFormulaAndFunctionCostDataSourceSerializer(
Class<MonitorFormulaAndFunctionCostDataSource> t) {
super(t);
}

public MonitorFormulaAndFunctionCostDataSourceSerializer() {
this(null);
}

@Override
public void serialize(
MonitorFormulaAndFunctionCostDataSource value,
JsonGenerator jgen,
SerializerProvider provider)
throws IOException, JsonProcessingException {
jgen.writeObject(value.value);
}
}

@JsonCreator
public static MonitorFormulaAndFunctionCostDataSource fromValue(String value) {
return new MonitorFormulaAndFunctionCostDataSource(value);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public class MonitorFormulaAndFunctionCostQueryDefinition {
private MonitorFormulaAndFunctionCostAggregator aggregator;

public static final String JSON_PROPERTY_DATA_SOURCE = "data_source";
private MonitorFormulaAndFunctionMetricsDataSource dataSource;
private MonitorFormulaAndFunctionCostDataSource dataSource;

public static final String JSON_PROPERTY_NAME = "name";
private String name;
Expand All @@ -45,7 +45,7 @@ public MonitorFormulaAndFunctionCostQueryDefinition() {}
@JsonCreator
public MonitorFormulaAndFunctionCostQueryDefinition(
@JsonProperty(required = true, value = JSON_PROPERTY_DATA_SOURCE)
MonitorFormulaAndFunctionMetricsDataSource dataSource,
MonitorFormulaAndFunctionCostDataSource dataSource,
@JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name,
@JsonProperty(required = true, value = JSON_PROPERTY_QUERY) String query) {
this.dataSource = dataSource;
Expand Down Expand Up @@ -81,24 +81,24 @@ public void setAggregator(MonitorFormulaAndFunctionCostAggregator aggregator) {
}

public MonitorFormulaAndFunctionCostQueryDefinition dataSource(
MonitorFormulaAndFunctionMetricsDataSource dataSource) {
MonitorFormulaAndFunctionCostDataSource dataSource) {
this.dataSource = dataSource;
this.unparsed |= !dataSource.isValid();
return this;
}

/**
* Data source for metrics queries.
* Data source for cost queries.
*
* @return dataSource
*/
@JsonProperty(JSON_PROPERTY_DATA_SOURCE)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public MonitorFormulaAndFunctionMetricsDataSource getDataSource() {
public MonitorFormulaAndFunctionCostDataSource getDataSource() {
return dataSource;
}

public void setDataSource(MonitorFormulaAndFunctionMetricsDataSource dataSource) {
public void setDataSource(MonitorFormulaAndFunctionCostDataSource dataSource) {
if (!dataSource.isValid()) {
this.unparsed = true;
}
Expand Down
Loading