-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathCreateOnCallEscalationPolicy.rb
More file actions
66 lines (61 loc) · 2.71 KB
/
CreateOnCallEscalationPolicy.rb
File metadata and controls
66 lines (61 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Create on-call escalation policy returns "Created" response
require "datadog_api_client"
api_instance = DatadogAPIClient::V2::OnCallAPI.new
# there is a valid "user" in the system
USER_DATA_ID = ENV["USER_DATA_ID"]
# there is a valid "schedule" in the system
SCHEDULE_DATA_ID = ENV["SCHEDULE_DATA_ID"]
# there is a valid "dd_team" in the system
DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
body = DatadogAPIClient::V2::EscalationPolicyCreateRequest.new({
data: DatadogAPIClient::V2::EscalationPolicyCreateRequestData.new({
attributes: DatadogAPIClient::V2::EscalationPolicyCreateRequestDataAttributes.new({
description: "Escalation Policy 1 description",
name: "Example-On-Call",
resolve_page_on_policy_end: true,
retries: 2,
steps: [
DatadogAPIClient::V2::EscalationPolicyCreateRequestDataAttributesStepsItems.new({
assignment: DatadogAPIClient::V2::EscalationPolicyStepAttributesAssignment::DEFAULT,
escalate_after_seconds: 3600,
targets: [
DatadogAPIClient::V2::EscalationPolicyStepTarget.new({
id: USER_DATA_ID,
type: DatadogAPIClient::V2::EscalationPolicyStepTargetType::USERS,
}),
DatadogAPIClient::V2::EscalationPolicyStepTarget.new({
id: SCHEDULE_DATA_ID,
type: DatadogAPIClient::V2::EscalationPolicyStepTargetType::SCHEDULES,
}),
DatadogAPIClient::V2::EscalationPolicyStepTarget.new({
id: DD_TEAM_DATA_ID,
type: DatadogAPIClient::V2::EscalationPolicyStepTargetType::TEAMS,
}),
],
}),
DatadogAPIClient::V2::EscalationPolicyCreateRequestDataAttributesStepsItems.new({
assignment: DatadogAPIClient::V2::EscalationPolicyStepAttributesAssignment::ROUND_ROBIN,
escalate_after_seconds: 3600,
targets: [
DatadogAPIClient::V2::EscalationPolicyStepTarget.new({
id: DD_TEAM_DATA_ID,
type: DatadogAPIClient::V2::EscalationPolicyStepTargetType::TEAMS,
}),
],
}),
],
}),
relationships: DatadogAPIClient::V2::EscalationPolicyCreateRequestDataRelationships.new({
teams: DatadogAPIClient::V2::EscalationPolicyCreateRequestDataRelationshipsTeams.new({
data: [
DatadogAPIClient::V2::EscalationPolicyCreateRequestDataRelationshipsTeamsDataItems.new({
id: DD_TEAM_DATA_ID,
type: DatadogAPIClient::V2::EscalationPolicyCreateRequestDataRelationshipsTeamsDataItemsType::TEAMS,
}),
],
}),
}),
type: DatadogAPIClient::V2::EscalationPolicyCreateRequestDataType::POLICIES,
}),
})
p api_instance.create_on_call_escalation_policy(body)