diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 44769052986..e33b2c11c53 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -93017,6 +93017,8 @@ components: $ref: "#/components/schemas/OutcomesResponseIncluded" links: $ref: "#/components/schemas/OutcomesResponseLinks" + meta: + $ref: "#/components/schemas/PaginatedResponseMeta" type: object OutcomesResponseData: description: List of rule outcomes. @@ -93064,11 +93066,27 @@ components: type: string type: object OutcomesResponseLinks: - description: Links attributes. + description: Pagination links for rule outcomes. properties: + first: + description: Link for the first set of results. + example: "/api/v2/scorecard/outcomes?include=rule&page%5Blimit%5D=100&page%5Boffset%5D=0" + type: string + last: + description: Link for the last set of results. + example: "/api/v2/scorecard/outcomes?include=rule&page%5Blimit%5D=100&page%5Boffset%5D=200" + type: string next: description: |- Link for the next set of results. + example: "/api/v2/scorecard/outcomes?include=rule&page%5Blimit%5D=100&page%5Boffset%5D=200" + type: string + previous: + description: Link for the previous set of results. + example: "/api/v2/scorecard/outcomes?include=rule&page%5Blimit%5D=100&page%5Boffset%5D=0" + type: string + self: + description: Link for the current set of results. example: "/api/v2/scorecard/outcomes?include=rule&page%5Blimit%5D=100&page%5Boffset%5D=100" type: string type: object diff --git a/examples/v2/scorecards/ListScorecardOutcomes.java b/examples/v2/scorecards/ListScorecardOutcomes.java index 77f68528886..63b635f459b 100644 --- a/examples/v2/scorecards/ListScorecardOutcomes.java +++ b/examples/v2/scorecards/ListScorecardOutcomes.java @@ -3,6 +3,7 @@ import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; import com.datadog.api.client.v2.api.ScorecardsApi; +import com.datadog.api.client.v2.api.ScorecardsApi.ListScorecardOutcomesOptionalParameters; import com.datadog.api.client.v2.model.OutcomesResponse; public class Example { @@ -12,7 +13,10 @@ public static void main(String[] args) { ScorecardsApi apiInstance = new ScorecardsApi(defaultClient); try { - OutcomesResponse result = apiInstance.listScorecardOutcomes(); + OutcomesResponse result = + apiInstance.listScorecardOutcomes( + new ListScorecardOutcomesOptionalParameters() + .filterRuleId("00000000-0000-0000-0000-000000000000")); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling ScorecardsApi#listScorecardOutcomes"); diff --git a/src/main/java/com/datadog/api/client/v2/model/OutcomesResponse.java b/src/main/java/com/datadog/api/client/v2/model/OutcomesResponse.java index 1f94cf07a51..fddd53683a7 100644 --- a/src/main/java/com/datadog/api/client/v2/model/OutcomesResponse.java +++ b/src/main/java/com/datadog/api/client/v2/model/OutcomesResponse.java @@ -22,7 +22,8 @@ @JsonPropertyOrder({ OutcomesResponse.JSON_PROPERTY_DATA, OutcomesResponse.JSON_PROPERTY_INCLUDED, - OutcomesResponse.JSON_PROPERTY_LINKS + OutcomesResponse.JSON_PROPERTY_LINKS, + OutcomesResponse.JSON_PROPERTY_META }) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") @@ -37,6 +38,9 @@ public class OutcomesResponse { public static final String JSON_PROPERTY_LINKS = "links"; private OutcomesResponseLinks links; + public static final String JSON_PROPERTY_META = "meta"; + private PaginatedResponseMeta meta; + public OutcomesResponse data(List data) { this.data = data; if (data != null) { @@ -124,7 +128,7 @@ public OutcomesResponse links(OutcomesResponseLinks links) { } /** - * Links attributes. + * Pagination links for rule outcomes. * * @return links */ @@ -142,6 +146,31 @@ public void setLinks(OutcomesResponseLinks links) { } } + public OutcomesResponse meta(PaginatedResponseMeta meta) { + this.meta = meta; + this.unparsed |= meta.unparsed; + return this; + } + + /** + * Metadata for scores response. + * + * @return meta + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_META) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public PaginatedResponseMeta getMeta() { + return meta; + } + + public void setMeta(PaginatedResponseMeta meta) { + this.meta = meta; + if (meta != null) { + this.unparsed |= meta.unparsed; + } + } + /** * A container for additional, undeclared properties. This is a holder for any undeclared * properties as specified with the 'additionalProperties' keyword in the OAS document. @@ -201,12 +230,13 @@ public boolean equals(Object o) { return Objects.equals(this.data, outcomesResponse.data) && Objects.equals(this.included, outcomesResponse.included) && Objects.equals(this.links, outcomesResponse.links) + && Objects.equals(this.meta, outcomesResponse.meta) && Objects.equals(this.additionalProperties, outcomesResponse.additionalProperties); } @Override public int hashCode() { - return Objects.hash(data, included, links, additionalProperties); + return Objects.hash(data, included, links, meta, additionalProperties); } @Override @@ -216,6 +246,7 @@ public String toString() { sb.append(" data: ").append(toIndentedString(data)).append("\n"); sb.append(" included: ").append(toIndentedString(included)).append("\n"); sb.append(" links: ").append(toIndentedString(links)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/main/java/com/datadog/api/client/v2/model/OutcomesResponseLinks.java b/src/main/java/com/datadog/api/client/v2/model/OutcomesResponseLinks.java index 5e7cd5639c6..861792e51d3 100644 --- a/src/main/java/com/datadog/api/client/v2/model/OutcomesResponseLinks.java +++ b/src/main/java/com/datadog/api/client/v2/model/OutcomesResponseLinks.java @@ -16,15 +16,75 @@ import java.util.Map; import java.util.Objects; -/** Links attributes. */ -@JsonPropertyOrder({OutcomesResponseLinks.JSON_PROPERTY_NEXT}) +/** Pagination links for rule outcomes. */ +@JsonPropertyOrder({ + OutcomesResponseLinks.JSON_PROPERTY_FIRST, + OutcomesResponseLinks.JSON_PROPERTY_LAST, + OutcomesResponseLinks.JSON_PROPERTY_NEXT, + OutcomesResponseLinks.JSON_PROPERTY_PREVIOUS, + OutcomesResponseLinks.JSON_PROPERTY_SELF +}) @jakarta.annotation.Generated( value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") public class OutcomesResponseLinks { @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_FIRST = "first"; + private String first; + + public static final String JSON_PROPERTY_LAST = "last"; + private String last; + public static final String JSON_PROPERTY_NEXT = "next"; private String next; + public static final String JSON_PROPERTY_PREVIOUS = "previous"; + private String previous; + + public static final String JSON_PROPERTY_SELF = "self"; + private String self; + + public OutcomesResponseLinks first(String first) { + this.first = first; + return this; + } + + /** + * Link for the first set of results. + * + * @return first + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FIRST) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getFirst() { + return first; + } + + public void setFirst(String first) { + this.first = first; + } + + public OutcomesResponseLinks last(String last) { + this.last = last; + return this; + } + + /** + * Link for the last set of results. + * + * @return last + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LAST) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getLast() { + return last; + } + + public void setLast(String last) { + this.last = last; + } + public OutcomesResponseLinks next(String next) { this.next = next; return this; @@ -46,6 +106,48 @@ public void setNext(String next) { this.next = next; } + public OutcomesResponseLinks previous(String previous) { + this.previous = previous; + return this; + } + + /** + * Link for the previous set of results. + * + * @return previous + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PREVIOUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPrevious() { + return previous; + } + + public void setPrevious(String previous) { + this.previous = previous; + } + + public OutcomesResponseLinks self(String self) { + this.self = self; + return this; + } + + /** + * Link for the current set of results. + * + * @return self + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SELF) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getSelf() { + return self; + } + + public void setSelf(String self) { + this.self = self; + } + /** * A container for additional, undeclared properties. This is a holder for any undeclared * properties as specified with the 'additionalProperties' keyword in the OAS document. @@ -102,20 +204,28 @@ public boolean equals(Object o) { return false; } OutcomesResponseLinks outcomesResponseLinks = (OutcomesResponseLinks) o; - return Objects.equals(this.next, outcomesResponseLinks.next) + return Objects.equals(this.first, outcomesResponseLinks.first) + && Objects.equals(this.last, outcomesResponseLinks.last) + && Objects.equals(this.next, outcomesResponseLinks.next) + && Objects.equals(this.previous, outcomesResponseLinks.previous) + && Objects.equals(this.self, outcomesResponseLinks.self) && Objects.equals(this.additionalProperties, outcomesResponseLinks.additionalProperties); } @Override public int hashCode() { - return Objects.hash(next, additionalProperties); + return Objects.hash(first, last, next, previous, self, additionalProperties); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class OutcomesResponseLinks {\n"); + sb.append(" first: ").append(toIndentedString(first)).append("\n"); + sb.append(" last: ").append(toIndentedString(last)).append("\n"); sb.append(" next: ").append(toIndentedString(next)).append("\n"); + sb.append(" previous: ").append(toIndentedString(previous)).append("\n"); + sb.append(" self: ").append(toIndentedString(self)).append("\n"); sb.append(" additionalProperties: ") .append(toIndentedString(additionalProperties)) .append("\n"); diff --git a/src/test/resources/com/datadog/api/client/v2/api/scorecards.feature b/src/test/resources/com/datadog/api/client/v2/api/scorecards.feature index 0ae2916d065..5ee08c36f3b 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/scorecards.feature +++ b/src/test/resources/com/datadog/api/client/v2/api/scorecards.feature @@ -142,8 +142,10 @@ Feature: Scorecards @team:ddoghq/idp Scenario: List all rule outcomes returns "OK" response Given new "ListScorecardOutcomes" request + And request contains "filter[rule][id]" parameter with value "00000000-0000-0000-0000-000000000000" When the request is sent Then the response status is 200 OK + And the response "data" has length 0 @replay-only @skip-validation @team:ddoghq/idp @with-pagination Scenario: List all rule outcomes returns "OK" response with pagination diff --git a/src/test/resources/generated-test/test-runner-data/v2/scorecards/list-all-rule-outcomes-returns-ok-response.json b/src/test/resources/generated-test/test-runner-data/v2/scorecards/list-all-rule-outcomes-returns-ok-response.json index af826fac3c6..7ab79fa3692 100644 --- a/src/test/resources/generated-test/test-runner-data/v2/scorecards/list-all-rule-outcomes-returns-ok-response.json +++ b/src/test/resources/generated-test/test-runner-data/v2/scorecards/list-all-rule-outcomes-returns-ok-response.json @@ -9,7 +9,24 @@ "content_type": null, "method": "GET", "pagination": false, - "parameters": [], + "parameters": [ + { + "explode": null, + "in": "query", + "name": "filter[rule][id]", + "required": false, + "schema": { + "format": null, + "ref": null, + "type": "string" + }, + "source": { + "type": "literal", + "value": "00000000-0000-0000-0000-000000000000" + }, + "style": null + } + ], "path": "/api/v2/scorecard/outcomes" }, "scenario": "List all rule outcomes returns \"OK\" response", diff --git a/src/test/resources/generated-test/test-server-data/v2/scorecards.json b/src/test/resources/generated-test/test-server-data/v2/scorecards.json index 3d20007e883..303ba02b378 100644 --- a/src/test/resources/generated-test/test-server-data/v2/scorecards.json +++ b/src/test/resources/generated-test/test-server-data/v2/scorecards.json @@ -458,7 +458,7 @@ }, { "feature": "Scorecards", - "frozen_at": "2023-11-01T22:17:32.235Z", + "frozen_at": "2026-10-15T18:17:34.519Z", "interactions": [ { "request": { @@ -469,12 +469,17 @@ "content_type": "", "method": "GET", "path": "/api/v2/scorecard/outcomes", - "query": [] + "query": [ + [ + "filter[rule][id]", + "00000000-0000-0000-0000-000000000000" + ] + ] }, "response": { "body": { "encoding": "text", - "value": "{\"data\":[{\"id\":\"c70e3b5f-a9f7-4ef8-8417-bf28ea153631\\\\my-service\",\"type\":\"outcome\",\"attributes\":{\"modified_at\":\"2023-11-01T20:08:35.478323Z\",\"remarks\":\"See: \\u003ca href=\\\"https://app.datadoghq.com/services\\\"\\u003eServices\\u003c/a\\u003e\",\"service_name\":\"my-service\",\"state\":\"pass\"},\"relationships\":{\"rule\":{\"data\":{\"id\":\"c70e3b5f-a9f7-4ef8-8417-bf28ea153631\",\"type\":\"rule\"}}}},{\"id\":\"2609deb7-bbd0-4277-bf48-2265328bc4ca\\\\my-service\",\"type\":\"outcome\",\"attributes\":{\"modified_at\":\"2023-11-01T20:08:49.202899Z\",\"remarks\":\"See: \\u003ca href=\\\"https://app.datadoghq.com/services\\\"\\u003eServices\\u003c/a\\u003e\",\"service_name\":\"my-service\",\"state\":\"pass\"},\"relationships\":{\"rule\":{\"data\":{\"id\":\"2609deb7-bbd0-4277-bf48-2265328bc4ca\",\"type\":\"rule\"}}}},{\"id\":\"be6867b9-bd71-497f-803f-208d7361fee2\\\\my-service\",\"type\":\"outcome\",\"attributes\":{\"modified_at\":\"2023-11-01T20:25:35.504243Z\",\"remarks\":\"See: \\u003ca href=\\\"https://app.datadoghq.com/services\\\"\\u003eServices\\u003c/a\\u003e\",\"service_name\":\"my-service\",\"state\":\"pass\"},\"relationships\":{\"rule\":{\"data\":{\"id\":\"be6867b9-bd71-497f-803f-208d7361fee2\",\"type\":\"rule\"}}}}],\"links\":{\"next\":\"/api/v2/scorecard/outcomes?page%5Blimit%5D=100\\u0026page%5Boffset%5D=100\"}}" + "value": "{\"data\":[],\"meta\":{\"count\":0,\"limit\":1000,\"offset\":0,\"total\":0},\"links\":{\"self\":\"/api/v2/scorecard/outcomes?filter%5Brule%5D%5Bid%5D=00000000-0000-0000-0000-000000000000\\u0026include=entity\\u0026page%5Blimit%5D=1000\\u0026page%5Boffset%5D=0\",\"first\":\"/api/v2/scorecard/outcomes?filter%5Brule%5D%5Bid%5D=00000000-0000-0000-0000-000000000000\\u0026include=entity\\u0026page%5Blimit%5D=1000\\u0026page%5Boffset%5D=0\",\"last\":\"/api/v2/scorecard/outcomes?filter%5Brule%5D%5Bid%5D=00000000-0000-0000-0000-000000000000\\u0026include=entity\\u0026page%5Blimit%5D=1000\\u0026page%5Boffset%5D=0\"}}" }, "headers": { "content-type": "application/vnd.api+json"