Skip to content

Commit 5c36e40

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Regenerate client from commit 2e9da5b of spec repo (#4199)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 3d3a31c commit 5c36e40

11 files changed

Lines changed: 508 additions & 4 deletions

‎.generator/schemas/v2/openapi.yaml‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68104,6 +68104,8 @@ components:
6810468104
additionalProperties: false
6810568105
description: Attributes of the monitor notification rule.
6810668106
properties:
68107+
bundle_config:
68108+
$ref: "#/components/schemas/MonitorNotificationRuleBundleConfig"
6810768109
conditional_recipients:
6810868110
$ref: "#/components/schemas/MonitorNotificationRuleConditionalRecipients"
6810968111
filter:
@@ -68114,6 +68116,19 @@ components:
6811468116
$ref: "#/components/schemas/MonitorNotificationRuleRecipients"
6811568117
required: [name]
6811668118
type: object
68119+
MonitorNotificationRuleBundleConfig:
68120+
description: |-
68121+
Use bundle config to enable alert bundling to reduce monitor signal noises. **Note**: This feature is in preview and is subject to change.
68122+
If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
68123+
properties:
68124+
duration:
68125+
description: Duration of the bundling period.
68126+
example: 3600
68127+
format: int32
68128+
maximum: 2147483647
68129+
type: integer
68130+
required: [duration]
68131+
type: object
6811768132
MonitorNotificationRuleCondition:
6811868133
description: |-
6811968134
A conditional recipient rule composed of a `scope` (the matching condition) and
@@ -68296,6 +68311,8 @@ components:
6829668311
additionalProperties: {}
6829768312
description: Attributes of the monitor notification rule.
6829868313
properties:
68314+
bundle_config:
68315+
$ref: "#/components/schemas/MonitorNotificationRuleBundleConfig"
6829968316
conditional_recipients:
6830068317
$ref: "#/components/schemas/MonitorNotificationRuleConditionalRecipients"
6830168318
created:
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Create a monitor notification rule with bundle config returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.MonitorsApi;
6+
import com.datadog.api.client.v2.model.MonitorNotificationRuleAttributes;
7+
import com.datadog.api.client.v2.model.MonitorNotificationRuleBundleConfig;
8+
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequest;
9+
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequestData;
10+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilter;
11+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilterTags;
12+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResourceType;
13+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResponse;
14+
import java.util.Collections;
15+
16+
public class Example {
17+
public static void main(String[] args) {
18+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
19+
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
20+
21+
MonitorNotificationRuleCreateRequest body =
22+
new MonitorNotificationRuleCreateRequest()
23+
.data(
24+
new MonitorNotificationRuleCreateRequestData()
25+
.attributes(
26+
new MonitorNotificationRuleAttributes()
27+
.filter(
28+
new MonitorNotificationRuleFilter(
29+
new MonitorNotificationRuleFilterTags()
30+
.tags(Collections.singletonList("test:example-monitor"))))
31+
.name("test rule")
32+
.recipients(Collections.singletonList("slack-test-channel"))
33+
.bundleConfig(new MonitorNotificationRuleBundleConfig().duration(3600)))
34+
.type(MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE));
35+
36+
try {
37+
MonitorNotificationRuleResponse result = apiInstance.createMonitorNotificationRule(body);
38+
System.out.println(result);
39+
} catch (ApiException e) {
40+
System.err.println("Exception when calling MonitorsApi#createMonitorNotificationRule");
41+
System.err.println("Status code: " + e.getCode());
42+
System.err.println("Reason: " + e.getResponseBody());
43+
System.err.println("Response headers: " + e.getResponseHeaders());
44+
e.printStackTrace();
45+
}
46+
}
47+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// Update a monitor notification rule with bundle config returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.MonitorsApi;
6+
import com.datadog.api.client.v2.model.MonitorNotificationRuleAttributes;
7+
import com.datadog.api.client.v2.model.MonitorNotificationRuleBundleConfig;
8+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilter;
9+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilterTags;
10+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResourceType;
11+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResponse;
12+
import com.datadog.api.client.v2.model.MonitorNotificationRuleUpdateRequest;
13+
import com.datadog.api.client.v2.model.MonitorNotificationRuleUpdateRequestData;
14+
import java.util.Collections;
15+
16+
public class Example {
17+
public static void main(String[] args) {
18+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
19+
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
20+
21+
// there is a valid "monitor_notification_rule" in the system
22+
String MONITOR_NOTIFICATION_RULE_DATA_ID = System.getenv("MONITOR_NOTIFICATION_RULE_DATA_ID");
23+
24+
MonitorNotificationRuleUpdateRequest body =
25+
new MonitorNotificationRuleUpdateRequest()
26+
.data(
27+
new MonitorNotificationRuleUpdateRequestData()
28+
.attributes(
29+
new MonitorNotificationRuleAttributes()
30+
.filter(
31+
new MonitorNotificationRuleFilter(
32+
new MonitorNotificationRuleFilterTags()
33+
.tags(Collections.singletonList("test:example-monitor"))))
34+
.name("updated rule")
35+
.recipients(Collections.singletonList("slack-test-channel"))
36+
.bundleConfig(new MonitorNotificationRuleBundleConfig().duration(3600)))
37+
.id(MONITOR_NOTIFICATION_RULE_DATA_ID)
38+
.type(MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE));
39+
40+
try {
41+
MonitorNotificationRuleResponse result =
42+
apiInstance.updateMonitorNotificationRule(MONITOR_NOTIFICATION_RULE_DATA_ID, body);
43+
System.out.println(result);
44+
} catch (ApiException e) {
45+
System.err.println("Exception when calling MonitorsApi#updateMonitorNotificationRule");
46+
System.err.println("Status code: " + e.getCode());
47+
System.err.println("Reason: " + e.getResponseBody());
48+
System.err.println("Response headers: " + e.getResponseHeaders());
49+
e.printStackTrace();
50+
}
51+
}
52+
}

‎src/main/java/com/datadog/api/client/v2/model/MonitorNotificationRuleAttributes.java‎

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
/** Attributes of the monitor notification rule. */
1919
@JsonPropertyOrder({
20+
MonitorNotificationRuleAttributes.JSON_PROPERTY_BUNDLE_CONFIG,
2021
MonitorNotificationRuleAttributes.JSON_PROPERTY_CONDITIONAL_RECIPIENTS,
2122
MonitorNotificationRuleAttributes.JSON_PROPERTY_FILTER,
2223
MonitorNotificationRuleAttributes.JSON_PROPERTY_NAME,
@@ -26,6 +27,9 @@
2627
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
2728
public class MonitorNotificationRuleAttributes {
2829
@JsonIgnore public boolean unparsed = false;
30+
public static final String JSON_PROPERTY_BUNDLE_CONFIG = "bundle_config";
31+
private MonitorNotificationRuleBundleConfig bundleConfig;
32+
2933
public static final String JSON_PROPERTY_CONDITIONAL_RECIPIENTS = "conditional_recipients";
3034
private MonitorNotificationRuleConditionalRecipients conditionalRecipients;
3135

@@ -46,6 +50,34 @@ public MonitorNotificationRuleAttributes(
4650
this.name = name;
4751
}
4852

53+
public MonitorNotificationRuleAttributes bundleConfig(
54+
MonitorNotificationRuleBundleConfig bundleConfig) {
55+
this.bundleConfig = bundleConfig;
56+
this.unparsed |= bundleConfig.unparsed;
57+
return this;
58+
}
59+
60+
/**
61+
* Use bundle config to enable alert bundling to reduce monitor signal noises.
62+
* <strong>Note</strong>: This feature is in preview and is subject to change. If you have any
63+
* feedback, contact <a href="https://docs.datadoghq.com/help/">Datadog support</a>.
64+
*
65+
* @return bundleConfig
66+
*/
67+
@jakarta.annotation.Nullable
68+
@JsonProperty(JSON_PROPERTY_BUNDLE_CONFIG)
69+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
70+
public MonitorNotificationRuleBundleConfig getBundleConfig() {
71+
return bundleConfig;
72+
}
73+
74+
public void setBundleConfig(MonitorNotificationRuleBundleConfig bundleConfig) {
75+
this.bundleConfig = bundleConfig;
76+
if (bundleConfig != null) {
77+
this.unparsed |= bundleConfig.unparsed;
78+
}
79+
}
80+
4981
public MonitorNotificationRuleAttributes conditionalRecipients(
5082
MonitorNotificationRuleConditionalRecipients conditionalRecipients) {
5183
this.conditionalRecipients = conditionalRecipients;
@@ -160,7 +192,8 @@ public boolean equals(Object o) {
160192
}
161193
MonitorNotificationRuleAttributes monitorNotificationRuleAttributes =
162194
(MonitorNotificationRuleAttributes) o;
163-
return Objects.equals(
195+
return Objects.equals(this.bundleConfig, monitorNotificationRuleAttributes.bundleConfig)
196+
&& Objects.equals(
164197
this.conditionalRecipients, monitorNotificationRuleAttributes.conditionalRecipients)
165198
&& Objects.equals(this.filter, monitorNotificationRuleAttributes.filter)
166199
&& Objects.equals(this.name, monitorNotificationRuleAttributes.name)
@@ -169,13 +202,14 @@ public boolean equals(Object o) {
169202

170203
@Override
171204
public int hashCode() {
172-
return Objects.hash(conditionalRecipients, filter, name, recipients);
205+
return Objects.hash(bundleConfig, conditionalRecipients, filter, name, recipients);
173206
}
174207

175208
@Override
176209
public String toString() {
177210
StringBuilder sb = new StringBuilder();
178211
sb.append("class MonitorNotificationRuleAttributes {\n");
212+
sb.append(" bundleConfig: ").append(toIndentedString(bundleConfig)).append("\n");
179213
sb.append(" conditionalRecipients: ")
180214
.append(toIndentedString(conditionalRecipients))
181215
.append("\n");
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
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.v2.model;
8+
9+
import com.fasterxml.jackson.annotation.JsonAnyGetter;
10+
import com.fasterxml.jackson.annotation.JsonAnySetter;
11+
import com.fasterxml.jackson.annotation.JsonCreator;
12+
import com.fasterxml.jackson.annotation.JsonIgnore;
13+
import com.fasterxml.jackson.annotation.JsonInclude;
14+
import com.fasterxml.jackson.annotation.JsonProperty;
15+
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
16+
import java.util.HashMap;
17+
import java.util.Map;
18+
import java.util.Objects;
19+
20+
/**
21+
* Use bundle config to enable alert bundling to reduce monitor signal noises.
22+
* <strong>Note</strong>: This feature is in preview and is subject to change. If you have any
23+
* feedback, contact <a href="https://docs.datadoghq.com/help/">Datadog support</a>.
24+
*/
25+
@JsonPropertyOrder({MonitorNotificationRuleBundleConfig.JSON_PROPERTY_DURATION})
26+
@jakarta.annotation.Generated(
27+
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
28+
public class MonitorNotificationRuleBundleConfig {
29+
@JsonIgnore public boolean unparsed = false;
30+
public static final String JSON_PROPERTY_DURATION = "duration";
31+
private Integer duration;
32+
33+
public MonitorNotificationRuleBundleConfig() {}
34+
35+
@JsonCreator
36+
public MonitorNotificationRuleBundleConfig(
37+
@JsonProperty(required = true, value = JSON_PROPERTY_DURATION) Integer duration) {
38+
this.duration = duration;
39+
}
40+
41+
public MonitorNotificationRuleBundleConfig duration(Integer duration) {
42+
this.duration = duration;
43+
return this;
44+
}
45+
46+
/**
47+
* Duration of the bundling period. maximum: 2147483647
48+
*
49+
* @return duration
50+
*/
51+
@JsonProperty(JSON_PROPERTY_DURATION)
52+
@JsonInclude(value = JsonInclude.Include.ALWAYS)
53+
public Integer getDuration() {
54+
return duration;
55+
}
56+
57+
public void setDuration(Integer duration) {
58+
this.duration = duration;
59+
}
60+
61+
/**
62+
* A container for additional, undeclared properties. This is a holder for any undeclared
63+
* properties as specified with the 'additionalProperties' keyword in the OAS document.
64+
*/
65+
private Map<String, Object> additionalProperties;
66+
67+
/**
68+
* Set the additional (undeclared) property with the specified name and value. If the property
69+
* does not already exist, create it otherwise replace it.
70+
*
71+
* @param key The arbitrary key to set
72+
* @param value The associated value
73+
* @return MonitorNotificationRuleBundleConfig
74+
*/
75+
@JsonAnySetter
76+
public MonitorNotificationRuleBundleConfig putAdditionalProperty(String key, Object value) {
77+
if (this.additionalProperties == null) {
78+
this.additionalProperties = new HashMap<String, Object>();
79+
}
80+
this.additionalProperties.put(key, value);
81+
return this;
82+
}
83+
84+
/**
85+
* Return the additional (undeclared) property.
86+
*
87+
* @return The additional properties
88+
*/
89+
@JsonAnyGetter
90+
public Map<String, Object> getAdditionalProperties() {
91+
return additionalProperties;
92+
}
93+
94+
/**
95+
* Return the additional (undeclared) property with the specified name.
96+
*
97+
* @param key The arbitrary key to get
98+
* @return The specific additional property for the given key
99+
*/
100+
public Object getAdditionalProperty(String key) {
101+
if (this.additionalProperties == null) {
102+
return null;
103+
}
104+
return this.additionalProperties.get(key);
105+
}
106+
107+
/** Return true if this MonitorNotificationRuleBundleConfig object is equal to o. */
108+
@Override
109+
public boolean equals(Object o) {
110+
if (this == o) {
111+
return true;
112+
}
113+
if (o == null || getClass() != o.getClass()) {
114+
return false;
115+
}
116+
MonitorNotificationRuleBundleConfig monitorNotificationRuleBundleConfig =
117+
(MonitorNotificationRuleBundleConfig) o;
118+
return Objects.equals(this.duration, monitorNotificationRuleBundleConfig.duration)
119+
&& Objects.equals(
120+
this.additionalProperties, monitorNotificationRuleBundleConfig.additionalProperties);
121+
}
122+
123+
@Override
124+
public int hashCode() {
125+
return Objects.hash(duration, additionalProperties);
126+
}
127+
128+
@Override
129+
public String toString() {
130+
StringBuilder sb = new StringBuilder();
131+
sb.append("class MonitorNotificationRuleBundleConfig {\n");
132+
sb.append(" duration: ").append(toIndentedString(duration)).append("\n");
133+
sb.append(" additionalProperties: ")
134+
.append(toIndentedString(additionalProperties))
135+
.append("\n");
136+
sb.append('}');
137+
return sb.toString();
138+
}
139+
140+
/**
141+
* Convert the given object to string with each line indented by 4 spaces (except the first line).
142+
*/
143+
private String toIndentedString(Object o) {
144+
if (o == null) {
145+
return "null";
146+
}
147+
return o.toString().replace("\n", "\n ");
148+
}
149+
}

0 commit comments

Comments
 (0)