Mettre à jour un programme d'astreinte
https://api.datadoghq.com/api/v2/on-call/schedules/{schedule_id}https://api.us3.datadoghq.com/api/v2/on-call/schedules/{schedule_id}https://api.us5.datadoghq.com/api/v2/on-call/schedules/{schedule_id}https://api.datadoghq.eu/api/v2/on-call/schedules/{schedule_id}https://api.ap1.datadoghq.com/api/v2/on-call/schedules/{schedule_id}https://api.ap2.datadoghq.com/api/v2/on-call/schedules/{schedule_id}https://api.uk1.datadoghq.com/api/v2/on-call/schedules/{schedule_id}https://api.ddog-gov.com/api/v2/on-call/schedules/{schedule_id}https://api.us2.ddog-gov.com/api/v2/on-call/schedules/{schedule_id}Présentation
Mettre à jour un programme d'astreinte
Arguments
Paramètres du chemin
schedule_id [required]The ID of the schedule
Chaînes de requête
includeComma-separated list of included relationships to be returned. Allowed values: teams, layers, layers.members, layers.members.user.
Requête
Body Data (required)
data [required]Wrapper de niveau supérieur pour une requête de mise à jour de planification, faisant référence à l'objet data avec les nouveaux détails.
attributes [required]Defines the updatable attributes for a schedule, such as name, time zone, and layers.
layers [required]The updated list of layers (rotations) for this schedule.
effective_date [required]When this updated layer takes effect (ISO 8601 format).
end_dateWhen this updated layer should stop being active (ISO 8601 format).
idA unique identifier for the layer being updated.
interval [required]Defines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour.
daysThe number of days in each rotation cycle.
secondsAny additional seconds for the rotation cycle (up to 30 days).
members [required]The members assigned to this layer.
userIdentifies the user participating in this layer as a single object with an id.
idThe user's ID.
name [required]The name for this layer (for example, "Secondary Coverage").
restrictionsAny time restrictions that define when this layer is active.
end_dayA day of the week.
monday, tuesday, wednesday, thursday, friday, saturday, sundayend_timeSpecifies the ending time for this restriction.
start_dayA day of the week.
monday, tuesday, wednesday, thursday, friday, saturday, sundaystart_timeSpecifies the starting time for this restriction.
rotation_start [required]The date/time at which the rotation begins (ISO 8601 format).
time_zoneThe time zone for this layer.
max_respondersMaximum number of users who can be on call at the same time. The value must be between 1 and the number of layers, and no greater than 10.
name [required]A short name for the schedule.
time_zone [required]The time zone used when interpreting rotation times.
id [required]The ID of the schedule to be updated.
relationshipsHouses relationships for the schedule update, typically referencing teams.
teamsAssociates teams with this schedule in a data structure.
dataAn array of team references for this schedule.
id [required]The unique identifier of the team in this relationship.
type [required]Teams resource type.
teamsteamstype [required]Schedules resource type.
schedulesschedules{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}Réponse
OK
Top-level container for a schedule object, including both the data payload and any related included resources (such as teams, layers, or members).
dataRepresents the primary data object for a schedule, linking attributes and relationships.
attributesProvides core properties of a schedule object such as its name and time zone.
max_respondersMaximum number of users who can be on call at the same time. The value is between 1 and the number of layers, and no greater than 10.
nameA short name for the schedule.
tagsA list of tags associated with the schedule.
time_zoneThe time zone in which this schedule operates.
idThe schedule's unique identifier.
relationshipsGroups the relationships for a schedule object, referencing layers and teams.
layersAssociates layers with this schedule in a data structure.
dataAn array of layer references for this schedule.
id [required]The unique identifier of the layer in this relationship.
type [required]Layers resource type.
layerslayersteamsAssociates teams with this schedule in a data structure.
dataAn array of team references for this schedule.
id [required]The unique identifier of the team in this relationship.
type [required]Teams resource type.
teamsteamstype [required]Schedules resource type.
schedulesschedulesincludedAny additional resources related to this schedule, such as teams and layers.
<type=teams>Provides a reference to a team, including ID, type, and basic attributes/relationships.
attributesEncapsulates the basic attributes of a Team reference, such as name, handle, and an optional avatar or description.
avatarURL or reference for the team's avatar (if available).
descriptionA short text describing the team.
handleA unique handle/slug for the team.
nameThe full, human-readable name of the team.
idThe team's unique identifier.
type [required]Teams resource type.
teamsteams<type=layers>Encapsulates a layer resource, holding attributes like rotation details, plus relationships to the members covering that layer.
attributesDescribes key properties of a Layer, including rotation details, name, start/end times, and any restrictions.
effective_dateWhen the layer becomes active (ISO 8601).
end_dateWhen the layer ceases to be active (ISO 8601).
intervalDefines how often the rotation repeats, using a combination of days and optional seconds. Should be at least 1 hour.
daysThe number of days in each rotation cycle.
secondsAny additional seconds for the rotation cycle (up to 30 days).
nameThe name of this layer.
restrictionsAn optional list of time restrictions for when this layer is in effect.
end_dayA day of the week.
monday, tuesday, wednesday, thursday, friday, saturday, sundayend_timeSpecifies the ending time for this restriction.
start_dayA day of the week.
monday, tuesday, wednesday, thursday, friday, saturday, sundaystart_timeSpecifies the starting time for this restriction.
rotation_startThe date/time when the rotation starts (ISO 8601).
time_zoneThe time zone for this layer.
idA unique identifier for this layer.
relationshipsHolds references to objects related to the Layer entity, such as its members.
membersHolds an array of references to the members of a Layer, each containing member IDs.
dataThe list of members who belong to this layer.
id [required]The unique user ID of the layer member.
type [required]Members resource type.
membersmemberstype [required]Layers resource type.
layerslayers<type=members>Represents a single member entry in a schedule, referencing a specific user.
idThe unique identifier for this schedule member.
relationshipsDefines relationships for a schedule member, primarily referencing a single user.
userWraps the user data reference for a schedule member.
data [required]Points to the user data associated with this schedule member, including an ID and type.
id [required]The user's unique identifier.
type [required]Users resource type.
usersuserstype [required]Schedule Members resource type.
membersmembers<type=users>Represents a user object in the context of a schedule, including their id, type, and basic attributes.
attributesProvides basic user information for a schedule, including a name and email address.
colorThe user's on-call color, as a hex code (for example, #FF0000). Included only when user.color is requested in the include parameter.
emailThe user's email address.
nameThe user's name.
statusThe user's status.
active, deactivated, pendingid [required]The unique user identifier.
type [required]Users resource type.
usersusers{
"data": {
"attributes": {
"max_responders": 1,
"name": "On-Call Schedule",
"time_zone": "America/New_York"
},
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"relationships": {
"layers": {
"data": [
{
"id": "00000000-0000-0000-0000-000000000001",
"type": "layers"
}
]
},
"teams": {
"data": [
{
"id": "00000000-da3a-0000-0000-000000000000",
"type": "teams"
}
]
}
},
"type": "schedules"
},
"included": [
{
"attributes": {
"avatar": "",
"description": "Team 1 description",
"handle": "team1",
"name": "Team 1"
},
"id": "00000000-da3a-0000-0000-000000000000",
"type": "teams"
},
{
"attributes": {
"effective_date": "2025-02-03T05:00:00Z",
"end_date": "2025-12-31T00:00:00Z",
"interval": {
"days": 1
},
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2025-02-01T00:00:00Z"
},
"id": "00000000-0000-0000-0000-000000000001",
"relationships": {
"members": {
"data": [
{
"id": "00000000-0000-0000-0000-000000000002",
"type": "members"
}
]
}
},
"type": "layers"
},
{
"id": "00000000-0000-0000-0000-000000000002",
"relationships": {
"user": {
"data": {
"id": "00000000-aba1-0000-0000-000000000000",
"type": "users"
}
}
},
"type": "members"
},
{
"attributes": {
"email": "foo@bar.com",
"name": "User 1"
},
"id": "00000000-aba1-0000-0000-000000000000",
"type": "users"
}
]
}Bad Request
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Unauthorized
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Forbidden
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Found
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Exemple de code
# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF# Path parameters
export schedule_id="3653d3c6-0c75-11ea-ad28-fb5701eabc7d"
# Set your Datadog site and credentials
export DD_SITE="us2.ddog-gov.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PUT "https://api.${DD_SITE}/api/v2/on-call/schedules/${schedule_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
"data": {
"id": "3653d3c6-0c75-11ea-ad28-fb5701eabc7d",
"attributes": {
"layers": [
{
"id": "00000000-0000-0000-0000-000000000001",
"effective_date": "2021-11-01T11:11:11+00:00",
"end_date": "2021-11-21T11:11:11+00:00",
"interval": {
"seconds": 3600
},
"members": [
{
"user": {
"id": "string"
}
}
],
"name": "Layer 1",
"restrictions": [
{
"end_day": "friday",
"end_time": "17:00:00",
"start_day": "monday",
"start_time": "09:00:00"
}
],
"rotation_start": "2021-11-06T11:11:11+00:00"
}
],
"name": "Example-On-Call",
"time_zone": "America/New_York"
},
"relationships": {
"teams": {
"data": [
{
"id": "aeadc05e-98a8-11ec-ac2c-da7ad0900001",
"type": "teams"
}
]
}
},
"type": "schedules"
}
}
EOF// Update On-Call schedule returns "OK" response
package main
import (
"context"
"encoding/json"
"fmt"
"os"
"time"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main() {
// there is a valid "schedule" in the system
ScheduleDataID := os.Getenv("SCHEDULE_DATA_ID")
ScheduleDataRelationshipsLayersData0ID := os.Getenv("SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID")
// there is a valid "user" in the system
UserDataID := os.Getenv("USER_DATA_ID")
// there is a valid "dd_team" in the system
DdTeamDataID := os.Getenv("DD_TEAM_DATA_ID")
body := datadogV2.ScheduleUpdateRequest{
Data: datadogV2.ScheduleUpdateRequestData{
Id: ScheduleDataID,
Attributes: datadogV2.ScheduleUpdateRequestDataAttributes{
Layers: []datadogV2.ScheduleUpdateRequestDataAttributesLayersItems{
{
Id: datadog.PtrString(ScheduleDataRelationshipsLayersData0ID),
EffectiveDate: time.Now().AddDate(0, 0, -10),
EndDate: datadog.PtrTime(time.Now().AddDate(0, 0, 10)),
Interval: datadogV2.LayerAttributesInterval{
Seconds: datadog.PtrInt64(3600),
},
Members: []datadogV2.ScheduleRequestDataAttributesLayersItemsMembersItems{
{
User: &datadogV2.ScheduleRequestDataAttributesLayersItemsMembersItemsUser{
Id: datadog.PtrString(UserDataID),
},
},
},
Name: "Layer 1",
Restrictions: []datadogV2.TimeRestriction{
{
EndDay: datadogV2.WEEKDAY_FRIDAY.Ptr(),
EndTime: datadog.PtrString("17:00:00"),
StartDay: datadogV2.WEEKDAY_MONDAY.Ptr(),
StartTime: datadog.PtrString("09:00:00"),
},
},
RotationStart: time.Now().AddDate(0, 0, -5),
},
},
Name: "Example-On-Call",
TimeZone: "America/New_York",
},
Relationships: &datadogV2.ScheduleUpdateRequestDataRelationships{
Teams: &datadogV2.DataRelationshipsTeams{
Data: []datadogV2.DataRelationshipsTeamsDataItems{
{
Id: DdTeamDataID,
Type: datadogV2.DATARELATIONSHIPSTEAMSDATAITEMSTYPE_TEAMS,
},
},
},
},
Type: datadogV2.SCHEDULEUPDATEREQUESTDATATYPE_SCHEDULES,
},
}
ctx := datadog.NewDefaultContext(context.Background())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewOnCallApi(apiClient)
resp, r, err := api.UpdateOnCallSchedule(ctx, ScheduleDataID, body, *datadogV2.NewUpdateOnCallScheduleOptionalParameters())
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `OnCallApi.UpdateOnCallSchedule`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `OnCallApi.UpdateOnCallSchedule`:\n%s\n", responseContent)
}
Instructions
First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Update On-Call schedule returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.OnCallApi;
import com.datadog.api.client.v2.model.DataRelationshipsTeams;
import com.datadog.api.client.v2.model.DataRelationshipsTeamsDataItems;
import com.datadog.api.client.v2.model.DataRelationshipsTeamsDataItemsType;
import com.datadog.api.client.v2.model.LayerAttributesInterval;
import com.datadog.api.client.v2.model.Schedule;
import com.datadog.api.client.v2.model.ScheduleRequestDataAttributesLayersItemsMembersItems;
import com.datadog.api.client.v2.model.ScheduleRequestDataAttributesLayersItemsMembersItemsUser;
import com.datadog.api.client.v2.model.ScheduleUpdateRequest;
import com.datadog.api.client.v2.model.ScheduleUpdateRequestData;
import com.datadog.api.client.v2.model.ScheduleUpdateRequestDataAttributes;
import com.datadog.api.client.v2.model.ScheduleUpdateRequestDataAttributesLayersItems;
import com.datadog.api.client.v2.model.ScheduleUpdateRequestDataRelationships;
import com.datadog.api.client.v2.model.ScheduleUpdateRequestDataType;
import com.datadog.api.client.v2.model.TimeRestriction;
import com.datadog.api.client.v2.model.Weekday;
import java.time.OffsetDateTime;
import java.util.Collections;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
OnCallApi apiInstance = new OnCallApi(defaultClient);
// there is a valid "schedule" in the system
String SCHEDULE_DATA_ID = System.getenv("SCHEDULE_DATA_ID");
String SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID =
System.getenv("SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID");
// there is a valid "user" in the system
String USER_DATA_ID = System.getenv("USER_DATA_ID");
// there is a valid "dd_team" in the system
String DD_TEAM_DATA_ID = System.getenv("DD_TEAM_DATA_ID");
ScheduleUpdateRequest body =
new ScheduleUpdateRequest()
.data(
new ScheduleUpdateRequestData()
.id(SCHEDULE_DATA_ID)
.attributes(
new ScheduleUpdateRequestDataAttributes()
.layers(
Collections.singletonList(
new ScheduleUpdateRequestDataAttributesLayersItems()
.id(SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID)
.effectiveDate(OffsetDateTime.now().plusDays(-10))
.endDate(OffsetDateTime.now().plusDays(10))
.interval(new LayerAttributesInterval().seconds(3600L))
.members(
Collections.singletonList(
new ScheduleRequestDataAttributesLayersItemsMembersItems()
.user(
new ScheduleRequestDataAttributesLayersItemsMembersItemsUser()
.id(USER_DATA_ID))))
.name("Layer 1")
.restrictions(
Collections.singletonList(
new TimeRestriction()
.endDay(Weekday.FRIDAY)
.endTime("17:00:00")
.startDay(Weekday.MONDAY)
.startTime("09:00:00")))
.rotationStart(OffsetDateTime.now().plusDays(-5))))
.name("Example-On-Call")
.timeZone("America/New_York"))
.relationships(
new ScheduleUpdateRequestDataRelationships()
.teams(
new DataRelationshipsTeams()
.data(
Collections.singletonList(
new DataRelationshipsTeamsDataItems()
.id(DD_TEAM_DATA_ID)
.type(DataRelationshipsTeamsDataItemsType.TEAMS)))))
.type(ScheduleUpdateRequestDataType.SCHEDULES));
try {
Schedule result = apiInstance.updateOnCallSchedule(SCHEDULE_DATA_ID, body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling OnCallApi#updateOnCallSchedule");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Instructions
First install the library and its dependencies and then save the example to Example.java and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Update On-Call schedule returns "OK" response
"""
from datetime import datetime
from dateutil.relativedelta import relativedelta
from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.on_call_api import OnCallApi
from datadog_api_client.v2.model.data_relationships_teams import DataRelationshipsTeams
from datadog_api_client.v2.model.data_relationships_teams_data_items import DataRelationshipsTeamsDataItems
from datadog_api_client.v2.model.data_relationships_teams_data_items_type import DataRelationshipsTeamsDataItemsType
from datadog_api_client.v2.model.layer_attributes_interval import LayerAttributesInterval
from datadog_api_client.v2.model.schedule_request_data_attributes_layers_items_members_items import (
ScheduleRequestDataAttributesLayersItemsMembersItems,
)
from datadog_api_client.v2.model.schedule_request_data_attributes_layers_items_members_items_user import (
ScheduleRequestDataAttributesLayersItemsMembersItemsUser,
)
from datadog_api_client.v2.model.schedule_update_request import ScheduleUpdateRequest
from datadog_api_client.v2.model.schedule_update_request_data import ScheduleUpdateRequestData
from datadog_api_client.v2.model.schedule_update_request_data_attributes import ScheduleUpdateRequestDataAttributes
from datadog_api_client.v2.model.schedule_update_request_data_attributes_layers_items import (
ScheduleUpdateRequestDataAttributesLayersItems,
)
from datadog_api_client.v2.model.schedule_update_request_data_relationships import (
ScheduleUpdateRequestDataRelationships,
)
from datadog_api_client.v2.model.schedule_update_request_data_type import ScheduleUpdateRequestDataType
from datadog_api_client.v2.model.time_restriction import TimeRestriction
from datadog_api_client.v2.model.weekday import Weekday
# there is a valid "schedule" in the system
SCHEDULE_DATA_ID = environ["SCHEDULE_DATA_ID"]
SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID = environ["SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID"]
# there is a valid "user" in the system
USER_DATA_ID = environ["USER_DATA_ID"]
# there is a valid "dd_team" in the system
DD_TEAM_DATA_ID = environ["DD_TEAM_DATA_ID"]
body = ScheduleUpdateRequest(
data=ScheduleUpdateRequestData(
id=SCHEDULE_DATA_ID,
attributes=ScheduleUpdateRequestDataAttributes(
layers=[
ScheduleUpdateRequestDataAttributesLayersItems(
id=SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID,
effective_date=(datetime.now() + relativedelta(days=-10)),
end_date=(datetime.now() + relativedelta(days=10)),
interval=LayerAttributesInterval(
seconds=3600,
),
members=[
ScheduleRequestDataAttributesLayersItemsMembersItems(
user=ScheduleRequestDataAttributesLayersItemsMembersItemsUser(
id=USER_DATA_ID,
),
),
],
name="Layer 1",
restrictions=[
TimeRestriction(
end_day=Weekday.FRIDAY,
end_time="17:00:00",
start_day=Weekday.MONDAY,
start_time="09:00:00",
),
],
rotation_start=(datetime.now() + relativedelta(days=-5)),
),
],
name="Example-On-Call",
time_zone="America/New_York",
),
relationships=ScheduleUpdateRequestDataRelationships(
teams=DataRelationshipsTeams(
data=[
DataRelationshipsTeamsDataItems(
id=DD_TEAM_DATA_ID,
type=DataRelationshipsTeamsDataItemsType.TEAMS,
),
],
),
),
type=ScheduleUpdateRequestDataType.SCHEDULES,
),
)
configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
api_instance = OnCallApi(api_client)
response = api_instance.update_on_call_schedule(schedule_id=SCHEDULE_DATA_ID, body=body)
print(response)
Instructions
First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Update On-Call schedule returns "OK" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::OnCallAPI.new
# there is a valid "schedule" in the system
SCHEDULE_DATA_ID = ENV["SCHEDULE_DATA_ID"]
SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID = ENV["SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID"]
# 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::ScheduleUpdateRequest.new({
data: DatadogAPIClient::V2::ScheduleUpdateRequestData.new({
id: SCHEDULE_DATA_ID,
attributes: DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributes.new({
layers: [
DatadogAPIClient::V2::ScheduleUpdateRequestDataAttributesLayersItems.new({
id: SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID,
effective_date: (Time.now + -10 * 86400),
end_date: (Time.now + 10 * 86400),
interval: DatadogAPIClient::V2::LayerAttributesInterval.new({
seconds: 3600,
}),
members: [
DatadogAPIClient::V2::ScheduleRequestDataAttributesLayersItemsMembersItems.new({
user: DatadogAPIClient::V2::ScheduleRequestDataAttributesLayersItemsMembersItemsUser.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",
time_zone: "America/New_York",
}),
relationships: DatadogAPIClient::V2::ScheduleUpdateRequestDataRelationships.new({
teams: DatadogAPIClient::V2::DataRelationshipsTeams.new({
data: [
DatadogAPIClient::V2::DataRelationshipsTeamsDataItems.new({
id: DD_TEAM_DATA_ID,
type: DatadogAPIClient::V2::DataRelationshipsTeamsDataItemsType::TEAMS,
}),
],
}),
}),
type: DatadogAPIClient::V2::ScheduleUpdateRequestDataType::SCHEDULES,
}),
})
p api_instance.update_on_call_schedule(SCHEDULE_DATA_ID, body)
Instructions
First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Update On-Call schedule returns "OK" response
use chrono::{DateTime, Utc};
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_on_call::OnCallAPI;
use datadog_api_client::datadogV2::api_on_call::UpdateOnCallScheduleOptionalParams;
use datadog_api_client::datadogV2::model::DataRelationshipsTeams;
use datadog_api_client::datadogV2::model::DataRelationshipsTeamsDataItems;
use datadog_api_client::datadogV2::model::DataRelationshipsTeamsDataItemsType;
use datadog_api_client::datadogV2::model::LayerAttributesInterval;
use datadog_api_client::datadogV2::model::ScheduleRequestDataAttributesLayersItemsMembersItems;
use datadog_api_client::datadogV2::model::ScheduleRequestDataAttributesLayersItemsMembersItemsUser;
use datadog_api_client::datadogV2::model::ScheduleUpdateRequest;
use datadog_api_client::datadogV2::model::ScheduleUpdateRequestData;
use datadog_api_client::datadogV2::model::ScheduleUpdateRequestDataAttributes;
use datadog_api_client::datadogV2::model::ScheduleUpdateRequestDataAttributesLayersItems;
use datadog_api_client::datadogV2::model::ScheduleUpdateRequestDataRelationships;
use datadog_api_client::datadogV2::model::ScheduleUpdateRequestDataType;
use datadog_api_client::datadogV2::model::TimeRestriction;
use datadog_api_client::datadogV2::model::Weekday;
#[tokio::main]
async fn main() {
// there is a valid "schedule" in the system
let schedule_data_id = std::env::var("SCHEDULE_DATA_ID").unwrap();
let schedule_data_relationships_layers_data_0_id =
std::env::var("SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID").unwrap();
// there is a valid "user" in the system
let user_data_id = std::env::var("USER_DATA_ID").unwrap();
// there is a valid "dd_team" in the system
let dd_team_data_id = std::env::var("DD_TEAM_DATA_ID").unwrap();
let body = ScheduleUpdateRequest::new(
ScheduleUpdateRequestData::new(
ScheduleUpdateRequestDataAttributes::new(
vec![ScheduleUpdateRequestDataAttributesLayersItems::new(
DateTime::parse_from_rfc3339("2021-11-01T11:11:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
LayerAttributesInterval::new().seconds(3600),
vec![
ScheduleRequestDataAttributesLayersItemsMembersItems::new().user(
ScheduleRequestDataAttributesLayersItemsMembersItemsUser::new()
.id(user_data_id.clone()),
),
],
"Layer 1".to_string(),
DateTime::parse_from_rfc3339("2021-11-06T11:11:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
)
.end_date(
DateTime::parse_from_rfc3339("2021-11-21T11:11:11+00:00")
.expect("Failed to parse datetime")
.with_timezone(&Utc),
)
.id(schedule_data_relationships_layers_data_0_id.clone())
.restrictions(vec![TimeRestriction::new()
.end_day(Weekday::FRIDAY)
.end_time("17:00:00".to_string())
.start_day(Weekday::MONDAY)
.start_time("09:00:00".to_string())])],
"Example-On-Call".to_string(),
"America/New_York".to_string(),
),
schedule_data_id.clone(),
ScheduleUpdateRequestDataType::SCHEDULES,
)
.relationships(ScheduleUpdateRequestDataRelationships::new().teams(
DataRelationshipsTeams::new().data(vec![DataRelationshipsTeamsDataItems::new(
dd_team_data_id.clone(),
DataRelationshipsTeamsDataItemsType::TEAMS,
)]),
)),
);
let configuration = datadog::Configuration::new();
let api = OnCallAPI::with_config(configuration);
let resp = api
.update_on_call_schedule(
schedule_data_id.clone(),
body,
UpdateOnCallScheduleOptionalParams::default(),
)
.await;
if let Ok(value) = resp {
println!("{:#?}", value);
} else {
println!("{:#?}", resp.unwrap_err());
}
}
Instructions
First install the library and its dependencies and then save the example to src/main.rs and run following commands:
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run/**
* Update On-Call schedule returns "OK" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
const apiInstance = new v2.OnCallApi(configuration);
// there is a valid "schedule" in the system
const SCHEDULE_DATA_ID = process.env.SCHEDULE_DATA_ID as string;
const SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID = process.env
.SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID as string;
// there is a valid "user" in the system
const USER_DATA_ID = process.env.USER_DATA_ID as string;
// there is a valid "dd_team" in the system
const DD_TEAM_DATA_ID = process.env.DD_TEAM_DATA_ID as string;
const params: v2.OnCallApiUpdateOnCallScheduleRequest = {
body: {
data: {
id: SCHEDULE_DATA_ID,
attributes: {
layers: [
{
id: SCHEDULE_DATA_RELATIONSHIPS_LAYERS_DATA_0_ID,
effectiveDate: new Date(new Date().getTime() + -10 * 86400 * 1000),
endDate: new Date(new Date().getTime() + 10 * 86400 * 1000),
interval: {
seconds: 3600,
},
members: [
{
user: {
id: USER_DATA_ID,
},
},
],
name: "Layer 1",
restrictions: [
{
endDay: "friday",
endTime: "17:00:00",
startDay: "monday",
startTime: "09:00:00",
},
],
rotationStart: new Date(new Date().getTime() + -5 * 86400 * 1000),
},
],
name: "Example-On-Call",
timeZone: "America/New_York",
},
relationships: {
teams: {
data: [
{
id: DD_TEAM_DATA_ID,
type: "teams",
},
],
},
},
type: "schedules",
},
},
scheduleId: SCHEDULE_DATA_ID,
};
apiInstance
.updateOnCallSchedule(params)
.then((data: v2.Schedule) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Instructions
First install the library and its dependencies and then save the example to example.ts and run following commands:
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"