Skip to content

Commit 8ea0c43

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 1dff133 of spec repo
1 parent c05ca65 commit 8ea0c43

12 files changed

+784
-9
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29565,6 +29565,8 @@ components:
2956529565
additionalProperties: false
2956629566
description: Attributes of the monitor notification rule.
2956729567
properties:
29568+
conditional_recipients:
29569+
$ref: '#/components/schemas/MonitorNotificationRuleConditionalRecipients'
2956829570
filter:
2956929571
$ref: '#/components/schemas/MonitorNotificationRuleFilter'
2957029572
name:
@@ -29573,8 +29575,36 @@ components:
2957329575
$ref: '#/components/schemas/MonitorNotificationRuleRecipients'
2957429576
required:
2957529577
- name
29578+
type: object
29579+
MonitorNotificationRuleCondition:
29580+
description: Conditions for `conditional_recipients`.
29581+
properties:
29582+
recipients:
29583+
$ref: '#/components/schemas/MonitorNotificationRuleRecipients'
29584+
scope:
29585+
$ref: '#/components/schemas/MonitorNotificationRuleScope'
29586+
required:
29587+
- scope
2957629588
- recipients
2957729589
type: object
29590+
MonitorNotificationRuleConditionalRecipients:
29591+
description: Use conditional recipients to define different recipients for different
29592+
situations.
29593+
properties:
29594+
conditions:
29595+
description: Conditions of the notification rule.
29596+
items:
29597+
$ref: '#/components/schemas/MonitorNotificationRuleCondition'
29598+
maxItems: 10
29599+
minItems: 1
29600+
type: array
29601+
fallback_recipients:
29602+
$ref: '#/components/schemas/MonitorNotificationRuleRecipients'
29603+
description: If none of the `conditions` applied, `fallback_recipients`
29604+
will get notified.
29605+
required:
29606+
- conditions
29607+
type: object
2957829608
MonitorNotificationRuleCreateRequest:
2957929609
description: Request for creating a monitor notification rule.
2958029610
properties:
@@ -29714,6 +29744,8 @@ components:
2971429744
additionalProperties: {}
2971529745
description: Attributes of the monitor notification rule.
2971629746
properties:
29747+
conditional_recipients:
29748+
$ref: '#/components/schemas/MonitorNotificationRuleConditionalRecipients'
2971729749
created:
2971829750
description: Creation time of the monitor notification rule.
2971929751
example: 2020-01-02 03:04:00+00:00
@@ -29735,6 +29767,12 @@ components:
2973529767
description: An object related to a monitor notification rule.
2973629768
oneOf:
2973729769
- $ref: '#/components/schemas/User'
29770+
MonitorNotificationRuleScope:
29771+
description: The scope to which the monitor applied.
29772+
example: transition_type:alert
29773+
maxLength: 3000
29774+
minLength: 1
29775+
type: string
2973829776
MonitorNotificationRuleUpdateRequest:
2973929777
description: Request for updating a monitor notification rule.
2974029778
properties:
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Create a monitor notification rule with conditional recipients 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.MonitorNotificationRuleCondition;
8+
import com.datadog.api.client.v2.model.MonitorNotificationRuleConditionalRecipients;
9+
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequest;
10+
import com.datadog.api.client.v2.model.MonitorNotificationRuleCreateRequestData;
11+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilter;
12+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilterTags;
13+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResourceType;
14+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResponse;
15+
import java.util.Arrays;
16+
import java.util.Collections;
17+
18+
public class Example {
19+
public static void main(String[] args) {
20+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
21+
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
22+
23+
MonitorNotificationRuleCreateRequest body =
24+
new MonitorNotificationRuleCreateRequest()
25+
.data(
26+
new MonitorNotificationRuleCreateRequestData()
27+
.attributes(
28+
new MonitorNotificationRuleAttributes()
29+
.filter(
30+
new MonitorNotificationRuleFilter(
31+
new MonitorNotificationRuleFilterTags()
32+
.tags(Collections.singletonList("test:example-monitor"))))
33+
.name("test rule")
34+
.conditionalRecipients(
35+
new MonitorNotificationRuleConditionalRecipients()
36+
.conditions(
37+
Collections.singletonList(
38+
new MonitorNotificationRuleCondition()
39+
.scope("transition_type:is_alert")
40+
.recipients(
41+
Arrays.asList(
42+
"slack-test-channel", "jira-test"))))))
43+
.type(MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE));
44+
45+
try {
46+
MonitorNotificationRuleResponse result = apiInstance.createMonitorNotificationRule(body);
47+
System.out.println(result);
48+
} catch (ApiException e) {
49+
System.err.println("Exception when calling MonitorsApi#createMonitorNotificationRule");
50+
System.err.println("Status code: " + e.getCode());
51+
System.err.println("Reason: " + e.getResponseBody());
52+
System.err.println("Response headers: " + e.getResponseHeaders());
53+
e.printStackTrace();
54+
}
55+
}
56+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// Update a monitor notification rule with conditional_recipients 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.MonitorNotificationRuleCondition;
8+
import com.datadog.api.client.v2.model.MonitorNotificationRuleConditionalRecipients;
9+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilter;
10+
import com.datadog.api.client.v2.model.MonitorNotificationRuleFilterTags;
11+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResourceType;
12+
import com.datadog.api.client.v2.model.MonitorNotificationRuleResponse;
13+
import com.datadog.api.client.v2.model.MonitorNotificationRuleUpdateRequest;
14+
import com.datadog.api.client.v2.model.MonitorNotificationRuleUpdateRequestData;
15+
import java.util.Arrays;
16+
import java.util.Collections;
17+
18+
public class Example {
19+
public static void main(String[] args) {
20+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
21+
MonitorsApi apiInstance = new MonitorsApi(defaultClient);
22+
23+
// there is a valid "monitor_notification_rule" in the system
24+
String MONITOR_NOTIFICATION_RULE_DATA_ID = System.getenv("MONITOR_NOTIFICATION_RULE_DATA_ID");
25+
26+
MonitorNotificationRuleUpdateRequest body =
27+
new MonitorNotificationRuleUpdateRequest()
28+
.data(
29+
new MonitorNotificationRuleUpdateRequestData()
30+
.attributes(
31+
new MonitorNotificationRuleAttributes()
32+
.filter(
33+
new MonitorNotificationRuleFilter(
34+
new MonitorNotificationRuleFilterTags()
35+
.tags(Arrays.asList("test:example-monitor", "host:abc"))))
36+
.name("updated rule")
37+
.conditionalRecipients(
38+
new MonitorNotificationRuleConditionalRecipients()
39+
.conditions(
40+
Collections.singletonList(
41+
new MonitorNotificationRuleCondition()
42+
.scope("transition_type:is_alert")
43+
.recipients(
44+
Arrays.asList(
45+
"slack-test-channel", "jira-test"))))))
46+
.id(MONITOR_NOTIFICATION_RULE_DATA_ID)
47+
.type(MonitorNotificationRuleResourceType.MONITOR_NOTIFICATION_RULE));
48+
49+
try {
50+
MonitorNotificationRuleResponse result =
51+
apiInstance.updateMonitorNotificationRule(MONITOR_NOTIFICATION_RULE_DATA_ID, body);
52+
System.out.println(result);
53+
} catch (ApiException e) {
54+
System.err.println("Exception when calling MonitorsApi#updateMonitorNotificationRule");
55+
System.err.println("Status code: " + e.getCode());
56+
System.err.println("Reason: " + e.getResponseBody());
57+
System.err.println("Response headers: " + e.getResponseHeaders());
58+
e.printStackTrace();
59+
}
60+
}
61+
}

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

Lines changed: 42 additions & 7 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_CONDITIONAL_RECIPIENTS,
2021
MonitorNotificationRuleAttributes.JSON_PROPERTY_FILTER,
2122
MonitorNotificationRuleAttributes.JSON_PROPERTY_NAME,
2223
MonitorNotificationRuleAttributes.JSON_PROPERTY_RECIPIENTS
@@ -25,23 +26,48 @@
2526
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
2627
public class MonitorNotificationRuleAttributes {
2728
@JsonIgnore public boolean unparsed = false;
29+
public static final String JSON_PROPERTY_CONDITIONAL_RECIPIENTS = "conditional_recipients";
30+
private MonitorNotificationRuleConditionalRecipients conditionalRecipients;
31+
2832
public static final String JSON_PROPERTY_FILTER = "filter";
2933
private MonitorNotificationRuleFilter filter;
3034

3135
public static final String JSON_PROPERTY_NAME = "name";
3236
private String name;
3337

3438
public static final String JSON_PROPERTY_RECIPIENTS = "recipients";
35-
private List<String> recipients = new ArrayList<>();
39+
private List<String> recipients = null;
3640

3741
public MonitorNotificationRuleAttributes() {}
3842

3943
@JsonCreator
4044
public MonitorNotificationRuleAttributes(
41-
@JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name,
42-
@JsonProperty(required = true, value = JSON_PROPERTY_RECIPIENTS) List<String> recipients) {
45+
@JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name) {
4346
this.name = name;
44-
this.recipients = recipients;
47+
}
48+
49+
public MonitorNotificationRuleAttributes conditionalRecipients(
50+
MonitorNotificationRuleConditionalRecipients conditionalRecipients) {
51+
this.conditionalRecipients = conditionalRecipients;
52+
this.unparsed |= conditionalRecipients.unparsed;
53+
return this;
54+
}
55+
56+
/**
57+
* Use conditional recipients to define different recipients for different situations.
58+
*
59+
* @return conditionalRecipients
60+
*/
61+
@jakarta.annotation.Nullable
62+
@JsonProperty(JSON_PROPERTY_CONDITIONAL_RECIPIENTS)
63+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
64+
public MonitorNotificationRuleConditionalRecipients getConditionalRecipients() {
65+
return conditionalRecipients;
66+
}
67+
68+
public void setConditionalRecipients(
69+
MonitorNotificationRuleConditionalRecipients conditionalRecipients) {
70+
this.conditionalRecipients = conditionalRecipients;
4571
}
4672

4773
public MonitorNotificationRuleAttributes filter(MonitorNotificationRuleFilter filter) {
@@ -92,6 +118,9 @@ public MonitorNotificationRuleAttributes recipients(List<String> recipients) {
92118
}
93119

94120
public MonitorNotificationRuleAttributes addRecipientsItem(String recipientsItem) {
121+
if (this.recipients == null) {
122+
this.recipients = new ArrayList<>();
123+
}
95124
this.recipients.add(recipientsItem);
96125
return this;
97126
}
@@ -102,8 +131,9 @@ public MonitorNotificationRuleAttributes addRecipientsItem(String recipientsItem
102131
*
103132
* @return recipients
104133
*/
134+
@jakarta.annotation.Nullable
105135
@JsonProperty(JSON_PROPERTY_RECIPIENTS)
106-
@JsonInclude(value = JsonInclude.Include.ALWAYS)
136+
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
107137
public List<String> getRecipients() {
108138
return recipients;
109139
}
@@ -123,20 +153,25 @@ public boolean equals(Object o) {
123153
}
124154
MonitorNotificationRuleAttributes monitorNotificationRuleAttributes =
125155
(MonitorNotificationRuleAttributes) o;
126-
return Objects.equals(this.filter, monitorNotificationRuleAttributes.filter)
156+
return Objects.equals(
157+
this.conditionalRecipients, monitorNotificationRuleAttributes.conditionalRecipients)
158+
&& Objects.equals(this.filter, monitorNotificationRuleAttributes.filter)
127159
&& Objects.equals(this.name, monitorNotificationRuleAttributes.name)
128160
&& Objects.equals(this.recipients, monitorNotificationRuleAttributes.recipients);
129161
}
130162

131163
@Override
132164
public int hashCode() {
133-
return Objects.hash(filter, name, recipients);
165+
return Objects.hash(conditionalRecipients, filter, name, recipients);
134166
}
135167

136168
@Override
137169
public String toString() {
138170
StringBuilder sb = new StringBuilder();
139171
sb.append("class MonitorNotificationRuleAttributes {\n");
172+
sb.append(" conditionalRecipients: ")
173+
.append(toIndentedString(conditionalRecipients))
174+
.append("\n");
140175
sb.append(" filter: ").append(toIndentedString(filter)).append("\n");
141176
sb.append(" name: ").append(toIndentedString(name)).append("\n");
142177
sb.append(" recipients: ").append(toIndentedString(recipients)).append("\n");

0 commit comments

Comments
 (0)