Skip to content

Commit abbd0e5

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add Incident Notification Rules Public Spec (#3123)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 8f3074c commit abbd0e5

File tree

59 files changed

+7439
-184
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+7439
-184
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 555 additions & 1 deletion
Large diffs are not rendered by default.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// Create an incident notification rule returns "Created" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.IncidentsApi;
6+
import com.datadog.api.client.v2.model.CreateIncidentNotificationRuleRequest;
7+
import com.datadog.api.client.v2.model.IncidentNotificationRule;
8+
import com.datadog.api.client.v2.model.IncidentNotificationRuleConditionsItems;
9+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributes;
10+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributesVisibility;
11+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateData;
12+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateDataRelationships;
13+
import com.datadog.api.client.v2.model.IncidentNotificationRuleType;
14+
import com.datadog.api.client.v2.model.IncidentNotificationTemplateType;
15+
import com.datadog.api.client.v2.model.IncidentTypeType;
16+
import com.datadog.api.client.v2.model.RelationshipToIncidentNotificationTemplate;
17+
import com.datadog.api.client.v2.model.RelationshipToIncidentNotificationTemplateData;
18+
import com.datadog.api.client.v2.model.RelationshipToIncidentType;
19+
import com.datadog.api.client.v2.model.RelationshipToIncidentTypeData;
20+
import java.util.Arrays;
21+
import java.util.Collections;
22+
import java.util.UUID;
23+
24+
public class Example {
25+
public static void main(String[] args) {
26+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
27+
defaultClient.setUnstableOperationEnabled("v2.createIncidentNotificationRule", true);
28+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
29+
30+
CreateIncidentNotificationRuleRequest body =
31+
new CreateIncidentNotificationRuleRequest()
32+
.data(
33+
new IncidentNotificationRuleCreateData()
34+
.attributes(
35+
new IncidentNotificationRuleCreateAttributes()
36+
.conditions(
37+
Collections.singletonList(
38+
new IncidentNotificationRuleConditionsItems()
39+
.field("severity")
40+
.values(Arrays.asList("SEV-1", "SEV-2"))))
41+
.enabled(true)
42+
.handles(Arrays.asList("@[email protected]", "@slack-channel"))
43+
.renotifyOn(Arrays.asList("status", "severity"))
44+
.trigger("incident_created_trigger")
45+
.visibility(
46+
IncidentNotificationRuleCreateAttributesVisibility.ORGANIZATION))
47+
.relationships(
48+
new IncidentNotificationRuleCreateDataRelationships()
49+
.incidentType(
50+
new RelationshipToIncidentType()
51+
.data(
52+
new RelationshipToIncidentTypeData()
53+
.id("00000000-0000-0000-0000-000000000000")
54+
.type(IncidentTypeType.INCIDENT_TYPES)))
55+
.notificationTemplate(
56+
new RelationshipToIncidentNotificationTemplate()
57+
.data(
58+
new RelationshipToIncidentNotificationTemplateData()
59+
.id(
60+
UUID.fromString(
61+
"00000000-0000-0000-0000-000000000001"))
62+
.type(
63+
IncidentNotificationTemplateType
64+
.NOTIFICATION_TEMPLATES))))
65+
.type(IncidentNotificationRuleType.INCIDENT_NOTIFICATION_RULES));
66+
67+
try {
68+
IncidentNotificationRule result = apiInstance.createIncidentNotificationRule(body);
69+
System.out.println(result);
70+
} catch (ApiException e) {
71+
System.err.println("Exception when calling IncidentsApi#createIncidentNotificationRule");
72+
System.err.println("Status code: " + e.getCode());
73+
System.err.println("Reason: " + e.getResponseBody());
74+
System.err.println("Response headers: " + e.getResponseHeaders());
75+
e.printStackTrace();
76+
}
77+
}
78+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// Create incident notification rule returns "Created" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.IncidentsApi;
6+
import com.datadog.api.client.v2.model.CreateIncidentNotificationRuleRequest;
7+
import com.datadog.api.client.v2.model.IncidentNotificationRule;
8+
import com.datadog.api.client.v2.model.IncidentNotificationRuleConditionsItems;
9+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributes;
10+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributesVisibility;
11+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateData;
12+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateDataRelationships;
13+
import com.datadog.api.client.v2.model.IncidentNotificationRuleType;
14+
import com.datadog.api.client.v2.model.IncidentTypeType;
15+
import com.datadog.api.client.v2.model.RelationshipToIncidentType;
16+
import com.datadog.api.client.v2.model.RelationshipToIncidentTypeData;
17+
import java.util.Arrays;
18+
import java.util.Collections;
19+
20+
public class Example {
21+
public static void main(String[] args) {
22+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
23+
defaultClient.setUnstableOperationEnabled("v2.createIncidentNotificationRule", true);
24+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
25+
26+
// there is a valid "incident_type" in the system
27+
String INCIDENT_TYPE_DATA_ID = System.getenv("INCIDENT_TYPE_DATA_ID");
28+
29+
CreateIncidentNotificationRuleRequest body =
30+
new CreateIncidentNotificationRuleRequest()
31+
.data(
32+
new IncidentNotificationRuleCreateData()
33+
.attributes(
34+
new IncidentNotificationRuleCreateAttributes()
35+
.conditions(
36+
Collections.singletonList(
37+
new IncidentNotificationRuleConditionsItems()
38+
.field("severity")
39+
.values(Arrays.asList("SEV-1", "SEV-2"))))
40+
.handles(Collections.singletonList("@[email protected]"))
41+
.visibility(
42+
IncidentNotificationRuleCreateAttributesVisibility.ORGANIZATION)
43+
.trigger("incident_created_trigger")
44+
.enabled(true))
45+
.relationships(
46+
new IncidentNotificationRuleCreateDataRelationships()
47+
.incidentType(
48+
new RelationshipToIncidentType()
49+
.data(
50+
new RelationshipToIncidentTypeData()
51+
.id(INCIDENT_TYPE_DATA_ID)
52+
.type(IncidentTypeType.INCIDENT_TYPES))))
53+
.type(IncidentNotificationRuleType.INCIDENT_NOTIFICATION_RULES));
54+
55+
try {
56+
IncidentNotificationRule result = apiInstance.createIncidentNotificationRule(body);
57+
System.out.println(result);
58+
} catch (ApiException e) {
59+
System.err.println("Exception when calling IncidentsApi#createIncidentNotificationRule");
60+
System.err.println("Status code: " + e.getCode());
61+
System.err.println("Reason: " + e.getResponseBody());
62+
System.err.println("Response headers: " + e.getResponseHeaders());
63+
e.printStackTrace();
64+
}
65+
}
66+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Delete an incident notification rule returns "No Content" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.IncidentsApi;
6+
import java.util.UUID;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
defaultClient.setUnstableOperationEnabled("v2.deleteIncidentNotificationRule", true);
12+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
13+
14+
try {
15+
apiInstance.deleteIncidentNotificationRule(
16+
UUID.fromString("00000000-0000-0000-0000-000000000001"));
17+
} catch (ApiException e) {
18+
System.err.println("Exception when calling IncidentsApi#deleteIncidentNotificationRule");
19+
System.err.println("Status code: " + e.getCode());
20+
System.err.println("Reason: " + e.getResponseBody());
21+
System.err.println("Response headers: " + e.getResponseHeaders());
22+
e.printStackTrace();
23+
}
24+
}
25+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Delete incident notification rule returns "No Content" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.IncidentsApi;
6+
import java.util.UUID;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
defaultClient.setUnstableOperationEnabled("v2.deleteIncidentNotificationRule", true);
12+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
13+
14+
// there is a valid "notification_rule" in the system
15+
UUID NOTIFICATION_RULE_DATA_ID = null;
16+
try {
17+
NOTIFICATION_RULE_DATA_ID = UUID.fromString(System.getenv("NOTIFICATION_RULE_DATA_ID"));
18+
} catch (IllegalArgumentException e) {
19+
System.err.println("Error parsing UUID: " + e.getMessage());
20+
}
21+
22+
try {
23+
apiInstance.deleteIncidentNotificationRule(NOTIFICATION_RULE_DATA_ID);
24+
} catch (ApiException e) {
25+
System.err.println("Exception when calling IncidentsApi#deleteIncidentNotificationRule");
26+
System.err.println("Status code: " + e.getCode());
27+
System.err.println("Reason: " + e.getResponseBody());
28+
System.err.println("Response headers: " + e.getResponseHeaders());
29+
e.printStackTrace();
30+
}
31+
}
32+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
// Get an incident notification rule 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.IncidentsApi;
6+
import com.datadog.api.client.v2.model.IncidentNotificationRule;
7+
import java.util.UUID;
8+
9+
public class Example {
10+
public static void main(String[] args) {
11+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
12+
defaultClient.setUnstableOperationEnabled("v2.getIncidentNotificationRule", true);
13+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
14+
15+
try {
16+
IncidentNotificationRule result =
17+
apiInstance.getIncidentNotificationRule(
18+
UUID.fromString("00000000-0000-0000-0000-000000000001"));
19+
System.out.println(result);
20+
} catch (ApiException e) {
21+
System.err.println("Exception when calling IncidentsApi#getIncidentNotificationRule");
22+
System.err.println("Status code: " + e.getCode());
23+
System.err.println("Reason: " + e.getResponseBody());
24+
System.err.println("Response headers: " + e.getResponseHeaders());
25+
e.printStackTrace();
26+
}
27+
}
28+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Get incident notification rule 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.IncidentsApi;
6+
import com.datadog.api.client.v2.model.IncidentNotificationRule;
7+
import java.util.UUID;
8+
9+
public class Example {
10+
public static void main(String[] args) {
11+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
12+
defaultClient.setUnstableOperationEnabled("v2.getIncidentNotificationRule", true);
13+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
14+
15+
// there is a valid "notification_rule" in the system
16+
UUID NOTIFICATION_RULE_DATA_ID = null;
17+
try {
18+
NOTIFICATION_RULE_DATA_ID = UUID.fromString(System.getenv("NOTIFICATION_RULE_DATA_ID"));
19+
} catch (IllegalArgumentException e) {
20+
System.err.println("Error parsing UUID: " + e.getMessage());
21+
}
22+
23+
try {
24+
IncidentNotificationRule result =
25+
apiInstance.getIncidentNotificationRule(NOTIFICATION_RULE_DATA_ID);
26+
System.out.println(result);
27+
} catch (ApiException e) {
28+
System.err.println("Exception when calling IncidentsApi#getIncidentNotificationRule");
29+
System.err.println("Status code: " + e.getCode());
30+
System.err.println("Reason: " + e.getResponseBody());
31+
System.err.println("Response headers: " + e.getResponseHeaders());
32+
e.printStackTrace();
33+
}
34+
}
35+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// List incident notification rules 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.IncidentsApi;
6+
import com.datadog.api.client.v2.model.IncidentNotificationRuleArray;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
defaultClient.setUnstableOperationEnabled("v2.listIncidentNotificationRules", true);
12+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
13+
14+
try {
15+
IncidentNotificationRuleArray result = apiInstance.listIncidentNotificationRules();
16+
System.out.println(result);
17+
} catch (ApiException e) {
18+
System.err.println("Exception when calling IncidentsApi#listIncidentNotificationRules");
19+
System.err.println("Status code: " + e.getCode());
20+
System.err.println("Reason: " + e.getResponseBody());
21+
System.err.println("Response headers: " + e.getResponseHeaders());
22+
e.printStackTrace();
23+
}
24+
}
25+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
// Update an incident notification rule 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.IncidentsApi;
6+
import com.datadog.api.client.v2.model.IncidentNotificationRule;
7+
import com.datadog.api.client.v2.model.IncidentNotificationRuleConditionsItems;
8+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributes;
9+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateAttributesVisibility;
10+
import com.datadog.api.client.v2.model.IncidentNotificationRuleCreateDataRelationships;
11+
import com.datadog.api.client.v2.model.IncidentNotificationRuleType;
12+
import com.datadog.api.client.v2.model.IncidentNotificationRuleUpdateData;
13+
import com.datadog.api.client.v2.model.IncidentNotificationTemplateType;
14+
import com.datadog.api.client.v2.model.IncidentTypeType;
15+
import com.datadog.api.client.v2.model.PutIncidentNotificationRuleRequest;
16+
import com.datadog.api.client.v2.model.RelationshipToIncidentNotificationTemplate;
17+
import com.datadog.api.client.v2.model.RelationshipToIncidentNotificationTemplateData;
18+
import com.datadog.api.client.v2.model.RelationshipToIncidentType;
19+
import com.datadog.api.client.v2.model.RelationshipToIncidentTypeData;
20+
import java.util.Arrays;
21+
import java.util.Collections;
22+
import java.util.UUID;
23+
24+
public class Example {
25+
public static void main(String[] args) {
26+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
27+
defaultClient.setUnstableOperationEnabled("v2.updateIncidentNotificationRule", true);
28+
IncidentsApi apiInstance = new IncidentsApi(defaultClient);
29+
30+
PutIncidentNotificationRuleRequest body =
31+
new PutIncidentNotificationRuleRequest()
32+
.data(
33+
new IncidentNotificationRuleUpdateData()
34+
.attributes(
35+
new IncidentNotificationRuleCreateAttributes()
36+
.conditions(
37+
Collections.singletonList(
38+
new IncidentNotificationRuleConditionsItems()
39+
.field("severity")
40+
.values(Arrays.asList("SEV-1", "SEV-2"))))
41+
.enabled(true)
42+
.handles(Arrays.asList("@[email protected]", "@slack-channel"))
43+
.renotifyOn(Arrays.asList("status", "severity"))
44+
.trigger("incident_created_trigger")
45+
.visibility(
46+
IncidentNotificationRuleCreateAttributesVisibility.ORGANIZATION))
47+
.id(UUID.fromString("00000000-0000-0000-0000-000000000001"))
48+
.relationships(
49+
new IncidentNotificationRuleCreateDataRelationships()
50+
.incidentType(
51+
new RelationshipToIncidentType()
52+
.data(
53+
new RelationshipToIncidentTypeData()
54+
.id("00000000-0000-0000-0000-000000000000")
55+
.type(IncidentTypeType.INCIDENT_TYPES)))
56+
.notificationTemplate(
57+
new RelationshipToIncidentNotificationTemplate()
58+
.data(
59+
new RelationshipToIncidentNotificationTemplateData()
60+
.id(
61+
UUID.fromString(
62+
"00000000-0000-0000-0000-000000000001"))
63+
.type(
64+
IncidentNotificationTemplateType
65+
.NOTIFICATION_TEMPLATES))))
66+
.type(IncidentNotificationRuleType.INCIDENT_NOTIFICATION_RULES));
67+
68+
try {
69+
IncidentNotificationRule result =
70+
apiInstance.updateIncidentNotificationRule(
71+
UUID.fromString("00000000-0000-0000-0000-000000000001"), body);
72+
System.out.println(result);
73+
} catch (ApiException e) {
74+
System.err.println("Exception when calling IncidentsApi#updateIncidentNotificationRule");
75+
System.err.println("Status code: " + e.getCode());
76+
System.err.println("Reason: " + e.getResponseBody());
77+
System.err.println("Response headers: " + e.getResponseHeaders());
78+
e.printStackTrace();
79+
}
80+
}
81+
}

0 commit comments

Comments
 (0)