From 8cdce3db242ba94439984b11098f9ee26de6810f Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 30 Aug 2023 07:31:15 +0000 Subject: [PATCH] Regenerate client from commit febdee32 of spec repo --- .apigentools-info | 8 +-- .generator/schemas/v1/openapi.yaml | 5 ++ .../ListSLOs_3036942817.java | 27 ++++++++ .../v1/api/ServiceLevelObjectivesApi.java | 55 ++++++++++++++- ...returns_OK_response_with_pagination.freeze | 1 + ...s_returns_OK_response_with_pagination.json | 67 +++++++++++++++++++ .../v1/api/service_level_objectives.feature | 8 +++ 7 files changed, 166 insertions(+), 5 deletions(-) create mode 100644 examples/v1/service-level-objectives/ListSLOs_3036942817.java create mode 100644 src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.freeze create mode 100644 src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.json diff --git a/.apigentools-info b/.apigentools-info index dde0a5b8ae2..479bfd6a20a 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.5", - "regenerated": "2023-08-29 18:35:10.969074", - "spec_repo_commit": "0fac706f" + "regenerated": "2023-08-30 07:29:22.452330", + "spec_repo_commit": "febdee32" }, "v2": { "apigentools_version": "1.6.5", - "regenerated": "2023-08-29 18:35:10.986720", - "spec_repo_commit": "0fac706f" + "regenerated": "2023-08-30 07:29:22.469851", + "spec_repo_commit": "febdee32" } } } \ No newline at end of file diff --git a/.generator/schemas/v1/openapi.yaml b/.generator/schemas/v1/openapi.yaml index fc36d458aed..815826382e9 100644 --- a/.generator/schemas/v1/openapi.yaml +++ b/.generator/schemas/v1/openapi.yaml @@ -27004,6 +27004,7 @@ paths: name: limit required: false schema: + default: 1000 format: int64 type: integer - description: The specific offset to use as the beginning of the returned response. @@ -27048,6 +27049,10 @@ paths: summary: Get all SLOs tags: - Service Level Objectives + x-pagination: + limitParam: limit + pageOffsetParam: offset + resultsPath: data post: description: Create a service level objective object. operationId: CreateSLO diff --git a/examples/v1/service-level-objectives/ListSLOs_3036942817.java b/examples/v1/service-level-objectives/ListSLOs_3036942817.java new file mode 100644 index 00000000000..88bcf3b7bf2 --- /dev/null +++ b/examples/v1/service-level-objectives/ListSLOs_3036942817.java @@ -0,0 +1,27 @@ +// Get all SLOs returns "OK" response with pagination + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.PaginationIterable; +import com.datadog.api.client.v1.api.ServiceLevelObjectivesApi; +import com.datadog.api.client.v1.api.ServiceLevelObjectivesApi.ListSLOsOptionalParameters; +import com.datadog.api.client.v1.model.ServiceLevelObjective; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + ServiceLevelObjectivesApi apiInstance = new ServiceLevelObjectivesApi(defaultClient); + + try { + PaginationIterable iterable = + apiInstance.listSLOsWithPagination(new ListSLOsOptionalParameters().limit(2L)); + + for (ServiceLevelObjective item : iterable) { + System.out.println(item); + } + } catch (RuntimeException e) { + System.err.println("Exception when calling ServiceLevelObjectivesApi#listSLOsWithPagination"); + System.err.println("Reason: " + e.getMessage()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/v1/api/ServiceLevelObjectivesApi.java b/src/main/java/com/datadog/api/client/v1/api/ServiceLevelObjectivesApi.java index 1d1c7250f54..f89469933fe 100644 --- a/src/main/java/com/datadog/api/client/v1/api/ServiceLevelObjectivesApi.java +++ b/src/main/java/com/datadog/api/client/v1/api/ServiceLevelObjectivesApi.java @@ -3,6 +3,7 @@ import com.datadog.api.client.ApiClient; import com.datadog.api.client.ApiException; import com.datadog.api.client.ApiResponse; +import com.datadog.api.client.PaginationIterable; import com.datadog.api.client.Pair; import com.datadog.api.client.v1.model.CheckCanDeleteSLOResponse; import com.datadog.api.client.v1.model.SLOBulkDeleteResponse; @@ -19,6 +20,7 @@ import jakarta.ws.rs.core.GenericType; import java.util.ArrayList; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; @@ -1320,7 +1322,7 @@ public ListSLOsOptionalParameters metricsQuery(String metricsQuery) { /** * Set limit. * - * @param limit The number of SLOs to return in the response. (optional) + * @param limit The number of SLOs to return in the response. (optional, default to 1000) * @return ListSLOsOptionalParameters */ public ListSLOsOptionalParameters limit(Long limit) { @@ -1397,6 +1399,57 @@ public CompletableFuture listSLOsAsync(ListSLOsOptionalParamete }); } + /** + * Get all SLOs. + * + *

