diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index 9bceb715496..17426239cd4 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -16477,6 +16477,78 @@ components:
required:
- data
type: object
+ DeletedSuiteResponseData:
+ properties:
+ attributes:
+ $ref: '#/components/schemas/DeletedSuiteResponseDataAttributes'
+ id:
+ type: string
+ type:
+ $ref: '#/components/schemas/DeletedSuiteType'
+ type: object
+ DeletedSuiteResponseDataAttributes:
+ properties:
+ deleted_at:
+ description: Deletion timestamp of the Synthetic suite ID.
+ type: string
+ public_id:
+ description: The Synthetic suite ID deleted.
+ type: string
+ type: object
+ DeletedSuiteType:
+ default: suites
+ enum:
+ - suites
+ example: suites
+ type: string
+ x-enum-varnames:
+ - SUITES
+ DeletedSuitesRequestDelete:
+ properties:
+ attributes:
+ $ref: '#/components/schemas/DeletedSuitesRequestDeleteAttributes'
+ id:
+ type: string
+ type:
+ $ref: '#/components/schemas/DeletedSuitesRequestType'
+ required:
+ - attributes
+ type: object
+ DeletedSuitesRequestDeleteAttributes:
+ properties:
+ force_delete_dependencies:
+ type: boolean
+ public_ids:
+ example:
+ - ''
+ items:
+ type: string
+ type: array
+ required:
+ - public_ids
+ type: object
+ DeletedSuitesRequestDeleteRequest:
+ properties:
+ data:
+ $ref: '#/components/schemas/DeletedSuitesRequestDelete'
+ required:
+ - data
+ type: object
+ DeletedSuitesRequestType:
+ default: delete_suites_request
+ enum:
+ - delete_suites_request
+ example: delete_suites_request
+ type: string
+ x-enum-varnames:
+ - DELETE_SUITES_REQUEST
+ DeletedSuitesResponse:
+ properties:
+ data:
+ items:
+ $ref: '#/components/schemas/DeletedSuiteResponseData'
+ type: array
+ type: object
DependencyLocation:
description: Static library vulnerability location.
properties:
@@ -51322,6 +51394,154 @@ components:
format: double
type: number
type: object
+ SuiteCreateEdit:
+ properties:
+ attributes:
+ $ref: '#/components/schemas/SyntheticsSuite'
+ type:
+ $ref: '#/components/schemas/SyntheticsSuiteType'
+ required:
+ - attributes
+ - type
+ type: object
+ SuiteCreateEditRequest:
+ properties:
+ data:
+ $ref: '#/components/schemas/SuiteCreateEdit'
+ required:
+ - data
+ type: object
+ SuiteSearchResponseType:
+ default: suites_search
+ enum:
+ - suites_search
+ example: suites_search
+ type: string
+ x-enum-varnames:
+ - SUITES_SEARCH
+ SyntheticsSuite:
+ description: Object containing details about a Synthetic suite.
+ properties:
+ message:
+ description: Notification message associated with the suite.
+ example: Notification message
+ type: string
+ name:
+ description: Name of the suite.
+ example: Example suite name
+ type: string
+ options:
+ $ref: '#/components/schemas/SyntheticsSuiteOptions'
+ tags:
+ description: Array of tags attached to the suite.
+ example:
+ - env:production
+ items:
+ description: A tag attached to the suite.
+ type: string
+ type: array
+ tests:
+ items:
+ $ref: '#/components/schemas/SyntheticsSuiteTest'
+ type: array
+ type:
+ $ref: '#/components/schemas/SyntheticsSuiteType'
+ required:
+ - name
+ - message
+ - type
+ - tests
+ - options
+ type: object
+ SyntheticsSuiteOptions:
+ description: Object describing the extra options for a Synthetic suite.
+ properties:
+ alerting:
+ $ref: '#/components/schemas/SyntheticsSuiteOptionsAlerting'
+ type: object
+ SyntheticsSuiteOptionsAlerting:
+ description: Alerting options for a Synthetics suite.
+ properties:
+ threshold:
+ description: Percentage of critical tests failure needed for a suite to
+ fail.
+ format: double
+ maximum: 1
+ minimum: 0
+ type: number
+ type: object
+ SyntheticsSuiteResponse:
+ description: Synthetics suite response
+ properties:
+ data:
+ $ref: '#/components/schemas/SyntheticsSuiteResponseData'
+ type: object
+ SyntheticsSuiteResponseData:
+ description: Synthetics suite response data
+ properties:
+ attributes:
+ $ref: '#/components/schemas/SyntheticsSuite'
+ type: object
+ SyntheticsSuiteSearchResponse:
+ description: Synthetics suite search response
+ properties:
+ data:
+ $ref: '#/components/schemas/SyntheticsSuiteSearchResponseData'
+ type: object
+ SyntheticsSuiteSearchResponseData:
+ description: Synthetics suite search response data
+ properties:
+ attributes:
+ $ref: '#/components/schemas/SyntheticsSuiteSearchResponseDataAttributes'
+ id:
+ format: uuid
+ type: string
+ type:
+ $ref: '#/components/schemas/SuiteSearchResponseType'
+ type: object
+ SyntheticsSuiteSearchResponseDataAttributes:
+ description: Synthetics suite search response data attributes
+ properties:
+ suites:
+ items:
+ $ref: '#/components/schemas/SyntheticsSuite'
+ type: array
+ total:
+ format: int32
+ maximum: 2147483647
+ type: integer
+ type: object
+ SyntheticsSuiteTest:
+ description: Object containing details about a Synthetic test included in a
+ Synthetic suite.
+ properties:
+ alerting_criticality:
+ $ref: '#/components/schemas/SyntheticsSuiteTestAlertingCriticality'
+ public_id:
+ example: ''
+ type: string
+ required:
+ - public_id
+ type: object
+ SyntheticsSuiteTestAlertingCriticality:
+ description: Alerting criticality for each the test.
+ enum:
+ - ignore
+ - critical
+ example: critical
+ type: string
+ x-enum-varnames:
+ - IGNORE
+ - CRITICAL
+ SyntheticsSuiteType:
+ default: suite
+ description: Type of the Synthetic suite, `suite`.
+ enum:
+ - suite
+ example: suite
+ type: string
+ x-enum-varnames:
+ - SUITE
TableResultV2:
description: A reference table resource containing its full configuration and
state.
@@ -81694,6 +81914,227 @@ paths:
operator: OR
permissions:
- billing_edit
+ /api/v2/synthetics/suites:
+ post:
+ operationId: CreateSyntheticsSuite
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuiteCreateEditRequest'
+ required: true
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SyntheticsSuiteResponse'
+ description: OK
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: API error response.
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - synthetics_write
+ summary: 'Synthetics: Create a test suite'
+ tags:
+ - Synthetics
+ x-permission:
+ operator: OR
+ permissions:
+ - synthetics_write
+ - synthetics_create_edit_trigger
+ /api/v2/synthetics/suites/bulk-delete:
+ post:
+ operationId: DeleteSyntheticsSuites
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeletedSuitesRequestDeleteRequest'
+ required: true
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeletedSuitesResponse'
+ description: OK
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: API error response.
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - synthetics_write
+ summary: 'Synthetics: Bulk delete suites'
+ tags:
+ - Synthetics
+ x-permission:
+ operator: OR
+ permissions:
+ - synthetics_write
+ /api/v2/synthetics/suites/search:
+ get:
+ description: Search for Synthetics suites.
+ operationId: SearchSuites
+ parameters:
+ - description: The search query.
+ in: query
+ name: query
+ required: false
+ schema:
+ type: string
+ - description: The sort order for the results (e.g., `name,asc` or `name,desc`).
+ in: query
+ name: sort
+ required: false
+ schema:
+ default: name,asc
+ type: string
+ - description: If true, return only facets instead of full test details.
+ in: query
+ name: facets_only
+ required: false
+ schema:
+ default: false
+ type: boolean
+ - description: The offset from which to start returning results.
+ in: query
+ name: start
+ required: false
+ schema:
+ default: 0
+ format: int64
+ type: integer
+ - description: The maximum number of results to return.
+ in: query
+ name: count
+ required: false
+ schema:
+ default: 50
+ format: int64
+ type: integer
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SyntheticsSuiteSearchResponse'
+ description: OK
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: API error response.
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - synthetics_read
+ summary: Search Synthetics suites
+ tags:
+ - Synthetics
+ x-permission:
+ operator: OR
+ permissions:
+ - synthetics_read
+ /api/v2/synthetics/suites/{public_id}:
+ get:
+ operationId: GetSyntheticsSuite
+ parameters:
+ - description: The public ID of the suite to get details from.
+ in: path
+ name: public_id
+ required: true
+ schema:
+ type: string
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SyntheticsSuiteResponse'
+ description: OK
+ '404':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: API error response.
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - synthetics_read
+ summary: 'Synthetics: Get a suite'
+ tags:
+ - Synthetics
+ x-permission:
+ operator: OR
+ permissions:
+ - synthetics_read
+ put:
+ operationId: EditSyntheticsSuite
+ parameters:
+ - description: The public ID of the suite to edit.
+ in: path
+ name: public_id
+ required: true
+ schema:
+ type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuiteCreateEditRequest'
+ description: New suite details to be saved.
+ required: true
+ responses:
+ '200':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SyntheticsSuiteResponse'
+ description: OK
+ '400':
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/APIErrorResponse'
+ description: API error response.
+ '429':
+ $ref: '#/components/responses/TooManyRequestsResponse'
+ security:
+ - apiKeyAuth: []
+ appKeyAuth: []
+ - AuthZ:
+ - synthetics_write
+ summary: 'Synthetics: edit a test suite'
+ tags:
+ - Synthetics
+ x-permission:
+ operator: OR
+ permissions:
+ - synthetics_write
/api/v2/tags/enrichment:
get:
description: List all tag pipeline rulesets - Retrieve a list of all tag pipeline
diff --git a/examples/v2/synthetics/CreateSyntheticsSuite.java b/examples/v2/synthetics/CreateSyntheticsSuite.java
new file mode 100644
index 00000000000..9ffa02d11b8
--- /dev/null
+++ b/examples/v2/synthetics/CreateSyntheticsSuite.java
@@ -0,0 +1,54 @@
+// Synthetics: Create a test suite returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SyntheticsApi;
+import com.datadog.api.client.v2.model.SuiteCreateEdit;
+import com.datadog.api.client.v2.model.SuiteCreateEditRequest;
+import com.datadog.api.client.v2.model.SyntheticsSuite;
+import com.datadog.api.client.v2.model.SyntheticsSuiteOptions;
+import com.datadog.api.client.v2.model.SyntheticsSuiteOptionsAlerting;
+import com.datadog.api.client.v2.model.SyntheticsSuiteResponse;
+import com.datadog.api.client.v2.model.SyntheticsSuiteTest;
+import com.datadog.api.client.v2.model.SyntheticsSuiteTestAlertingCriticality;
+import com.datadog.api.client.v2.model.SyntheticsSuiteType;
+import java.util.Collections;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);
+
+ SuiteCreateEditRequest body =
+ new SuiteCreateEditRequest()
+ .data(
+ new SuiteCreateEdit()
+ .attributes(
+ new SyntheticsSuite()
+ .message("Notification message")
+ .name("Example suite name")
+ .options(
+ new SyntheticsSuiteOptions()
+ .alerting(new SyntheticsSuiteOptionsAlerting()))
+ .tags(Collections.singletonList("env:production"))
+ .tests(
+ Collections.singletonList(
+ new SyntheticsSuiteTest()
+ .alertingCriticality(
+ SyntheticsSuiteTestAlertingCriticality.CRITICAL)
+ .publicId("")))
+ .type(SyntheticsSuiteType.SUITE))
+ .type(SyntheticsSuiteType.SUITE));
+
+ try {
+ SyntheticsSuiteResponse result = apiInstance.createSyntheticsSuite(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SyntheticsApi#createSyntheticsSuite");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/synthetics/DeleteSyntheticsSuites.java b/examples/v2/synthetics/DeleteSyntheticsSuites.java
new file mode 100644
index 00000000000..1b4089317bd
--- /dev/null
+++ b/examples/v2/synthetics/DeleteSyntheticsSuites.java
@@ -0,0 +1,38 @@
+// Synthetics: Bulk delete suites returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SyntheticsApi;
+import com.datadog.api.client.v2.model.DeletedSuitesRequestDelete;
+import com.datadog.api.client.v2.model.DeletedSuitesRequestDeleteAttributes;
+import com.datadog.api.client.v2.model.DeletedSuitesRequestDeleteRequest;
+import com.datadog.api.client.v2.model.DeletedSuitesRequestType;
+import com.datadog.api.client.v2.model.DeletedSuitesResponse;
+import java.util.Collections;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);
+
+ DeletedSuitesRequestDeleteRequest body =
+ new DeletedSuitesRequestDeleteRequest()
+ .data(
+ new DeletedSuitesRequestDelete()
+ .attributes(
+ new DeletedSuitesRequestDeleteAttributes()
+ .publicIds(Collections.singletonList("")))
+ .type(DeletedSuitesRequestType.DELETE_SUITES_REQUEST));
+
+ try {
+ DeletedSuitesResponse result = apiInstance.deleteSyntheticsSuites(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SyntheticsApi#deleteSyntheticsSuites");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/synthetics/EditSyntheticsSuite.java b/examples/v2/synthetics/EditSyntheticsSuite.java
new file mode 100644
index 00000000000..d491b51a9fa
--- /dev/null
+++ b/examples/v2/synthetics/EditSyntheticsSuite.java
@@ -0,0 +1,54 @@
+// Synthetics: edit a test suite returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SyntheticsApi;
+import com.datadog.api.client.v2.model.SuiteCreateEdit;
+import com.datadog.api.client.v2.model.SuiteCreateEditRequest;
+import com.datadog.api.client.v2.model.SyntheticsSuite;
+import com.datadog.api.client.v2.model.SyntheticsSuiteOptions;
+import com.datadog.api.client.v2.model.SyntheticsSuiteOptionsAlerting;
+import com.datadog.api.client.v2.model.SyntheticsSuiteResponse;
+import com.datadog.api.client.v2.model.SyntheticsSuiteTest;
+import com.datadog.api.client.v2.model.SyntheticsSuiteTestAlertingCriticality;
+import com.datadog.api.client.v2.model.SyntheticsSuiteType;
+import java.util.Collections;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);
+
+ SuiteCreateEditRequest body =
+ new SuiteCreateEditRequest()
+ .data(
+ new SuiteCreateEdit()
+ .attributes(
+ new SyntheticsSuite()
+ .message("Notification message")
+ .name("Example suite name")
+ .options(
+ new SyntheticsSuiteOptions()
+ .alerting(new SyntheticsSuiteOptionsAlerting()))
+ .tags(Collections.singletonList("env:production"))
+ .tests(
+ Collections.singletonList(
+ new SyntheticsSuiteTest()
+ .alertingCriticality(
+ SyntheticsSuiteTestAlertingCriticality.CRITICAL)
+ .publicId("")))
+ .type(SyntheticsSuiteType.SUITE))
+ .type(SyntheticsSuiteType.SUITE));
+
+ try {
+ SyntheticsSuiteResponse result = apiInstance.editSyntheticsSuite("public_id", body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SyntheticsApi#editSyntheticsSuite");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/synthetics/GetSyntheticsSuite.java b/examples/v2/synthetics/GetSyntheticsSuite.java
new file mode 100644
index 00000000000..f86901b6449
--- /dev/null
+++ b/examples/v2/synthetics/GetSyntheticsSuite.java
@@ -0,0 +1,24 @@
+// Synthetics: Get a suite returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SyntheticsApi;
+import com.datadog.api.client.v2.model.SyntheticsSuiteResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);
+
+ try {
+ SyntheticsSuiteResponse result = apiInstance.getSyntheticsSuite("public_id");
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SyntheticsApi#getSyntheticsSuite");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/synthetics/SearchSuites.java b/examples/v2/synthetics/SearchSuites.java
new file mode 100644
index 00000000000..60a2bd8f983
--- /dev/null
+++ b/examples/v2/synthetics/SearchSuites.java
@@ -0,0 +1,24 @@
+// Search Synthetics suites returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.SyntheticsApi;
+import com.datadog.api.client.v2.model.SyntheticsSuiteSearchResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ SyntheticsApi apiInstance = new SyntheticsApi(defaultClient);
+
+ try {
+ SyntheticsSuiteSearchResponse result = apiInstance.searchSuites();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println("Exception when calling SyntheticsApi#searchSuites");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/api/SyntheticsApi.java b/src/main/java/com/datadog/api/client/v2/api/SyntheticsApi.java
index 22822b322e3..f8415712754 100644
--- a/src/main/java/com/datadog/api/client/v2/api/SyntheticsApi.java
+++ b/src/main/java/com/datadog/api/client/v2/api/SyntheticsApi.java
@@ -4,12 +4,18 @@
import com.datadog.api.client.ApiException;
import com.datadog.api.client.ApiResponse;
import com.datadog.api.client.Pair;
+import com.datadog.api.client.v2.model.DeletedSuitesRequestDeleteRequest;
+import com.datadog.api.client.v2.model.DeletedSuitesResponse;
import com.datadog.api.client.v2.model.OnDemandConcurrencyCapAttributes;
import com.datadog.api.client.v2.model.OnDemandConcurrencyCapResponse;
+import com.datadog.api.client.v2.model.SuiteCreateEditRequest;
+import com.datadog.api.client.v2.model.SyntheticsSuiteResponse;
+import com.datadog.api.client.v2.model.SyntheticsSuiteSearchResponse;
import jakarta.ws.rs.client.Invocation;
import jakarta.ws.rs.core.GenericType;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
@@ -44,6 +50,419 @@ public void setApiClient(ApiClient apiClient) {
this.apiClient = apiClient;
}
+ /**
+ * Synthetics: Create a test suite.
+ *
+ *
See {@link #createSyntheticsSuiteWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return SyntheticsSuiteResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SyntheticsSuiteResponse createSyntheticsSuite(SuiteCreateEditRequest body)
+ throws ApiException {
+ return createSyntheticsSuiteWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Synthetics: Create a test suite.
+ *
+ *
See {@link #createSyntheticsSuiteWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<SyntheticsSuiteResponse>
+ */
+ public CompletableFuture createSyntheticsSuiteAsync(
+ SuiteCreateEditRequest body) {
+ return createSyntheticsSuiteWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * @param body (required)
+ * @return ApiResponse<SyntheticsSuiteResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | API error response. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse createSyntheticsSuiteWithHttpInfo(
+ SuiteCreateEditRequest body) throws ApiException {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling createSyntheticsSuite");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/synthetics/suites";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.createSyntheticsSuite",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Synthetics: Create a test suite.
+ *
+ * See {@link #createSyntheticsSuiteWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<SyntheticsSuiteResponse>>
+ */
+ public CompletableFuture>
+ createSyntheticsSuiteWithHttpInfoAsync(SuiteCreateEditRequest body) {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'body' when calling createSyntheticsSuite"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/synthetics/suites";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.createSyntheticsSuite",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Synthetics: Bulk delete suites.
+ *
+ * See {@link #deleteSyntheticsSuitesWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return DeletedSuitesResponse
+ * @throws ApiException if fails to make API call
+ */
+ public DeletedSuitesResponse deleteSyntheticsSuites(DeletedSuitesRequestDeleteRequest body)
+ throws ApiException {
+ return deleteSyntheticsSuitesWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Synthetics: Bulk delete suites.
+ *
+ *
See {@link #deleteSyntheticsSuitesWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<DeletedSuitesResponse>
+ */
+ public CompletableFuture deleteSyntheticsSuitesAsync(
+ DeletedSuitesRequestDeleteRequest body) {
+ return deleteSyntheticsSuitesWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * @param body (required)
+ * @return ApiResponse<DeletedSuitesResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | API error response. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse deleteSyntheticsSuitesWithHttpInfo(
+ DeletedSuitesRequestDeleteRequest body) throws ApiException {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling deleteSyntheticsSuites");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/synthetics/suites/bulk-delete";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.deleteSyntheticsSuites",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Synthetics: Bulk delete suites.
+ *
+ * See {@link #deleteSyntheticsSuitesWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<DeletedSuitesResponse>>
+ */
+ public CompletableFuture>
+ deleteSyntheticsSuitesWithHttpInfoAsync(DeletedSuitesRequestDeleteRequest body) {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'body' when calling deleteSyntheticsSuites"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/synthetics/suites/bulk-delete";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.deleteSyntheticsSuites",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Synthetics: edit a test suite.
+ *
+ * See {@link #editSyntheticsSuiteWithHttpInfo}.
+ *
+ * @param publicId The public ID of the suite to edit. (required)
+ * @param body New suite details to be saved. (required)
+ * @return SyntheticsSuiteResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SyntheticsSuiteResponse editSyntheticsSuite(String publicId, SuiteCreateEditRequest body)
+ throws ApiException {
+ return editSyntheticsSuiteWithHttpInfo(publicId, body).getData();
+ }
+
+ /**
+ * Synthetics: edit a test suite.
+ *
+ *
See {@link #editSyntheticsSuiteWithHttpInfoAsync}.
+ *
+ * @param publicId The public ID of the suite to edit. (required)
+ * @param body New suite details to be saved. (required)
+ * @return CompletableFuture<SyntheticsSuiteResponse>
+ */
+ public CompletableFuture editSyntheticsSuiteAsync(
+ String publicId, SuiteCreateEditRequest body) {
+ return editSyntheticsSuiteWithHttpInfoAsync(publicId, body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * @param publicId The public ID of the suite to edit. (required)
+ * @param body New suite details to be saved. (required)
+ * @return ApiResponse<SyntheticsSuiteResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | API error response. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse editSyntheticsSuiteWithHttpInfo(
+ String publicId, SuiteCreateEditRequest body) throws ApiException {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'publicId' is set
+ if (publicId == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'publicId' when calling editSyntheticsSuite");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'body' when calling editSyntheticsSuite");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/synthetics/suites/{public_id}"
+ .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.editSyntheticsSuite",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ return apiClient.invokeAPI(
+ "PUT",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Synthetics: edit a test suite.
+ *
+ * See {@link #editSyntheticsSuiteWithHttpInfo}.
+ *
+ * @param publicId The public ID of the suite to edit. (required)
+ * @param body New suite details to be saved. (required)
+ * @return CompletableFuture<ApiResponse<SyntheticsSuiteResponse>>
+ */
+ public CompletableFuture>
+ editSyntheticsSuiteWithHttpInfoAsync(String publicId, SuiteCreateEditRequest body) {
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'publicId' is set
+ if (publicId == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'publicId' when calling editSyntheticsSuite"));
+ return result;
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'body' when calling editSyntheticsSuite"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/synthetics/suites/{public_id}"
+ .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.editSyntheticsSuite",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "PUT",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
/**
* Get the on-demand concurrency cap.
*
@@ -155,6 +574,373 @@ public ApiResponse getOnDemandConcurrencyCapWith
new GenericType() {});
}
+ /**
+ * Synthetics: Get a suite.
+ *
+ * See {@link #getSyntheticsSuiteWithHttpInfo}.
+ *
+ * @param publicId The public ID of the suite to get details from. (required)
+ * @return SyntheticsSuiteResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SyntheticsSuiteResponse getSyntheticsSuite(String publicId) throws ApiException {
+ return getSyntheticsSuiteWithHttpInfo(publicId).getData();
+ }
+
+ /**
+ * Synthetics: Get a suite.
+ *
+ *
See {@link #getSyntheticsSuiteWithHttpInfoAsync}.
+ *
+ * @param publicId The public ID of the suite to get details from. (required)
+ * @return CompletableFuture<SyntheticsSuiteResponse>
+ */
+ public CompletableFuture getSyntheticsSuiteAsync(String publicId) {
+ return getSyntheticsSuiteWithHttpInfoAsync(publicId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * @param publicId The public ID of the suite to get details from. (required)
+ * @return ApiResponse<SyntheticsSuiteResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 404 | API error response. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse getSyntheticsSuiteWithHttpInfo(String publicId)
+ throws ApiException {
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'publicId' is set
+ if (publicId == null) {
+ throw new ApiException(
+ 400, "Missing the required parameter 'publicId' when calling getSyntheticsSuite");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/synthetics/suites/{public_id}"
+ .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.getSyntheticsSuite",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Synthetics: Get a suite.
+ *
+ * See {@link #getSyntheticsSuiteWithHttpInfo}.
+ *
+ * @param publicId The public ID of the suite to get details from. (required)
+ * @return CompletableFuture<ApiResponse<SyntheticsSuiteResponse>>
+ */
+ public CompletableFuture>
+ getSyntheticsSuiteWithHttpInfoAsync(String publicId) {
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'publicId' is set
+ if (publicId == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400, "Missing the required parameter 'publicId' when calling getSyntheticsSuite"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/synthetics/suites/{public_id}"
+ .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.getSyntheticsSuite",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /** Manage optional parameters to searchSuites. */
+ public static class SearchSuitesOptionalParameters {
+ private String query;
+ private String sort;
+ private Boolean facetsOnly;
+ private Long start;
+ private Long count;
+
+ /**
+ * Set query.
+ *
+ * @param query The search query. (optional)
+ * @return SearchSuitesOptionalParameters
+ */
+ public SearchSuitesOptionalParameters query(String query) {
+ this.query = query;
+ return this;
+ }
+
+ /**
+ * Set sort.
+ *
+ * @param sort The sort order for the results (e.g., name,asc or name,desc
+ * ). (optional, default to "name,asc")
+ * @return SearchSuitesOptionalParameters
+ */
+ public SearchSuitesOptionalParameters sort(String sort) {
+ this.sort = sort;
+ return this;
+ }
+
+ /**
+ * Set facetsOnly.
+ *
+ * @param facetsOnly If true, return only facets instead of full test details. (optional,
+ * default to false)
+ * @return SearchSuitesOptionalParameters
+ */
+ public SearchSuitesOptionalParameters facetsOnly(Boolean facetsOnly) {
+ this.facetsOnly = facetsOnly;
+ return this;
+ }
+
+ /**
+ * Set start.
+ *
+ * @param start The offset from which to start returning results. (optional, default to 0)
+ * @return SearchSuitesOptionalParameters
+ */
+ public SearchSuitesOptionalParameters start(Long start) {
+ this.start = start;
+ return this;
+ }
+
+ /**
+ * Set count.
+ *
+ * @param count The maximum number of results to return. (optional, default to 50)
+ * @return SearchSuitesOptionalParameters
+ */
+ public SearchSuitesOptionalParameters count(Long count) {
+ this.count = count;
+ return this;
+ }
+ }
+
+ /**
+ * Search Synthetics suites.
+ *
+ * See {@link #searchSuitesWithHttpInfo}.
+ *
+ * @return SyntheticsSuiteSearchResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SyntheticsSuiteSearchResponse searchSuites() throws ApiException {
+ return searchSuitesWithHttpInfo(new SearchSuitesOptionalParameters()).getData();
+ }
+
+ /**
+ * Search Synthetics suites.
+ *
+ *
See {@link #searchSuitesWithHttpInfoAsync}.
+ *
+ * @return CompletableFuture<SyntheticsSuiteSearchResponse>
+ */
+ public CompletableFuture searchSuitesAsync() {
+ return searchSuitesWithHttpInfoAsync(new SearchSuitesOptionalParameters())
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Search Synthetics suites.
+ *
+ * See {@link #searchSuitesWithHttpInfo}.
+ *
+ * @param parameters Optional parameters for the request.
+ * @return SyntheticsSuiteSearchResponse
+ * @throws ApiException if fails to make API call
+ */
+ public SyntheticsSuiteSearchResponse searchSuites(SearchSuitesOptionalParameters parameters)
+ throws ApiException {
+ return searchSuitesWithHttpInfo(parameters).getData();
+ }
+
+ /**
+ * Search Synthetics suites.
+ *
+ *
See {@link #searchSuitesWithHttpInfoAsync}.
+ *
+ * @param parameters Optional parameters for the request.
+ * @return CompletableFuture<SyntheticsSuiteSearchResponse>
+ */
+ public CompletableFuture searchSuitesAsync(
+ SearchSuitesOptionalParameters parameters) {
+ return searchSuitesWithHttpInfoAsync(parameters)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Search for Synthetics suites.
+ *
+ * @param parameters Optional parameters for the request.
+ * @return ApiResponse<SyntheticsSuiteSearchResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | API error response. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse searchSuitesWithHttpInfo(
+ SearchSuitesOptionalParameters parameters) throws ApiException {
+ Object localVarPostBody = null;
+ String query = parameters.query;
+ String sort = parameters.sort;
+ Boolean facetsOnly = parameters.facetsOnly;
+ Long start = parameters.start;
+ Long count = parameters.count;
+ // create path and map variables
+ String localVarPath = "/api/v2/synthetics/suites/search";
+
+ List localVarQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "facets_only", facetsOnly));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "count", count));
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.searchSuites",
+ localVarPath,
+ localVarQueryParams,
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Search Synthetics suites.
+ *
+ * See {@link #searchSuitesWithHttpInfo}.
+ *
+ * @param parameters Optional parameters for the request.
+ * @return CompletableFuture<ApiResponse<SyntheticsSuiteSearchResponse>>
+ */
+ public CompletableFuture>
+ searchSuitesWithHttpInfoAsync(SearchSuitesOptionalParameters parameters) {
+ Object localVarPostBody = null;
+ String query = parameters.query;
+ String sort = parameters.sort;
+ Boolean facetsOnly = parameters.facetsOnly;
+ Long start = parameters.start;
+ Long count = parameters.count;
+ // create path and map variables
+ String localVarPath = "/api/v2/synthetics/suites/search";
+
+ List localVarQueryParams = new ArrayList();
+ Map localVarHeaderParams = new HashMap();
+
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "query", query));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "sort", sort));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "facets_only", facetsOnly));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "start", start));
+ localVarQueryParams.addAll(apiClient.parameterToPairs("", "count", count));
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.SyntheticsApi.searchSuites",
+ localVarPath,
+ localVarQueryParams,
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
/**
* Save new value for on-demand concurrency cap.
*
diff --git a/src/main/java/com/datadog/api/client/v2/model/DeletedSuiteResponseData.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuiteResponseData.java
new file mode 100644
index 00000000000..ab8b5e97c6b
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuiteResponseData.java
@@ -0,0 +1,196 @@
+/*
+ * 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;
+
+/** */
+@JsonPropertyOrder({
+ DeletedSuiteResponseData.JSON_PROPERTY_ATTRIBUTES,
+ DeletedSuiteResponseData.JSON_PROPERTY_ID,
+ DeletedSuiteResponseData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DeletedSuiteResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private DeletedSuiteResponseDataAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private DeletedSuiteType type = DeletedSuiteType.SUITES;
+
+ public DeletedSuiteResponseData attributes(DeletedSuiteResponseDataAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Getattributes
+ *
+ * @return attributes
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DeletedSuiteResponseDataAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(DeletedSuiteResponseDataAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public DeletedSuiteResponseData id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Getid
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public DeletedSuiteResponseData type(DeletedSuiteType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Gettype
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DeletedSuiteType getType() {
+ return type;
+ }
+
+ public void setType(DeletedSuiteType 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 DeletedSuiteResponseData
+ */
+ @JsonAnySetter
+ public DeletedSuiteResponseData 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 DeletedSuiteResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DeletedSuiteResponseData deletedSuiteResponseData = (DeletedSuiteResponseData) o;
+ return Objects.equals(this.attributes, deletedSuiteResponseData.attributes)
+ && Objects.equals(this.id, deletedSuiteResponseData.id)
+ && Objects.equals(this.type, deletedSuiteResponseData.type)
+ && Objects.equals(this.additionalProperties, deletedSuiteResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DeletedSuiteResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\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/DeletedSuiteResponseDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuiteResponseDataAttributes.java
new file mode 100644
index 00000000000..5e99299cc43
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuiteResponseDataAttributes.java
@@ -0,0 +1,166 @@
+/*
+ * 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;
+
+/** */
+@JsonPropertyOrder({
+ DeletedSuiteResponseDataAttributes.JSON_PROPERTY_DELETED_AT,
+ DeletedSuiteResponseDataAttributes.JSON_PROPERTY_PUBLIC_ID
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DeletedSuiteResponseDataAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DELETED_AT = "deleted_at";
+ private String deletedAt;
+
+ public static final String JSON_PROPERTY_PUBLIC_ID = "public_id";
+ private String publicId;
+
+ public DeletedSuiteResponseDataAttributes deletedAt(String deletedAt) {
+ this.deletedAt = deletedAt;
+ return this;
+ }
+
+ /**
+ * Deletion timestamp of the Synthetic suite ID.
+ *
+ * @return deletedAt
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DELETED_AT)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDeletedAt() {
+ return deletedAt;
+ }
+
+ public void setDeletedAt(String deletedAt) {
+ this.deletedAt = deletedAt;
+ }
+
+ public DeletedSuiteResponseDataAttributes publicId(String publicId) {
+ this.publicId = publicId;
+ return this;
+ }
+
+ /**
+ * The Synthetic suite ID deleted.
+ *
+ * @return publicId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_PUBLIC_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getPublicId() {
+ return publicId;
+ }
+
+ public void setPublicId(String publicId) {
+ this.publicId = publicId;
+ }
+
+ /**
+ * 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 DeletedSuiteResponseDataAttributes
+ */
+ @JsonAnySetter
+ public DeletedSuiteResponseDataAttributes 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 DeletedSuiteResponseDataAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DeletedSuiteResponseDataAttributes deletedSuiteResponseDataAttributes =
+ (DeletedSuiteResponseDataAttributes) o;
+ return Objects.equals(this.deletedAt, deletedSuiteResponseDataAttributes.deletedAt)
+ && Objects.equals(this.publicId, deletedSuiteResponseDataAttributes.publicId)
+ && Objects.equals(
+ this.additionalProperties, deletedSuiteResponseDataAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(deletedAt, publicId, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DeletedSuiteResponseDataAttributes {\n");
+ sb.append(" deletedAt: ").append(toIndentedString(deletedAt)).append("\n");
+ sb.append(" publicId: ").append(toIndentedString(publicId)).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/DeletedSuiteType.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuiteType.java
new file mode 100644
index 00000000000..9444be3bab3
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuiteType.java
@@ -0,0 +1,53 @@
+/*
+ * 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;
+
+/** */
+@JsonSerialize(using = DeletedSuiteType.DeletedSuiteTypeSerializer.class)
+public class DeletedSuiteType extends ModelEnum {
+
+ private static final Set allowedValues = new HashSet(Arrays.asList("suites"));
+
+ public static final DeletedSuiteType SUITES = new DeletedSuiteType("suites");
+
+ DeletedSuiteType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class DeletedSuiteTypeSerializer extends StdSerializer {
+ public DeletedSuiteTypeSerializer(Class t) {
+ super(t);
+ }
+
+ public DeletedSuiteTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(DeletedSuiteType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static DeletedSuiteType fromValue(String value) {
+ return new DeletedSuiteType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestDelete.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestDelete.java
new file mode 100644
index 00000000000..75a316e6928
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestDelete.java
@@ -0,0 +1,207 @@
+/*
+ * 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;
+
+/** */
+@JsonPropertyOrder({
+ DeletedSuitesRequestDelete.JSON_PROPERTY_ATTRIBUTES,
+ DeletedSuitesRequestDelete.JSON_PROPERTY_ID,
+ DeletedSuitesRequestDelete.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DeletedSuitesRequestDelete {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private DeletedSuitesRequestDeleteAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private String id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private DeletedSuitesRequestType type = DeletedSuitesRequestType.DELETE_SUITES_REQUEST;
+
+ public DeletedSuitesRequestDelete() {}
+
+ @JsonCreator
+ public DeletedSuitesRequestDelete(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES)
+ DeletedSuitesRequestDeleteAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ }
+
+ public DeletedSuitesRequestDelete attributes(DeletedSuitesRequestDeleteAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Getattributes
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public DeletedSuitesRequestDeleteAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(DeletedSuitesRequestDeleteAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public DeletedSuitesRequestDelete id(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Getid
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public DeletedSuitesRequestDelete type(DeletedSuitesRequestType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Gettype
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DeletedSuitesRequestType getType() {
+ return type;
+ }
+
+ public void setType(DeletedSuitesRequestType 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 DeletedSuitesRequestDelete
+ */
+ @JsonAnySetter
+ public DeletedSuitesRequestDelete 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 DeletedSuitesRequestDelete object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DeletedSuitesRequestDelete deletedSuitesRequestDelete = (DeletedSuitesRequestDelete) o;
+ return Objects.equals(this.attributes, deletedSuitesRequestDelete.attributes)
+ && Objects.equals(this.id, deletedSuitesRequestDelete.id)
+ && Objects.equals(this.type, deletedSuitesRequestDelete.type)
+ && Objects.equals(
+ this.additionalProperties, deletedSuitesRequestDelete.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DeletedSuitesRequestDelete {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\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/DeletedSuitesRequestDeleteAttributes.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestDeleteAttributes.java
new file mode 100644
index 00000000000..779a3f44cde
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestDeleteAttributes.java
@@ -0,0 +1,186 @@
+/*
+ * 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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** */
+@JsonPropertyOrder({
+ DeletedSuitesRequestDeleteAttributes.JSON_PROPERTY_FORCE_DELETE_DEPENDENCIES,
+ DeletedSuitesRequestDeleteAttributes.JSON_PROPERTY_PUBLIC_IDS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DeletedSuitesRequestDeleteAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_FORCE_DELETE_DEPENDENCIES = "force_delete_dependencies";
+ private Boolean forceDeleteDependencies;
+
+ public static final String JSON_PROPERTY_PUBLIC_IDS = "public_ids";
+ private List publicIds = new ArrayList<>();
+
+ public DeletedSuitesRequestDeleteAttributes() {}
+
+ @JsonCreator
+ public DeletedSuitesRequestDeleteAttributes(
+ @JsonProperty(required = true, value = JSON_PROPERTY_PUBLIC_IDS) List publicIds) {
+ this.publicIds = publicIds;
+ }
+
+ public DeletedSuitesRequestDeleteAttributes forceDeleteDependencies(
+ Boolean forceDeleteDependencies) {
+ this.forceDeleteDependencies = forceDeleteDependencies;
+ return this;
+ }
+
+ /**
+ * GetforceDeleteDependencies
+ *
+ * @return forceDeleteDependencies
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_FORCE_DELETE_DEPENDENCIES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getForceDeleteDependencies() {
+ return forceDeleteDependencies;
+ }
+
+ public void setForceDeleteDependencies(Boolean forceDeleteDependencies) {
+ this.forceDeleteDependencies = forceDeleteDependencies;
+ }
+
+ public DeletedSuitesRequestDeleteAttributes publicIds(List publicIds) {
+ this.publicIds = publicIds;
+ return this;
+ }
+
+ public DeletedSuitesRequestDeleteAttributes addPublicIdsItem(String publicIdsItem) {
+ this.publicIds.add(publicIdsItem);
+ return this;
+ }
+
+ /**
+ * GetpublicIds
+ *
+ * @return publicIds
+ */
+ @JsonProperty(JSON_PROPERTY_PUBLIC_IDS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getPublicIds() {
+ return publicIds;
+ }
+
+ public void setPublicIds(List publicIds) {
+ this.publicIds = publicIds;
+ }
+
+ /**
+ * 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 DeletedSuitesRequestDeleteAttributes
+ */
+ @JsonAnySetter
+ public DeletedSuitesRequestDeleteAttributes 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 DeletedSuitesRequestDeleteAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DeletedSuitesRequestDeleteAttributes deletedSuitesRequestDeleteAttributes =
+ (DeletedSuitesRequestDeleteAttributes) o;
+ return Objects.equals(
+ this.forceDeleteDependencies,
+ deletedSuitesRequestDeleteAttributes.forceDeleteDependencies)
+ && Objects.equals(this.publicIds, deletedSuitesRequestDeleteAttributes.publicIds)
+ && Objects.equals(
+ this.additionalProperties, deletedSuitesRequestDeleteAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(forceDeleteDependencies, publicIds, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DeletedSuitesRequestDeleteAttributes {\n");
+ sb.append(" forceDeleteDependencies: ")
+ .append(toIndentedString(forceDeleteDependencies))
+ .append("\n");
+ sb.append(" publicIds: ").append(toIndentedString(publicIds)).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/DeletedSuitesRequestDeleteRequest.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestDeleteRequest.java
new file mode 100644
index 00000000000..331ff9be80d
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestDeleteRequest.java
@@ -0,0 +1,147 @@
+/*
+ * 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;
+
+/** */
+@JsonPropertyOrder({DeletedSuitesRequestDeleteRequest.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DeletedSuitesRequestDeleteRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private DeletedSuitesRequestDelete data;
+
+ public DeletedSuitesRequestDeleteRequest() {}
+
+ @JsonCreator
+ public DeletedSuitesRequestDeleteRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA) DeletedSuitesRequestDelete data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public DeletedSuitesRequestDeleteRequest data(DeletedSuitesRequestDelete data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Getdata
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public DeletedSuitesRequestDelete getData() {
+ return data;
+ }
+
+ public void setData(DeletedSuitesRequestDelete 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 DeletedSuitesRequestDeleteRequest
+ */
+ @JsonAnySetter
+ public DeletedSuitesRequestDeleteRequest 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 DeletedSuitesRequestDeleteRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DeletedSuitesRequestDeleteRequest deletedSuitesRequestDeleteRequest =
+ (DeletedSuitesRequestDeleteRequest) o;
+ return Objects.equals(this.data, deletedSuitesRequestDeleteRequest.data)
+ && Objects.equals(
+ this.additionalProperties, deletedSuitesRequestDeleteRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DeletedSuitesRequestDeleteRequest {\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/DeletedSuitesRequestType.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestType.java
new file mode 100644
index 00000000000..90726e10043
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesRequestType.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;
+
+/** */
+@JsonSerialize(using = DeletedSuitesRequestType.DeletedSuitesRequestTypeSerializer.class)
+public class DeletedSuitesRequestType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("delete_suites_request"));
+
+ public static final DeletedSuitesRequestType DELETE_SUITES_REQUEST =
+ new DeletedSuitesRequestType("delete_suites_request");
+
+ DeletedSuitesRequestType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class DeletedSuitesRequestTypeSerializer
+ extends StdSerializer {
+ public DeletedSuitesRequestTypeSerializer(Class t) {
+ super(t);
+ }
+
+ public DeletedSuitesRequestTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ DeletedSuitesRequestType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static DeletedSuitesRequestType fromValue(String value) {
+ return new DeletedSuitesRequestType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesResponse.java b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesResponse.java
new file mode 100644
index 00000000000..c9d1de3e5ea
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DeletedSuitesResponse.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.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** */
+@JsonPropertyOrder({DeletedSuitesResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DeletedSuitesResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private List data = null;
+
+ public DeletedSuitesResponse data(List data) {
+ this.data = data;
+ for (DeletedSuiteResponseData item : data) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public DeletedSuitesResponse addDataItem(DeletedSuiteResponseData dataItem) {
+ if (this.data == null) {
+ this.data = new ArrayList<>();
+ }
+ this.data.add(dataItem);
+ this.unparsed |= dataItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Getdata
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List 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 DeletedSuitesResponse
+ */
+ @JsonAnySetter
+ public DeletedSuitesResponse 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 DeletedSuitesResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DeletedSuitesResponse deletedSuitesResponse = (DeletedSuitesResponse) o;
+ return Objects.equals(this.data, deletedSuitesResponse.data)
+ && Objects.equals(this.additionalProperties, deletedSuitesResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DeletedSuitesResponse {\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/SuiteCreateEdit.java b/src/main/java/com/datadog/api/client/v2/model/SuiteCreateEdit.java
new file mode 100644
index 00000000000..a2d00bf075f
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SuiteCreateEdit.java
@@ -0,0 +1,177 @@
+/*
+ * 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;
+
+/** */
+@JsonPropertyOrder({SuiteCreateEdit.JSON_PROPERTY_ATTRIBUTES, SuiteCreateEdit.JSON_PROPERTY_TYPE})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SuiteCreateEdit {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private SyntheticsSuite attributes;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SyntheticsSuiteType type = SyntheticsSuiteType.SUITE;
+
+ public SuiteCreateEdit() {}
+
+ @JsonCreator
+ public SuiteCreateEdit(
+ @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) SyntheticsSuite attributes,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) SyntheticsSuiteType type) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public SuiteCreateEdit attributes(SyntheticsSuite attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Object containing details about a Synthetic suite.
+ *
+ * @return attributes
+ */
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SyntheticsSuite getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(SyntheticsSuite attributes) {
+ this.attributes = attributes;
+ }
+
+ public SuiteCreateEdit type(SyntheticsSuiteType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Type of the Synthetic suite, suite.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SyntheticsSuiteType getType() {
+ return type;
+ }
+
+ public void setType(SyntheticsSuiteType 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 SuiteCreateEdit
+ */
+ @JsonAnySetter
+ public SuiteCreateEdit 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 SuiteCreateEdit object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SuiteCreateEdit suiteCreateEdit = (SuiteCreateEdit) o;
+ return Objects.equals(this.attributes, suiteCreateEdit.attributes)
+ && Objects.equals(this.type, suiteCreateEdit.type)
+ && Objects.equals(this.additionalProperties, suiteCreateEdit.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SuiteCreateEdit {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).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/SuiteCreateEditRequest.java b/src/main/java/com/datadog/api/client/v2/model/SuiteCreateEditRequest.java
new file mode 100644
index 00000000000..231a5078ee2
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SuiteCreateEditRequest.java
@@ -0,0 +1,145 @@
+/*
+ * 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;
+
+/** */
+@JsonPropertyOrder({SuiteCreateEditRequest.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SuiteCreateEditRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private SuiteCreateEdit data;
+
+ public SuiteCreateEditRequest() {}
+
+ @JsonCreator
+ public SuiteCreateEditRequest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_DATA) SuiteCreateEdit data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ }
+
+ public SuiteCreateEditRequest data(SuiteCreateEdit data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Getdata
+ *
+ * @return data
+ */
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SuiteCreateEdit getData() {
+ return data;
+ }
+
+ public void setData(SuiteCreateEdit 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 SuiteCreateEditRequest
+ */
+ @JsonAnySetter
+ public SuiteCreateEditRequest 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 SuiteCreateEditRequest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SuiteCreateEditRequest suiteCreateEditRequest = (SuiteCreateEditRequest) o;
+ return Objects.equals(this.data, suiteCreateEditRequest.data)
+ && Objects.equals(this.additionalProperties, suiteCreateEditRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SuiteCreateEditRequest {\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/SuiteSearchResponseType.java b/src/main/java/com/datadog/api/client/v2/model/SuiteSearchResponseType.java
new file mode 100644
index 00000000000..f24f8ba8087
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SuiteSearchResponseType.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;
+
+/** */
+@JsonSerialize(using = SuiteSearchResponseType.SuiteSearchResponseTypeSerializer.class)
+public class SuiteSearchResponseType extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("suites_search"));
+
+ public static final SuiteSearchResponseType SUITES_SEARCH =
+ new SuiteSearchResponseType("suites_search");
+
+ SuiteSearchResponseType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class SuiteSearchResponseTypeSerializer
+ extends StdSerializer {
+ public SuiteSearchResponseTypeSerializer(Class t) {
+ super(t);
+ }
+
+ public SuiteSearchResponseTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ SuiteSearchResponseType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static SuiteSearchResponseType fromValue(String value) {
+ return new SuiteSearchResponseType(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuite.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuite.java
new file mode 100644
index 00000000000..28329b7ad85
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuite.java
@@ -0,0 +1,310 @@
+/*
+ * 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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Object containing details about a Synthetic suite. */
+@JsonPropertyOrder({
+ SyntheticsSuite.JSON_PROPERTY_MESSAGE,
+ SyntheticsSuite.JSON_PROPERTY_NAME,
+ SyntheticsSuite.JSON_PROPERTY_OPTIONS,
+ SyntheticsSuite.JSON_PROPERTY_TAGS,
+ SyntheticsSuite.JSON_PROPERTY_TESTS,
+ SyntheticsSuite.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuite {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_MESSAGE = "message";
+ private String message;
+
+ public static final String JSON_PROPERTY_NAME = "name";
+ private String name;
+
+ public static final String JSON_PROPERTY_OPTIONS = "options";
+ private SyntheticsSuiteOptions options;
+
+ public static final String JSON_PROPERTY_TAGS = "tags";
+ private List tags = null;
+
+ public static final String JSON_PROPERTY_TESTS = "tests";
+ private List tests = new ArrayList<>();
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SyntheticsSuiteType type = SyntheticsSuiteType.SUITE;
+
+ public SyntheticsSuite() {}
+
+ @JsonCreator
+ public SyntheticsSuite(
+ @JsonProperty(required = true, value = JSON_PROPERTY_MESSAGE) String message,
+ @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name,
+ @JsonProperty(required = true, value = JSON_PROPERTY_OPTIONS) SyntheticsSuiteOptions options,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TESTS) List tests,
+ @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) SyntheticsSuiteType type) {
+ this.message = message;
+ this.name = name;
+ this.options = options;
+ this.unparsed |= options.unparsed;
+ this.tests = tests;
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ }
+
+ public SyntheticsSuite message(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Notification message associated with the suite.
+ *
+ * @return message
+ */
+ @JsonProperty(JSON_PROPERTY_MESSAGE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public SyntheticsSuite name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Name of the suite.
+ *
+ * @return name
+ */
+ @JsonProperty(JSON_PROPERTY_NAME)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public SyntheticsSuite options(SyntheticsSuiteOptions options) {
+ this.options = options;
+ this.unparsed |= options.unparsed;
+ return this;
+ }
+
+ /**
+ * Object describing the extra options for a Synthetic suite.
+ *
+ * @return options
+ */
+ @JsonProperty(JSON_PROPERTY_OPTIONS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SyntheticsSuiteOptions getOptions() {
+ return options;
+ }
+
+ public void setOptions(SyntheticsSuiteOptions options) {
+ this.options = options;
+ }
+
+ public SyntheticsSuite tags(List tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ public SyntheticsSuite addTagsItem(String tagsItem) {
+ if (this.tags == null) {
+ this.tags = new ArrayList<>();
+ }
+ this.tags.add(tagsItem);
+ return this;
+ }
+
+ /**
+ * Array of tags attached to the suite.
+ *
+ * @return tags
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TAGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getTags() {
+ return tags;
+ }
+
+ public void setTags(List tags) {
+ this.tags = tags;
+ }
+
+ public SyntheticsSuite tests(List tests) {
+ this.tests = tests;
+ for (SyntheticsSuiteTest item : tests) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SyntheticsSuite addTestsItem(SyntheticsSuiteTest testsItem) {
+ this.tests.add(testsItem);
+ this.unparsed |= testsItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Gettests
+ *
+ * @return tests
+ */
+ @JsonProperty(JSON_PROPERTY_TESTS)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public List getTests() {
+ return tests;
+ }
+
+ public void setTests(List tests) {
+ this.tests = tests;
+ }
+
+ public SyntheticsSuite type(SyntheticsSuiteType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Type of the Synthetic suite, suite.
+ *
+ * @return type
+ */
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public SyntheticsSuiteType getType() {
+ return type;
+ }
+
+ public void setType(SyntheticsSuiteType 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 SyntheticsSuite
+ */
+ @JsonAnySetter
+ public SyntheticsSuite 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 SyntheticsSuite object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuite syntheticsSuite = (SyntheticsSuite) o;
+ return Objects.equals(this.message, syntheticsSuite.message)
+ && Objects.equals(this.name, syntheticsSuite.name)
+ && Objects.equals(this.options, syntheticsSuite.options)
+ && Objects.equals(this.tags, syntheticsSuite.tags)
+ && Objects.equals(this.tests, syntheticsSuite.tests)
+ && Objects.equals(this.type, syntheticsSuite.type)
+ && Objects.equals(this.additionalProperties, syntheticsSuite.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(message, name, options, tags, tests, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuite {\n");
+ sb.append(" message: ").append(toIndentedString(message)).append("\n");
+ sb.append(" name: ").append(toIndentedString(name)).append("\n");
+ sb.append(" options: ").append(toIndentedString(options)).append("\n");
+ sb.append(" tags: ").append(toIndentedString(tags)).append("\n");
+ sb.append(" tests: ").append(toIndentedString(tests)).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/SyntheticsSuiteOptions.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteOptions.java
new file mode 100644
index 00000000000..d6768f8754d
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteOptions.java
@@ -0,0 +1,136 @@
+/*
+ * 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;
+
+/** Object describing the extra options for a Synthetic suite. */
+@JsonPropertyOrder({SyntheticsSuiteOptions.JSON_PROPERTY_ALERTING})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteOptions {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ALERTING = "alerting";
+ private SyntheticsSuiteOptionsAlerting alerting;
+
+ public SyntheticsSuiteOptions alerting(SyntheticsSuiteOptionsAlerting alerting) {
+ this.alerting = alerting;
+ this.unparsed |= alerting.unparsed;
+ return this;
+ }
+
+ /**
+ * Alerting options for a Synthetics suite.
+ *
+ * @return alerting
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ALERTING)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SyntheticsSuiteOptionsAlerting getAlerting() {
+ return alerting;
+ }
+
+ public void setAlerting(SyntheticsSuiteOptionsAlerting alerting) {
+ this.alerting = alerting;
+ }
+
+ /**
+ * 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 SyntheticsSuiteOptions
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteOptions 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 SyntheticsSuiteOptions object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteOptions syntheticsSuiteOptions = (SyntheticsSuiteOptions) o;
+ return Objects.equals(this.alerting, syntheticsSuiteOptions.alerting)
+ && Objects.equals(this.additionalProperties, syntheticsSuiteOptions.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(alerting, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteOptions {\n");
+ sb.append(" alerting: ").append(toIndentedString(alerting)).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/SyntheticsSuiteOptionsAlerting.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteOptionsAlerting.java
new file mode 100644
index 00000000000..ddd0a64b276
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteOptionsAlerting.java
@@ -0,0 +1,137 @@
+/*
+ * 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;
+
+/** Alerting options for a Synthetics suite. */
+@JsonPropertyOrder({SyntheticsSuiteOptionsAlerting.JSON_PROPERTY_THRESHOLD})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteOptionsAlerting {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_THRESHOLD = "threshold";
+ private Double threshold;
+
+ public SyntheticsSuiteOptionsAlerting threshold(Double threshold) {
+ this.threshold = threshold;
+ return this;
+ }
+
+ /**
+ * Percentage of critical tests failure needed for a suite to fail. minimum: 0 maximum: 1
+ *
+ * @return threshold
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_THRESHOLD)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Double getThreshold() {
+ return threshold;
+ }
+
+ public void setThreshold(Double threshold) {
+ this.threshold = threshold;
+ }
+
+ /**
+ * 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 SyntheticsSuiteOptionsAlerting
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteOptionsAlerting 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 SyntheticsSuiteOptionsAlerting object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteOptionsAlerting syntheticsSuiteOptionsAlerting =
+ (SyntheticsSuiteOptionsAlerting) o;
+ return Objects.equals(this.threshold, syntheticsSuiteOptionsAlerting.threshold)
+ && Objects.equals(
+ this.additionalProperties, syntheticsSuiteOptionsAlerting.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(threshold, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteOptionsAlerting {\n");
+ sb.append(" threshold: ").append(toIndentedString(threshold)).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/SyntheticsSuiteResponse.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteResponse.java
new file mode 100644
index 00000000000..ed61b3c73d8
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteResponse.java
@@ -0,0 +1,136 @@
+/*
+ * 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;
+
+/** Synthetics suite response */
+@JsonPropertyOrder({SyntheticsSuiteResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private SyntheticsSuiteResponseData data;
+
+ public SyntheticsSuiteResponse data(SyntheticsSuiteResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Synthetics suite response data
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SyntheticsSuiteResponseData getData() {
+ return data;
+ }
+
+ public void setData(SyntheticsSuiteResponseData 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 SyntheticsSuiteResponse
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteResponse 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 SyntheticsSuiteResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteResponse syntheticsSuiteResponse = (SyntheticsSuiteResponse) o;
+ return Objects.equals(this.data, syntheticsSuiteResponse.data)
+ && Objects.equals(this.additionalProperties, syntheticsSuiteResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteResponse {\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/SyntheticsSuiteResponseData.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteResponseData.java
new file mode 100644
index 00000000000..a78947e432f
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteResponseData.java
@@ -0,0 +1,137 @@
+/*
+ * 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;
+
+/** Synthetics suite response data */
+@JsonPropertyOrder({SyntheticsSuiteResponseData.JSON_PROPERTY_ATTRIBUTES})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private SyntheticsSuite attributes;
+
+ public SyntheticsSuiteResponseData attributes(SyntheticsSuite attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Object containing details about a Synthetic suite.
+ *
+ * @return attributes
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SyntheticsSuite getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(SyntheticsSuite attributes) {
+ this.attributes = attributes;
+ }
+
+ /**
+ * 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 SyntheticsSuiteResponseData
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteResponseData 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 SyntheticsSuiteResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteResponseData syntheticsSuiteResponseData = (SyntheticsSuiteResponseData) o;
+ return Objects.equals(this.attributes, syntheticsSuiteResponseData.attributes)
+ && Objects.equals(
+ this.additionalProperties, syntheticsSuiteResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).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/SyntheticsSuiteSearchResponse.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteSearchResponse.java
new file mode 100644
index 00000000000..ce2831fec9d
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteSearchResponse.java
@@ -0,0 +1,137 @@
+/*
+ * 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;
+
+/** Synthetics suite search response */
+@JsonPropertyOrder({SyntheticsSuiteSearchResponse.JSON_PROPERTY_DATA})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteSearchResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DATA = "data";
+ private SyntheticsSuiteSearchResponseData data;
+
+ public SyntheticsSuiteSearchResponse data(SyntheticsSuiteSearchResponseData data) {
+ this.data = data;
+ this.unparsed |= data.unparsed;
+ return this;
+ }
+
+ /**
+ * Synthetics suite search response data
+ *
+ * @return data
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DATA)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SyntheticsSuiteSearchResponseData getData() {
+ return data;
+ }
+
+ public void setData(SyntheticsSuiteSearchResponseData 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 SyntheticsSuiteSearchResponse
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteSearchResponse 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 SyntheticsSuiteSearchResponse object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteSearchResponse syntheticsSuiteSearchResponse = (SyntheticsSuiteSearchResponse) o;
+ return Objects.equals(this.data, syntheticsSuiteSearchResponse.data)
+ && Objects.equals(
+ this.additionalProperties, syntheticsSuiteSearchResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(data, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteSearchResponse {\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/SyntheticsSuiteSearchResponseData.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteSearchResponseData.java
new file mode 100644
index 00000000000..09f21537830
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteSearchResponseData.java
@@ -0,0 +1,200 @@
+/*
+ * 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;
+import java.util.UUID;
+
+/** Synthetics suite search response data */
+@JsonPropertyOrder({
+ SyntheticsSuiteSearchResponseData.JSON_PROPERTY_ATTRIBUTES,
+ SyntheticsSuiteSearchResponseData.JSON_PROPERTY_ID,
+ SyntheticsSuiteSearchResponseData.JSON_PROPERTY_TYPE
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteSearchResponseData {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ATTRIBUTES = "attributes";
+ private SyntheticsSuiteSearchResponseDataAttributes attributes;
+
+ public static final String JSON_PROPERTY_ID = "id";
+ private UUID id;
+
+ public static final String JSON_PROPERTY_TYPE = "type";
+ private SuiteSearchResponseType type = SuiteSearchResponseType.SUITES_SEARCH;
+
+ public SyntheticsSuiteSearchResponseData attributes(
+ SyntheticsSuiteSearchResponseDataAttributes attributes) {
+ this.attributes = attributes;
+ this.unparsed |= attributes.unparsed;
+ return this;
+ }
+
+ /**
+ * Synthetics suite search response data attributes
+ *
+ * @return attributes
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ATTRIBUTES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SyntheticsSuiteSearchResponseDataAttributes getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(SyntheticsSuiteSearchResponseDataAttributes attributes) {
+ this.attributes = attributes;
+ }
+
+ public SyntheticsSuiteSearchResponseData id(UUID id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Getid
+ *
+ * @return id
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public UUID getId() {
+ return id;
+ }
+
+ public void setId(UUID id) {
+ this.id = id;
+ }
+
+ public SyntheticsSuiteSearchResponseData type(SuiteSearchResponseType type) {
+ this.type = type;
+ this.unparsed |= !type.isValid();
+ return this;
+ }
+
+ /**
+ * Gettype
+ *
+ * @return type
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TYPE)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SuiteSearchResponseType getType() {
+ return type;
+ }
+
+ public void setType(SuiteSearchResponseType 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 SyntheticsSuiteSearchResponseData
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteSearchResponseData 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 SyntheticsSuiteSearchResponseData object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteSearchResponseData syntheticsSuiteSearchResponseData =
+ (SyntheticsSuiteSearchResponseData) o;
+ return Objects.equals(this.attributes, syntheticsSuiteSearchResponseData.attributes)
+ && Objects.equals(this.id, syntheticsSuiteSearchResponseData.id)
+ && Objects.equals(this.type, syntheticsSuiteSearchResponseData.type)
+ && Objects.equals(
+ this.additionalProperties, syntheticsSuiteSearchResponseData.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(attributes, id, type, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteSearchResponseData {\n");
+ sb.append(" attributes: ").append(toIndentedString(attributes)).append("\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/SyntheticsSuiteSearchResponseDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteSearchResponseDataAttributes.java
new file mode 100644
index 00000000000..703c5a9a63e
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteSearchResponseDataAttributes.java
@@ -0,0 +1,182 @@
+/*
+ * 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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+/** Synthetics suite search response data attributes */
+@JsonPropertyOrder({
+ SyntheticsSuiteSearchResponseDataAttributes.JSON_PROPERTY_SUITES,
+ SyntheticsSuiteSearchResponseDataAttributes.JSON_PROPERTY_TOTAL
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteSearchResponseDataAttributes {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_SUITES = "suites";
+ private List suites = null;
+
+ public static final String JSON_PROPERTY_TOTAL = "total";
+ private Integer total;
+
+ public SyntheticsSuiteSearchResponseDataAttributes suites(List suites) {
+ this.suites = suites;
+ for (SyntheticsSuite item : suites) {
+ this.unparsed |= item.unparsed;
+ }
+ return this;
+ }
+
+ public SyntheticsSuiteSearchResponseDataAttributes addSuitesItem(SyntheticsSuite suitesItem) {
+ if (this.suites == null) {
+ this.suites = new ArrayList<>();
+ }
+ this.suites.add(suitesItem);
+ this.unparsed |= suitesItem.unparsed;
+ return this;
+ }
+
+ /**
+ * Getsuites
+ *
+ * @return suites
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SUITES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public List getSuites() {
+ return suites;
+ }
+
+ public void setSuites(List suites) {
+ this.suites = suites;
+ }
+
+ public SyntheticsSuiteSearchResponseDataAttributes total(Integer total) {
+ this.total = total;
+ return this;
+ }
+
+ /**
+ * Gettotal maximum: 2147483647
+ *
+ * @return total
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_TOTAL)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Integer getTotal() {
+ return total;
+ }
+
+ public void setTotal(Integer total) {
+ this.total = total;
+ }
+
+ /**
+ * 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 SyntheticsSuiteSearchResponseDataAttributes
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteSearchResponseDataAttributes 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 SyntheticsSuiteSearchResponseDataAttributes object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteSearchResponseDataAttributes syntheticsSuiteSearchResponseDataAttributes =
+ (SyntheticsSuiteSearchResponseDataAttributes) o;
+ return Objects.equals(this.suites, syntheticsSuiteSearchResponseDataAttributes.suites)
+ && Objects.equals(this.total, syntheticsSuiteSearchResponseDataAttributes.total)
+ && Objects.equals(
+ this.additionalProperties,
+ syntheticsSuiteSearchResponseDataAttributes.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(suites, total, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteSearchResponseDataAttributes {\n");
+ sb.append(" suites: ").append(toIndentedString(suites)).append("\n");
+ sb.append(" total: ").append(toIndentedString(total)).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/SyntheticsSuiteTest.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteTest.java
new file mode 100644
index 00000000000..053da52c187
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteTest.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;
+
+/** Object containing details about a Synthetic test included in a Synthetic suite. */
+@JsonPropertyOrder({
+ SyntheticsSuiteTest.JSON_PROPERTY_ALERTING_CRITICALITY,
+ SyntheticsSuiteTest.JSON_PROPERTY_PUBLIC_ID
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class SyntheticsSuiteTest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ALERTING_CRITICALITY = "alerting_criticality";
+ private SyntheticsSuiteTestAlertingCriticality alertingCriticality;
+
+ public static final String JSON_PROPERTY_PUBLIC_ID = "public_id";
+ private String publicId;
+
+ public SyntheticsSuiteTest() {}
+
+ @JsonCreator
+ public SyntheticsSuiteTest(
+ @JsonProperty(required = true, value = JSON_PROPERTY_PUBLIC_ID) String publicId) {
+ this.publicId = publicId;
+ }
+
+ public SyntheticsSuiteTest alertingCriticality(
+ SyntheticsSuiteTestAlertingCriticality alertingCriticality) {
+ this.alertingCriticality = alertingCriticality;
+ this.unparsed |= !alertingCriticality.isValid();
+ return this;
+ }
+
+ /**
+ * Alerting criticality for each the test.
+ *
+ * @return alertingCriticality
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ALERTING_CRITICALITY)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public SyntheticsSuiteTestAlertingCriticality getAlertingCriticality() {
+ return alertingCriticality;
+ }
+
+ public void setAlertingCriticality(SyntheticsSuiteTestAlertingCriticality alertingCriticality) {
+ if (!alertingCriticality.isValid()) {
+ this.unparsed = true;
+ }
+ this.alertingCriticality = alertingCriticality;
+ }
+
+ public SyntheticsSuiteTest publicId(String publicId) {
+ this.publicId = publicId;
+ return this;
+ }
+
+ /**
+ * GetpublicId
+ *
+ * @return publicId
+ */
+ @JsonProperty(JSON_PROPERTY_PUBLIC_ID)
+ @JsonInclude(value = JsonInclude.Include.ALWAYS)
+ public String getPublicId() {
+ return publicId;
+ }
+
+ public void setPublicId(String publicId) {
+ this.publicId = publicId;
+ }
+
+ /**
+ * 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 SyntheticsSuiteTest
+ */
+ @JsonAnySetter
+ public SyntheticsSuiteTest 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 SyntheticsSuiteTest object is equal to o. */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ SyntheticsSuiteTest syntheticsSuiteTest = (SyntheticsSuiteTest) o;
+ return Objects.equals(this.alertingCriticality, syntheticsSuiteTest.alertingCriticality)
+ && Objects.equals(this.publicId, syntheticsSuiteTest.publicId)
+ && Objects.equals(this.additionalProperties, syntheticsSuiteTest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(alertingCriticality, publicId, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class SyntheticsSuiteTest {\n");
+ sb.append(" alertingCriticality: ")
+ .append(toIndentedString(alertingCriticality))
+ .append("\n");
+ sb.append(" publicId: ").append(toIndentedString(publicId)).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/SyntheticsSuiteTestAlertingCriticality.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteTestAlertingCriticality.java
new file mode 100644
index 00000000000..37788a87fb1
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteTestAlertingCriticality.java
@@ -0,0 +1,65 @@
+/*
+ * 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;
+
+/** Alerting criticality for each the test. */
+@JsonSerialize(
+ using =
+ SyntheticsSuiteTestAlertingCriticality.SyntheticsSuiteTestAlertingCriticalitySerializer
+ .class)
+public class SyntheticsSuiteTestAlertingCriticality extends ModelEnum {
+
+ private static final Set allowedValues =
+ new HashSet(Arrays.asList("ignore", "critical"));
+
+ public static final SyntheticsSuiteTestAlertingCriticality IGNORE =
+ new SyntheticsSuiteTestAlertingCriticality("ignore");
+ public static final SyntheticsSuiteTestAlertingCriticality CRITICAL =
+ new SyntheticsSuiteTestAlertingCriticality("critical");
+
+ SyntheticsSuiteTestAlertingCriticality(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class SyntheticsSuiteTestAlertingCriticalitySerializer
+ extends StdSerializer {
+ public SyntheticsSuiteTestAlertingCriticalitySerializer(
+ Class t) {
+ super(t);
+ }
+
+ public SyntheticsSuiteTestAlertingCriticalitySerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ SyntheticsSuiteTestAlertingCriticality value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static SyntheticsSuiteTestAlertingCriticality fromValue(String value) {
+ return new SyntheticsSuiteTestAlertingCriticality(value);
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteType.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteType.java
new file mode 100644
index 00000000000..562031e7507
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsSuiteType.java
@@ -0,0 +1,54 @@
+/*
+ * 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;
+
+/** Type of the Synthetic suite, suite. */
+@JsonSerialize(using = SyntheticsSuiteType.SyntheticsSuiteTypeSerializer.class)
+public class SyntheticsSuiteType extends ModelEnum {
+
+ private static final Set allowedValues = new HashSet(Arrays.asList("suite"));
+
+ public static final SyntheticsSuiteType SUITE = new SyntheticsSuiteType("suite");
+
+ SyntheticsSuiteType(String value) {
+ super(value, allowedValues);
+ }
+
+ public static class SyntheticsSuiteTypeSerializer extends StdSerializer {
+ public SyntheticsSuiteTypeSerializer(Class t) {
+ super(t);
+ }
+
+ public SyntheticsSuiteTypeSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ SyntheticsSuiteType value, JsonGenerator jgen, SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.value);
+ }
+ }
+
+ @JsonCreator
+ public static SyntheticsSuiteType fromValue(String value) {
+ return new SyntheticsSuiteType(value);
+ }
+}
diff --git a/src/test/resources/com/datadog/api/client/v2/api/synthetics.feature b/src/test/resources/com/datadog/api/client/v2/api/synthetics.feature
index 73efa73ec29..7a7765094e9 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/synthetics.feature
+++ b/src/test/resources/com/datadog/api/client/v2/api/synthetics.feature
@@ -27,3 +27,73 @@ Feature: Synthetics
When the request is sent
Then the response status is 200 OK
And the response "data.attributes.on_demand_concurrency_cap" is equal to 20
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Search Synthetics suites returns "API error response." response
+ Given new "SearchSuites" request
+ When the request is sent
+ Then the response status is 400 API error response.
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Search Synthetics suites returns "OK" response
+ Given new "SearchSuites" request
+ When the request is sent
+ Then the response status is 200 OK
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: Bulk delete suites returns "API error response." response
+ Given new "DeleteSyntheticsSuites" request
+ And body with value {"data": {"attributes": {"public_ids": [""]}, "type": "delete_suites_request"}}
+ When the request is sent
+ Then the response status is 400 API error response.
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: Bulk delete suites returns "OK" response
+ Given new "DeleteSyntheticsSuites" request
+ And body with value {"data": {"attributes": {"public_ids": [""]}, "type": "delete_suites_request"}}
+ When the request is sent
+ Then the response status is 200 OK
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: Create a test suite returns "API error response." response
+ Given new "CreateSyntheticsSuite" request
+ And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {"alerting": {}}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suite"}}
+ When the request is sent
+ Then the response status is 400 API error response.
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: Create a test suite returns "OK" response
+ Given new "CreateSyntheticsSuite" request
+ And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {"alerting": {}}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suite"}}
+ When the request is sent
+ Then the response status is 200 OK
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: Get a suite returns "API error response." response
+ Given new "GetSyntheticsSuite" request
+ And request contains "public_id" parameter from "REPLACE.ME"
+ When the request is sent
+ Then the response status is 404 API error response.
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: Get a suite returns "OK" response
+ Given new "GetSyntheticsSuite" request
+ And request contains "public_id" parameter from "REPLACE.ME"
+ When the request is sent
+ Then the response status is 200 OK
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: edit a test suite returns "API error response." response
+ Given new "EditSyntheticsSuite" request
+ And request contains "public_id" parameter from "REPLACE.ME"
+ And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {"alerting": {}}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suite"}}
+ When the request is sent
+ Then the response status is 400 API error response.
+
+ @generated @skip @team:DataDog/synthetics-managing
+ Scenario: Synthetics: edit a test suite returns "OK" response
+ Given new "EditSyntheticsSuite" request
+ And request contains "public_id" parameter from "REPLACE.ME"
+ And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {"alerting": {}}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suite"}}
+ When the request is sent
+ Then the response status is 200 OK
diff --git a/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json
index 3799e64e630..fdf11688786 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/undo.json
+++ b/src/test/resources/com/datadog/api/client/v2/api/undo.json
@@ -4284,6 +4284,40 @@
"type": "safe"
}
},
+ "CreateSyntheticsSuite": {
+ "tag": "Synthetics",
+ "undo": {
+ "operationId": "TODO",
+ "parameters": [],
+ "type": "unsafe"
+ }
+ },
+ "DeleteSyntheticsSuites": {
+ "tag": "Synthetics",
+ "undo": {
+ "operationId": "TODO",
+ "parameters": [],
+ "type": "unsafe"
+ }
+ },
+ "SearchSuites": {
+ "tag": "Synthetics",
+ "undo": {
+ "type": "safe"
+ }
+ },
+ "GetSyntheticsSuite": {
+ "tag": "Synthetics",
+ "undo": {
+ "type": "safe"
+ }
+ },
+ "EditSyntheticsSuite": {
+ "tag": "Synthetics",
+ "undo": {
+ "type": "idempotent"
+ }
+ },
"ListTagPipelinesRulesets": {
"tag": "Cloud Cost Management",
"undo": {