-
Notifications
You must be signed in to change notification settings - Fork 20
Expand file tree
/
Copy pathCreateOnCallSchedule.rb
More file actions
61 lines (57 loc) · 2.22 KB
/
CreateOnCallSchedule.rb
File metadata and controls
61 lines (57 loc) · 2.22 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
# Create on-call schedule 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 "dd_team" in the system
DD_TEAM_DATA_ID = ENV["DD_TEAM_DATA_ID"]
body = DatadogAPIClient::V2::ScheduleCreateRequest.new({
data: DatadogAPIClient::V2::ScheduleCreateRequestData.new({
attributes: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributes.new({
layers: [
DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItems.new({
effective_date: (Time.now + -10 * 86400),
end_date: (Time.now + 10 * 86400),
interval: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsInterval.new({
days: 1,
}),
members: [
DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsMembersItems.new({
user: DatadogAPIClient::V2::ScheduleCreateRequestDataAttributesLayersItemsMembersItemsUser.new({
id: USER_DATA_ID,
}),
}),
],
name: "Layer 1",
restrictions: [
DatadogAPIClient::V2::TimeRestriction.new({
end_day: DatadogAPIClient::V2::Weekday::FRIDAY,
end_time: "17:00:00",
start_day: DatadogAPIClient::V2::Weekday::MONDAY,
start_time: "09:00:00",
}),
],
rotation_start: (Time.now + -5 * 86400),
}),
],
name: "Example-On-Call",
tags: [
"tag1",
"tag2",
],
time_zone: "America/New_York",
}),
relationships: DatadogAPIClient::V2::ScheduleCreateRequestDataRelationships.new({
teams: DatadogAPIClient::V2::ScheduleCreateRequestDataRelationshipsTeams.new({
data: [
DatadogAPIClient::V2::ScheduleCreateRequestDataRelationshipsTeamsDataItems.new({
id: DD_TEAM_DATA_ID,
type: DatadogAPIClient::V2::ScheduleCreateRequestDataRelationshipsTeamsDataItemsType::TEAMS,
}),
],
}),
}),
type: DatadogAPIClient::V2::ScheduleCreateRequestDataType::SCHEDULES,
}),
})
p api_instance.create_on_call_schedule(body)