See {@link #listSLOsWithHttpInfo}. + * + * @return PaginationIterable<ServiceLevelObjective> + */ + public PaginationIterable listSLOsWithPagination() { + ListSLOsOptionalParameters parameters = new ListSLOsOptionalParameters(); + return listSLOsWithPagination(parameters); + } + + /** + * Get all SLOs. + * + *

See {@link #listSLOsWithHttpInfo}. + * + * @return SLOListResponse + */ + public PaginationIterable listSLOsWithPagination( + ListSLOsOptionalParameters parameters) { + String resultsPath = "getData"; + String valueGetterPath = ""; + String valueSetterPath = "offset"; + Boolean valueSetterParamOptional = true; + Long limit; + + if (parameters.limit == null) { + limit = 1000l; + parameters.limit(limit); + } else { + limit = parameters.limit; + } + + LinkedHashMap args = new LinkedHashMap(); + args.put("optionalParams", parameters); + + PaginationIterable iterator = + new PaginationIterable( + this, + "listSLOs", + resultsPath, + valueGetterPath, + valueSetterPath, + valueSetterParamOptional, + limit, + args); + + return iterator; + } + /** * Get a list of service level objective objects for your organization. * diff --git a/src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.freeze b/src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.freeze new file mode 100644 index 00000000000..9eec25bd3f6 --- /dev/null +++ b/src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.freeze @@ -0,0 +1 @@ +2023-08-25T12:33:42.432Z \ No newline at end of file diff --git a/src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.json b/src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.json new file mode 100644 index 00000000000..d4b2ac4134f --- /dev/null +++ b/src/test/resources/cassettes/features/v1/Get_all_SLOs_returns_OK_response_with_pagination.json @@ -0,0 +1,67 @@ +[ + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v1/slo", + "queryStringParameters": { + "limit": [ + "2" + ] + }, + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":[{\"id\":\"70e82706f4ae56ff8bdd7f02e767f97c\",\"name\":\"test SLO 1668426861\",\"tags\":[\"type:test\"],\"monitor_tags\":[],\"thresholds\":[{\"timeframe\":\"7d\",\"target\":90.0,\"target_display\":\"90.\"}],\"type\":\"metric\",\"type_id\":1,\"description\":\"\",\"timeframe\":\"7d\",\"target_threshold\":90.0,\"query\":{\"denominator\":\"sum:my.custom.metric{!type:ignored}.as_count()\",\"numerator\":\"sum:my.custom.metric{type:good,!type:ignored}.as_count()\"},\"creator\":{\"name\":null,\"handle\":\"frog@datadoghq.com\",\"email\":\"frog@datadoghq.com\"},\"created_at\":1668426862,\"modified_at\":1668426862},{\"id\":\"955ab6301fa656e7b061de4a05ad4774\",\"name\":\"tf-TestAccDatadogServiceLevelObjective_Basic-local-1673543942-updated\",\"tags\":[\"foo:bar\",\"baz\"],\"monitor_tags\":[],\"thresholds\":[{\"timeframe\":\"7d\",\"target\":99.5,\"target_display\":\"99.5\",\"warning\":99.8,\"warning_display\":\"99.8\"},{\"timeframe\":\"30d\",\"target\":98.0,\"target_display\":\"98.\",\"warning\":99.0,\"warning_display\":\"99.\"},{\"timeframe\":\"90d\",\"target\":99.9,\"target_display\":\"99.9\"}],\"type\":\"metric\",\"type_id\":1,\"description\":\"some updated description about foo SLO\",\"timeframe\":\"7d\",\"warning_threshold\":99.8,\"target_threshold\":99.5,\"query\":{\"denominator\":\"sum:my.metric{type:good}.as_count() + sum:my.metric{type:bad}.as_count()\",\"numerator\":\"sum:my.metric{type:good}.as_count()\"},\"creator\":{\"name\":null,\"handle\":\"frog@datadoghq.com\",\"email\":\"frog@datadoghq.com\"},\"created_at\":1673543944,\"modified_at\":1673543945}],\"error\":null,\"metadata\":{\"page\":{\"total_count\":3,\"total_filtered_count\":2}}}\n", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "a179f385-5616-5828-2db7-9e086f7baadf" + }, + { + "httpRequest": { + "headers": {}, + "method": "GET", + "path": "/api/v1/slo", + "queryStringParameters": { + "limit": [ + "2" + ], + "offset": [ + "2" + ] + }, + "keepAlive": false, + "secure": true + }, + "httpResponse": { + "body": "{\"data\":[{\"id\":\"a17acfd48b7c55d19192e3a697cc1d01\",\"name\":\"test SLO 1677686870\",\"tags\":[],\"monitor_tags\":[],\"thresholds\":[{\"timeframe\":\"7d\",\"target\":90.0,\"target_display\":\"90.\"}],\"type\":\"monitor\",\"type_id\":0,\"description\":\"\",\"timeframe\":\"7d\",\"target_threshold\":90.0,\"monitor_ids\":[112445445],\"creator\":{\"name\":\"CI Account\",\"handle\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"email\":\"team-intg-tools-libs-spam@datadoghq.com\"},\"created_at\":1677686871,\"modified_at\":1677686871}],\"error\":null,\"metadata\":{\"page\":{\"total_count\":3,\"total_filtered_count\":2}}}\n", + "headers": { + "Content-Type": [ + "application/json" + ] + }, + "statusCode": 200, + "reasonPhrase": "OK" + }, + "times": { + "remainingTimes": 1 + }, + "timeToLive": { + "unlimited": true + }, + "id": "20536200-5460-72f9-877a-58046da401ba" + } +] \ No newline at end of file diff --git a/src/test/resources/com/datadog/api/client/v1/api/service_level_objectives.feature b/src/test/resources/com/datadog/api/client/v1/api/service_level_objectives.feature index ddeb50351e4..75e721bb430 100644 --- a/src/test/resources/com/datadog/api/client/v1/api/service_level_objectives.feature +++ b/src/test/resources/com/datadog/api/client/v1/api/service_level_objectives.feature @@ -134,6 +134,14 @@ Feature: Service Level Objectives And the response "data" has length 1 And the response "data[0].id" has the same value as "slo.data[0].id" + @replay-only @skip-validation @team:DataDog/slo-app @with-pagination + Scenario: Get all SLOs returns "OK" response with pagination + Given new "ListSLOs" request + And request contains "limit" parameter with value 2 + When the request with pagination is sent + Then the response status is 200 OK + And the response has 3 items + @generated @skip @team:DataDog/slo-app Scenario: Get an SLO's details returns "Not found" response Given new "GetSLO" request