From 9fda84afb69b7b3e27b1633d36e8d8eeea5c3d48 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 3 Dec 2025 15:30:40 +0000 Subject: [PATCH] Regenerate client from commit df7e797 of spec repo --- .generator/schemas/v2/openapi.yaml | 143 +++++++++- .../on-call/CreateOnCallEscalationPolicy.java | 13 + .../client/v2/model/ConfiguredSchedule.java | 244 ++++++++++++++++++ .../v2/model/ConfiguredScheduleTarget.java | 179 +++++++++++++ .../ConfiguredScheduleTargetAttributes.java | 152 +++++++++++ ...ConfiguredScheduleTargetRelationships.java | 149 +++++++++++ ...edScheduleTargetRelationshipsSchedule.java | 150 +++++++++++ .../model/ConfiguredScheduleTargetType.java | 57 ++++ ...tionPolicyCreateRequestDataAttributes.java | 3 +- ...CreateRequestDataAttributesStepsItems.java | 2 +- .../model/EscalationPolicyDataAttributes.java | 3 +- .../v2/model/EscalationPolicyIncluded.java | 209 +++++++++------ .../v2/model/EscalationPolicyStepTarget.java | 34 ++- .../EscalationPolicyStepTargetConfig.java | 139 ++++++++++ ...alationPolicyStepTargetConfigSchedule.java | 143 ++++++++++ ...tionPolicyUpdateRequestDataAttributes.java | 3 +- ...UpdateRequestDataAttributesStepsItems.java | 2 +- .../api/client/v2/model/EscalationTarget.java | 77 +++++- .../api/client/v2/model/ScheduleTarget.java | 1 + .../v2/model/ScheduleTargetPosition.java | 61 +++++ ...ion_policy_returns_Created_response.freeze | 2 +- ...ation_policy_returns_Created_response.json | 42 +-- ...l_schedule_returns_Created_response.freeze | 2 +- ...all_schedule_returns_Created_response.json | 32 +-- ..._policy_returns_No_Content_response.freeze | 2 +- ...on_policy_returns_No_Content_response.json | 48 ++-- ...chedule_returns_No_Content_response.freeze | 2 +- ..._schedule_returns_No_Content_response.json | 26 +- ...calation_policy_returns_OK_response.freeze | 2 +- ...escalation_policy_returns_OK_response.json | 48 ++-- ...n_Call_schedule_returns_OK_response.freeze | 2 +- ..._On_Call_schedule_returns_OK_response.json | 26 +- ...m_on_call_users_returns_OK_response.freeze | 2 +- ...eam_on_call_users_returns_OK_response.json | 62 ++--- ...le_on_call_user_returns_OK_response.freeze | 2 +- ...dule_on_call_user_returns_OK_response.json | 26 +- ...m_routing_rules_returns_OK_response.freeze | 2 +- ...eam_routing_rules_returns_OK_response.json | 56 ++-- ...calation_policy_returns_OK_response.freeze | 2 +- ...escalation_policy_returns_OK_response.json | 50 ++-- ...n_Call_schedule_returns_OK_response.freeze | 2 +- ..._On_Call_schedule_returns_OK_response.json | 40 +-- .../com/datadog/api/client/v2/api/given.json | 2 +- .../datadog/api/client/v2/api/on-call.feature | 4 +- 44 files changed, 1916 insertions(+), 332 deletions(-) create mode 100644 src/main/java/com/datadog/api/client/v2/model/ConfiguredSchedule.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTarget.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationships.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationshipsSchedule.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfig.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfigSchedule.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/ScheduleTargetPosition.java diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 05ce562f5e2..bc03f526753 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -11377,6 +11377,76 @@ components: required: - type type: object + ConfiguredSchedule: + description: Full resource representation of a configured schedule target with + position (previous, current, or next). + properties: + attributes: + $ref: '#/components/schemas/ConfiguredScheduleTargetAttributes' + id: + description: Specifies the unique identifier of the configured schedule + target. + example: 00000000-aba1-0000-0000-000000000000_previous + type: string + relationships: + $ref: '#/components/schemas/ConfiguredScheduleTargetRelationships' + type: + $ref: '#/components/schemas/ConfiguredScheduleTargetType' + required: + - type + - id + - attributes + - relationships + type: object + ConfiguredScheduleTarget: + description: Relationship reference to a configured schedule target. + properties: + id: + description: Specifies the unique identifier of the configured schedule + target. + example: 00000000-aba1-0000-0000-000000000000_previous + type: string + type: + $ref: '#/components/schemas/ConfiguredScheduleTargetType' + required: + - type + - id + type: object + ConfiguredScheduleTargetAttributes: + description: Attributes for a configured schedule target, including position. + example: + position: previous + properties: + position: + $ref: '#/components/schemas/ScheduleTargetPosition' + required: + - position + type: object + ConfiguredScheduleTargetRelationships: + description: Represents the relationships of a configured schedule target. + properties: + schedule: + $ref: '#/components/schemas/ConfiguredScheduleTargetRelationshipsSchedule' + required: + - schedule + type: object + ConfiguredScheduleTargetRelationshipsSchedule: + description: Holds the schedule reference for a configured schedule target. + properties: + data: + $ref: '#/components/schemas/ScheduleTarget' + required: + - data + type: object + ConfiguredScheduleTargetType: + default: schedule_target + description: Indicates that the resource is of type `schedule_target`. + enum: + - schedule_target + example: schedule_target + type: string + x-enum-varnames: + - SCHEDULE_TARGET ConfluentAccountCreateRequest: description: Payload schema when adding a Confluent account. properties: @@ -19260,6 +19330,8 @@ components: type: users - id: 00000000-aba2-0000-0000-000000000000 type: schedules + - id: 00000000-aba2-0000-0000-000000000000_previous + type: schedule_target - id: 00000000-aba3-0000-0000-000000000000 type: teams type: steps @@ -19267,6 +19339,15 @@ components: type: users - id: 00000000-aba2-0000-0000-000000000000 type: schedules + - attributes: + position: previous + id: 00000000-aba2-0000-0000-000000000000_previous + relationships: + schedule: + data: + id: 00000000-aba2-0000-0000-000000000000 + type: schedules + type: schedule_target - id: 00000000-aba3-0000-0000-000000000000 type: teams properties: @@ -19294,7 +19375,10 @@ components: targets: - id: 00000000-aba1-0000-0000-000000000000 type: users - - id: 00000000-aba2-0000-0000-000000000000 + - config: + schedule: + position: previous + id: 00000000-aba2-0000-0000-000000000000 type: schedules - id: 00000000-aba3-0000-0000-000000000000 type: teams @@ -19338,6 +19422,7 @@ components: name: description: Specifies the name for the new escalation policy. example: On-Call Escalation Policy + minLength: 1 type: string resolve_page_on_policy_end: description: Indicates whether the page is automatically resolved when the @@ -19347,12 +19432,16 @@ components: description: Specifies how many times the escalation sequence is retried if there is no response. format: int64 + maximum: 10 + minimum: 0 type: integer steps: description: A list of escalation steps, each defining assignment, escalation timeout, and targets for the new policy. items: $ref: '#/components/schemas/EscalationPolicyCreateRequestDataAttributesStepsItems' + maxItems: 10 + minItems: 1 type: array required: - name @@ -19369,6 +19458,8 @@ components: step. example: 3600 format: int64 + maximum: 36000 + minimum: 60 type: integer targets: description: Specifies the collection of escalation targets for this step. @@ -19420,6 +19511,7 @@ components: name: description: Specifies the name of the escalation policy. example: On-Call Escalation Policy + minLength: 1 type: string resolve_page_on_policy_end: description: Indicates whether the page is automatically resolved when the @@ -19429,6 +19521,8 @@ components: description: Specifies how many times the escalation sequence is retried if there is no response. format: int64 + maximum: 10 + minimum: 0 type: integer required: - name @@ -19491,10 +19585,11 @@ components: description: Represents included related resources when retrieving an escalation policy, such as teams, steps, or targets. oneOf: - - $ref: '#/components/schemas/TeamReference' - $ref: '#/components/schemas/EscalationPolicyStep' - $ref: '#/components/schemas/EscalationPolicyUser' - $ref: '#/components/schemas/ScheduleData' + - $ref: '#/components/schemas/ConfiguredSchedule' + - $ref: '#/components/schemas/TeamReference' EscalationPolicyStep: description: Represents a single step in an escalation policy, including its attributes, relationships, and resource type. @@ -19542,8 +19637,10 @@ components: type: object EscalationPolicyStepTarget: description: Defines a single escalation target within a step for an escalation - policy creation request. Contains `id` and `type`. + policy creation request. Contains `id`, `type`, and optional `config`. properties: + config: + $ref: '#/components/schemas/EscalationPolicyStepTargetConfig' id: description: Specifies the unique identifier for this target. example: 00000000-aba1-0000-0000-000000000000 @@ -19551,6 +19648,18 @@ components: type: $ref: '#/components/schemas/EscalationPolicyStepTargetType' type: object + EscalationPolicyStepTargetConfig: + description: Configuration for an escalation target, such as schedule position. + properties: + schedule: + $ref: '#/components/schemas/EscalationPolicyStepTargetConfigSchedule' + type: object + EscalationPolicyStepTargetConfigSchedule: + description: Schedule-specific configuration for an escalation target. + properties: + position: + $ref: '#/components/schemas/ScheduleTargetPosition' + type: object EscalationPolicyStepTargetType: description: Specifies the type of escalation target (example `users`, `schedules`, or `teams`). @@ -19631,6 +19740,7 @@ components: name: description: Specifies the name of the escalation policy. example: On-Call Escalation Policy + minLength: 1 type: string resolve_page_on_policy_end: description: Indicates whether the page is automatically resolved when the @@ -19640,12 +19750,16 @@ components: description: Specifies how many times the escalation sequence is retried if there is no response. format: int64 + maximum: 10 + minimum: 0 type: integer steps: description: A list of escalation steps, each defining assignment, escalation timeout, and targets. items: $ref: '#/components/schemas/EscalationPolicyUpdateRequestDataAttributesStepsItems' + maxItems: 10 + minItems: 1 type: array required: - name @@ -19663,6 +19777,8 @@ components: step. example: 3600 format: int64 + maximum: 36000 + minimum: 60 type: integer id: description: Specifies the unique identifier of this step. @@ -19771,12 +19887,13 @@ components: x-enum-varnames: - USERS EscalationTarget: - description: Represents an escalation target, which can be a team, user, or - schedule. + description: Represents an escalation target, which can be a team, user, schedule, + or configured schedule target. oneOf: - $ref: '#/components/schemas/TeamTarget' - $ref: '#/components/schemas/UserTarget' - $ref: '#/components/schemas/ScheduleTarget' + - $ref: '#/components/schemas/ConfiguredScheduleTarget' EscalationTargets: description: A list of escalation targets for a step properties: @@ -45636,7 +45753,8 @@ components: type: object ScheduleTarget: description: Represents a schedule target for an escalation policy step, including - its ID and resource type. + its ID and resource type. This is a shortcut for a configured schedule target + with position set to 'current'. properties: id: description: Specifies the unique identifier of the schedule resource. @@ -45648,6 +45766,19 @@ components: - type - id type: object + ScheduleTargetPosition: + description: Specifies the position of a schedule target (example `previous`, + `current`, or `next`). + enum: + - previous + - current + - next + example: previous + type: string + x-enum-varnames: + - PREVIOUS + - CURRENT + - NEXT ScheduleTargetType: default: schedules description: Indicates that the resource is of type `schedules`. diff --git a/examples/v2/on-call/CreateOnCallEscalationPolicy.java b/examples/v2/on-call/CreateOnCallEscalationPolicy.java index 12958603a14..862d177b44b 100644 --- a/examples/v2/on-call/CreateOnCallEscalationPolicy.java +++ b/examples/v2/on-call/CreateOnCallEscalationPolicy.java @@ -16,7 +16,10 @@ import com.datadog.api.client.v2.model.EscalationPolicyCreateRequestDataType; import com.datadog.api.client.v2.model.EscalationPolicyStepAttributesAssignment; import com.datadog.api.client.v2.model.EscalationPolicyStepTarget; +import com.datadog.api.client.v2.model.EscalationPolicyStepTargetConfig; +import com.datadog.api.client.v2.model.EscalationPolicyStepTargetConfigSchedule; import com.datadog.api.client.v2.model.EscalationPolicyStepTargetType; +import com.datadog.api.client.v2.model.ScheduleTargetPosition; import java.util.Arrays; import java.util.Collections; @@ -57,6 +60,16 @@ public static void main(String[] args) { new EscalationPolicyStepTarget() .id(SCHEDULE_DATA_ID) .type(EscalationPolicyStepTargetType.SCHEDULES), + new EscalationPolicyStepTarget() + .config( + new EscalationPolicyStepTargetConfig() + .schedule( + new EscalationPolicyStepTargetConfigSchedule() + .position( + ScheduleTargetPosition + .PREVIOUS))) + .id(SCHEDULE_DATA_ID) + .type(EscalationPolicyStepTargetType.SCHEDULES), new EscalationPolicyStepTarget() .id(DD_TEAM_DATA_ID) .type(EscalationPolicyStepTargetType.TEAMS))), diff --git a/src/main/java/com/datadog/api/client/v2/model/ConfiguredSchedule.java b/src/main/java/com/datadog/api/client/v2/model/ConfiguredSchedule.java new file mode 100644 index 00000000000..d1f54e85f3d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ConfiguredSchedule.java @@ -0,0 +1,244 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** + * Full resource representation of a configured schedule target with position (previous, current, or + * next). + */ +@JsonPropertyOrder({ + ConfiguredSchedule.JSON_PROPERTY_ATTRIBUTES, + ConfiguredSchedule.JSON_PROPERTY_ID, + ConfiguredSchedule.JSON_PROPERTY_RELATIONSHIPS, + ConfiguredSchedule.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ConfiguredSchedule { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private ConfiguredScheduleTargetAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_RELATIONSHIPS = "relationships"; + private ConfiguredScheduleTargetRelationships relationships; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ConfiguredScheduleTargetType type = ConfiguredScheduleTargetType.SCHEDULE_TARGET; + + public ConfiguredSchedule() {} + + @JsonCreator + public ConfiguredSchedule( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + ConfiguredScheduleTargetAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_RELATIONSHIPS) + ConfiguredScheduleTargetRelationships relationships, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + ConfiguredScheduleTargetType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.relationships = relationships; + this.unparsed |= relationships.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ConfiguredSchedule attributes(ConfiguredScheduleTargetAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes for a configured schedule target, including position. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ConfiguredScheduleTargetAttributes getAttributes() { + return attributes; + } + + public void setAttributes(ConfiguredScheduleTargetAttributes attributes) { + this.attributes = attributes; + } + + public ConfiguredSchedule id(String id) { + this.id = id; + return this; + } + + /** + * Specifies the unique identifier of the configured schedule target. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public ConfiguredSchedule relationships(ConfiguredScheduleTargetRelationships relationships) { + this.relationships = relationships; + this.unparsed |= relationships.unparsed; + return this; + } + + /** + * Represents the relationships of a configured schedule target. + * + * @return relationships + */ + @JsonProperty(JSON_PROPERTY_RELATIONSHIPS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ConfiguredScheduleTargetRelationships getRelationships() { + return relationships; + } + + public void setRelationships(ConfiguredScheduleTargetRelationships relationships) { + this.relationships = relationships; + } + + public ConfiguredSchedule type(ConfiguredScheduleTargetType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Indicates that the resource is of type schedule_target. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ConfiguredScheduleTargetType getType() { + return type; + } + + public void setType(ConfiguredScheduleTargetType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ConfiguredSchedule + */ + @JsonAnySetter + public ConfiguredSchedule putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ConfiguredSchedule object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConfiguredSchedule configuredSchedule = (ConfiguredSchedule) o; + return Objects.equals(this.attributes, configuredSchedule.attributes) + && Objects.equals(this.id, configuredSchedule.id) + && Objects.equals(this.relationships, configuredSchedule.relationships) + && Objects.equals(this.type, configuredSchedule.type) + && Objects.equals(this.additionalProperties, configuredSchedule.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, relationships, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConfiguredSchedule {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" relationships: ").append(toIndentedString(relationships)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTarget.java b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTarget.java new file mode 100644 index 00000000000..221d500bfc8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTarget.java @@ -0,0 +1,179 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Relationship reference to a configured schedule target. */ +@JsonPropertyOrder({ + ConfiguredScheduleTarget.JSON_PROPERTY_ID, + ConfiguredScheduleTarget.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ConfiguredScheduleTarget { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private ConfiguredScheduleTargetType type = ConfiguredScheduleTargetType.SCHEDULE_TARGET; + + public ConfiguredScheduleTarget() {} + + @JsonCreator + public ConfiguredScheduleTarget( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) + ConfiguredScheduleTargetType type) { + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public ConfiguredScheduleTarget id(String id) { + this.id = id; + return this; + } + + /** + * Specifies the unique identifier of the configured schedule target. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public ConfiguredScheduleTarget type(ConfiguredScheduleTargetType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Indicates that the resource is of type schedule_target. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ConfiguredScheduleTargetType getType() { + return type; + } + + public void setType(ConfiguredScheduleTargetType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ConfiguredScheduleTarget + */ + @JsonAnySetter + public ConfiguredScheduleTarget putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ConfiguredScheduleTarget object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConfiguredScheduleTarget configuredScheduleTarget = (ConfiguredScheduleTarget) o; + return Objects.equals(this.id, configuredScheduleTarget.id) + && Objects.equals(this.type, configuredScheduleTarget.type) + && Objects.equals(this.additionalProperties, configuredScheduleTarget.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConfiguredScheduleTarget {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetAttributes.java b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetAttributes.java new file mode 100644 index 00000000000..6e053c4d61d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetAttributes.java @@ -0,0 +1,152 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes for a configured schedule target, including position. */ +@JsonPropertyOrder({ConfiguredScheduleTargetAttributes.JSON_PROPERTY_POSITION}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ConfiguredScheduleTargetAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_POSITION = "position"; + private ScheduleTargetPosition position; + + public ConfiguredScheduleTargetAttributes() {} + + @JsonCreator + public ConfiguredScheduleTargetAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_POSITION) + ScheduleTargetPosition position) { + this.position = position; + this.unparsed |= !position.isValid(); + } + + public ConfiguredScheduleTargetAttributes position(ScheduleTargetPosition position) { + this.position = position; + this.unparsed |= !position.isValid(); + return this; + } + + /** + * Specifies the position of a schedule target (example previous, current + * , or next). + * + * @return position + */ + @JsonProperty(JSON_PROPERTY_POSITION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ScheduleTargetPosition getPosition() { + return position; + } + + public void setPosition(ScheduleTargetPosition position) { + if (!position.isValid()) { + this.unparsed = true; + } + this.position = position; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ConfiguredScheduleTargetAttributes + */ + @JsonAnySetter + public ConfiguredScheduleTargetAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ConfiguredScheduleTargetAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConfiguredScheduleTargetAttributes configuredScheduleTargetAttributes = + (ConfiguredScheduleTargetAttributes) o; + return Objects.equals(this.position, configuredScheduleTargetAttributes.position) + && Objects.equals( + this.additionalProperties, configuredScheduleTargetAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(position, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConfiguredScheduleTargetAttributes {\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationships.java b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationships.java new file mode 100644 index 00000000000..8600e7bd548 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationships.java @@ -0,0 +1,149 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Represents the relationships of a configured schedule target. */ +@JsonPropertyOrder({ConfiguredScheduleTargetRelationships.JSON_PROPERTY_SCHEDULE}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ConfiguredScheduleTargetRelationships { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_SCHEDULE = "schedule"; + private ConfiguredScheduleTargetRelationshipsSchedule schedule; + + public ConfiguredScheduleTargetRelationships() {} + + @JsonCreator + public ConfiguredScheduleTargetRelationships( + @JsonProperty(required = true, value = JSON_PROPERTY_SCHEDULE) + ConfiguredScheduleTargetRelationshipsSchedule schedule) { + this.schedule = schedule; + this.unparsed |= schedule.unparsed; + } + + public ConfiguredScheduleTargetRelationships schedule( + ConfiguredScheduleTargetRelationshipsSchedule schedule) { + this.schedule = schedule; + this.unparsed |= schedule.unparsed; + return this; + } + + /** + * Holds the schedule reference for a configured schedule target. + * + * @return schedule + */ + @JsonProperty(JSON_PROPERTY_SCHEDULE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ConfiguredScheduleTargetRelationshipsSchedule getSchedule() { + return schedule; + } + + public void setSchedule(ConfiguredScheduleTargetRelationshipsSchedule schedule) { + this.schedule = schedule; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ConfiguredScheduleTargetRelationships + */ + @JsonAnySetter + public ConfiguredScheduleTargetRelationships putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ConfiguredScheduleTargetRelationships object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConfiguredScheduleTargetRelationships configuredScheduleTargetRelationships = + (ConfiguredScheduleTargetRelationships) o; + return Objects.equals(this.schedule, configuredScheduleTargetRelationships.schedule) + && Objects.equals( + this.additionalProperties, configuredScheduleTargetRelationships.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(schedule, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConfiguredScheduleTargetRelationships {\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationshipsSchedule.java b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationshipsSchedule.java new file mode 100644 index 00000000000..d33f3419237 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetRelationshipsSchedule.java @@ -0,0 +1,150 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Holds the schedule reference for a configured schedule target. */ +@JsonPropertyOrder({ConfiguredScheduleTargetRelationshipsSchedule.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class ConfiguredScheduleTargetRelationshipsSchedule { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private ScheduleTarget data; + + public ConfiguredScheduleTargetRelationshipsSchedule() {} + + @JsonCreator + public ConfiguredScheduleTargetRelationshipsSchedule( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) ScheduleTarget data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public ConfiguredScheduleTargetRelationshipsSchedule data(ScheduleTarget data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Represents a schedule target for an escalation policy step, including its ID and resource type. + * This is a shortcut for a configured schedule target with position set to 'current'. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public ScheduleTarget getData() { + return data; + } + + public void setData(ScheduleTarget data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return ConfiguredScheduleTargetRelationshipsSchedule + */ + @JsonAnySetter + public ConfiguredScheduleTargetRelationshipsSchedule putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this ConfiguredScheduleTargetRelationshipsSchedule object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConfiguredScheduleTargetRelationshipsSchedule configuredScheduleTargetRelationshipsSchedule = + (ConfiguredScheduleTargetRelationshipsSchedule) o; + return Objects.equals(this.data, configuredScheduleTargetRelationshipsSchedule.data) + && Objects.equals( + this.additionalProperties, + configuredScheduleTargetRelationshipsSchedule.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConfiguredScheduleTargetRelationshipsSchedule {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetType.java b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetType.java new file mode 100644 index 00000000000..141e0d11549 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ConfiguredScheduleTargetType.java @@ -0,0 +1,57 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Indicates that the resource is of type schedule_target. */ +@JsonSerialize(using = ConfiguredScheduleTargetType.ConfiguredScheduleTargetTypeSerializer.class) +public class ConfiguredScheduleTargetType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("schedule_target")); + + public static final ConfiguredScheduleTargetType SCHEDULE_TARGET = + new ConfiguredScheduleTargetType("schedule_target"); + + ConfiguredScheduleTargetType(String value) { + super(value, allowedValues); + } + + public static class ConfiguredScheduleTargetTypeSerializer + extends StdSerializer { + public ConfiguredScheduleTargetTypeSerializer(Class t) { + super(t); + } + + public ConfiguredScheduleTargetTypeSerializer() { + this(null); + } + + @Override + public void serialize( + ConfiguredScheduleTargetType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ConfiguredScheduleTargetType fromValue(String value) { + return new ConfiguredScheduleTargetType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributes.java index 0658bc19da7..0747749ce8e 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributes.java @@ -105,7 +105,8 @@ public EscalationPolicyCreateRequestDataAttributes retries(Long retries) { } /** - * Specifies how many times the escalation sequence is retried if there is no response. + * Specifies how many times the escalation sequence is retried if there is no response. minimum: 0 + * maximum: 10 * * @return retries */ diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributesStepsItems.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributesStepsItems.java index b3db146c123..777d6cbe9f3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributesStepsItems.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyCreateRequestDataAttributesStepsItems.java @@ -84,7 +84,7 @@ public EscalationPolicyCreateRequestDataAttributesStepsItems escalateAfterSecond } /** - * Defines how many seconds to wait before escalating to the next step. + * Defines how many seconds to wait before escalating to the next step. minimum: 60 maximum: 36000 * * @return escalateAfterSeconds */ diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyDataAttributes.java index 066926b6604..40d67906410 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyDataAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyDataAttributes.java @@ -94,7 +94,8 @@ public EscalationPolicyDataAttributes retries(Long retries) { } /** - * Specifies how many times the escalation sequence is retried if there is no response. + * Specifies how many times the escalation sequence is retried if there is no response. minimum: 0 + * maximum: 10 * * @return retries */ diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyIncluded.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyIncluded.java index 46c834848bb..005d4e21573 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyIncluded.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyIncluded.java @@ -80,50 +80,6 @@ public EscalationPolicyIncluded deserialize(JsonParser jp, DeserializationContex boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); int match = 0; JsonToken token = tree.traverse(jp.getCodec()).nextToken(); - // deserialize TeamReference - try { - boolean attemptParsing = true; - // ensure that we respect type coercion as set on the client ObjectMapper - if (TeamReference.class.equals(Integer.class) - || TeamReference.class.equals(Long.class) - || TeamReference.class.equals(Float.class) - || TeamReference.class.equals(Double.class) - || TeamReference.class.equals(Boolean.class) - || TeamReference.class.equals(String.class)) { - attemptParsing = typeCoercion; - if (!attemptParsing) { - attemptParsing |= - ((TeamReference.class.equals(Integer.class) - || TeamReference.class.equals(Long.class)) - && token == JsonToken.VALUE_NUMBER_INT); - attemptParsing |= - ((TeamReference.class.equals(Float.class) - || TeamReference.class.equals(Double.class)) - && (token == JsonToken.VALUE_NUMBER_FLOAT - || token == JsonToken.VALUE_NUMBER_INT)); - attemptParsing |= - (TeamReference.class.equals(Boolean.class) - && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); - attemptParsing |= - (TeamReference.class.equals(String.class) && token == JsonToken.VALUE_STRING); - } - } - if (attemptParsing) { - tmp = tree.traverse(jp.getCodec()).readValueAs(TeamReference.class); - // TODO: there is no validation against JSON schema constraints - // (min, max, enum, pattern...), this does not perform a strict JSON - // validation, which means the 'match' count may be higher than it should be. - if (!((TeamReference) tmp).unparsed) { - deserialized = tmp; - match++; - } - log.log(Level.FINER, "Input data matches schema 'TeamReference'"); - } - } catch (Exception e) { - // deserialization failed, continue - log.log(Level.FINER, "Input data does not match schema 'TeamReference'", e); - } - // deserialize EscalationPolicyStep try { boolean attemptParsing = true; @@ -256,6 +212,94 @@ public EscalationPolicyIncluded deserialize(JsonParser jp, DeserializationContex log.log(Level.FINER, "Input data does not match schema 'ScheduleData'", e); } + // deserialize ConfiguredSchedule + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ConfiguredSchedule.class.equals(Integer.class) + || ConfiguredSchedule.class.equals(Long.class) + || ConfiguredSchedule.class.equals(Float.class) + || ConfiguredSchedule.class.equals(Double.class) + || ConfiguredSchedule.class.equals(Boolean.class) + || ConfiguredSchedule.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ConfiguredSchedule.class.equals(Integer.class) + || ConfiguredSchedule.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ConfiguredSchedule.class.equals(Float.class) + || ConfiguredSchedule.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ConfiguredSchedule.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ConfiguredSchedule.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(ConfiguredSchedule.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ConfiguredSchedule) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'ConfiguredSchedule'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ConfiguredSchedule'", e); + } + + // deserialize TeamReference + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TeamReference.class.equals(Integer.class) + || TeamReference.class.equals(Long.class) + || TeamReference.class.equals(Float.class) + || TeamReference.class.equals(Double.class) + || TeamReference.class.equals(Boolean.class) + || TeamReference.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((TeamReference.class.equals(Integer.class) + || TeamReference.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((TeamReference.class.equals(Float.class) + || TeamReference.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (TeamReference.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (TeamReference.class.equals(String.class) && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(TeamReference.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((TeamReference) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'TeamReference'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'TeamReference'", e); + } + EscalationPolicyIncluded ret = new EscalationPolicyIncluded(); if (match == 1) { ret.setActualInstance(deserialized); @@ -285,31 +329,37 @@ public EscalationPolicyIncluded() { super("oneOf", Boolean.FALSE); } - public EscalationPolicyIncluded(TeamReference o) { + public EscalationPolicyIncluded(EscalationPolicyStep o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } - public EscalationPolicyIncluded(EscalationPolicyStep o) { + public EscalationPolicyIncluded(EscalationPolicyUser o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } - public EscalationPolicyIncluded(EscalationPolicyUser o) { + public EscalationPolicyIncluded(ScheduleData o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } - public EscalationPolicyIncluded(ScheduleData o) { + public EscalationPolicyIncluded(ConfiguredSchedule o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + public EscalationPolicyIncluded(TeamReference o) { super("oneOf", Boolean.FALSE); setActualInstance(o); } static { - schemas.put("TeamReference", new GenericType() {}); schemas.put("EscalationPolicyStep", new GenericType() {}); schemas.put("EscalationPolicyUser", new GenericType() {}); schemas.put("ScheduleData", new GenericType() {}); + schemas.put("ConfiguredSchedule", new GenericType() {}); + schemas.put("TeamReference", new GenericType() {}); JSON.registerDescendants(EscalationPolicyIncluded.class, Collections.unmodifiableMap(schemas)); } @@ -320,18 +370,14 @@ public Map getSchemas() { /** * Set the instance that matches the oneOf child schema, check the instance parameter is valid - * against the oneOf child schemas: TeamReference, EscalationPolicyStep, EscalationPolicyUser, - * ScheduleData + * against the oneOf child schemas: EscalationPolicyStep, EscalationPolicyUser, ScheduleData, + * ConfiguredSchedule, TeamReference * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a * composed schema (allOf, anyOf, oneOf). */ @Override public void setActualInstance(Object instance) { - if (JSON.isInstanceOf(TeamReference.class, instance, new HashSet>())) { - super.setActualInstance(instance); - return; - } if (JSON.isInstanceOf(EscalationPolicyStep.class, instance, new HashSet>())) { super.setActualInstance(instance); return; @@ -344,39 +390,36 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(ConfiguredSchedule.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + if (JSON.isInstanceOf(TeamReference.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { super.setActualInstance(instance); return; } throw new RuntimeException( - "Invalid instance type. Must be TeamReference, EscalationPolicyStep, EscalationPolicyUser," - + " ScheduleData"); + "Invalid instance type. Must be EscalationPolicyStep, EscalationPolicyUser, ScheduleData," + + " ConfiguredSchedule, TeamReference"); } /** - * Get the actual instance, which can be the following: TeamReference, EscalationPolicyStep, - * EscalationPolicyUser, ScheduleData + * Get the actual instance, which can be the following: EscalationPolicyStep, + * EscalationPolicyUser, ScheduleData, ConfiguredSchedule, TeamReference * - * @return The actual instance (TeamReference, EscalationPolicyStep, EscalationPolicyUser, - * ScheduleData) + * @return The actual instance (EscalationPolicyStep, EscalationPolicyUser, ScheduleData, + * ConfiguredSchedule, TeamReference) */ @Override public Object getActualInstance() { return super.getActualInstance(); } - /** - * Get the actual instance of `TeamReference`. If the actual instance is not `TeamReference`, the - * ClassCastException will be thrown. - * - * @return The actual instance of `TeamReference` - * @throws ClassCastException if the instance is not `TeamReference` - */ - public TeamReference getTeamReference() throws ClassCastException { - return (TeamReference) super.getActualInstance(); - } - /** * Get the actual instance of `EscalationPolicyStep`. If the actual instance is not * `EscalationPolicyStep`, the ClassCastException will be thrown. @@ -409,4 +452,26 @@ public EscalationPolicyUser getEscalationPolicyUser() throws ClassCastException public ScheduleData getScheduleData() throws ClassCastException { return (ScheduleData) super.getActualInstance(); } + + /** + * Get the actual instance of `ConfiguredSchedule`. If the actual instance is not + * `ConfiguredSchedule`, the ClassCastException will be thrown. + * + * @return The actual instance of `ConfiguredSchedule` + * @throws ClassCastException if the instance is not `ConfiguredSchedule` + */ + public ConfiguredSchedule getConfiguredSchedule() throws ClassCastException { + return (ConfiguredSchedule) super.getActualInstance(); + } + + /** + * Get the actual instance of `TeamReference`. If the actual instance is not `TeamReference`, the + * ClassCastException will be thrown. + * + * @return The actual instance of `TeamReference` + * @throws ClassCastException if the instance is not `TeamReference` + */ + public TeamReference getTeamReference() throws ClassCastException { + return (TeamReference) super.getActualInstance(); + } } diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTarget.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTarget.java index 6b75fc4cbd0..a0adde013fc 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTarget.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTarget.java @@ -18,9 +18,10 @@ /** * Defines a single escalation target within a step for an escalation policy creation request. - * Contains id and type. + * Contains id, type, and optional config. */ @JsonPropertyOrder({ + EscalationPolicyStepTarget.JSON_PROPERTY_CONFIG, EscalationPolicyStepTarget.JSON_PROPERTY_ID, EscalationPolicyStepTarget.JSON_PROPERTY_TYPE }) @@ -28,12 +29,37 @@ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class EscalationPolicyStepTarget { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CONFIG = "config"; + private EscalationPolicyStepTargetConfig config; + public static final String JSON_PROPERTY_ID = "id"; private String id; public static final String JSON_PROPERTY_TYPE = "type"; private EscalationPolicyStepTargetType type; + public EscalationPolicyStepTarget config(EscalationPolicyStepTargetConfig config) { + this.config = config; + this.unparsed |= config.unparsed; + return this; + } + + /** + * Configuration for an escalation target, such as schedule position. + * + * @return config + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CONFIG) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EscalationPolicyStepTargetConfig getConfig() { + return config; + } + + public void setConfig(EscalationPolicyStepTargetConfig config) { + this.config = config; + } + public EscalationPolicyStepTarget id(String id) { this.id = id; return this; @@ -137,7 +163,8 @@ public boolean equals(Object o) { return false; } EscalationPolicyStepTarget escalationPolicyStepTarget = (EscalationPolicyStepTarget) o; - return Objects.equals(this.id, escalationPolicyStepTarget.id) + return Objects.equals(this.config, escalationPolicyStepTarget.config) + && Objects.equals(this.id, escalationPolicyStepTarget.id) && Objects.equals(this.type, escalationPolicyStepTarget.type) && Objects.equals( this.additionalProperties, escalationPolicyStepTarget.additionalProperties); @@ -145,13 +172,14 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(id, type, additionalProperties); + return Objects.hash(config, id, type, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class EscalationPolicyStepTarget {\n"); + sb.append(" config: ").append(toIndentedString(config)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append(" additionalProperties: ") diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfig.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfig.java new file mode 100644 index 00000000000..a9850a0431d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfig.java @@ -0,0 +1,139 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Configuration for an escalation target, such as schedule position. */ +@JsonPropertyOrder({EscalationPolicyStepTargetConfig.JSON_PROPERTY_SCHEDULE}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class EscalationPolicyStepTargetConfig { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_SCHEDULE = "schedule"; + private EscalationPolicyStepTargetConfigSchedule schedule; + + public EscalationPolicyStepTargetConfig schedule( + EscalationPolicyStepTargetConfigSchedule schedule) { + this.schedule = schedule; + this.unparsed |= schedule.unparsed; + return this; + } + + /** + * Schedule-specific configuration for an escalation target. + * + * @return schedule + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SCHEDULE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public EscalationPolicyStepTargetConfigSchedule getSchedule() { + return schedule; + } + + public void setSchedule(EscalationPolicyStepTargetConfigSchedule schedule) { + this.schedule = schedule; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return EscalationPolicyStepTargetConfig + */ + @JsonAnySetter + public EscalationPolicyStepTargetConfig putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this EscalationPolicyStepTargetConfig object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalationPolicyStepTargetConfig escalationPolicyStepTargetConfig = + (EscalationPolicyStepTargetConfig) o; + return Objects.equals(this.schedule, escalationPolicyStepTargetConfig.schedule) + && Objects.equals( + this.additionalProperties, escalationPolicyStepTargetConfig.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(schedule, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalationPolicyStepTargetConfig {\n"); + sb.append(" schedule: ").append(toIndentedString(schedule)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfigSchedule.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfigSchedule.java new file mode 100644 index 00000000000..9b2ce35b523 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyStepTargetConfigSchedule.java @@ -0,0 +1,143 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Schedule-specific configuration for an escalation target. */ +@JsonPropertyOrder({EscalationPolicyStepTargetConfigSchedule.JSON_PROPERTY_POSITION}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class EscalationPolicyStepTargetConfigSchedule { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_POSITION = "position"; + private ScheduleTargetPosition position; + + public EscalationPolicyStepTargetConfigSchedule position(ScheduleTargetPosition position) { + this.position = position; + this.unparsed |= !position.isValid(); + return this; + } + + /** + * Specifies the position of a schedule target (example previous, current + * , or next). + * + * @return position + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_POSITION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public ScheduleTargetPosition getPosition() { + return position; + } + + public void setPosition(ScheduleTargetPosition position) { + if (!position.isValid()) { + this.unparsed = true; + } + this.position = position; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return EscalationPolicyStepTargetConfigSchedule + */ + @JsonAnySetter + public EscalationPolicyStepTargetConfigSchedule putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this EscalationPolicyStepTargetConfigSchedule object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EscalationPolicyStepTargetConfigSchedule escalationPolicyStepTargetConfigSchedule = + (EscalationPolicyStepTargetConfigSchedule) o; + return Objects.equals(this.position, escalationPolicyStepTargetConfigSchedule.position) + && Objects.equals( + this.additionalProperties, + escalationPolicyStepTargetConfigSchedule.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(position, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EscalationPolicyStepTargetConfigSchedule {\n"); + sb.append(" position: ").append(toIndentedString(position)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributes.java index f0521b05ac5..adeb29d3d64 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributes.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributes.java @@ -105,7 +105,8 @@ public EscalationPolicyUpdateRequestDataAttributes retries(Long retries) { } /** - * Specifies how many times the escalation sequence is retried if there is no response. + * Specifies how many times the escalation sequence is retried if there is no response. minimum: 0 + * maximum: 10 * * @return retries */ diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributesStepsItems.java b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributesStepsItems.java index 9caf3b0c93d..80c4ab89969 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributesStepsItems.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationPolicyUpdateRequestDataAttributesStepsItems.java @@ -88,7 +88,7 @@ public EscalationPolicyUpdateRequestDataAttributesStepsItems escalateAfterSecond } /** - * Defines how many seconds to wait before escalating to the next step. + * Defines how many seconds to wait before escalating to the next step. minimum: 60 maximum: 36000 * * @return escalateAfterSeconds */ diff --git a/src/main/java/com/datadog/api/client/v2/model/EscalationTarget.java b/src/main/java/com/datadog/api/client/v2/model/EscalationTarget.java index 1835bed8c63..2bc10c1e163 100644 --- a/src/main/java/com/datadog/api/client/v2/model/EscalationTarget.java +++ b/src/main/java/com/datadog/api/client/v2/model/EscalationTarget.java @@ -205,6 +205,51 @@ public EscalationTarget deserialize(JsonParser jp, DeserializationContext ctxt) log.log(Level.FINER, "Input data does not match schema 'ScheduleTarget'", e); } + // deserialize ConfiguredScheduleTarget + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (ConfiguredScheduleTarget.class.equals(Integer.class) + || ConfiguredScheduleTarget.class.equals(Long.class) + || ConfiguredScheduleTarget.class.equals(Float.class) + || ConfiguredScheduleTarget.class.equals(Double.class) + || ConfiguredScheduleTarget.class.equals(Boolean.class) + || ConfiguredScheduleTarget.class.equals(String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((ConfiguredScheduleTarget.class.equals(Integer.class) + || ConfiguredScheduleTarget.class.equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((ConfiguredScheduleTarget.class.equals(Float.class) + || ConfiguredScheduleTarget.class.equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (ConfiguredScheduleTarget.class.equals(Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (ConfiguredScheduleTarget.class.equals(String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = tree.traverse(jp.getCodec()).readValueAs(ConfiguredScheduleTarget.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((ConfiguredScheduleTarget) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log(Level.FINER, "Input data matches schema 'ConfiguredScheduleTarget'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log(Level.FINER, "Input data does not match schema 'ConfiguredScheduleTarget'", e); + } + EscalationTarget ret = new EscalationTarget(); if (match == 1) { ret.setActualInstance(deserialized); @@ -248,10 +293,16 @@ public EscalationTarget(ScheduleTarget o) { setActualInstance(o); } + public EscalationTarget(ConfiguredScheduleTarget o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + static { schemas.put("TeamTarget", new GenericType() {}); schemas.put("UserTarget", new GenericType() {}); schemas.put("ScheduleTarget", new GenericType() {}); + schemas.put("ConfiguredScheduleTarget", new GenericType() {}); JSON.registerDescendants(EscalationTarget.class, Collections.unmodifiableMap(schemas)); } @@ -262,7 +313,8 @@ public Map getSchemas() { /** * Set the instance that matches the oneOf child schema, check the instance parameter is valid - * against the oneOf child schemas: TeamTarget, UserTarget, ScheduleTarget + * against the oneOf child schemas: TeamTarget, UserTarget, ScheduleTarget, + * ConfiguredScheduleTarget * *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a * composed schema (allOf, anyOf, oneOf). @@ -281,19 +333,25 @@ public void setActualInstance(Object instance) { super.setActualInstance(instance); return; } + if (JSON.isInstanceOf(ConfiguredScheduleTarget.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { super.setActualInstance(instance); return; } throw new RuntimeException( - "Invalid instance type. Must be TeamTarget, UserTarget, ScheduleTarget"); + "Invalid instance type. Must be TeamTarget, UserTarget, ScheduleTarget," + + " ConfiguredScheduleTarget"); } /** - * Get the actual instance, which can be the following: TeamTarget, UserTarget, ScheduleTarget + * Get the actual instance, which can be the following: TeamTarget, UserTarget, ScheduleTarget, + * ConfiguredScheduleTarget * - * @return The actual instance (TeamTarget, UserTarget, ScheduleTarget) + * @return The actual instance (TeamTarget, UserTarget, ScheduleTarget, ConfiguredScheduleTarget) */ @Override public Object getActualInstance() { @@ -332,4 +390,15 @@ public UserTarget getUserTarget() throws ClassCastException { public ScheduleTarget getScheduleTarget() throws ClassCastException { return (ScheduleTarget) super.getActualInstance(); } + + /** + * Get the actual instance of `ConfiguredScheduleTarget`. If the actual instance is not + * `ConfiguredScheduleTarget`, the ClassCastException will be thrown. + * + * @return The actual instance of `ConfiguredScheduleTarget` + * @throws ClassCastException if the instance is not `ConfiguredScheduleTarget` + */ + public ConfiguredScheduleTarget getConfiguredScheduleTarget() throws ClassCastException { + return (ConfiguredScheduleTarget) super.getActualInstance(); + } } diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleTarget.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleTarget.java index 622434bcd78..8330979adc2 100644 --- a/src/main/java/com/datadog/api/client/v2/model/ScheduleTarget.java +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleTarget.java @@ -19,6 +19,7 @@ /** * Represents a schedule target for an escalation policy step, including its ID and resource type. + * This is a shortcut for a configured schedule target with position set to 'current'. */ @JsonPropertyOrder({ScheduleTarget.JSON_PROPERTY_ID, ScheduleTarget.JSON_PROPERTY_TYPE}) @jakarta.annotation.Generated( diff --git a/src/main/java/com/datadog/api/client/v2/model/ScheduleTargetPosition.java b/src/main/java/com/datadog/api/client/v2/model/ScheduleTargetPosition.java new file mode 100644 index 00000000000..c37cf847e3a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/ScheduleTargetPosition.java @@ -0,0 +1,61 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** + * Specifies the position of a schedule target (example previous, current, + * or next). + */ +@JsonSerialize(using = ScheduleTargetPosition.ScheduleTargetPositionSerializer.class) +public class ScheduleTargetPosition extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("previous", "current", "next")); + + public static final ScheduleTargetPosition PREVIOUS = new ScheduleTargetPosition("previous"); + public static final ScheduleTargetPosition CURRENT = new ScheduleTargetPosition("current"); + public static final ScheduleTargetPosition NEXT = new ScheduleTargetPosition("next"); + + ScheduleTargetPosition(String value) { + super(value, allowedValues); + } + + public static class ScheduleTargetPositionSerializer + extends StdSerializer { + public ScheduleTargetPositionSerializer(Class t) { + super(t); + } + + public ScheduleTargetPositionSerializer() { + this(null); + } + + @Override + public void serialize( + ScheduleTargetPosition value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static ScheduleTargetPosition fromValue(String value) { + return new ScheduleTargetPosition(value); + } +} diff --git a/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.freeze b/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.freeze index b8ab6c2926a..d47e0da1fab 100644 --- a/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.freeze +++ b/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.freeze @@ -1 +1 @@ -2025-05-29T04:53:30.847Z \ No newline at end of file +2025-11-28T12:58:56.434Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.json b/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.json index ad3e1e7fab2..705e238c985 100644 --- a/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.json +++ b/src/test/resources/cassettes/features/v2/Create_On_Call_escalation_policy_returns_Created_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1748494410@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1764334736@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"de86b01f-3c48-11f0-927d-aedf77869272\",\"attributes\":{\"name\":null,\"handle\":\"test-create_on_call_escalation_policy_returns_created_response-1748494410@datadoghq.com\",\"created_at\":\"2025-05-29T04:53:31.716641+00:00\",\"modified_at\":\"2025-05-29T04:53:31.716641+00:00\",\"email\":\"test-create_on_call_escalation_policy_returns_created_response-1748494410@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/bd817280fe52b9652bd2877bf9041f78?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"005f5c53-cc5a-11f0-84fc-d6e063989c3f\",\"attributes\":{\"name\":null,\"handle\":\"test-create_on_call_escalation_policy_returns_created_response-1764334736@datadoghq.com\",\"created_at\":\"2025-11-28T12:58:57.385841+00:00\",\"modified_at\":\"2025-11-28T12:58:57.385841+00:00\",\"email\":\"test-create_on_call_escalation_policy_returns_created_response-1764334736@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/990f6066d8c3647475a637255f95cc7f?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "c8e2a80f-86f5-a1f5-d306-6ae4cc88d177" + "id": "70cce4e1-d82f-e64a-1577-d4b93d9b1b65" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:53:30.847Z\",\"end_date\":\"2025-06-08T04:53:30.847Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"de86b01f-3c48-11f0-927d-aedf77869272\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:53:30.847Z\"}],\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1748494410\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-18T12:58:56.434Z\",\"end_date\":\"2025-12-08T12:58:56.434Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"005f5c53-cc5a-11f0-84fc-d6e063989c3f\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-23T12:58:56.434Z\"}],\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1764334736\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"2e70ff45-cb63-4609-900b-cc9fe95e063b\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1748494410\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"f1949bc4-1f01-4081-8002-d6029ace0bc9\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1764334736\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"928407db-da13-4516-bd6a-3b92e3095b56\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "f2f49a8d-5bce-77b1-3bde-b727ba9817e5" + "id": "1882ee49-8e62-df3f-0c86-d677e35aaee6" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-cfbc9f18713005c6\",\"name\":\"test-name-cfbc9f18713005c6\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-24ceda96b794cbdd\",\"name\":\"test-name-24ceda96b794cbdd\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -72,10 +72,10 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"team\",\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"attributes\":{\"name\":\"test-name-cfbc9f18713005c6\",\"handle\":\"test-handle-cfbc9f18713005c6\",\"summary\":null,\"description\":null,\"avatar\":null,\"banner\":14,\"visible_modules\":[],\"hidden_modules\":[],\"created_at\":\"2025-05-29T04:53:32.646359+00:00\",\"modified_at\":\"2025-05-29T04:53:32.646369+00:00\",\"user_count\":0,\"link_count\":0},\"relationships\":{\"team_links\":{\"links\":{\"related\":\"/api/v2/team/fa4d082c-6733-4bd0-9083-f7bf2f8d4259/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/fa4d082c-6733-4bd0-9083-f7bf2f8d4259/permission-settings\"}}}}}\n", + "body": "{\"data\":{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":1,\"created_at\":\"2025-11-28T12:58:58.058854+00:00\",\"description\":null,\"handle\":\"test-handle-24ceda96b794cbdd\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-28T12:58:58.058854+00:00\",\"name\":\"test-name-24ceda96b794cbdd\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/e5057194-b5fd-4ff5-b9d3-6977d8bbd774/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/e5057194-b5fd-4ff5-b9d3-6977d8bbd774/permission-settings\"}}}}}", "headers": { "Content-Type": [ - "application/json" + "application/vnd.api+json" ] }, "statusCode": 201, @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "6813dede-55f3-60ba-3436-b2be356874e5" + "id": "907c2580-08f9-32ba-1d0f-e52c3fe08e5a" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1748494410\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"de86b01f-3c48-11f0-927d-aedf77869272\",\"type\":\"users\"},{\"id\":\"2e70ff45-cb63-4609-900b-cc9fe95e063b\",\"type\":\"schedules\"},{\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"type\":\"teams\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1764334736\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"005f5c53-cc5a-11f0-84fc-d6e063989c3f\",\"type\":\"users\"},{\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11\",\"type\":\"schedules\"},{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"teams\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "headers": {}, "method": "POST", @@ -107,7 +107,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"cf3a523c-3ca3-4ac4-aee2-7afaac13c6f7\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1748494410\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"ba22e9ae-1740-4522-b95c-26f601a37484\",\"type\":\"steps\"},{\"id\":\"335dc81f-929a-47e1-a8f8-cc7830c2d272\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"type\":\"teams\"}]}}},\"included\":[{\"id\":\"ba22e9ae-1740-4522-b95c-26f601a37484\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"default\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"de86b01f-3c48-11f0-927d-aedf77869272\",\"type\":\"users\"},{\"id\":\"2e70ff45-cb63-4609-900b-cc9fe95e063b\",\"type\":\"schedules\"},{\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"type\":\"teams\"}]}}},{\"id\":\"335dc81f-929a-47e1-a8f8-cc7830c2d272\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"type\":\"teams\"}]}}},{\"id\":\"de86b01f-3c48-11f0-927d-aedf77869272\",\"type\":\"users\",\"attributes\":{\"email\":\"test-create_on_call_escalation_policy_returns_created_response-1748494410@datadoghq.com\",\"name\":\"\",\"status\":\"pending\"}},{\"id\":\"2e70ff45-cb63-4609-900b-cc9fe95e063b\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1748494410\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"f1949bc4-1f01-4081-8002-d6029ace0bc9\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}},{\"id\":\"fa4d082c-6733-4bd0-9083-f7bf2f8d4259\",\"type\":\"teams\",\"attributes\":{\"avatar\":\"\",\"description\":\"\",\"handle\":\"test-handle-cfbc9f18713005c6\",\"name\":\"test-name-cfbc9f18713005c6\"}}]}", + "body": "{\"data\":{\"id\":\"84f3ac2b-77da-42f2-a2bb-cb9a5ea9cf55\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1764334736\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"055817d0-41cb-402f-bb93-0d5989083cd1\",\"type\":\"steps\"},{\"id\":\"ddab41bb-c15d-4ad8-bf29-8d0ddcbb2df1\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"teams\"}]}}},\"included\":[{\"id\":\"055817d0-41cb-402f-bb93-0d5989083cd1\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"default\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"005f5c53-cc5a-11f0-84fc-d6e063989c3f\",\"type\":\"users\"},{\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11\",\"type\":\"schedules\"},{\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11_previous\",\"type\":\"schedule_target\"},{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"teams\"}]}}},{\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11_previous\",\"type\":\"schedule_target\",\"attributes\":{\"position\":\"previous\"},\"relationships\":{\"schedule\":{\"data\":{\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11\",\"type\":\"schedules\"}}}},{\"id\":\"ddab41bb-c15d-4ad8-bf29-8d0ddcbb2df1\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"teams\"}]}}},{\"id\":\"005f5c53-cc5a-11f0-84fc-d6e063989c3f\",\"type\":\"users\",\"attributes\":{\"email\":\"test-create_on_call_escalation_policy_returns_created_response-1764334736@datadoghq.com\",\"name\":\"\",\"status\":\"pending\"}},{\"id\":\"c6a8f167-908f-4ca5-ba30-a33a00adfe11\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Create_On_Call_escalation_policy_returns_Created_response-1764334736\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"928407db-da13-4516-bd6a-3b92e3095b56\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}},{\"id\":\"e5057194-b5fd-4ff5-b9d3-6977d8bbd774\",\"type\":\"teams\",\"attributes\":{\"avatar\":\"\",\"description\":\"\",\"handle\":\"test-handle-24ceda96b794cbdd\",\"name\":\"test-name-24ceda96b794cbdd\"}}]}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -122,13 +122,13 @@ "timeToLive": { "unlimited": true }, - "id": "31d93675-205a-9869-61ef-cb9d9aeb5db6" + "id": "aafff354-63a0-4e08-cc61-65d99d83ff8c" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/escalation-policies/cf3a523c-3ca3-4ac4-aee2-7afaac13c6f7", + "path": "/api/v2/on-call/escalation-policies/84f3ac2b-77da-42f2-a2bb-cb9a5ea9cf55", "keepAlive": false, "secure": true }, @@ -143,13 +143,13 @@ "timeToLive": { "unlimited": true }, - "id": "58cb6307-0bb4-5055-e13a-fe6a31b89678" + "id": "af7e7918-9c67-c427-0821-b28851feda75" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/fa4d082c-6733-4bd0-9083-f7bf2f8d4259", + "path": "/api/v2/team/e5057194-b5fd-4ff5-b9d3-6977d8bbd774", "keepAlive": false, "secure": true }, @@ -164,13 +164,13 @@ "timeToLive": { "unlimited": true }, - "id": "7d199b82-189c-7a1e-50dc-dbdf09b9b866" + "id": "e7736e39-88c8-7b15-61dd-8d5ab0fcfa39" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/2e70ff45-cb63-4609-900b-cc9fe95e063b", + "path": "/api/v2/on-call/schedules/c6a8f167-908f-4ca5-ba30-a33a00adfe11", "keepAlive": false, "secure": true }, @@ -185,13 +185,13 @@ "timeToLive": { "unlimited": true }, - "id": "6a6d9afd-0771-08fa-bbe2-ca2c3649685f" + "id": "6cc15ad5-6230-f93a-52d4-b34244187769" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/de86b01f-3c48-11f0-927d-aedf77869272", + "path": "/api/v2/users/005f5c53-cc5a-11f0-84fc-d6e063989c3f", "keepAlive": false, "secure": true }, @@ -206,6 +206,6 @@ "timeToLive": { "unlimited": true }, - "id": "c0fbe80a-6b80-b2af-18ad-957e5f1ff683" + "id": "90ad9424-8a73-c39a-e2c3-22aeebf176a7" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.freeze b/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.freeze index 47ee6d1da6f..59b299377cf 100644 --- a/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.freeze +++ b/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.freeze @@ -1 +1 @@ -2025-05-29T04:53:37.175Z \ No newline at end of file +2025-11-27T14:11:22.484Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.json b/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.json index 30e15defd75..f32617140a2 100644 --- a/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.json +++ b/src/test/resources/cassettes/features/v2/Create_On_Call_schedule_returns_Created_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Create_On_Call_schedule_returns_Created_response-1748494417@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Create_On_Call_schedule_returns_Created_response-1764252682@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"e2438320-3c48-11f0-b6eb-6e406f40657f\",\"attributes\":{\"name\":null,\"handle\":\"test-create_on_call_schedule_returns_created_response-1748494417@datadoghq.com\",\"created_at\":\"2025-05-29T04:53:37.987288+00:00\",\"modified_at\":\"2025-05-29T04:53:37.987288+00:00\",\"email\":\"test-create_on_call_schedule_returns_created_response-1748494417@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/61f85c2f88e7f4fa078405eae231fb73?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"f4106d12-cb9a-11f0-a56e-4e680b759023\",\"attributes\":{\"name\":null,\"handle\":\"test-create_on_call_schedule_returns_created_response-1764252682@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:22.860522+00:00\",\"modified_at\":\"2025-11-27T14:11:22.860522+00:00\",\"email\":\"test-create_on_call_schedule_returns_created_response-1764252682@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/97f54253d0353bf6811320274d5cf8eb?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "723e1f70-93e5-dac8-8cba-526d8790b989" + "id": "805dfb9d-05b5-ae1b-6789-e837ed274ba8" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-0ed4255faa1a4de8\",\"name\":\"test-name-0ed4255faa1a4de8\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-a115b862e893678b\",\"name\":\"test-name-a115b862e893678b\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -42,10 +42,10 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"team\",\"id\":\"8c44e5e8-f1f0-4e12-ada2-f91c9aeab153\",\"attributes\":{\"name\":\"test-name-0ed4255faa1a4de8\",\"handle\":\"test-handle-0ed4255faa1a4de8\",\"summary\":null,\"description\":null,\"avatar\":null,\"banner\":5,\"visible_modules\":[],\"hidden_modules\":[],\"created_at\":\"2025-05-29T04:53:38.641602+00:00\",\"modified_at\":\"2025-05-29T04:53:38.641612+00:00\",\"user_count\":0,\"link_count\":0},\"relationships\":{\"team_links\":{\"links\":{\"related\":\"/api/v2/team/8c44e5e8-f1f0-4e12-ada2-f91c9aeab153/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/8c44e5e8-f1f0-4e12-ada2-f91c9aeab153/permission-settings\"}}}}}\n", + "body": "{\"data\":{\"id\":\"8802359f-5663-4ed4-b3c8-06d5618def25\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":2,\"created_at\":\"2025-11-27T14:11:23.389409+00:00\",\"description\":null,\"handle\":\"test-handle-a115b862e893678b\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:11:23.389409+00:00\",\"name\":\"test-name-a115b862e893678b\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/8802359f-5663-4ed4-b3c8-06d5618def25/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/8802359f-5663-4ed4-b3c8-06d5618def25/permission-settings\"}}}}}", "headers": { "Content-Type": [ - "application/json" + "application/vnd.api+json" ] }, "statusCode": 201, @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "e2922c04-b630-9a62-6a75-933c3a298ba5" + "id": "88312147-0164-a8b0-5143-76c83902b9f8" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:53:37.175Z\",\"end_date\":\"2025-06-08T04:53:37.175Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"e2438320-3c48-11f0-b6eb-6e406f40657f\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:53:37.175Z\"}],\"name\":\"Test-Create_On_Call_schedule_returns_Created_response-1748494417\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"8c44e5e8-f1f0-4e12-ada2-f91c9aeab153\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:22.484Z\",\"end_date\":\"2025-12-07T14:11:22.484Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"f4106d12-cb9a-11f0-a56e-4e680b759023\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:22.484Z\"}],\"name\":\"Test-Create_On_Call_schedule_returns_Created_response-1764252682\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"8802359f-5663-4ed4-b3c8-06d5618def25\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -72,7 +72,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"e57f69cc-5f56-41bf-abd2-69196d0b4b41\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Create_On_Call_schedule_returns_Created_response-1748494417\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"7cb8837f-5ebd-46c7-914d-d017eae7f3fc\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"8c44e5e8-f1f0-4e12-ada2-f91c9aeab153\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"f56173aa-b72e-4a29-a9dd-e8a4fe57f47a\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Create_On_Call_schedule_returns_Created_response-1764252682\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"886b9854-9487-4b13-a4a1-955922ced1cf\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"8802359f-5663-4ed4-b3c8-06d5618def25\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "117feb5e-36fe-3e75-7cd6-1dec4fd9f5eb" + "id": "63515b41-32f1-dc66-d20c-aec42b768cd7" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/e57f69cc-5f56-41bf-abd2-69196d0b4b41", + "path": "/api/v2/on-call/schedules/f56173aa-b72e-4a29-a9dd-e8a4fe57f47a", "keepAlive": false, "secure": true }, @@ -108,13 +108,13 @@ "timeToLive": { "unlimited": true }, - "id": "edb35a4e-a31c-1c2c-f51c-f3590353dec4" + "id": "67ec1c7e-1935-024d-4d8b-db2e9d5a3fd2" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/8c44e5e8-f1f0-4e12-ada2-f91c9aeab153", + "path": "/api/v2/team/8802359f-5663-4ed4-b3c8-06d5618def25", "keepAlive": false, "secure": true }, @@ -129,13 +129,13 @@ "timeToLive": { "unlimited": true }, - "id": "1c07bce8-d48d-5c6f-22d6-2c7b97c12e3a" + "id": "e28f6223-ca61-aeb4-844a-5ed9468f9adc" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/e2438320-3c48-11f0-b6eb-6e406f40657f", + "path": "/api/v2/users/f4106d12-cb9a-11f0-a56e-4e680b759023", "keepAlive": false, "secure": true }, @@ -150,6 +150,6 @@ "timeToLive": { "unlimited": true }, - "id": "df1fcf51-ff40-3603-a80a-fe1e8f21bee1" + "id": "bc2ce4ae-27f6-9a59-b882-d1b9fa4fa7f0" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.freeze b/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.freeze index c28891b940d..214a0e6a9b0 100644 --- a/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.freeze +++ b/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.freeze @@ -1 +1 @@ -2025-05-29T04:53:42.215Z \ No newline at end of file +2025-11-27T14:11:25.538Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.json b/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.json index 64ea7d0f980..b01def65ea9 100644 --- a/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.json +++ b/src/test/resources/cassettes/features/v2/Delete_On_Call_escalation_policy_returns_No_Content_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1748494422@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1764252685@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"e524a559-3c48-11f0-b6eb-6e406f40657f\",\"attributes\":{\"name\":null,\"handle\":\"test-delete_on_call_escalation_policy_returns_no_content_response-1748494422@datadoghq.com\",\"created_at\":\"2025-05-29T04:53:42.818165+00:00\",\"modified_at\":\"2025-05-29T04:53:42.818165+00:00\",\"email\":\"test-delete_on_call_escalation_policy_returns_no_content_response-1748494422@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/89925b9919d7e93a599c4d49d51b35ee?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"f5e7c666-cb9a-11f0-ae87-2a5e5028fcef\",\"attributes\":{\"name\":null,\"handle\":\"test-delete_on_call_escalation_policy_returns_no_content_response-1764252685@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:25.949558+00:00\",\"modified_at\":\"2025-11-27T14:11:25.949558+00:00\",\"email\":\"test-delete_on_call_escalation_policy_returns_no_content_response-1764252685@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/92ce6e94a63e99ed9306c4b09eb69918?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "9abf655f-fe20-3730-8332-024ef80145a0" + "id": "dd7312d3-23a8-a3fa-2875-3406f0bde257" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-7311534a0fd625d8\",\"name\":\"test-name-7311534a0fd625d8\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-5d85b5aacd02cab9\",\"name\":\"test-name-5d85b5aacd02cab9\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -42,10 +42,10 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"team\",\"id\":\"5007e30b-5736-4abe-be9c-51cf508c9554\",\"attributes\":{\"name\":\"test-name-7311534a0fd625d8\",\"handle\":\"test-handle-7311534a0fd625d8\",\"summary\":null,\"description\":null,\"avatar\":null,\"banner\":10,\"visible_modules\":[],\"hidden_modules\":[],\"created_at\":\"2025-05-29T04:53:43.705893+00:00\",\"modified_at\":\"2025-05-29T04:53:43.705903+00:00\",\"user_count\":0,\"link_count\":0},\"relationships\":{\"team_links\":{\"links\":{\"related\":\"/api/v2/team/5007e30b-5736-4abe-be9c-51cf508c9554/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/5007e30b-5736-4abe-be9c-51cf508c9554/permission-settings\"}}}}}\n", + "body": "{\"data\":{\"id\":\"a42481db-6918-45ef-a923-5548004f044a\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":9,\"created_at\":\"2025-11-27T14:11:26.456007+00:00\",\"description\":null,\"handle\":\"test-handle-5d85b5aacd02cab9\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:11:26.456008+00:00\",\"name\":\"test-name-5d85b5aacd02cab9\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/a42481db-6918-45ef-a923-5548004f044a/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/a42481db-6918-45ef-a923-5548004f044a/permission-settings\"}}}}}", "headers": { "Content-Type": [ - "application/json" + "application/vnd.api+json" ] }, "statusCode": 201, @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "e90de209-6f1e-98c7-c578-abf7e4555e24" + "id": "7d0ec7dd-e81d-9c67-82d4-c43fc3bb9578" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:53:42.215Z\",\"end_date\":\"2025-06-08T04:53:42.215Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"e524a559-3c48-11f0-b6eb-6e406f40657f\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:53:42.215Z\"}],\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1748494422\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:25.538Z\",\"end_date\":\"2025-12-07T14:11:25.538Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"f5e7c666-cb9a-11f0-ae87-2a5e5028fcef\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:25.538Z\"}],\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1764252685\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -72,7 +72,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"5bedf04a-b064-4748-861d-2f32970de31e\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1748494422\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"242425ed-6c98-4bda-b0eb-8eb0d66fc40f\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"cf196f34-3ce0-4cff-a27e-ed5035db9442\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1764252685\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"2f2ea0a9-a33e-4d2f-9a0b-5cbfb0bed071\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "cdc8b374-224f-02e6-25b2-0fd681572fd9" + "id": "98e7a7e2-7814-54bb-bc7e-5120274359c2" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1748494422\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"5007e30b-5736-4abe-be9c-51cf508c9554\",\"type\":\"teams\"},{\"id\":\"5bedf04a-b064-4748-861d-2f32970de31e\",\"type\":\"schedules\"},{\"id\":\"e524a559-3c48-11f0-b6eb-6e406f40657f\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"5007e30b-5736-4abe-be9c-51cf508c9554\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"5007e30b-5736-4abe-be9c-51cf508c9554\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1764252685\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"a42481db-6918-45ef-a923-5548004f044a\",\"type\":\"teams\"},{\"id\":\"cf196f34-3ce0-4cff-a27e-ed5035db9442\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"cf196f34-3ce0-4cff-a27e-ed5035db9442\",\"type\":\"schedules\"},{\"id\":\"f5e7c666-cb9a-11f0-ae87-2a5e5028fcef\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"a42481db-6918-45ef-a923-5548004f044a\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"a42481db-6918-45ef-a923-5548004f044a\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "headers": {}, "method": "POST", @@ -102,7 +102,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"897cc698-80ee-47cf-b59a-130323f2d483\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1748494422\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"70f924ad-d57b-4b37-92b1-adc275a37923\",\"type\":\"steps\"},{\"id\":\"06639547-3fbf-431c-9719-c7211a3d34aa\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"5007e30b-5736-4abe-be9c-51cf508c9554\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"c25d7cd6-d2bc-4d84-801b-3a09d62e29bc\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Delete_On_Call_escalation_policy_returns_No_Content_response-1764252685\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"b445f325-7fca-44d5-a7e2-2a16e8bc2837\",\"type\":\"steps\"},{\"id\":\"b9c6527e-9c8d-4c93-92cf-100b5c180a1e\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"a42481db-6918-45ef-a923-5548004f044a\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -117,13 +117,13 @@ "timeToLive": { "unlimited": true }, - "id": "6d83ce7f-bffa-81ad-c1fc-7ae2c7db3649" + "id": "e25488a5-d6d6-91c9-037e-9bb09f4729af" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/escalation-policies/897cc698-80ee-47cf-b59a-130323f2d483", + "path": "/api/v2/on-call/escalation-policies/c25d7cd6-d2bc-4d84-801b-3a09d62e29bc", "keepAlive": false, "secure": true }, @@ -138,18 +138,18 @@ "timeToLive": { "unlimited": true }, - "id": "b827cef9-305b-0c85-ed91-ba220800bd58" + "id": "829838bf-2453-20d0-6a2e-ac9250259875" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/escalation-policies/897cc698-80ee-47cf-b59a-130323f2d483", + "path": "/api/v2/on-call/escalation-policies/c25d7cd6-d2bc-4d84-801b-3a09d62e29bc", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"escalation_policy[897cc698-80ee-47cf-b59a-130323f2d483] not found\"}]}", + "body": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"escalation_policy[c25d7cd6-d2bc-4d84-801b-3a09d62e29bc] not found\"}]}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -164,13 +164,13 @@ "timeToLive": { "unlimited": true }, - "id": "b827cef9-305b-0c85-ed91-ba220800bd59" + "id": "829838bf-2453-20d0-6a2e-ac9250259876" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/5bedf04a-b064-4748-861d-2f32970de31e", + "path": "/api/v2/on-call/schedules/cf196f34-3ce0-4cff-a27e-ed5035db9442", "keepAlive": false, "secure": true }, @@ -185,13 +185,13 @@ "timeToLive": { "unlimited": true }, - "id": "4b46478b-dbcb-6445-e874-7dbfa2ab974b" + "id": "1a47b5e5-2491-ef21-cbaa-24582e122069" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/5007e30b-5736-4abe-be9c-51cf508c9554", + "path": "/api/v2/team/a42481db-6918-45ef-a923-5548004f044a", "keepAlive": false, "secure": true }, @@ -206,13 +206,13 @@ "timeToLive": { "unlimited": true }, - "id": "83027bb9-37e8-cc7a-b05e-f8934dd4c612" + "id": "2ea1394e-f4d0-e058-ee76-338a3b967781" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/e524a559-3c48-11f0-b6eb-6e406f40657f", + "path": "/api/v2/users/f5e7c666-cb9a-11f0-ae87-2a5e5028fcef", "keepAlive": false, "secure": true }, @@ -227,6 +227,6 @@ "timeToLive": { "unlimited": true }, - "id": "df7fe0f1-5b62-367f-130f-0dd435b67244" + "id": "189215c9-2fb2-af91-3247-07594ea2dd19" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.freeze b/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.freeze index faf03500664..41f78537845 100644 --- a/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.freeze +++ b/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.freeze @@ -1 +1 @@ -2025-05-29T04:53:48.818Z \ No newline at end of file +2025-11-27T14:11:30.983Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.json b/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.json index 5eaf680a902..7fd274b7940 100644 --- a/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.json +++ b/src/test/resources/cassettes/features/v2/Delete_On_Call_schedule_returns_No_Content_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Delete_On_Call_schedule_returns_No_Content_response-1748494428@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Delete_On_Call_schedule_returns_No_Content_response-1764252690@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"e913c34d-3c48-11f0-b10e-2e2b611e1022\",\"attributes\":{\"name\":null,\"handle\":\"test-delete_on_call_schedule_returns_no_content_response-1748494428@datadoghq.com\",\"created_at\":\"2025-05-29T04:53:49.418406+00:00\",\"modified_at\":\"2025-05-29T04:53:49.418406+00:00\",\"email\":\"test-delete_on_call_schedule_returns_no_content_response-1748494428@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/97e38917640a0eb3c61f6e1219165929?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"f9249a49-cb9a-11f0-a56e-4e680b759023\",\"attributes\":{\"name\":null,\"handle\":\"test-delete_on_call_schedule_returns_no_content_response-1764252690@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:31.381378+00:00\",\"modified_at\":\"2025-11-27T14:11:31.381378+00:00\",\"email\":\"test-delete_on_call_schedule_returns_no_content_response-1764252690@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/4d40d1e80a1a87fede5c7a11db2bf7f2?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "183a7c8e-feae-b8bb-fafc-0f9771562005" + "id": "0144116c-4b57-5395-c227-f25e21c4d782" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:53:48.818Z\",\"end_date\":\"2025-06-08T04:53:48.818Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"e913c34d-3c48-11f0-b10e-2e2b611e1022\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:53:48.818Z\"}],\"name\":\"Test-Delete_On_Call_schedule_returns_No_Content_response-1748494428\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:30.983Z\",\"end_date\":\"2025-12-07T14:11:30.983Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"f9249a49-cb9a-11f0-a56e-4e680b759023\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:30.983Z\"}],\"name\":\"Test-Delete_On_Call_schedule_returns_No_Content_response-1764252690\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"4068aec3-24f3-41c6-8778-72f8754684c3\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Delete_On_Call_schedule_returns_No_Content_response-1748494428\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"671b7e9e-1bcf-4e7a-817e-3b825b7dd3e6\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"10acf747-60a0-4bdf-a0df-196e9f9291e2\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Delete_On_Call_schedule_returns_No_Content_response-1764252690\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"806b7079-20af-41d1-9f50-badf49b324f5\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "2496dfd7-193e-d170-8062-ce67275716af" + "id": "8e79df6f-58c4-9fec-fd4f-b99545687ccd" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/4068aec3-24f3-41c6-8778-72f8754684c3", + "path": "/api/v2/on-call/schedules/10acf747-60a0-4bdf-a0df-196e9f9291e2", "keepAlive": false, "secure": true }, @@ -78,18 +78,18 @@ "timeToLive": { "unlimited": true }, - "id": "0adcfd26-a01a-b7c7-d0cc-044c6497288d" + "id": "1c2c5bff-05b1-9fea-c4f8-85b56ba05c02" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/4068aec3-24f3-41c6-8778-72f8754684c3", + "path": "/api/v2/on-call/schedules/10acf747-60a0-4bdf-a0df-196e9f9291e2", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"schedule[4068aec3-24f3-41c6-8778-72f8754684c3] not found\"}]}", + "body": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"schedule[10acf747-60a0-4bdf-a0df-196e9f9291e2] not found\"}]}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -104,13 +104,13 @@ "timeToLive": { "unlimited": true }, - "id": "0adcfd26-a01a-b7c7-d0cc-044c6497288e" + "id": "1c2c5bff-05b1-9fea-c4f8-85b56ba05c03" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/e913c34d-3c48-11f0-b10e-2e2b611e1022", + "path": "/api/v2/users/f9249a49-cb9a-11f0-a56e-4e680b759023", "keepAlive": false, "secure": true }, @@ -125,6 +125,6 @@ "timeToLive": { "unlimited": true }, - "id": "cdbcd428-391a-00d0-6af1-3a431f75318f" + "id": "3ab83059-eed7-86c6-d257-d9b0ab2566d1" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.freeze index b08c0417dca..e08e7183ed1 100644 --- a/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.freeze @@ -1 +1 @@ -2025-05-29T04:53:52.267Z \ No newline at end of file +2025-11-27T14:11:33.368Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.json index bdc57eae36c..a07d98a222a 100644 --- a/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_On_Call_escalation_policy_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1748494432@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1764252693@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"eb22c300-3c48-11f0-b6eb-6e406f40657f\",\"attributes\":{\"name\":null,\"handle\":\"test-get_on_call_escalation_policy_returns_ok_response-1748494432@datadoghq.com\",\"created_at\":\"2025-05-29T04:53:52.872150+00:00\",\"modified_at\":\"2025-05-29T04:53:52.872150+00:00\",\"email\":\"test-get_on_call_escalation_policy_returns_ok_response-1748494432@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/28954a95ef3e23c51599bc32b67118de?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"fa8dbd27-cb9a-11f0-84fc-d6e063989c3f\",\"attributes\":{\"name\":null,\"handle\":\"test-get_on_call_escalation_policy_returns_ok_response-1764252693@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:33.748105+00:00\",\"modified_at\":\"2025-11-27T14:11:33.748105+00:00\",\"email\":\"test-get_on_call_escalation_policy_returns_ok_response-1764252693@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/3b312cc1a86be5f85aab5fada68c24c4?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "4c2257ee-6227-23e1-958b-c614c9355bfc" + "id": "0af1548f-104d-f456-29b8-0cc4a0061fb7" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-bbce2cc58d5af798\",\"name\":\"test-name-bbce2cc58d5af798\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-9b417dea223136e8\",\"name\":\"test-name-9b417dea223136e8\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -42,10 +42,10 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"team\",\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"attributes\":{\"name\":\"test-name-bbce2cc58d5af798\",\"handle\":\"test-handle-bbce2cc58d5af798\",\"summary\":null,\"description\":null,\"avatar\":null,\"banner\":9,\"visible_modules\":[],\"hidden_modules\":[],\"created_at\":\"2025-05-29T04:53:53.543425+00:00\",\"modified_at\":\"2025-05-29T04:53:53.543434+00:00\",\"user_count\":0,\"link_count\":0},\"relationships\":{\"team_links\":{\"links\":{\"related\":\"/api/v2/team/dba59993-2c99-46f0-b91b-9e7936a4a78e/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/dba59993-2c99-46f0-b91b-9e7936a4a78e/permission-settings\"}}}}}\n", + "body": "{\"data\":{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":8,\"created_at\":\"2025-11-27T14:11:34.252521+00:00\",\"description\":null,\"handle\":\"test-handle-9b417dea223136e8\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:11:34.252521+00:00\",\"name\":\"test-name-9b417dea223136e8\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/bf2fad34-c495-4de0-b1ec-c5727a2ae216/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/bf2fad34-c495-4de0-b1ec-c5727a2ae216/permission-settings\"}}}}}", "headers": { "Content-Type": [ - "application/json" + "application/vnd.api+json" ] }, "statusCode": 201, @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "ca32b16e-9bb2-06d3-dcfd-58b3b717feb4" + "id": "31ac2a20-179e-90c5-bd3e-e6be71edf82d" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:53:52.267Z\",\"end_date\":\"2025-06-08T04:53:52.267Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"eb22c300-3c48-11f0-b6eb-6e406f40657f\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:53:52.267Z\"}],\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1748494432\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:33.368Z\",\"end_date\":\"2025-12-07T14:11:33.368Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"fa8dbd27-cb9a-11f0-84fc-d6e063989c3f\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:33.368Z\"}],\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1764252693\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -72,7 +72,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"996bb88f-ddaf-491b-84df-b8c60c9c358a\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1748494432\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"016cfd54-38ec-4d23-938b-f07e8643a3f7\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1764252693\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"8d44f496-4fe0-4cc9-b3d7-81bbc3e68464\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "5c6d881b-f0e8-a0d3-27c2-b75281fd4c00" + "id": "ae09550f-467a-f46f-2593-9c4f7c94f63d" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1748494432\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\"},{\"id\":\"996bb88f-ddaf-491b-84df-b8c60c9c358a\",\"type\":\"schedules\"},{\"id\":\"eb22c300-3c48-11f0-b6eb-6e406f40657f\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1764252693\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\"},{\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3\",\"type\":\"schedules\"},{\"id\":\"fa8dbd27-cb9a-11f0-84fc-d6e063989c3f\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "headers": {}, "method": "POST", @@ -102,7 +102,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"e75b436d-cbb7-44d6-bf87-4f53073a5bb5\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1748494432\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"c4cd74b1-1eb4-48a7-9fc0-a66f4e12919b\",\"type\":\"steps\"},{\"id\":\"f11818e3-db9e-4601-b1e1-391fa54b6087\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"7e36daf1-25ef-46af-ba33-23aac9271dc5\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1764252693\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"e4f3f753-15bd-4649-bdeb-70011094d294\",\"type\":\"steps\"},{\"id\":\"984250f3-e780-4aae-80c1-143859d0f14b\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -117,13 +117,13 @@ "timeToLive": { "unlimited": true }, - "id": "de56e0f4-bd10-f7e2-fd44-aa07952c8a58" + "id": "ef9ee67b-7ed7-6afd-d3e0-52bb423d8768" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/on-call/escalation-policies/e75b436d-cbb7-44d6-bf87-4f53073a5bb5", + "path": "/api/v2/on-call/escalation-policies/7e36daf1-25ef-46af-ba33-23aac9271dc5", "queryStringParameters": { "include": [ "steps.targets" @@ -133,7 +133,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"e75b436d-cbb7-44d6-bf87-4f53073a5bb5\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1748494432\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"c4cd74b1-1eb4-48a7-9fc0-a66f4e12919b\",\"type\":\"steps\"},{\"id\":\"f11818e3-db9e-4601-b1e1-391fa54b6087\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\"}]}}},\"included\":[{\"id\":\"c4cd74b1-1eb4-48a7-9fc0-a66f4e12919b\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"default\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\"},{\"id\":\"996bb88f-ddaf-491b-84df-b8c60c9c358a\",\"type\":\"schedules\"},{\"id\":\"eb22c300-3c48-11f0-b6eb-6e406f40657f\",\"type\":\"users\"}]}}},{\"id\":\"f11818e3-db9e-4601-b1e1-391fa54b6087\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\"}]}}},{\"id\":\"996bb88f-ddaf-491b-84df-b8c60c9c358a\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1748494432\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"016cfd54-38ec-4d23-938b-f07e8643a3f7\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}},{\"id\":\"eb22c300-3c48-11f0-b6eb-6e406f40657f\",\"type\":\"users\",\"attributes\":{\"email\":\"test-get_on_call_escalation_policy_returns_ok_response-1748494432@datadoghq.com\",\"name\":\"\",\"status\":\"pending\"}},{\"id\":\"dba59993-2c99-46f0-b91b-9e7936a4a78e\",\"type\":\"teams\",\"attributes\":{\"avatar\":\"\",\"description\":\"\",\"handle\":\"test-handle-bbce2cc58d5af798\",\"name\":\"test-name-bbce2cc58d5af798\"}}]}", + "body": "{\"data\":{\"id\":\"7e36daf1-25ef-46af-ba33-23aac9271dc5\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1764252693\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"e4f3f753-15bd-4649-bdeb-70011094d294\",\"type\":\"steps\"},{\"id\":\"984250f3-e780-4aae-80c1-143859d0f14b\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\"}]}}},\"included\":[{\"id\":\"e4f3f753-15bd-4649-bdeb-70011094d294\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"default\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\"},{\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3\",\"type\":\"schedules\"},{\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3_previous\",\"type\":\"schedule_target\"},{\"id\":\"fa8dbd27-cb9a-11f0-84fc-d6e063989c3f\",\"type\":\"users\"}]}}},{\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3_previous\",\"type\":\"schedule_target\",\"attributes\":{\"position\":\"previous\"},\"relationships\":{\"schedule\":{\"data\":{\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3\",\"type\":\"schedules\"}}}},{\"id\":\"984250f3-e780-4aae-80c1-143859d0f14b\",\"type\":\"steps\",\"attributes\":{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600},\"relationships\":{\"targets\":{\"data\":[{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\"}]}}},{\"id\":\"bf2fad34-c495-4de0-b1ec-c5727a2ae216\",\"type\":\"teams\",\"attributes\":{\"avatar\":\"\",\"description\":\"\",\"handle\":\"test-handle-9b417dea223136e8\",\"name\":\"test-name-9b417dea223136e8\"}},{\"id\":\"d8834350-ae3c-45eb-ad84-9f9a3cef46f3\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_escalation_policy_returns_OK_response-1764252693\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"8d44f496-4fe0-4cc9-b3d7-81bbc3e68464\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}},{\"id\":\"fa8dbd27-cb9a-11f0-84fc-d6e063989c3f\",\"type\":\"users\",\"attributes\":{\"email\":\"test-get_on_call_escalation_policy_returns_ok_response-1764252693@datadoghq.com\",\"name\":\"\",\"status\":\"pending\"}}]}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -148,13 +148,13 @@ "timeToLive": { "unlimited": true }, - "id": "e964874d-2293-e0ca-ed55-4bee66428d59" + "id": "bc61a903-668a-7e35-906b-913d2940649b" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/escalation-policies/e75b436d-cbb7-44d6-bf87-4f53073a5bb5", + "path": "/api/v2/on-call/escalation-policies/7e36daf1-25ef-46af-ba33-23aac9271dc5", "keepAlive": false, "secure": true }, @@ -169,13 +169,13 @@ "timeToLive": { "unlimited": true }, - "id": "2d911359-da46-7ae9-bc03-7795e6185324" + "id": "d7064d73-e1c8-360b-ca2c-24fed1e95f2b" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/996bb88f-ddaf-491b-84df-b8c60c9c358a", + "path": "/api/v2/on-call/schedules/d8834350-ae3c-45eb-ad84-9f9a3cef46f3", "keepAlive": false, "secure": true }, @@ -190,13 +190,13 @@ "timeToLive": { "unlimited": true }, - "id": "e6dc3dfc-339d-523e-6d11-d3d87e264b89" + "id": "9a87b515-b4a0-03d7-bf7f-1493034d9194" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/dba59993-2c99-46f0-b91b-9e7936a4a78e", + "path": "/api/v2/team/bf2fad34-c495-4de0-b1ec-c5727a2ae216", "keepAlive": false, "secure": true }, @@ -211,13 +211,13 @@ "timeToLive": { "unlimited": true }, - "id": "1a3c7760-51f3-08a1-32d0-7fc885bbbb70" + "id": "883c96a6-49fe-8cf5-6fd6-a28c9e8b3abb" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/eb22c300-3c48-11f0-b6eb-6e406f40657f", + "path": "/api/v2/users/fa8dbd27-cb9a-11f0-84fc-d6e063989c3f", "keepAlive": false, "secure": true }, @@ -232,6 +232,6 @@ "timeToLive": { "unlimited": true }, - "id": "bbeec54e-f17a-78a3-c0a7-d3dfa16f9402" + "id": "8d372e56-9141-5ddb-2a9f-5c75912ffa84" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.freeze index 0279e1e8caf..e4e809a1e35 100644 --- a/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.freeze @@ -1 +1 @@ -2025-05-29T04:53:58.508Z \ No newline at end of file +2025-11-27T14:11:37.612Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.json index c036c00e86d..f7ee33226e9 100644 --- a/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_On_Call_schedule_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_On_Call_schedule_returns_OK_response-1748494438@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_On_Call_schedule_returns_OK_response-1764252697@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"eedd114a-3c48-11f0-927d-aedf77869272\",\"attributes\":{\"name\":null,\"handle\":\"test-get_on_call_schedule_returns_ok_response-1748494438@datadoghq.com\",\"created_at\":\"2025-05-29T04:53:59.126285+00:00\",\"modified_at\":\"2025-05-29T04:53:59.126285+00:00\",\"email\":\"test-get_on_call_schedule_returns_ok_response-1748494438@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/0accc7b5a2e934dd438cd3b30841dcad?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"fd12eb55-cb9a-11f0-8fcd-5ac0b02adf59\",\"attributes\":{\"name\":null,\"handle\":\"test-get_on_call_schedule_returns_ok_response-1764252697@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:37.976362+00:00\",\"modified_at\":\"2025-11-27T14:11:37.976362+00:00\",\"email\":\"test-get_on_call_schedule_returns_ok_response-1764252697@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/56aea300d0912ed694b8ff04cfcc86aa?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "72b9a3b4-8ff5-8913-f1c2-1e355dcbc11b" + "id": "baa546d9-7e3d-f459-35df-2d5fd65c06ed" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:53:58.508Z\",\"end_date\":\"2025-06-08T04:53:58.508Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"eedd114a-3c48-11f0-927d-aedf77869272\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:53:58.508Z\"}],\"name\":\"Test-Get_On_Call_schedule_returns_OK_response-1748494438\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:37.612Z\",\"end_date\":\"2025-12-07T14:11:37.612Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"fd12eb55-cb9a-11f0-8fcd-5ac0b02adf59\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:37.612Z\"}],\"name\":\"Test-Get_On_Call_schedule_returns_OK_response-1764252697\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"cec4edfd-3f99-4da9-bd71-75c80c5629f8\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_schedule_returns_OK_response-1748494438\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"9f5d591e-e81b-4262-b0cd-145b52b9f23f\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"ba513209-ef94-4826-8511-1c5ccb912070\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_schedule_returns_OK_response-1764252697\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"9bb587a7-8302-49f3-8130-cb417de4ecd5\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,18 +57,18 @@ "timeToLive": { "unlimited": true }, - "id": "da807331-de09-b0fa-dbc3-ed9b0712728c" + "id": "8d2017be-fe1d-f02e-088f-65fcd98c3347" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/on-call/schedules/cec4edfd-3f99-4da9-bd71-75c80c5629f8", + "path": "/api/v2/on-call/schedules/ba513209-ef94-4826-8511-1c5ccb912070", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"cec4edfd-3f99-4da9-bd71-75c80c5629f8\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_schedule_returns_OK_response-1748494438\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"9f5d591e-e81b-4262-b0cd-145b52b9f23f\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"ba513209-ef94-4826-8511-1c5ccb912070\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_On_Call_schedule_returns_OK_response-1764252697\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"9bb587a7-8302-49f3-8130-cb417de4ecd5\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -83,13 +83,13 @@ "timeToLive": { "unlimited": true }, - "id": "6eea9c95-b989-6e3f-a0c7-f3ea9b6fb4c9" + "id": "0b4f532f-0733-ce32-61a0-5b17440d5bf9" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/cec4edfd-3f99-4da9-bd71-75c80c5629f8", + "path": "/api/v2/on-call/schedules/ba513209-ef94-4826-8511-1c5ccb912070", "keepAlive": false, "secure": true }, @@ -104,13 +104,13 @@ "timeToLive": { "unlimited": true }, - "id": "680d12b7-2d56-55ee-f4da-6e1f42eab632" + "id": "06827683-83b3-803f-27cc-6a8566608e81" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/eedd114a-3c48-11f0-927d-aedf77869272", + "path": "/api/v2/users/fd12eb55-cb9a-11f0-8fcd-5ac0b02adf59", "keepAlive": false, "secure": true }, @@ -125,6 +125,6 @@ "timeToLive": { "unlimited": true }, - "id": "6dddee96-a8ee-140d-a1b8-7a9f1f9b0cf3" + "id": "91af43a8-5837-c1b1-1d8d-6b87d5950b75" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.freeze index a02b74ff966..899352609f4 100644 --- a/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.freeze @@ -1 +1 @@ -2025-11-18T12:44:29.751Z \ No newline at end of file +2025-11-27T14:11:42.299Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.json index 344f49aad98..3b078fd76a4 100644 --- a/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_team_on_call_users_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_team_on_call_users_returns_OK_response-1763469869@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_team_on_call_users_returns_OK_response-1764252702@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"537c2919-c47c-11f0-9b08-ce88c9776d95\",\"attributes\":{\"name\":null,\"handle\":\"test-get_team_on_call_users_returns_ok_response-1763469869@datadoghq.com\",\"created_at\":\"2025-11-18T12:44:30.412060+00:00\",\"modified_at\":\"2025-11-18T12:44:30.412060+00:00\",\"email\":\"test-get_team_on_call_users_returns_ok_response-1763469869@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/e1a08271c5b3a54aaa074185b1550add?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"ffde914a-cb9a-11f0-ae87-2a5e5028fcef\",\"attributes\":{\"name\":null,\"handle\":\"test-get_team_on_call_users_returns_ok_response-1764252702@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:42.666467+00:00\",\"modified_at\":\"2025-11-27T14:11:42.666467+00:00\",\"email\":\"test-get_team_on_call_users_returns_ok_response-1764252702@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/0bc277f36ed2ab487375205fafaaebc7?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "63d88502-9723-3aa7-0205-e81d41d737fe" + "id": "42fc75d3-05df-814f-c3ba-71c951659fe1" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-b0479fe6a2cd9873\",\"name\":\"test-name-b0479fe6a2cd9873\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-ecfc4ff61997ed40\",\"name\":\"test-name-ecfc4ff61997ed40\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":15,\"created_at\":\"2025-11-18T12:44:31.250613+00:00\",\"description\":null,\"handle\":\"test-handle-b0479fe6a2cd9873\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-18T12:44:31.250613+00:00\",\"name\":\"test-name-b0479fe6a2cd9873\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/11ba6480-761b-4dbd-b4a0-c77a9df6740c/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/11ba6480-761b-4dbd-b4a0-c77a9df6740c/permission-settings\"}}}}}", + "body": "{\"data\":{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":11,\"created_at\":\"2025-11-27T14:11:43.090563+00:00\",\"description\":null,\"handle\":\"test-handle-ecfc4ff61997ed40\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:11:43.090563+00:00\",\"name\":\"test-name-ecfc4ff61997ed40\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/fc8f8844-54c3-4898-aabc-68d6fccbe20e/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/fc8f8844-54c3-4898-aabc-68d6fccbe20e/permission-settings\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "b22aa90a-3e3f-97e9-76ab-de2eb3255ae2" + "id": "ca910121-2da8-8944-7cc0-822383011728" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-08T12:44:29.751Z\",\"end_date\":\"2025-11-28T12:44:29.751Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"537c2919-c47c-11f0-9b08-ce88c9776d95\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-13T12:44:29.751Z\"}],\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1763469869\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:42.299Z\",\"end_date\":\"2025-12-07T14:11:42.299Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"ffde914a-cb9a-11f0-ae87-2a5e5028fcef\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:42.299Z\"}],\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1764252702\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -72,7 +72,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"3be141a8-848d-4af1-86de-e5d76cd6e4fc\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1763469869\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"0c2a552f-a2e0-47ca-ad8b-4407608b3f67\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"4325ddef-dc72-4609-90c2-01167759f277\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1764252702\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"86d3719a-7516-46f0-bfc4-2bd40ad1b855\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "e1fe73f1-b557-b9ed-473d-a3a5df93a49a" + "id": "4ab7208a-ec89-8a63-da29-bc0ec0ea3b66" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1763469869\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"teams\"},{\"id\":\"3be141a8-848d-4af1-86de-e5d76cd6e4fc\",\"type\":\"schedules\"},{\"id\":\"537c2919-c47c-11f0-9b08-ce88c9776d95\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1764252702\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"teams\"},{\"id\":\"4325ddef-dc72-4609-90c2-01167759f277\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"4325ddef-dc72-4609-90c2-01167759f277\",\"type\":\"schedules\"},{\"id\":\"ffde914a-cb9a-11f0-ae87-2a5e5028fcef\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "headers": {}, "method": "POST", @@ -102,7 +102,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"5fe7a7c8-a2c1-4f07-9510-a5d483df5ae7\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1763469869\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"11f436b4-85bf-47c8-ab21-e851974ccf60\",\"type\":\"steps\"},{\"id\":\"6f0da5a9-4b7d-4d12-a859-4799599f074d\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"5a7ecb26-4ebe-4496-bcfb-ff30c655a1a9\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Get_team_on_call_users_returns_OK_response-1764252702\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"2694ac87-8900-4b0f-a108-fb8961c7ef89\",\"type\":\"steps\"},{\"id\":\"e41057da-895e-4a23-81f2-617f61c53a84\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -117,22 +117,22 @@ "timeToLive": { "unlimited": true }, - "id": "2df297d3-5324-bfa3-fc05-7e59cdba417f" + "id": "dcd1a5fc-7c91-6d51-e6c9-df3916b89e9b" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"rules\":[{\"actions\":[],\"policy_id\":\"5fe7a7c8-a2c1-4f07-9510-a5d483df5ae7\",\"query\":\"\",\"urgency\":\"low\"}]},\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"team_routing_rules\"}}" + "json": "{\"data\":{\"attributes\":{\"rules\":[{\"actions\":[],\"policy_id\":\"5a7ecb26-4ebe-4496-bcfb-ff30c655a1a9\",\"query\":\"\",\"urgency\":\"low\"}]},\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"team_routing_rules\"}}" }, "headers": {}, "method": "PUT", - "path": "/api/v2/on-call/teams/11ba6480-761b-4dbd-b4a0-c77a9df6740c/routing-rules", + "path": "/api/v2/on-call/teams/fc8f8844-54c3-4898-aabc-68d6fccbe20e/routing-rules", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[{\"id\":\"virtual-11ba6480-761b-4dbd-b4a0-c77a9df6740c-rule-0\",\"type\":\"team_routing_rules\"}]}}}}", + "body": "{\"data\":{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[{\"id\":\"virtual-fc8f8844-54c3-4898-aabc-68d6fccbe20e-rule-0\",\"type\":\"team_routing_rules\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -147,13 +147,13 @@ "timeToLive": { "unlimited": true }, - "id": "9ce3e78a-b3f5-ecbb-ba29-c62840172d27" + "id": "1cf754c3-bce6-0add-1dc4-69208d43d007" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/on-call/teams/11ba6480-761b-4dbd-b4a0-c77a9df6740c/on-call", + "path": "/api/v2/on-call/teams/fc8f8844-54c3-4898-aabc-68d6fccbe20e/on-call", "queryStringParameters": { "include": [ "responders,escalations.responders" @@ -163,7 +163,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c-1763469873\",\"type\":\"team_oncall_responders\",\"relationships\":{\"escalations\":{\"data\":[]},\"responders\":{\"data\":[{\"id\":\"537c2919-c47c-11f0-9b08-ce88c9776d95\",\"type\":\"users\"}]}}},\"included\":[{\"id\":\"537c2919-c47c-11f0-9b08-ce88c9776d95\",\"type\":\"users\",\"attributes\":{\"email\":\"test-get_team_on_call_users_returns_ok_response-1763469869@datadoghq.com\",\"name\":\"\",\"status\":\"pending\"}}]}", + "body": "{\"data\":{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e-1764252704\",\"type\":\"team_oncall_responders\",\"relationships\":{\"escalations\":{\"data\":[]},\"responders\":{\"data\":[{\"id\":\"ffde914a-cb9a-11f0-ae87-2a5e5028fcef\",\"type\":\"users\"}]}}},\"included\":[{\"id\":\"ffde914a-cb9a-11f0-ae87-2a5e5028fcef\",\"type\":\"users\",\"attributes\":{\"email\":\"test-get_team_on_call_users_returns_ok_response-1764252702@datadoghq.com\",\"name\":\"\",\"status\":\"pending\"}}]}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -178,22 +178,22 @@ "timeToLive": { "unlimited": true }, - "id": "89d378d2-694c-e27a-4ad4-3f3b5047f024" + "id": "09fd219c-402d-46ce-881f-acc06fe50eae" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"rules\":[]},\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"team_routing_rules\"}}" + "json": "{\"data\":{\"attributes\":{\"rules\":[]},\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"team_routing_rules\"}}" }, "headers": {}, "method": "PUT", - "path": "/api/v2/on-call/teams/11ba6480-761b-4dbd-b4a0-c77a9df6740c/routing-rules", + "path": "/api/v2/on-call/teams/fc8f8844-54c3-4898-aabc-68d6fccbe20e/routing-rules", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"11ba6480-761b-4dbd-b4a0-c77a9df6740c\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[]}}}}", + "body": "{\"data\":{\"id\":\"fc8f8844-54c3-4898-aabc-68d6fccbe20e\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -208,13 +208,13 @@ "timeToLive": { "unlimited": true }, - "id": "102aca23-767e-de23-0032-29968dd4ec4b" + "id": "03be2856-6d75-14e3-dcd6-e31fa8c3597e" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/escalation-policies/5fe7a7c8-a2c1-4f07-9510-a5d483df5ae7", + "path": "/api/v2/on-call/escalation-policies/5a7ecb26-4ebe-4496-bcfb-ff30c655a1a9", "keepAlive": false, "secure": true }, @@ -229,13 +229,13 @@ "timeToLive": { "unlimited": true }, - "id": "6e425c1b-e8a5-1895-59fc-500f16267124" + "id": "7e123e65-4fa8-3ae6-f967-3319eec1cfe0" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/3be141a8-848d-4af1-86de-e5d76cd6e4fc", + "path": "/api/v2/on-call/schedules/4325ddef-dc72-4609-90c2-01167759f277", "keepAlive": false, "secure": true }, @@ -250,13 +250,13 @@ "timeToLive": { "unlimited": true }, - "id": "a7c55cdb-9ddf-307a-483a-43156deab580" + "id": "e0ae89f5-b926-1020-f6ff-ebd10343e10c" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/11ba6480-761b-4dbd-b4a0-c77a9df6740c", + "path": "/api/v2/team/fc8f8844-54c3-4898-aabc-68d6fccbe20e", "keepAlive": false, "secure": true }, @@ -271,13 +271,13 @@ "timeToLive": { "unlimited": true }, - "id": "39e7b285-cea6-2fd7-d1e6-e0b80bed70b9" + "id": "ab2a7b8f-fb98-0efb-db10-9271bf696130" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/537c2919-c47c-11f0-9b08-ce88c9776d95", + "path": "/api/v2/users/ffde914a-cb9a-11f0-ae87-2a5e5028fcef", "keepAlive": false, "secure": true }, @@ -292,6 +292,6 @@ "timeToLive": { "unlimited": true }, - "id": "2253d3eb-4391-94df-26b9-ec13bc9149e9" + "id": "5090a1c3-9f46-a92c-4bb5-4651b5518ee4" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.freeze index 1a1c3b8e706..baa8f4a5897 100644 --- a/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.freeze @@ -1 +1 @@ -2025-05-29T04:54:08.864Z \ No newline at end of file +2025-11-27T14:11:47.631Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.json index 3b371c6dd90..c9f834c931d 100644 --- a/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Get_the_schedule_on_call_user_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1748494448@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1764252707@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"f506d945-3c48-11f0-b6eb-6e406f40657f\",\"attributes\":{\"name\":null,\"handle\":\"test-get_the_schedule_on_call_user_returns_ok_response-1748494448@datadoghq.com\",\"created_at\":\"2025-05-29T04:54:09.466437+00:00\",\"modified_at\":\"2025-05-29T04:54:09.466437+00:00\",\"email\":\"test-get_the_schedule_on_call_user_returns_ok_response-1748494448@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/6c6e9988bfb6ab3c5c5ae2111d47fc54?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59\",\"attributes\":{\"name\":null,\"handle\":\"test-get_the_schedule_on_call_user_returns_ok_response-1764252707@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:48.013486+00:00\",\"modified_at\":\"2025-11-27T14:11:48.013486+00:00\",\"email\":\"test-get_the_schedule_on_call_user_returns_ok_response-1764252707@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/a9e8940d153698e24c0b29024875d46f?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "1e12d530-76a5-c838-db22-b95700d937f7" + "id": "f2592e5f-2768-4cf1-127f-fb6994dbb296" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:54:08.864Z\",\"end_date\":\"2025-06-08T04:54:08.864Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"f506d945-3c48-11f0-b6eb-6e406f40657f\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:54:08.864Z\"}],\"name\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1748494448\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:47.631Z\",\"end_date\":\"2025-12-07T14:11:47.631Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:47.631Z\"}],\"name\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1764252707\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"3e8644f0-f579-4459-8cb3-e585cd817db1\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1748494448\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"00847dac-89e7-4a60-8e72-9a5897a3a1e5\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"93a33505-71dc-4be4-a55d-95eb23b6b400\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Get_the_schedule_on_call_user_returns_OK_response-1764252707\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"c9addf6a-059c-4b07-aced-a2c287fd969f\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,18 +57,18 @@ "timeToLive": { "unlimited": true }, - "id": "5c1053da-a726-e11f-ba71-521d0b4e3906" + "id": "5dfe96b6-5e23-6697-ab11-26519ef0bf70" }, { "httpRequest": { "headers": {}, "method": "GET", - "path": "/api/v2/on-call/schedules/3e8644f0-f579-4459-8cb3-e585cd817db1/on-call", + "path": "/api/v2/on-call/schedules/93a33505-71dc-4be4-a55d-95eb23b6b400/on-call", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"f506d945-3c48-11f0-b6eb-6e406f40657f-2025-05-29T00:54:10-04:00-2025-05-30T00:54:08-04:00\",\"type\":\"shifts\",\"attributes\":{\"end\":\"2025-05-30T00:54:08-04:00\",\"start\":\"2025-05-29T00:54:10.138754-04:00\"},\"relationships\":{\"user\":{\"data\":{\"id\":\"f506d945-3c48-11f0-b6eb-6e406f40657f\",\"type\":\"users\"}}}}}", + "body": "{\"data\":{\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59-2025-11-27T09:11:48-05:00-2025-11-28T09:11:47-05:00\",\"type\":\"shifts\",\"attributes\":{\"end\":\"2025-11-28T09:11:47-05:00\",\"start\":\"2025-11-27T09:11:48.47496-05:00\"},\"relationships\":{\"user\":{\"data\":{\"id\":\"030e767a-cb9b-11f0-8fcd-5ac0b02adf59\",\"type\":\"users\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -83,13 +83,13 @@ "timeToLive": { "unlimited": true }, - "id": "1b5ef1b3-84c1-8605-bbdf-2716815acf6a" + "id": "39e441da-955d-c16c-d1e6-93330774196f" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/3e8644f0-f579-4459-8cb3-e585cd817db1", + "path": "/api/v2/on-call/schedules/93a33505-71dc-4be4-a55d-95eb23b6b400", "keepAlive": false, "secure": true }, @@ -104,13 +104,13 @@ "timeToLive": { "unlimited": true }, - "id": "ff710b2e-63c2-ae3a-a16b-1b58c64e8a17" + "id": "0d43106d-ea02-c4f7-744b-6acdce88d57a" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/f506d945-3c48-11f0-b6eb-6e406f40657f", + "path": "/api/v2/users/030e767a-cb9b-11f0-8fcd-5ac0b02adf59", "keepAlive": false, "secure": true }, @@ -125,6 +125,6 @@ "timeToLive": { "unlimited": true }, - "id": "d2b0367f-f598-fade-7825-d837d4b47de3" + "id": "818bd98d-114a-84ce-dad8-501f35d2e638" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.freeze index 2cf614d8066..7a29240030e 100644 --- a/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.freeze @@ -1 +1 @@ -2025-11-18T13:04:14.085Z \ No newline at end of file +2025-11-27T14:11:49.966Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.json index 7d997d2d843..42710446ed9 100644 --- a/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Set_On_Call_team_routing_rules_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1763471054@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"15c47aed-c47f-11f0-9f0b-be6d33dcd787\",\"attributes\":{\"name\":null,\"handle\":\"test-set_on_call_team_routing_rules_returns_ok_response-1763471054@datadoghq.com\",\"created_at\":\"2025-11-18T13:04:15.357470+00:00\",\"modified_at\":\"2025-11-18T13:04:15.357470+00:00\",\"email\":\"test-set_on_call_team_routing_rules_returns_ok_response-1763471054@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/958eeb5c5b80b7b5b4ec2f1794031763?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"0473ca92-cb9b-11f0-85f9-9a82ffe01443\",\"attributes\":{\"name\":null,\"handle\":\"test-set_on_call_team_routing_rules_returns_ok_response-1764252709@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:50.355271+00:00\",\"modified_at\":\"2025-11-27T14:11:50.355271+00:00\",\"email\":\"test-set_on_call_team_routing_rules_returns_ok_response-1764252709@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/ad92f892fdf302962d879c0d02664d8e?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "bc0c6844-9b50-3db1-e0ba-a59e550db2f1" + "id": "07055f7d-82b7-f7c5-900f-ec8976ba7ab7" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-f77a37b001e848f1\",\"name\":\"test-name-f77a37b001e848f1\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-a7692378c203a880\",\"name\":\"test-name-a7692378c203a880\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":6,\"created_at\":\"2025-11-18T13:04:15.712638+00:00\",\"description\":null,\"handle\":\"test-handle-f77a37b001e848f1\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-18T13:04:15.712638+00:00\",\"name\":\"test-name-f77a37b001e848f1\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/8ab3f777-435e-42b6-8511-0c9020365b8d/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/8ab3f777-435e-42b6-8511-0c9020365b8d/permission-settings\"}}}}}", + "body": "{\"data\":{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":14,\"created_at\":\"2025-11-27T14:11:50.842947+00:00\",\"description\":null,\"handle\":\"test-handle-a7692378c203a880\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:11:50.842947+00:00\",\"name\":\"test-name-a7692378c203a880\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/ba4fe917-0da4-4b40-96da-f9d7306d97d8/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/ba4fe917-0da4-4b40-96da-f9d7306d97d8/permission-settings\"}}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "4b48a9b5-2d1d-be11-2ec4-ecd259d28e78" + "id": "b2cc8226-7752-de84-3639-fd21eea86f85" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-08T13:04:14.085Z\",\"end_date\":\"2025-11-28T13:04:14.085Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"15c47aed-c47f-11f0-9f0b-be6d33dcd787\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-13T13:04:14.085Z\"}],\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1763471054\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:49.966Z\",\"end_date\":\"2025-12-07T14:11:49.966Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"0473ca92-cb9b-11f0-85f9-9a82ffe01443\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:49.966Z\"}],\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -72,7 +72,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"10ab1649-e333-41ac-9271-3484b87939a7\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1763471054\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"f0e28d78-8563-4d83-8d67-0b079bd7fab7\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"1f9b0595-17a3-4d95-9b2e-edcea3b6e737\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"0eecb6fe-83c6-48c9-9e0e-82379498f733\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "3e612537-79ae-ae11-1999-ede5265f096b" + "id": "44fc3233-5f8b-1f37-316c-d7a745aee094" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1763471054\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"teams\"},{\"id\":\"10ab1649-e333-41ac-9271-3484b87939a7\",\"type\":\"schedules\"},{\"id\":\"15c47aed-c47f-11f0-9f0b-be6d33dcd787\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"},{\"id\":\"1f9b0595-17a3-4d95-9b2e-edcea3b6e737\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"1f9b0595-17a3-4d95-9b2e-edcea3b6e737\",\"type\":\"schedules\"},{\"id\":\"0473ca92-cb9b-11f0-85f9-9a82ffe01443\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "headers": {}, "method": "POST", @@ -102,7 +102,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"ad66e3aa-4df4-4ab0-b928-03abd68cc44e\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1763471054\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"975ba331-0aaa-4878-9660-c1f580b01711\",\"type\":\"steps\"},{\"id\":\"4b342992-de9c-4163-9360-ee63a115519a\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"66f0e922-2834-4d68-aa0b-98cc81fc2a9d\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Set_On_Call_team_routing_rules_returns_OK_response-1764252709\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"533f661e-6a1f-4327-8d3f-035add94cff8\",\"type\":\"steps\"},{\"id\":\"b8948730-6aec-4a51-8662-cce4026b94dc\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -117,17 +117,17 @@ "timeToLive": { "unlimited": true }, - "id": "87915a69-7808-ad5e-ea43-5b9665936dd6" + "id": "9b1f112e-ed9b-24a3-439d-609848b84864" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"rules\":[{\"actions\":[{\"channel\":\"channel\",\"type\":\"send_slack_message\",\"workspace\":\"workspace\"}],\"query\":\"tags.service:test\",\"time_restriction\":{\"restrictions\":[{\"end_day\":\"monday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"},{\"end_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"start_day\":\"tuesday\",\"start_time\":\"09:00:00\"}],\"time_zone\":\"Europe/Paris\"}},{\"policy_id\":\"ad66e3aa-4df4-4ab0-b928-03abd68cc44e\",\"query\":\"\",\"urgency\":\"low\"}]},\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"team_routing_rules\"}}" + "json": "{\"data\":{\"attributes\":{\"rules\":[{\"actions\":[{\"channel\":\"channel\",\"type\":\"send_slack_message\",\"workspace\":\"workspace\"}],\"query\":\"tags.service:test\",\"time_restriction\":{\"restrictions\":[{\"end_day\":\"monday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"},{\"end_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"start_day\":\"tuesday\",\"start_time\":\"09:00:00\"}],\"time_zone\":\"Europe/Paris\"}},{\"policy_id\":\"66f0e922-2834-4d68-aa0b-98cc81fc2a9d\",\"query\":\"\",\"urgency\":\"low\"}]},\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\"}}" }, "headers": {}, "method": "PUT", - "path": "/api/v2/on-call/teams/8ab3f777-435e-42b6-8511-0c9020365b8d/routing-rules", + "path": "/api/v2/on-call/teams/ba4fe917-0da4-4b40-96da-f9d7306d97d8/routing-rules", "queryStringParameters": { "include": [ "rules" @@ -137,7 +137,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[{\"id\":\"virtual-8ab3f777-435e-42b6-8511-0c9020365b8d-rule-0\",\"type\":\"team_routing_rules\"},{\"id\":\"virtual-8ab3f777-435e-42b6-8511-0c9020365b8d-rule-1\",\"type\":\"team_routing_rules\"}]}}},\"included\":[{\"id\":\"virtual-8ab3f777-435e-42b6-8511-0c9020365b8d-rule-0\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[{\"type\":\"send_slack_message\",\"channel\":\"channel\",\"workspace\":\"workspace\"}],\"query\":\"tags.service:test\",\"time_restriction\":{\"time_zone\":\"Europe/Paris\",\"restrictions\":[{\"start_time\":\"09:00:00\",\"start_day\":\"monday\",\"end_time\":\"17:00:00\",\"end_day\":\"monday\"},{\"start_time\":\"09:00:00\",\"start_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"end_day\":\"tuesday\"}]}},\"relationships\":{\"policy\":{\"data\":null}}},{\"id\":\"virtual-8ab3f777-435e-42b6-8511-0c9020365b8d-rule-1\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[],\"query\":\"\",\"urgency\":\"low\"},\"relationships\":{\"policy\":{\"data\":{\"id\":\"ad66e3aa-4df4-4ab0-b928-03abd68cc44e\",\"type\":\"policies\"}}}}]}", + "body": "{\"data\":{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-0\",\"type\":\"team_routing_rules\"},{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-1\",\"type\":\"team_routing_rules\"}]}}},\"included\":[{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-0\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[{\"type\":\"send_slack_message\",\"channel\":\"channel\",\"workspace\":\"workspace\"}],\"query\":\"tags.service:test\",\"time_restriction\":{\"time_zone\":\"Europe/Paris\",\"restrictions\":[{\"start_time\":\"09:00:00\",\"start_day\":\"monday\",\"end_time\":\"17:00:00\",\"end_day\":\"monday\"},{\"start_time\":\"09:00:00\",\"start_day\":\"tuesday\",\"end_time\":\"17:00:00\",\"end_day\":\"tuesday\"}]}},\"relationships\":{\"policy\":{\"data\":null}}},{\"id\":\"virtual-ba4fe917-0da4-4b40-96da-f9d7306d97d8-rule-1\",\"type\":\"team_routing_rules\",\"attributes\":{\"actions\":[],\"query\":\"\",\"urgency\":\"low\"},\"relationships\":{\"policy\":{\"data\":{\"id\":\"66f0e922-2834-4d68-aa0b-98cc81fc2a9d\",\"type\":\"policies\"}}}}]}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -152,22 +152,22 @@ "timeToLive": { "unlimited": true }, - "id": "6a3efee1-5b3c-1bf7-832c-4d231d8b604c" + "id": "c9970e7e-9ed5-a660-7997-ac6316dafd27" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"rules\":[]},\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"team_routing_rules\"}}" + "json": "{\"data\":{\"attributes\":{\"rules\":[]},\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\"}}" }, "headers": {}, "method": "PUT", - "path": "/api/v2/on-call/teams/8ab3f777-435e-42b6-8511-0c9020365b8d/routing-rules", + "path": "/api/v2/on-call/teams/ba4fe917-0da4-4b40-96da-f9d7306d97d8/routing-rules", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"8ab3f777-435e-42b6-8511-0c9020365b8d\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[]}}}}", + "body": "{\"data\":{\"id\":\"ba4fe917-0da4-4b40-96da-f9d7306d97d8\",\"type\":\"team_routing_rules\",\"relationships\":{\"rules\":{\"data\":[]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -182,13 +182,13 @@ "timeToLive": { "unlimited": true }, - "id": "2c30a450-c624-83c9-2cdf-496f9b231544" + "id": "8e16cbe7-4c6d-4214-44df-932c13079e00" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/escalation-policies/ad66e3aa-4df4-4ab0-b928-03abd68cc44e", + "path": "/api/v2/on-call/escalation-policies/66f0e922-2834-4d68-aa0b-98cc81fc2a9d", "keepAlive": false, "secure": true }, @@ -203,13 +203,13 @@ "timeToLive": { "unlimited": true }, - "id": "894ed436-a007-1316-0668-6bc54a40d1ba" + "id": "c26189d3-7508-89a7-a4fd-05c9a5d03ce7" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/10ab1649-e333-41ac-9271-3484b87939a7", + "path": "/api/v2/on-call/schedules/1f9b0595-17a3-4d95-9b2e-edcea3b6e737", "keepAlive": false, "secure": true }, @@ -224,13 +224,13 @@ "timeToLive": { "unlimited": true }, - "id": "797df6bc-5832-d5b3-7f14-c34dac958c13" + "id": "13fd1a4c-6203-2e80-6486-f8eaa339c28b" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/8ab3f777-435e-42b6-8511-0c9020365b8d", + "path": "/api/v2/team/ba4fe917-0da4-4b40-96da-f9d7306d97d8", "keepAlive": false, "secure": true }, @@ -245,13 +245,13 @@ "timeToLive": { "unlimited": true }, - "id": "5f0b04b2-2faf-cb90-e03f-7f4c143d8701" + "id": "8c75ecab-4d74-a2b6-9dbc-dad49c49345c" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/15c47aed-c47f-11f0-9f0b-be6d33dcd787", + "path": "/api/v2/users/0473ca92-cb9b-11f0-85f9-9a82ffe01443", "keepAlive": false, "secure": true }, @@ -266,6 +266,6 @@ "timeToLive": { "unlimited": true }, - "id": "b39d7b8f-b1fa-bd8f-82c0-b0e73dc4bfe3" + "id": "96fcc628-0c00-501e-78b9-d3212c0190a8" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.freeze index dcfe9e95351..d64fddeda72 100644 --- a/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.freeze @@ -1 +1 @@ -2025-05-29T04:54:18.437Z \ No newline at end of file +2025-11-27T14:11:54.763Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.json index 1ba88ed1d0d..a5ef0a00eb3 100644 --- a/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Update_On_Call_escalation_policy_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1748494458@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1764252714@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"fabd9ae0-3c48-11f0-b407-16d8dc894a02\",\"attributes\":{\"name\":null,\"handle\":\"test-update_on_call_escalation_policy_returns_ok_response-1748494458@datadoghq.com\",\"created_at\":\"2025-05-29T04:54:19.052756+00:00\",\"modified_at\":\"2025-05-29T04:54:19.052756+00:00\",\"email\":\"test-update_on_call_escalation_policy_returns_ok_response-1748494458@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/cf87c53bf68b572610145962e6965e0c?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"074d412b-cb9b-11f0-85f9-9a82ffe01443\",\"attributes\":{\"name\":null,\"handle\":\"test-update_on_call_escalation_policy_returns_ok_response-1764252714@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:55.135880+00:00\",\"modified_at\":\"2025-11-27T14:11:55.135880+00:00\",\"email\":\"test-update_on_call_escalation_policy_returns_ok_response-1764252714@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/56710b9d4c6476f7e9cb32cf32f2d8fa?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "d054a8c7-20a3-5354-6b08-06bf869d885b" + "id": "b2eb5525-98a5-d057-9216-2f216e879b07" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-e987bfc60cf27d84\",\"name\":\"test-name-e987bfc60cf27d84\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-87ae65b051bd37ef\",\"name\":\"test-name-87ae65b051bd37ef\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -42,10 +42,10 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"team\",\"id\":\"37ea8c60-77bd-4154-ba2e-ac59d25541c6\",\"attributes\":{\"name\":\"test-name-e987bfc60cf27d84\",\"handle\":\"test-handle-e987bfc60cf27d84\",\"summary\":null,\"description\":null,\"avatar\":null,\"banner\":3,\"visible_modules\":[],\"hidden_modules\":[],\"created_at\":\"2025-05-29T04:54:19.729870+00:00\",\"modified_at\":\"2025-05-29T04:54:19.729879+00:00\",\"user_count\":0,\"link_count\":0},\"relationships\":{\"team_links\":{\"links\":{\"related\":\"/api/v2/team/37ea8c60-77bd-4154-ba2e-ac59d25541c6/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/37ea8c60-77bd-4154-ba2e-ac59d25541c6/permission-settings\"}}}}}\n", + "body": "{\"data\":{\"id\":\"f38d82f9-3de9-4a4a-8a48-650c0b19151f\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":11,\"created_at\":\"2025-11-27T14:11:55.632151+00:00\",\"description\":null,\"handle\":\"test-handle-87ae65b051bd37ef\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:11:55.632152+00:00\",\"name\":\"test-name-87ae65b051bd37ef\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/f38d82f9-3de9-4a4a-8a48-650c0b19151f/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/f38d82f9-3de9-4a4a-8a48-650c0b19151f/permission-settings\"}}}}}", "headers": { "Content-Type": [ - "application/json" + "application/vnd.api+json" ] }, "statusCode": 201, @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "d7c84ec2-74c4-84c8-1c45-21c56064732b" + "id": "b440e752-901b-4961-d531-cac7aef1c9b4" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-05-19T04:54:18.437Z\",\"end_date\":\"2025-06-08T04:54:18.437Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"fabd9ae0-3c48-11f0-b407-16d8dc894a02\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-05-24T04:54:18.437Z\"}],\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1748494458\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:54.763Z\",\"end_date\":\"2025-12-07T14:11:54.763Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"074d412b-cb9b-11f0-85f9-9a82ffe01443\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:54.763Z\"}],\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1764252714\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -72,7 +72,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"f8a9543a-dc0f-4d81-bb16-7054201fa099\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1748494458\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"f2cc2a31-c4f9-40bf-9820-93af15c77625\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"1ab20921-4556-4f30-80df-e1ce748c3fc1\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1764252714\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"94644551-c1bd-4b16-8774-ddbf0b6ce12c\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -87,13 +87,13 @@ "timeToLive": { "unlimited": true }, - "id": "83824c49-6fbf-2d64-b606-c2098dcf8bbf" + "id": "b2f939a4-b9b7-7812-26e0-55247a23460f" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1748494458\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"37ea8c60-77bd-4154-ba2e-ac59d25541c6\",\"type\":\"teams\"},{\"id\":\"f8a9543a-dc0f-4d81-bb16-7054201fa099\",\"type\":\"schedules\"},{\"id\":\"fabd9ae0-3c48-11f0-b407-16d8dc894a02\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"37ea8c60-77bd-4154-ba2e-ac59d25541c6\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"37ea8c60-77bd-4154-ba2e-ac59d25541c6\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1764252714\",\"resolve_page_on_policy_end\":true,\"retries\":2,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"f38d82f9-3de9-4a4a-8a48-650c0b19151f\",\"type\":\"teams\"},{\"id\":\"1ab20921-4556-4f30-80df-e1ce748c3fc1\",\"type\":\"schedules\"},{\"config\":{\"schedule\":{\"position\":\"previous\"}},\"id\":\"1ab20921-4556-4f30-80df-e1ce748c3fc1\",\"type\":\"schedules\"},{\"id\":\"074d412b-cb9b-11f0-85f9-9a82ffe01443\",\"type\":\"users\"}]},{\"assignment\":\"round-robin\",\"escalate_after_seconds\":3600,\"targets\":[{\"id\":\"f38d82f9-3de9-4a4a-8a48-650c0b19151f\",\"type\":\"teams\"}]}]},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"f38d82f9-3de9-4a4a-8a48-650c0b19151f\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "headers": {}, "method": "POST", @@ -102,7 +102,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"05ee91ac-c049-4e7c-b43b-3f673a7ce96d\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1748494458\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"6a0d2106-0430-4211-af70-54ea18031d0d\",\"type\":\"steps\"},{\"id\":\"f4c4d70e-72e5-4f5c-89fb-bf7aea612c1b\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"37ea8c60-77bd-4154-ba2e-ac59d25541c6\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"b20fdf89-f87f-4237-8f19-ed8c9c57cf5c\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1764252714\",\"resolve_page_on_policy_end\":true,\"retries\":2},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"6d4b5398-50bf-425d-93b8-3eae379ff8a0\",\"type\":\"steps\"},{\"id\":\"b3f4a0dd-337f-42b7-9fda-b2f4486e700f\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"f38d82f9-3de9-4a4a-8a48-650c0b19151f\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -117,22 +117,22 @@ "timeToLive": { "unlimited": true }, - "id": "bb29ffa9-7fb3-4e84-e85c-4d6e6ca1ebfd" + "id": "765e1637-a3ca-c92a-6c72-60a5b3580e79" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1748494458-updated\",\"resolve_page_on_policy_end\":false,\"retries\":0,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"id\":\"6a0d2106-0430-4211-af70-54ea18031d0d\",\"targets\":[{\"id\":\"fabd9ae0-3c48-11f0-b407-16d8dc894a02\",\"type\":\"users\"}]}]},\"id\":\"05ee91ac-c049-4e7c-b43b-3f673a7ce96d\",\"relationships\":{\"teams\":{\"data\":[{\"id\":\"37ea8c60-77bd-4154-ba2e-ac59d25541c6\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" + "json": "{\"data\":{\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1764252714-updated\",\"resolve_page_on_policy_end\":false,\"retries\":0,\"steps\":[{\"assignment\":\"default\",\"escalate_after_seconds\":3600,\"id\":\"6d4b5398-50bf-425d-93b8-3eae379ff8a0\",\"targets\":[{\"id\":\"074d412b-cb9b-11f0-85f9-9a82ffe01443\",\"type\":\"users\"}]}]},\"id\":\"b20fdf89-f87f-4237-8f19-ed8c9c57cf5c\",\"relationships\":{\"teams\":{\"data\":[{\"id\":\"f38d82f9-3de9-4a4a-8a48-650c0b19151f\",\"type\":\"teams\"}]}},\"type\":\"policies\"}}" }, "headers": {}, "method": "PUT", - "path": "/api/v2/on-call/escalation-policies/05ee91ac-c049-4e7c-b43b-3f673a7ce96d", + "path": "/api/v2/on-call/escalation-policies/b20fdf89-f87f-4237-8f19-ed8c9c57cf5c", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"05ee91ac-c049-4e7c-b43b-3f673a7ce96d\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1748494458-updated\",\"resolve_page_on_policy_end\":false,\"retries\":0},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"6a0d2106-0430-4211-af70-54ea18031d0d\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"37ea8c60-77bd-4154-ba2e-ac59d25541c6\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"b20fdf89-f87f-4237-8f19-ed8c9c57cf5c\",\"type\":\"policies\",\"attributes\":{\"name\":\"Test-Update_On_Call_escalation_policy_returns_OK_response-1764252714-updated\",\"resolve_page_on_policy_end\":false,\"retries\":0},\"relationships\":{\"steps\":{\"data\":[{\"id\":\"6d4b5398-50bf-425d-93b8-3eae379ff8a0\",\"type\":\"steps\"}]},\"teams\":{\"data\":[{\"id\":\"f38d82f9-3de9-4a4a-8a48-650c0b19151f\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -147,13 +147,13 @@ "timeToLive": { "unlimited": true }, - "id": "b8254827-a73f-6243-7528-3bc455d68973" + "id": "175bc37d-c598-1f74-ad66-2f542b3b60ad" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/escalation-policies/05ee91ac-c049-4e7c-b43b-3f673a7ce96d", + "path": "/api/v2/on-call/escalation-policies/b20fdf89-f87f-4237-8f19-ed8c9c57cf5c", "keepAlive": false, "secure": true }, @@ -168,13 +168,13 @@ "timeToLive": { "unlimited": true }, - "id": "3f5ca272-8dd8-f634-c4d1-e90271196a52" + "id": "b270fd6d-9ac2-fe5e-4292-89747d5af3b4" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/f8a9543a-dc0f-4d81-bb16-7054201fa099", + "path": "/api/v2/on-call/schedules/1ab20921-4556-4f30-80df-e1ce748c3fc1", "keepAlive": false, "secure": true }, @@ -189,13 +189,13 @@ "timeToLive": { "unlimited": true }, - "id": "592eb78e-35d1-05a0-d154-962fff969d63" + "id": "881661eb-6083-f274-b312-782047281bfe" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/37ea8c60-77bd-4154-ba2e-ac59d25541c6", + "path": "/api/v2/team/f38d82f9-3de9-4a4a-8a48-650c0b19151f", "keepAlive": false, "secure": true }, @@ -210,13 +210,13 @@ "timeToLive": { "unlimited": true }, - "id": "a8759645-273c-d16d-b3c7-37a4ca719e6f" + "id": "85369d0f-73f8-f4d2-21db-5b9b97e8096b" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/fabd9ae0-3c48-11f0-b407-16d8dc894a02", + "path": "/api/v2/users/074d412b-cb9b-11f0-85f9-9a82ffe01443", "keepAlive": false, "secure": true }, @@ -231,6 +231,6 @@ "timeToLive": { "unlimited": true }, - "id": "9d38d5d2-1d19-026d-fd85-1627712c4319" + "id": "b2cd7e94-b21d-5e28-1fdd-9631fbcfec8b" } ] \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.freeze index 2f290d18c09..9c277407503 100644 --- a/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.freeze +++ b/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.freeze @@ -1 +1 @@ -2025-07-03T14:30:45.232Z \ No newline at end of file +2025-11-27T14:11:59.069Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.json index 9040b9cc0a8..1ffd7b05de8 100644 --- a/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.json +++ b/src/test/resources/cassettes/features/v2/Update_On_Call_schedule_returns_OK_response.json @@ -3,7 +3,7 @@ "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Update_On_Call_schedule_returns_OK_response-1751553045@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" + "json": "{\"data\":{\"attributes\":{\"email\":\"Test-Update_On_Call_schedule_returns_OK_response-1764252719@datadoghq.com\",\"title\":\"user title\"},\"type\":\"users\"}}" }, "headers": {}, "method": "POST", @@ -12,7 +12,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"users\",\"id\":\"4ea279a2-581a-11f0-bb4d-bed6e06a25e4\",\"attributes\":{\"name\":null,\"handle\":\"test-update_on_call_schedule_returns_ok_response-1751553045@datadoghq.com\",\"created_at\":\"2025-07-03T14:30:46.015046+00:00\",\"modified_at\":\"2025-07-03T14:30:46.015046+00:00\",\"email\":\"test-update_on_call_schedule_returns_ok_response-1751553045@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/8c4a38455f71bb12d82add5157f105a0?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\"},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", + "body": "{\"data\":{\"type\":\"users\",\"id\":\"09e2b0f4-cb9b-11f0-a56e-4e680b759023\",\"attributes\":{\"name\":null,\"handle\":\"test-update_on_call_schedule_returns_ok_response-1764252719@datadoghq.com\",\"created_at\":\"2025-11-27T14:11:59.470672+00:00\",\"modified_at\":\"2025-11-27T14:11:59.470672+00:00\",\"email\":\"test-update_on_call_schedule_returns_ok_response-1764252719@datadoghq.com\",\"icon\":\"https://secure.gravatar.com/avatar/62638e49f4a83e63caabec2a6ab50bba?s=48&d=retro\",\"title\":\"user title\",\"verified\":false,\"service_account\":false,\"disabled\":false,\"allowed_login_methods\":[],\"status\":\"Pending\",\"last_login_time\":null},\"relationships\":{\"roles\":{\"data\":[]},\"org\":{\"data\":{\"type\":\"orgs\",\"id\":\"4dee724d-00cc-11ea-a77b-570c9d03c6c5\"}}}}}\n", "headers": { "Content-Type": [ "application/json" @@ -27,13 +27,13 @@ "timeToLive": { "unlimited": true }, - "id": "7a980b61-3319-a159-1f4d-dffbf1f7ab7a" + "id": "d4ccb0d6-49a3-77b5-6c75-bed77a52e8f1" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-06-23T14:30:45.232Z\",\"end_date\":\"2025-07-13T14:30:45.232Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"4ea279a2-581a-11f0-bb4d-bed6e06a25e4\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-06-28T14:30:45.232Z\"}],\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1751553045\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:59.069Z\",\"end_date\":\"2025-12-07T14:11:59.069Z\",\"interval\":{\"days\":1},\"members\":[{\"user\":{\"id\":\"09e2b0f4-cb9b-11f0-a56e-4e680b759023\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:59.069Z\"}],\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1764252719\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "POST", @@ -42,7 +42,7 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"3cb80fa4-f506-4b2f-9187-2af6c2253698\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1751553045\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"70f75d0e-19d0-46a1-9c1c-19d2de171744\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"0e2c2b38-3f21-4216-aeb7-49eb8b371c09\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1764252719\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"140f452a-0ecf-48ab-b7e9-e358a2cf925b\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"65aea9d0-941c-4607-bf8a-14fc0dac2820\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -57,13 +57,13 @@ "timeToLive": { "unlimited": true }, - "id": "02046e92-e0ca-85f4-1b50-7d3f50c1e2d5" + "id": "9f05ee4a-d62d-d857-21b5-3524fdccdea4" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-001d7ca9284aa632\",\"name\":\"test-name-001d7ca9284aa632\"},\"type\":\"team\"}}" + "json": "{\"data\":{\"attributes\":{\"handle\":\"test-handle-0db1ad1d49052f19\",\"name\":\"test-name-0db1ad1d49052f19\"},\"type\":\"team\"}}" }, "headers": {}, "method": "POST", @@ -72,10 +72,10 @@ "secure": true }, "httpResponse": { - "body": "{\"data\":{\"type\":\"team\",\"id\":\"9ca20f11-ede5-4147-addb-25b7f91ce508\",\"attributes\":{\"name\":\"test-name-001d7ca9284aa632\",\"handle\":\"test-handle-001d7ca9284aa632\",\"summary\":null,\"description\":null,\"avatar\":null,\"banner\":13,\"visible_modules\":[],\"hidden_modules\":[],\"created_at\":\"2025-07-03T14:30:46.275583+00:00\",\"modified_at\":\"2025-07-03T14:30:46.275594+00:00\",\"user_count\":0,\"link_count\":0},\"relationships\":{\"team_links\":{\"links\":{\"related\":\"/api/v2/team/9ca20f11-ede5-4147-addb-25b7f91ce508/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/9ca20f11-ede5-4147-addb-25b7f91ce508/permission-settings\"}}}}}\n", + "body": "{\"data\":{\"id\":\"500acba0-bf4f-4f5c-83be-d0de24c5739c\",\"type\":\"team\",\"attributes\":{\"avatar\":null,\"banner\":8,\"created_at\":\"2025-11-27T14:12:00.429799+00:00\",\"description\":null,\"handle\":\"test-handle-0db1ad1d49052f19\",\"hidden_modules\":[],\"link_count\":0,\"modified_at\":\"2025-11-27T14:12:00.429799+00:00\",\"name\":\"test-name-0db1ad1d49052f19\",\"summary\":null,\"user_count\":0,\"visible_modules\":[]},\"relationships\":{\"team_links\":{\"data\":[],\"links\":{\"related\":\"/api/v2/team/500acba0-bf4f-4f5c-83be-d0de24c5739c/links\"}},\"user_team_permissions\":{\"links\":{\"related\":\"/api/v2/team/500acba0-bf4f-4f5c-83be-d0de24c5739c/permission-settings\"}}}}}", "headers": { "Content-Type": [ - "application/json" + "application/vnd.api+json" ] }, "statusCode": 201, @@ -87,22 +87,22 @@ "timeToLive": { "unlimited": true }, - "id": "209cd9cd-dfdc-4d67-deba-703111217b32" + "id": "3d1e9b32-89a8-4005-523c-d082110dc19c" }, { "httpRequest": { "body": { "type": "JSON", - "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-06-23T14:30:45.232Z\",\"end_date\":\"2025-07-13T14:30:45.232Z\",\"id\":\"70f75d0e-19d0-46a1-9c1c-19d2de171744\",\"interval\":{\"seconds\":3600},\"members\":[{\"user\":{\"id\":\"4ea279a2-581a-11f0-bb4d-bed6e06a25e4\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-06-28T14:30:45.232Z\"}],\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1751553045\",\"time_zone\":\"America/New_York\"},\"id\":\"3cb80fa4-f506-4b2f-9187-2af6c2253698\",\"relationships\":{\"teams\":{\"data\":[{\"id\":\"9ca20f11-ede5-4147-addb-25b7f91ce508\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" + "json": "{\"data\":{\"attributes\":{\"layers\":[{\"effective_date\":\"2025-11-17T14:11:59.069Z\",\"end_date\":\"2025-12-07T14:11:59.069Z\",\"id\":\"140f452a-0ecf-48ab-b7e9-e358a2cf925b\",\"interval\":{\"seconds\":3600},\"members\":[{\"user\":{\"id\":\"09e2b0f4-cb9b-11f0-a56e-4e680b759023\"}}],\"name\":\"Layer 1\",\"restrictions\":[{\"end_day\":\"friday\",\"end_time\":\"17:00:00\",\"start_day\":\"monday\",\"start_time\":\"09:00:00\"}],\"rotation_start\":\"2025-11-22T14:11:59.069Z\"}],\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1764252719\",\"time_zone\":\"America/New_York\"},\"id\":\"0e2c2b38-3f21-4216-aeb7-49eb8b371c09\",\"relationships\":{\"teams\":{\"data\":[{\"id\":\"500acba0-bf4f-4f5c-83be-d0de24c5739c\",\"type\":\"teams\"}]}},\"type\":\"schedules\"}}" }, "headers": {}, "method": "PUT", - "path": "/api/v2/on-call/schedules/3cb80fa4-f506-4b2f-9187-2af6c2253698", + "path": "/api/v2/on-call/schedules/0e2c2b38-3f21-4216-aeb7-49eb8b371c09", "keepAlive": false, "secure": true }, "httpResponse": { - "body": "{\"data\":{\"id\":\"3cb80fa4-f506-4b2f-9187-2af6c2253698\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1751553045\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"70f75d0e-19d0-46a1-9c1c-19d2de171744\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"9ca20f11-ede5-4147-addb-25b7f91ce508\",\"type\":\"teams\"}]}}}}", + "body": "{\"data\":{\"id\":\"0e2c2b38-3f21-4216-aeb7-49eb8b371c09\",\"type\":\"schedules\",\"attributes\":{\"name\":\"Test-Update_On_Call_schedule_returns_OK_response-1764252719\",\"time_zone\":\"America/New_York\"},\"relationships\":{\"layers\":{\"data\":[{\"id\":\"140f452a-0ecf-48ab-b7e9-e358a2cf925b\",\"type\":\"layers\"}]},\"teams\":{\"data\":[{\"id\":\"500acba0-bf4f-4f5c-83be-d0de24c5739c\",\"type\":\"teams\"}]}}}}", "headers": { "Content-Type": [ "application/vnd.api+json" @@ -117,13 +117,13 @@ "timeToLive": { "unlimited": true }, - "id": "88b55750-6990-756d-ddad-235f5be22de0" + "id": "6b88a1e4-d096-407f-553f-cb090e9962ff" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/team/9ca20f11-ede5-4147-addb-25b7f91ce508", + "path": "/api/v2/team/500acba0-bf4f-4f5c-83be-d0de24c5739c", "keepAlive": false, "secure": true }, @@ -138,13 +138,13 @@ "timeToLive": { "unlimited": true }, - "id": "e2caa3bd-1d9b-a23a-54e4-a3973ceca236" + "id": "571af3b3-0604-67fd-1470-da571d024b0c" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/on-call/schedules/3cb80fa4-f506-4b2f-9187-2af6c2253698", + "path": "/api/v2/on-call/schedules/0e2c2b38-3f21-4216-aeb7-49eb8b371c09", "keepAlive": false, "secure": true }, @@ -159,13 +159,13 @@ "timeToLive": { "unlimited": true }, - "id": "8b2043af-3362-1f9a-0413-fb0f61b0d9c9" + "id": "1b8d4e72-9879-b6dc-986c-cad4d4d64e02" }, { "httpRequest": { "headers": {}, "method": "DELETE", - "path": "/api/v2/users/4ea279a2-581a-11f0-bb4d-bed6e06a25e4", + "path": "/api/v2/users/09e2b0f4-cb9b-11f0-a56e-4e680b759023", "keepAlive": false, "secure": true }, @@ -180,6 +180,6 @@ "timeToLive": { "unlimited": true }, - "id": "7c96887e-1732-8146-2525-a52999e1af53" + "id": "d09c8cb1-d9dc-e011-1bf5-fcd22ebc7058" } ] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v2/api/given.json b/src/test/resources/com/datadog/api/client/v2/api/given.json index 6c6d3bf98f4..2dd671379ad 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/given.json +++ b/src/test/resources/com/datadog/api/client/v2/api/given.json @@ -747,7 +747,7 @@ "parameters": [ { "name": "body", - "value": "{\n \"data\": {\n \"attributes\": {\n \"name\": \"{{ unique }}\",\n \"resolve_page_on_policy_end\": true,\n \"retries\": 2,\n \"steps\": [\n {\n \"assignment\": \"default\",\n \"escalate_after_seconds\": 3600,\n \"targets\": [\n {\n \"id\": \"{{ dd_team.data.id }}\",\n \"type\": \"teams\"\n },\n {\n \"id\": \"{{ schedule.data.id }}\",\n \"type\": \"schedules\"\n },\n {\n \"id\": \"{{ user.data.id }}\",\n \"type\": \"users\"\n }\n ]\n },\n {\n \"assignment\": \"round-robin\",\n \"escalate_after_seconds\": 3600,\n \"targets\": [\n {\n \"id\": \"{{ dd_team.data.id }}\",\n \"type\": \"teams\"\n }\n ]\n }\n ]\n },\n \"relationships\": {\n \"teams\": {\n \"data\": [\n {\n \"id\": \"{{ dd_team.data.id }}\",\n \"type\": \"teams\"\n }\n ]\n }\n },\n \"type\": \"policies\"\n }\n}" + "value": "{\n \"data\": {\n \"attributes\": {\n \"name\": \"{{ unique }}\",\n \"resolve_page_on_policy_end\": true,\n \"retries\": 2,\n \"steps\": [\n {\n \"assignment\": \"default\",\n \"escalate_after_seconds\": 3600,\n \"targets\": [\n {\n \"id\": \"{{ dd_team.data.id }}\",\n \"type\": \"teams\"\n },\n {\n \"id\": \"{{ schedule.data.id }}\",\n \"type\": \"schedules\"\n },\n {\n \"id\": \"{{ schedule.data.id }}\",\n \"type\": \"schedules\",\n \"config\": {\n \"schedule\": {\n \"position\": \"previous\"\n }\n }\n },\n {\n \"id\": \"{{ user.data.id }}\",\n \"type\": \"users\"\n }\n ]\n },\n {\n \"assignment\": \"round-robin\",\n \"escalate_after_seconds\": 3600,\n \"targets\": [\n {\n \"id\": \"{{ dd_team.data.id }}\",\n \"type\": \"teams\"\n }\n ]\n }\n ]\n },\n \"relationships\": {\n \"teams\": {\n \"data\": [\n {\n \"id\": \"{{ dd_team.data.id }}\",\n \"type\": \"teams\"\n }\n ]\n }\n },\n \"type\": \"policies\"\n }\n}" } ], "step": "there is a valid \"escalation_policy\" in the system", diff --git a/src/test/resources/com/datadog/api/client/v2/api/on-call.feature b/src/test/resources/com/datadog/api/client/v2/api/on-call.feature index 39640938e4a..7bcd1d00e1b 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/on-call.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/on-call.feature @@ -12,7 +12,7 @@ Feature: On-Call @generated @skip @team:DataDog/on-call Scenario: Create On-Call escalation policy returns "Bad Request" response Given new "CreateOnCallEscalationPolicy" request - And body with value {"data": {"attributes": {"name": "Escalation Policy 1", "resolve_page_on_policy_end": true, "retries": 2, "steps": [{"assignment": "default", "escalate_after_seconds": 3600, "targets": [{"id": "00000000-aba1-0000-0000-000000000000", "type": "users"}, {"id": "00000000-aba2-0000-0000-000000000000", "type": "schedules"}, {"id": "00000000-aba3-0000-0000-000000000000", "type": "teams"}]}, {"assignment": "round-robin", "escalate_after_seconds": 3600, "targets": [{"id": "00000000-aba1-0000-0000-000000000000", "type": "users"}, {"id": "00000000-abb1-0000-0000-000000000000", "type": "users"}]}]}, "relationships": {"teams": {"data": [{"id": "00000000-da3a-0000-0000-000000000000", "type": "teams"}]}}, "type": "policies"}} + And body with value {"data": {"attributes": {"name": "Escalation Policy 1", "resolve_page_on_policy_end": true, "retries": 2, "steps": [{"assignment": "default", "escalate_after_seconds": 3600, "targets": [{"id": "00000000-aba1-0000-0000-000000000000", "type": "users"}, {"config": {"schedule": {"position": "previous"}}, "id": "00000000-aba2-0000-0000-000000000000", "type": "schedules"}, {"id": "00000000-aba3-0000-0000-000000000000", "type": "teams"}]}, {"assignment": "round-robin", "escalate_after_seconds": 3600, "targets": [{"id": "00000000-aba1-0000-0000-000000000000", "type": "users"}, {"id": "00000000-abb1-0000-0000-000000000000", "type": "users"}]}]}, "relationships": {"teams": {"data": [{"id": "00000000-da3a-0000-0000-000000000000", "type": "teams"}]}}, "type": "policies"}} When the request is sent Then the response status is 400 Bad Request @@ -22,7 +22,7 @@ Feature: On-Call And there is a valid "user" in the system And there is a valid "schedule" in the system And there is a valid "dd_team" in the system - And body with value {"data": {"attributes": {"name": "{{ unique }}", "resolve_page_on_policy_end": true, "retries": 2, "steps": [{"assignment": "default", "escalate_after_seconds": 3600, "targets": [{"id": "{{ user.data.id }}", "type": "users"}, {"id": "{{ schedule.data.id }}", "type": "schedules"}, {"id": "{{ dd_team.data.id }}", "type": "teams"}]}, {"assignment": "round-robin", "escalate_after_seconds": 3600, "targets": [{"id": "{{ dd_team.data.id }}", "type": "teams"}]}]}, "relationships": {"teams": {"data": [{"id": "{{ dd_team.data.id }}", "type": "teams"}]}}, "type": "policies"}} + And body with value {"data": {"attributes": {"name": "{{ unique }}", "resolve_page_on_policy_end": true, "retries": 2, "steps": [{"assignment": "default", "escalate_after_seconds": 3600, "targets": [{"id": "{{ user.data.id }}", "type": "users"}, {"id": "{{ schedule.data.id }}", "type": "schedules"}, {"config": {"schedule": {"position": "previous"}}, "id": "{{ schedule.data.id }}", "type": "schedules"}, {"id": "{{ dd_team.data.id }}", "type": "teams"}]}, {"assignment": "round-robin", "escalate_after_seconds": 3600, "targets": [{"id": "{{ dd_team.data.id }}", "type": "teams"}]}]}, "relationships": {"teams": {"data": [{"id": "{{ dd_team.data.id }}", "type": "teams"}]}}, "type": "policies"}} And request contains "include" parameter with value "steps.targets" When the request is sent Then the response status is 201 Created