From baf88ccbfa166bf0e4c701ab4318c084808a6ff2 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 30 Mar 2026 08:33:02 +0000 Subject: [PATCH] Regenerate client from commit 962dc50 of spec repo --- .generator/schemas/v2/openapi.yaml | 374 ++++++++++ .../AbortTestFileMultipartUpload.java | 28 + .../CompleteTestFileMultipartUpload.java | 37 + .../v2/synthetics/GetTestFileDownloadUrl.java | 30 + .../GetTestFileMultipartPresignedUrls.java | 39 + .../api/client/v2/api/SyntheticsApi.java | 666 ++++++++++++++++++ ...csTestFileAbortMultipartUploadRequest.java | 177 +++++ ...csTestFileCompleteMultipartUploadPart.java | 177 +++++ ...estFileCompleteMultipartUploadRequest.java | 220 ++++++ .../SyntheticsTestFileDownloadRequest.java | 145 ++++ .../SyntheticsTestFileDownloadResponse.java | 137 ++++ ...sTestFileMultipartPresignedUrlsParams.java | 203 ++++++ ...icsTestFileMultipartPresignedUrlsPart.java | 177 +++++ ...TestFileMultipartPresignedUrlsRequest.java | 201 ++++++ ...rtPresignedUrlsRequestBucketKeyPrefix.java | 70 ++ ...estFileMultipartPresignedUrlsResponse.java | 178 +++++ .../api/client/v2/api/synthetics.feature | 64 ++ .../com/datadog/api/client/v2/api/undo.json | 24 + 18 files changed, 2947 insertions(+) create mode 100644 examples/v2/synthetics/AbortTestFileMultipartUpload.java create mode 100644 examples/v2/synthetics/CompleteTestFileMultipartUpload.java create mode 100644 examples/v2/synthetics/GetTestFileDownloadUrl.java create mode 100644 examples/v2/synthetics/GetTestFileMultipartPresignedUrls.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileAbortMultipartUploadRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileCompleteMultipartUploadPart.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileCompleteMultipartUploadRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileDownloadRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileDownloadResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsParams.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsPart.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsResponse.java diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index ea8f0cd3e16..eac2fa3c179 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -65509,6 +65509,149 @@ components: type: string x-enum-varnames: - SUITES + SyntheticsTestFileAbortMultipartUploadRequest: + description: Request body for aborting a multipart file upload. + properties: + key: + description: The full storage path of the file whose upload should be aborted. + example: "org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json" + type: string + uploadId: + description: The upload ID of the multipart upload to abort. + example: "upload-id-abc123" + type: string + required: + - uploadId + - key + type: object + SyntheticsTestFileCompleteMultipartUploadPart: + description: A completed part of a multipart upload. + properties: + ETag: + description: The ETag returned by the storage provider after uploading the part. + example: '"d41d8cd98f00b204e9800998ecf8427e"' + type: string + PartNumber: + description: The 1-indexed part number for the multipart upload. + example: 1 + format: int64 + type: integer + required: + - ETag + - PartNumber + type: object + SyntheticsTestFileCompleteMultipartUploadRequest: + description: Request body for completing a multipart file upload. + properties: + key: + description: The full storage path for the uploaded file. + example: "org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json" + type: string + parts: + description: Array of completed parts with their ETags. + items: + $ref: "#/components/schemas/SyntheticsTestFileCompleteMultipartUploadPart" + type: array + uploadId: + description: The upload ID returned when the multipart upload was initiated. + example: "upload-id-abc123" + type: string + required: + - uploadId + - key + - parts + type: object + SyntheticsTestFileDownloadRequest: + description: Request body for getting a presigned download URL for a test file. + properties: + bucketKey: + description: The bucket key referencing the file to download. + example: "api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json" + minLength: 1 + type: string + required: + - bucketKey + type: object + SyntheticsTestFileDownloadResponse: + description: Response containing a presigned URL for downloading a test file. + properties: + url: + description: A presigned URL to download the file. The URL expires after a short period. + example: "https://storage.example.com/presigned-download-url" + type: string + type: object + SyntheticsTestFileMultipartPresignedUrlsParams: + description: Presigned URL parameters returned for a multipart upload. + properties: + key: + description: The full storage path for the file being uploaded. + example: "org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json" + type: string + upload_id: + description: The upload ID assigned by the storage provider for this multipart upload. + example: "upload-id-abc123" + type: string + urls: + additionalProperties: + type: string + description: A map of part numbers to presigned upload URLs. + example: + "1": "https://storage.example.com/presigned-upload-url-part-1" + "2": "https://storage.example.com/presigned-upload-url-part-2" + type: object + type: object + SyntheticsTestFileMultipartPresignedUrlsPart: + description: A part descriptor for initiating a multipart upload. + properties: + md5: + description: Base64-encoded MD5 digest of the part content. + example: "1B2M2Y8AsgTpgAmY7PhCfg==" + maxLength: 24 + minLength: 22 + type: string + partNumber: + description: The 1-indexed part number for the multipart upload. + example: 1 + format: int64 + type: integer + required: + - md5 + - partNumber + type: object + SyntheticsTestFileMultipartPresignedUrlsRequest: + description: Request body for getting presigned URLs for a multipart file upload. + properties: + bucketKeyPrefix: + $ref: "#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix" + parts: + description: Array of part descriptors for the multipart upload. + items: + $ref: "#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsPart" + type: array + required: + - bucketKeyPrefix + - parts + type: object + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix: + description: The bucket key prefix indicating the type of file upload. + enum: + - api-upload-file + - browser-upload-file-step + example: "api-upload-file" + type: string + x-enum-varnames: + - API_UPLOAD_FILE + - BROWSER_UPLOAD_FILE_STEP + SyntheticsTestFileMultipartPresignedUrlsResponse: + description: Response containing presigned URLs for multipart file upload and the bucket key. + properties: + bucketKey: + description: The bucket key that references the uploaded file after completion. + example: "api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json" + type: string + multipart_presigned_urls_params: + $ref: "#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsParams" + type: object SyntheticsTestOptions: description: Object describing the extra options for a Synthetic test. properties: @@ -107394,6 +107537,237 @@ paths: permissions: - synthetics_write - synthetics_create_edit_trigger + /api/v2/synthetics/tests/{public_id}/files/download: + post: + description: |- + Get a presigned URL to download a file attached to a Synthetic test. + The returned URL is temporary and expires after a short period. + operationId: GetTestFileDownloadUrl + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SyntheticsTestFileDownloadRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SyntheticsTestFileDownloadResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: API error response. + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: Forbidden. + "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: Get a presigned URL for downloading a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_read + /api/v2/synthetics/tests/{public_id}/files/multipart-presigned-urls: + post: + description: |- + Get presigned URLs for uploading a file to a Synthetic test using multipart upload. + Returns the presigned URLs for each part along with the bucket key that references the file. + operationId: GetTestFileMultipartPresignedUrls + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SyntheticsTestFileMultipartPresignedUrlsResponse" + description: OK + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: API error response. + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: Forbidden. + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: API error response. + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Get presigned URLs for uploading a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/{public_id}/files/multipart-upload-abort: + post: + description: |- + Abort an in-progress multipart file upload for a Synthetic test. This cancels the upload + and releases any storage used by already-uploaded parts. + operationId: AbortTestFileMultipartUpload + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SyntheticsTestFileAbortMultipartUploadRequest" + required: true + responses: + "204": + description: No Content + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: API error response. + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: Forbidden. + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: API error response. + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Abort a multipart upload of a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger + /api/v2/synthetics/tests/{public_id}/files/multipart-upload-complete: + post: + description: |- + Complete a multipart file upload for a Synthetic test. Call this endpoint after all parts + have been uploaded using the presigned URLs obtained from the multipart presigned URLs endpoint. + operationId: CompleteTestFileMultipartUpload + parameters: + - description: The public ID of the Synthetic test. + in: path + name: public_id + required: true + schema: + example: abc-def-123 + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SyntheticsTestFileCompleteMultipartUploadRequest" + required: true + responses: + "204": + description: No Content + "400": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: API error response. + "403": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: Forbidden. + "404": + content: + application/json: + schema: + $ref: "#/components/schemas/APIErrorResponse" + description: API error response. + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - synthetics_write + summary: Complete a multipart upload of a test file + tags: + - Synthetics + x-permission: + operator: OR + permissions: + - synthetics_write + - synthetics_create_edit_trigger /api/v2/synthetics/tests/{public_id}/parent-suites: get: description: Get the list of parent suites and their status for a given Synthetic test. diff --git a/examples/v2/synthetics/AbortTestFileMultipartUpload.java b/examples/v2/synthetics/AbortTestFileMultipartUpload.java new file mode 100644 index 00000000000..b4b7f745ca8 --- /dev/null +++ b/examples/v2/synthetics/AbortTestFileMultipartUpload.java @@ -0,0 +1,28 @@ +// Abort a multipart upload of a test file returns "No Content" 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.SyntheticsTestFileAbortMultipartUploadRequest; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + SyntheticsApi apiInstance = new SyntheticsApi(defaultClient); + + SyntheticsTestFileAbortMultipartUploadRequest body = + new SyntheticsTestFileAbortMultipartUploadRequest() + .key("org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json") + .uploadId("upload-id-abc123"); + + try { + apiInstance.abortTestFileMultipartUpload("abc-def-123", body); + } catch (ApiException e) { + System.err.println("Exception when calling SyntheticsApi#abortTestFileMultipartUpload"); + 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/CompleteTestFileMultipartUpload.java b/examples/v2/synthetics/CompleteTestFileMultipartUpload.java new file mode 100644 index 00000000000..440454631fa --- /dev/null +++ b/examples/v2/synthetics/CompleteTestFileMultipartUpload.java @@ -0,0 +1,37 @@ +// Complete a multipart upload of a test file returns "No Content" 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.SyntheticsTestFileCompleteMultipartUploadPart; +import com.datadog.api.client.v2.model.SyntheticsTestFileCompleteMultipartUploadRequest; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + SyntheticsApi apiInstance = new SyntheticsApi(defaultClient); + + SyntheticsTestFileCompleteMultipartUploadRequest body = + new SyntheticsTestFileCompleteMultipartUploadRequest() + .key("org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json") + .parts( + Collections.singletonList( + new SyntheticsTestFileCompleteMultipartUploadPart() + .eTag(""" +"d41d8cd98f00b204e9800998ecf8427e" +""") + .partNumber(1L))) + .uploadId("upload-id-abc123"); + + try { + apiInstance.completeTestFileMultipartUpload("abc-def-123", body); + } catch (ApiException e) { + System.err.println("Exception when calling SyntheticsApi#completeTestFileMultipartUpload"); + 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/GetTestFileDownloadUrl.java b/examples/v2/synthetics/GetTestFileDownloadUrl.java new file mode 100644 index 00000000000..734253989e6 --- /dev/null +++ b/examples/v2/synthetics/GetTestFileDownloadUrl.java @@ -0,0 +1,30 @@ +// Get a presigned URL for downloading a test file 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.SyntheticsTestFileDownloadRequest; +import com.datadog.api.client.v2.model.SyntheticsTestFileDownloadResponse; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + SyntheticsApi apiInstance = new SyntheticsApi(defaultClient); + + SyntheticsTestFileDownloadRequest body = + new SyntheticsTestFileDownloadRequest() + .bucketKey("api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json"); + + try { + SyntheticsTestFileDownloadResponse result = + apiInstance.getTestFileDownloadUrl("abc-def-123", body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SyntheticsApi#getTestFileDownloadUrl"); + 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/GetTestFileMultipartPresignedUrls.java b/examples/v2/synthetics/GetTestFileMultipartPresignedUrls.java new file mode 100644 index 00000000000..254e767ed74 --- /dev/null +++ b/examples/v2/synthetics/GetTestFileMultipartPresignedUrls.java @@ -0,0 +1,39 @@ +// Get presigned URLs for uploading a test file 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.SyntheticsTestFileMultipartPresignedUrlsPart; +import com.datadog.api.client.v2.model.SyntheticsTestFileMultipartPresignedUrlsRequest; +import com.datadog.api.client.v2.model.SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix; +import com.datadog.api.client.v2.model.SyntheticsTestFileMultipartPresignedUrlsResponse; +import java.util.Collections; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + SyntheticsApi apiInstance = new SyntheticsApi(defaultClient); + + SyntheticsTestFileMultipartPresignedUrlsRequest body = + new SyntheticsTestFileMultipartPresignedUrlsRequest() + .bucketKeyPrefix( + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix.API_UPLOAD_FILE) + .parts( + Collections.singletonList( + new SyntheticsTestFileMultipartPresignedUrlsPart() + .md5("1B2M2Y8AsgTpgAmY7PhCfg==") + .partNumber(1L))); + + try { + SyntheticsTestFileMultipartPresignedUrlsResponse result = + apiInstance.getTestFileMultipartPresignedUrls("abc-def-123", body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SyntheticsApi#getTestFileMultipartPresignedUrls"); + 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 d1d8a6ab7fc..23eb383a827 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 @@ -21,6 +21,12 @@ import com.datadog.api.client.v2.model.SyntheticsNetworkTestResponse; import com.datadog.api.client.v2.model.SyntheticsSuiteResponse; import com.datadog.api.client.v2.model.SyntheticsSuiteSearchResponse; +import com.datadog.api.client.v2.model.SyntheticsTestFileAbortMultipartUploadRequest; +import com.datadog.api.client.v2.model.SyntheticsTestFileCompleteMultipartUploadRequest; +import com.datadog.api.client.v2.model.SyntheticsTestFileDownloadRequest; +import com.datadog.api.client.v2.model.SyntheticsTestFileDownloadResponse; +import com.datadog.api.client.v2.model.SyntheticsTestFileMultipartPresignedUrlsRequest; +import com.datadog.api.client.v2.model.SyntheticsTestFileMultipartPresignedUrlsResponse; import com.datadog.api.client.v2.model.SyntheticsTestParentSuitesResponse; import com.datadog.api.client.v2.model.SyntheticsTestVersionHistoryResponse; import com.datadog.api.client.v2.model.SyntheticsTestVersionResponse; @@ -63,6 +69,330 @@ public void setApiClient(ApiClient apiClient) { this.apiClient = apiClient; } + /** + * Abort a multipart upload of a test file. + * + *

See {@link #abortTestFileMultipartUploadWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @throws ApiException if fails to make API call + */ + public void abortTestFileMultipartUpload( + String publicId, SyntheticsTestFileAbortMultipartUploadRequest body) throws ApiException { + abortTestFileMultipartUploadWithHttpInfo(publicId, body); + } + + /** + * Abort a multipart upload of a test file. + * + *

See {@link #abortTestFileMultipartUploadWithHttpInfoAsync}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return CompletableFuture + */ + public CompletableFuture abortTestFileMultipartUploadAsync( + String publicId, SyntheticsTestFileAbortMultipartUploadRequest body) { + return abortTestFileMultipartUploadWithHttpInfoAsync(publicId, body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Abort an in-progress multipart file upload for a Synthetic test. This cancels the upload and + * releases any storage used by already-uploaded parts. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
204 No Content -
400 API error response. -
403 Forbidden. -
404 API error response. -
429 Too many requests -
+ */ + public ApiResponse abortTestFileMultipartUploadWithHttpInfo( + String publicId, SyntheticsTestFileAbortMultipartUploadRequest 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 abortTestFileMultipartUpload"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling abortTestFileMultipartUpload"); + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/multipart-upload-abort" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SyntheticsApi.abortTestFileMultipartUpload", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Abort a multipart upload of a test file. + * + *

See {@link #abortTestFileMultipartUploadWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> abortTestFileMultipartUploadWithHttpInfoAsync( + String publicId, SyntheticsTestFileAbortMultipartUploadRequest 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" + + " abortTestFileMultipartUpload")); + 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 abortTestFileMultipartUpload")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/multipart-upload-abort" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SyntheticsApi.abortTestFileMultipartUpload", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + 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, + null); + } + + /** + * Complete a multipart upload of a test file. + * + *

See {@link #completeTestFileMultipartUploadWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @throws ApiException if fails to make API call + */ + public void completeTestFileMultipartUpload( + String publicId, SyntheticsTestFileCompleteMultipartUploadRequest body) throws ApiException { + completeTestFileMultipartUploadWithHttpInfo(publicId, body); + } + + /** + * Complete a multipart upload of a test file. + * + *

See {@link #completeTestFileMultipartUploadWithHttpInfoAsync}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return CompletableFuture + */ + public CompletableFuture completeTestFileMultipartUploadAsync( + String publicId, SyntheticsTestFileCompleteMultipartUploadRequest body) { + return completeTestFileMultipartUploadWithHttpInfoAsync(publicId, body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Complete a multipart file upload for a Synthetic test. Call this endpoint after all parts have + * been uploaded using the presigned URLs obtained from the multipart presigned URLs endpoint. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
204 No Content -
400 API error response. -
403 Forbidden. -
404 API error response. -
429 Too many requests -
+ */ + public ApiResponse completeTestFileMultipartUploadWithHttpInfo( + String publicId, SyntheticsTestFileCompleteMultipartUploadRequest 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 completeTestFileMultipartUpload"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, + "Missing the required parameter 'body' when calling completeTestFileMultipartUpload"); + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/multipart-upload-complete" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SyntheticsApi.completeTestFileMultipartUpload", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Complete a multipart upload of a test file. + * + *

See {@link #completeTestFileMultipartUploadWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> completeTestFileMultipartUploadWithHttpInfoAsync( + String publicId, SyntheticsTestFileCompleteMultipartUploadRequest 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" + + " completeTestFileMultipartUpload")); + 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" + + " completeTestFileMultipartUpload")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/multipart-upload-complete" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SyntheticsApi.completeTestFileMultipartUpload", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + 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, + null); + } + /** * Create a Network Path test. * @@ -1795,6 +2125,342 @@ public ApiResponse getSyntheticsTestVersionWithHt new GenericType() {}); } + /** + * Get a presigned URL for downloading a test file. + * + *

See {@link #getTestFileDownloadUrlWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return SyntheticsTestFileDownloadResponse + * @throws ApiException if fails to make API call + */ + public SyntheticsTestFileDownloadResponse getTestFileDownloadUrl( + String publicId, SyntheticsTestFileDownloadRequest body) throws ApiException { + return getTestFileDownloadUrlWithHttpInfo(publicId, body).getData(); + } + + /** + * Get a presigned URL for downloading a test file. + * + *

See {@link #getTestFileDownloadUrlWithHttpInfoAsync}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return CompletableFuture<SyntheticsTestFileDownloadResponse> + */ + public CompletableFuture getTestFileDownloadUrlAsync( + String publicId, SyntheticsTestFileDownloadRequest body) { + return getTestFileDownloadUrlWithHttpInfoAsync(publicId, body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get a presigned URL to download a file attached to a Synthetic test. The returned URL is + * temporary and expires after a short period. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return ApiResponse<SyntheticsTestFileDownloadResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 API error response. -
403 Forbidden. -
404 API error response. -
429 Too many requests -
+ */ + public ApiResponse getTestFileDownloadUrlWithHttpInfo( + String publicId, SyntheticsTestFileDownloadRequest 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 getTestFileDownloadUrl"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling getTestFileDownloadUrl"); + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/download" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SyntheticsApi.getTestFileDownloadUrl", + 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() {}); + } + + /** + * Get a presigned URL for downloading a test file. + * + *

See {@link #getTestFileDownloadUrlWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return CompletableFuture<ApiResponse<SyntheticsTestFileDownloadResponse>> + */ + public CompletableFuture> + getTestFileDownloadUrlWithHttpInfoAsync( + String publicId, SyntheticsTestFileDownloadRequest 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 getTestFileDownloadUrl")); + 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 getTestFileDownloadUrl")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/download" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SyntheticsApi.getTestFileDownloadUrl", + 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() {}); + } + + /** + * Get presigned URLs for uploading a test file. + * + *

See {@link #getTestFileMultipartPresignedUrlsWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return SyntheticsTestFileMultipartPresignedUrlsResponse + * @throws ApiException if fails to make API call + */ + public SyntheticsTestFileMultipartPresignedUrlsResponse getTestFileMultipartPresignedUrls( + String publicId, SyntheticsTestFileMultipartPresignedUrlsRequest body) throws ApiException { + return getTestFileMultipartPresignedUrlsWithHttpInfo(publicId, body).getData(); + } + + /** + * Get presigned URLs for uploading a test file. + * + *

See {@link #getTestFileMultipartPresignedUrlsWithHttpInfoAsync}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return CompletableFuture<SyntheticsTestFileMultipartPresignedUrlsResponse> + */ + public CompletableFuture + getTestFileMultipartPresignedUrlsAsync( + String publicId, SyntheticsTestFileMultipartPresignedUrlsRequest body) { + return getTestFileMultipartPresignedUrlsWithHttpInfoAsync(publicId, body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get presigned URLs for uploading a file to a Synthetic test using multipart upload. Returns the + * presigned URLs for each part along with the bucket key that references the file. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return ApiResponse<SyntheticsTestFileMultipartPresignedUrlsResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 API error response. -
403 Forbidden. -
404 API error response. -
429 Too many requests -
+ */ + public ApiResponse + getTestFileMultipartPresignedUrlsWithHttpInfo( + String publicId, SyntheticsTestFileMultipartPresignedUrlsRequest 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" + + " getTestFileMultipartPresignedUrls"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, + "Missing the required parameter 'body' when calling getTestFileMultipartPresignedUrls"); + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/multipart-presigned-urls" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SyntheticsApi.getTestFileMultipartPresignedUrls", + 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() {}); + } + + /** + * Get presigned URLs for uploading a test file. + * + *

See {@link #getTestFileMultipartPresignedUrlsWithHttpInfo}. + * + * @param publicId The public ID of the Synthetic test. (required) + * @param body (required) + * @return + * CompletableFuture<ApiResponse<SyntheticsTestFileMultipartPresignedUrlsResponse>> + */ + public CompletableFuture> + getTestFileMultipartPresignedUrlsWithHttpInfoAsync( + String publicId, SyntheticsTestFileMultipartPresignedUrlsRequest 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" + + " getTestFileMultipartPresignedUrls")); + 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" + + " getTestFileMultipartPresignedUrls")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/synthetics/tests/{public_id}/files/multipart-presigned-urls" + .replaceAll("\\{" + "public_id" + "\\}", apiClient.escapeString(publicId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SyntheticsApi.getTestFileMultipartPresignedUrls", + 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() {}); + } + /** * Get parent suites for a test. * diff --git a/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileAbortMultipartUploadRequest.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileAbortMultipartUploadRequest.java new file mode 100644 index 00000000000..eff6e1f915c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileAbortMultipartUploadRequest.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; + +/** Request body for aborting a multipart file upload. */ +@JsonPropertyOrder({ + SyntheticsTestFileAbortMultipartUploadRequest.JSON_PROPERTY_KEY, + SyntheticsTestFileAbortMultipartUploadRequest.JSON_PROPERTY_UPLOAD_ID +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileAbortMultipartUploadRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_KEY = "key"; + private String key; + + public static final String JSON_PROPERTY_UPLOAD_ID = "uploadId"; + private String uploadId; + + public SyntheticsTestFileAbortMultipartUploadRequest() {} + + @JsonCreator + public SyntheticsTestFileAbortMultipartUploadRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_KEY) String key, + @JsonProperty(required = true, value = JSON_PROPERTY_UPLOAD_ID) String uploadId) { + this.key = key; + this.uploadId = uploadId; + } + + public SyntheticsTestFileAbortMultipartUploadRequest key(String key) { + this.key = key; + return this; + } + + /** + * The full storage path of the file whose upload should be aborted. + * + * @return key + */ + @JsonProperty(JSON_PROPERTY_KEY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public SyntheticsTestFileAbortMultipartUploadRequest uploadId(String uploadId) { + this.uploadId = uploadId; + return this; + } + + /** + * The upload ID of the multipart upload to abort. + * + * @return uploadId + */ + @JsonProperty(JSON_PROPERTY_UPLOAD_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUploadId() { + return uploadId; + } + + public void setUploadId(String uploadId) { + this.uploadId = uploadId; + } + + /** + * 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 SyntheticsTestFileAbortMultipartUploadRequest + */ + @JsonAnySetter + public SyntheticsTestFileAbortMultipartUploadRequest 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 SyntheticsTestFileAbortMultipartUploadRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileAbortMultipartUploadRequest syntheticsTestFileAbortMultipartUploadRequest = + (SyntheticsTestFileAbortMultipartUploadRequest) o; + return Objects.equals(this.key, syntheticsTestFileAbortMultipartUploadRequest.key) + && Objects.equals(this.uploadId, syntheticsTestFileAbortMultipartUploadRequest.uploadId) + && Objects.equals( + this.additionalProperties, + syntheticsTestFileAbortMultipartUploadRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(key, uploadId, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileAbortMultipartUploadRequest {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" uploadId: ").append(toIndentedString(uploadId)).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/SyntheticsTestFileCompleteMultipartUploadPart.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileCompleteMultipartUploadPart.java new file mode 100644 index 00000000000..0faa8451185 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileCompleteMultipartUploadPart.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; + +/** A completed part of a multipart upload. */ +@JsonPropertyOrder({ + SyntheticsTestFileCompleteMultipartUploadPart.JSON_PROPERTY_E_TAG, + SyntheticsTestFileCompleteMultipartUploadPart.JSON_PROPERTY_PART_NUMBER +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileCompleteMultipartUploadPart { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_E_TAG = "ETag"; + private String eTag; + + public static final String JSON_PROPERTY_PART_NUMBER = "PartNumber"; + private Long partNumber; + + public SyntheticsTestFileCompleteMultipartUploadPart() {} + + @JsonCreator + public SyntheticsTestFileCompleteMultipartUploadPart( + @JsonProperty(required = true, value = JSON_PROPERTY_E_TAG) String eTag, + @JsonProperty(required = true, value = JSON_PROPERTY_PART_NUMBER) Long partNumber) { + this.eTag = eTag; + this.partNumber = partNumber; + } + + public SyntheticsTestFileCompleteMultipartUploadPart eTag(String eTag) { + this.eTag = eTag; + return this; + } + + /** + * The ETag returned by the storage provider after uploading the part. + * + * @return eTag + */ + @JsonProperty(JSON_PROPERTY_E_TAG) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getETag() { + return eTag; + } + + public void setETag(String eTag) { + this.eTag = eTag; + } + + public SyntheticsTestFileCompleteMultipartUploadPart partNumber(Long partNumber) { + this.partNumber = partNumber; + return this; + } + + /** + * The 1-indexed part number for the multipart upload. + * + * @return partNumber + */ + @JsonProperty(JSON_PROPERTY_PART_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getPartNumber() { + return partNumber; + } + + public void setPartNumber(Long partNumber) { + this.partNumber = partNumber; + } + + /** + * 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 SyntheticsTestFileCompleteMultipartUploadPart + */ + @JsonAnySetter + public SyntheticsTestFileCompleteMultipartUploadPart 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 SyntheticsTestFileCompleteMultipartUploadPart object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileCompleteMultipartUploadPart syntheticsTestFileCompleteMultipartUploadPart = + (SyntheticsTestFileCompleteMultipartUploadPart) o; + return Objects.equals(this.eTag, syntheticsTestFileCompleteMultipartUploadPart.eTag) + && Objects.equals(this.partNumber, syntheticsTestFileCompleteMultipartUploadPart.partNumber) + && Objects.equals( + this.additionalProperties, + syntheticsTestFileCompleteMultipartUploadPart.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(eTag, partNumber, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileCompleteMultipartUploadPart {\n"); + sb.append(" eTag: ").append(toIndentedString(eTag)).append("\n"); + sb.append(" partNumber: ").append(toIndentedString(partNumber)).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/SyntheticsTestFileCompleteMultipartUploadRequest.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileCompleteMultipartUploadRequest.java new file mode 100644 index 00000000000..561d37f0369 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileCompleteMultipartUploadRequest.java @@ -0,0 +1,220 @@ +/* + * 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; + +/** Request body for completing a multipart file upload. */ +@JsonPropertyOrder({ + SyntheticsTestFileCompleteMultipartUploadRequest.JSON_PROPERTY_KEY, + SyntheticsTestFileCompleteMultipartUploadRequest.JSON_PROPERTY_PARTS, + SyntheticsTestFileCompleteMultipartUploadRequest.JSON_PROPERTY_UPLOAD_ID +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileCompleteMultipartUploadRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_KEY = "key"; + private String key; + + public static final String JSON_PROPERTY_PARTS = "parts"; + private List parts = new ArrayList<>(); + + public static final String JSON_PROPERTY_UPLOAD_ID = "uploadId"; + private String uploadId; + + public SyntheticsTestFileCompleteMultipartUploadRequest() {} + + @JsonCreator + public SyntheticsTestFileCompleteMultipartUploadRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_KEY) String key, + @JsonProperty(required = true, value = JSON_PROPERTY_PARTS) + List parts, + @JsonProperty(required = true, value = JSON_PROPERTY_UPLOAD_ID) String uploadId) { + this.key = key; + this.parts = parts; + this.uploadId = uploadId; + } + + public SyntheticsTestFileCompleteMultipartUploadRequest key(String key) { + this.key = key; + return this; + } + + /** + * The full storage path for the uploaded file. + * + * @return key + */ + @JsonProperty(JSON_PROPERTY_KEY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public SyntheticsTestFileCompleteMultipartUploadRequest parts( + List parts) { + this.parts = parts; + for (SyntheticsTestFileCompleteMultipartUploadPart item : parts) { + this.unparsed |= item.unparsed; + } + return this; + } + + public SyntheticsTestFileCompleteMultipartUploadRequest addPartsItem( + SyntheticsTestFileCompleteMultipartUploadPart partsItem) { + this.parts.add(partsItem); + this.unparsed |= partsItem.unparsed; + return this; + } + + /** + * Array of completed parts with their ETags. + * + * @return parts + */ + @JsonProperty(JSON_PROPERTY_PARTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getParts() { + return parts; + } + + public void setParts(List parts) { + this.parts = parts; + } + + public SyntheticsTestFileCompleteMultipartUploadRequest uploadId(String uploadId) { + this.uploadId = uploadId; + return this; + } + + /** + * The upload ID returned when the multipart upload was initiated. + * + * @return uploadId + */ + @JsonProperty(JSON_PROPERTY_UPLOAD_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getUploadId() { + return uploadId; + } + + public void setUploadId(String uploadId) { + this.uploadId = uploadId; + } + + /** + * 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 SyntheticsTestFileCompleteMultipartUploadRequest + */ + @JsonAnySetter + public SyntheticsTestFileCompleteMultipartUploadRequest 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 SyntheticsTestFileCompleteMultipartUploadRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileCompleteMultipartUploadRequest + syntheticsTestFileCompleteMultipartUploadRequest = + (SyntheticsTestFileCompleteMultipartUploadRequest) o; + return Objects.equals(this.key, syntheticsTestFileCompleteMultipartUploadRequest.key) + && Objects.equals(this.parts, syntheticsTestFileCompleteMultipartUploadRequest.parts) + && Objects.equals(this.uploadId, syntheticsTestFileCompleteMultipartUploadRequest.uploadId) + && Objects.equals( + this.additionalProperties, + syntheticsTestFileCompleteMultipartUploadRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(key, parts, uploadId, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileCompleteMultipartUploadRequest {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" parts: ").append(toIndentedString(parts)).append("\n"); + sb.append(" uploadId: ").append(toIndentedString(uploadId)).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/SyntheticsTestFileDownloadRequest.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileDownloadRequest.java new file mode 100644 index 00000000000..2e9d7c9b570 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileDownloadRequest.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; + +/** Request body for getting a presigned download URL for a test file. */ +@JsonPropertyOrder({SyntheticsTestFileDownloadRequest.JSON_PROPERTY_BUCKET_KEY}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileDownloadRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUCKET_KEY = "bucketKey"; + private String bucketKey; + + public SyntheticsTestFileDownloadRequest() {} + + @JsonCreator + public SyntheticsTestFileDownloadRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_BUCKET_KEY) String bucketKey) { + this.bucketKey = bucketKey; + } + + public SyntheticsTestFileDownloadRequest bucketKey(String bucketKey) { + this.bucketKey = bucketKey; + return this; + } + + /** + * The bucket key referencing the file to download. + * + * @return bucketKey + */ + @JsonProperty(JSON_PROPERTY_BUCKET_KEY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getBucketKey() { + return bucketKey; + } + + public void setBucketKey(String bucketKey) { + this.bucketKey = bucketKey; + } + + /** + * 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 SyntheticsTestFileDownloadRequest + */ + @JsonAnySetter + public SyntheticsTestFileDownloadRequest 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 SyntheticsTestFileDownloadRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileDownloadRequest syntheticsTestFileDownloadRequest = + (SyntheticsTestFileDownloadRequest) o; + return Objects.equals(this.bucketKey, syntheticsTestFileDownloadRequest.bucketKey) + && Objects.equals( + this.additionalProperties, syntheticsTestFileDownloadRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(bucketKey, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileDownloadRequest {\n"); + sb.append(" bucketKey: ").append(toIndentedString(bucketKey)).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/SyntheticsTestFileDownloadResponse.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileDownloadResponse.java new file mode 100644 index 00000000000..7aea1304400 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileDownloadResponse.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; + +/** Response containing a presigned URL for downloading a test file. */ +@JsonPropertyOrder({SyntheticsTestFileDownloadResponse.JSON_PROPERTY_URL}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileDownloadResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_URL = "url"; + private String url; + + public SyntheticsTestFileDownloadResponse url(String url) { + this.url = url; + return this; + } + + /** + * A presigned URL to download the file. The URL expires after a short period. + * + * @return url + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_URL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + /** + * 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 SyntheticsTestFileDownloadResponse + */ + @JsonAnySetter + public SyntheticsTestFileDownloadResponse 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 SyntheticsTestFileDownloadResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileDownloadResponse syntheticsTestFileDownloadResponse = + (SyntheticsTestFileDownloadResponse) o; + return Objects.equals(this.url, syntheticsTestFileDownloadResponse.url) + && Objects.equals( + this.additionalProperties, syntheticsTestFileDownloadResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(url, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileDownloadResponse {\n"); + sb.append(" url: ").append(toIndentedString(url)).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/SyntheticsTestFileMultipartPresignedUrlsParams.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsParams.java new file mode 100644 index 00000000000..be947e23206 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsParams.java @@ -0,0 +1,203 @@ +/* + * 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; + +/** Presigned URL parameters returned for a multipart upload. */ +@JsonPropertyOrder({ + SyntheticsTestFileMultipartPresignedUrlsParams.JSON_PROPERTY_KEY, + SyntheticsTestFileMultipartPresignedUrlsParams.JSON_PROPERTY_UPLOAD_ID, + SyntheticsTestFileMultipartPresignedUrlsParams.JSON_PROPERTY_URLS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileMultipartPresignedUrlsParams { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_KEY = "key"; + private String key; + + public static final String JSON_PROPERTY_UPLOAD_ID = "upload_id"; + private String uploadId; + + public static final String JSON_PROPERTY_URLS = "urls"; + private Map urls = null; + + public SyntheticsTestFileMultipartPresignedUrlsParams key(String key) { + this.key = key; + return this; + } + + /** + * The full storage path for the file being uploaded. + * + * @return key + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_KEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public SyntheticsTestFileMultipartPresignedUrlsParams uploadId(String uploadId) { + this.uploadId = uploadId; + return this; + } + + /** + * The upload ID assigned by the storage provider for this multipart upload. + * + * @return uploadId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_UPLOAD_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getUploadId() { + return uploadId; + } + + public void setUploadId(String uploadId) { + this.uploadId = uploadId; + } + + public SyntheticsTestFileMultipartPresignedUrlsParams urls(Map urls) { + this.urls = urls; + return this; + } + + public SyntheticsTestFileMultipartPresignedUrlsParams putUrlsItem(String key, String urlsItem) { + if (this.urls == null) { + this.urls = new HashMap<>(); + } + this.urls.put(key, urlsItem); + return this; + } + + /** + * A map of part numbers to presigned upload URLs. + * + * @return urls + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_URLS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getUrls() { + return urls; + } + + public void setUrls(Map urls) { + this.urls = urls; + } + + /** + * 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 SyntheticsTestFileMultipartPresignedUrlsParams + */ + @JsonAnySetter + public SyntheticsTestFileMultipartPresignedUrlsParams 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 SyntheticsTestFileMultipartPresignedUrlsParams object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileMultipartPresignedUrlsParams syntheticsTestFileMultipartPresignedUrlsParams = + (SyntheticsTestFileMultipartPresignedUrlsParams) o; + return Objects.equals(this.key, syntheticsTestFileMultipartPresignedUrlsParams.key) + && Objects.equals(this.uploadId, syntheticsTestFileMultipartPresignedUrlsParams.uploadId) + && Objects.equals(this.urls, syntheticsTestFileMultipartPresignedUrlsParams.urls) + && Objects.equals( + this.additionalProperties, + syntheticsTestFileMultipartPresignedUrlsParams.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(key, uploadId, urls, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileMultipartPresignedUrlsParams {\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" uploadId: ").append(toIndentedString(uploadId)).append("\n"); + sb.append(" urls: ").append(toIndentedString(urls)).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/SyntheticsTestFileMultipartPresignedUrlsPart.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsPart.java new file mode 100644 index 00000000000..ac5f825fd1e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsPart.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; + +/** A part descriptor for initiating a multipart upload. */ +@JsonPropertyOrder({ + SyntheticsTestFileMultipartPresignedUrlsPart.JSON_PROPERTY_MD5, + SyntheticsTestFileMultipartPresignedUrlsPart.JSON_PROPERTY_PART_NUMBER +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileMultipartPresignedUrlsPart { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_MD5 = "md5"; + private String md5; + + public static final String JSON_PROPERTY_PART_NUMBER = "partNumber"; + private Long partNumber; + + public SyntheticsTestFileMultipartPresignedUrlsPart() {} + + @JsonCreator + public SyntheticsTestFileMultipartPresignedUrlsPart( + @JsonProperty(required = true, value = JSON_PROPERTY_MD5) String md5, + @JsonProperty(required = true, value = JSON_PROPERTY_PART_NUMBER) Long partNumber) { + this.md5 = md5; + this.partNumber = partNumber; + } + + public SyntheticsTestFileMultipartPresignedUrlsPart md5(String md5) { + this.md5 = md5; + return this; + } + + /** + * Base64-encoded MD5 digest of the part content. + * + * @return md5 + */ + @JsonProperty(JSON_PROPERTY_MD5) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getMd5() { + return md5; + } + + public void setMd5(String md5) { + this.md5 = md5; + } + + public SyntheticsTestFileMultipartPresignedUrlsPart partNumber(Long partNumber) { + this.partNumber = partNumber; + return this; + } + + /** + * The 1-indexed part number for the multipart upload. + * + * @return partNumber + */ + @JsonProperty(JSON_PROPERTY_PART_NUMBER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Long getPartNumber() { + return partNumber; + } + + public void setPartNumber(Long partNumber) { + this.partNumber = partNumber; + } + + /** + * 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 SyntheticsTestFileMultipartPresignedUrlsPart + */ + @JsonAnySetter + public SyntheticsTestFileMultipartPresignedUrlsPart 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 SyntheticsTestFileMultipartPresignedUrlsPart object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileMultipartPresignedUrlsPart syntheticsTestFileMultipartPresignedUrlsPart = + (SyntheticsTestFileMultipartPresignedUrlsPart) o; + return Objects.equals(this.md5, syntheticsTestFileMultipartPresignedUrlsPart.md5) + && Objects.equals(this.partNumber, syntheticsTestFileMultipartPresignedUrlsPart.partNumber) + && Objects.equals( + this.additionalProperties, + syntheticsTestFileMultipartPresignedUrlsPart.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(md5, partNumber, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileMultipartPresignedUrlsPart {\n"); + sb.append(" md5: ").append(toIndentedString(md5)).append("\n"); + sb.append(" partNumber: ").append(toIndentedString(partNumber)).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/SyntheticsTestFileMultipartPresignedUrlsRequest.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsRequest.java new file mode 100644 index 00000000000..8ba9cd00cde --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsRequest.java @@ -0,0 +1,201 @@ +/* + * 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; + +/** Request body for getting presigned URLs for a multipart file upload. */ +@JsonPropertyOrder({ + SyntheticsTestFileMultipartPresignedUrlsRequest.JSON_PROPERTY_BUCKET_KEY_PREFIX, + SyntheticsTestFileMultipartPresignedUrlsRequest.JSON_PROPERTY_PARTS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileMultipartPresignedUrlsRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUCKET_KEY_PREFIX = "bucketKeyPrefix"; + private SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix bucketKeyPrefix; + + public static final String JSON_PROPERTY_PARTS = "parts"; + private List parts = new ArrayList<>(); + + public SyntheticsTestFileMultipartPresignedUrlsRequest() {} + + @JsonCreator + public SyntheticsTestFileMultipartPresignedUrlsRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_BUCKET_KEY_PREFIX) + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix bucketKeyPrefix, + @JsonProperty(required = true, value = JSON_PROPERTY_PARTS) + List parts) { + this.bucketKeyPrefix = bucketKeyPrefix; + this.unparsed |= !bucketKeyPrefix.isValid(); + this.parts = parts; + } + + public SyntheticsTestFileMultipartPresignedUrlsRequest bucketKeyPrefix( + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix bucketKeyPrefix) { + this.bucketKeyPrefix = bucketKeyPrefix; + this.unparsed |= !bucketKeyPrefix.isValid(); + return this; + } + + /** + * The bucket key prefix indicating the type of file upload. + * + * @return bucketKeyPrefix + */ + @JsonProperty(JSON_PROPERTY_BUCKET_KEY_PREFIX) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix getBucketKeyPrefix() { + return bucketKeyPrefix; + } + + public void setBucketKeyPrefix( + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix bucketKeyPrefix) { + if (!bucketKeyPrefix.isValid()) { + this.unparsed = true; + } + this.bucketKeyPrefix = bucketKeyPrefix; + } + + public SyntheticsTestFileMultipartPresignedUrlsRequest parts( + List parts) { + this.parts = parts; + for (SyntheticsTestFileMultipartPresignedUrlsPart item : parts) { + this.unparsed |= item.unparsed; + } + return this; + } + + public SyntheticsTestFileMultipartPresignedUrlsRequest addPartsItem( + SyntheticsTestFileMultipartPresignedUrlsPart partsItem) { + this.parts.add(partsItem); + this.unparsed |= partsItem.unparsed; + return this; + } + + /** + * Array of part descriptors for the multipart upload. + * + * @return parts + */ + @JsonProperty(JSON_PROPERTY_PARTS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getParts() { + return parts; + } + + public void setParts(List parts) { + this.parts = parts; + } + + /** + * 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 SyntheticsTestFileMultipartPresignedUrlsRequest + */ + @JsonAnySetter + public SyntheticsTestFileMultipartPresignedUrlsRequest 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 SyntheticsTestFileMultipartPresignedUrlsRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileMultipartPresignedUrlsRequest + syntheticsTestFileMultipartPresignedUrlsRequest = + (SyntheticsTestFileMultipartPresignedUrlsRequest) o; + return Objects.equals( + this.bucketKeyPrefix, syntheticsTestFileMultipartPresignedUrlsRequest.bucketKeyPrefix) + && Objects.equals(this.parts, syntheticsTestFileMultipartPresignedUrlsRequest.parts) + && Objects.equals( + this.additionalProperties, + syntheticsTestFileMultipartPresignedUrlsRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(bucketKeyPrefix, parts, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileMultipartPresignedUrlsRequest {\n"); + sb.append(" bucketKeyPrefix: ").append(toIndentedString(bucketKeyPrefix)).append("\n"); + sb.append(" parts: ").append(toIndentedString(parts)).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/SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix.java new file mode 100644 index 00000000000..80f9e93674f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix.java @@ -0,0 +1,70 @@ +/* + * 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; + +/** The bucket key prefix indicating the type of file upload. */ +@JsonSerialize( + using = + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix + .SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefixSerializer.class) +public class SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix + extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("api-upload-file", "browser-upload-file-step")); + + public static final SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix + API_UPLOAD_FILE = + new SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix("api-upload-file"); + public static final SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix + BROWSER_UPLOAD_FILE_STEP = + new SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix( + "browser-upload-file-step"); + + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix(String value) { + super(value, allowedValues); + } + + public static class SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefixSerializer + extends StdSerializer { + public SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefixSerializer( + Class t) { + super(t); + } + + public SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefixSerializer() { + this(null); + } + + @Override + public void serialize( + SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix fromValue( + String value) { + return new SyntheticsTestFileMultipartPresignedUrlsRequestBucketKeyPrefix(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsResponse.java b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsResponse.java new file mode 100644 index 00000000000..9e93e52990f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SyntheticsTestFileMultipartPresignedUrlsResponse.java @@ -0,0 +1,178 @@ +/* + * 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; + +/** Response containing presigned URLs for multipart file upload and the bucket key. */ +@JsonPropertyOrder({ + SyntheticsTestFileMultipartPresignedUrlsResponse.JSON_PROPERTY_BUCKET_KEY, + SyntheticsTestFileMultipartPresignedUrlsResponse.JSON_PROPERTY_MULTIPART_PRESIGNED_URLS_PARAMS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SyntheticsTestFileMultipartPresignedUrlsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_BUCKET_KEY = "bucketKey"; + private String bucketKey; + + public static final String JSON_PROPERTY_MULTIPART_PRESIGNED_URLS_PARAMS = + "multipart_presigned_urls_params"; + private SyntheticsTestFileMultipartPresignedUrlsParams multipartPresignedUrlsParams; + + public SyntheticsTestFileMultipartPresignedUrlsResponse bucketKey(String bucketKey) { + this.bucketKey = bucketKey; + return this; + } + + /** + * The bucket key that references the uploaded file after completion. + * + * @return bucketKey + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_BUCKET_KEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getBucketKey() { + return bucketKey; + } + + public void setBucketKey(String bucketKey) { + this.bucketKey = bucketKey; + } + + public SyntheticsTestFileMultipartPresignedUrlsResponse multipartPresignedUrlsParams( + SyntheticsTestFileMultipartPresignedUrlsParams multipartPresignedUrlsParams) { + this.multipartPresignedUrlsParams = multipartPresignedUrlsParams; + this.unparsed |= multipartPresignedUrlsParams.unparsed; + return this; + } + + /** + * Presigned URL parameters returned for a multipart upload. + * + * @return multipartPresignedUrlsParams + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_MULTIPART_PRESIGNED_URLS_PARAMS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SyntheticsTestFileMultipartPresignedUrlsParams getMultipartPresignedUrlsParams() { + return multipartPresignedUrlsParams; + } + + public void setMultipartPresignedUrlsParams( + SyntheticsTestFileMultipartPresignedUrlsParams multipartPresignedUrlsParams) { + this.multipartPresignedUrlsParams = multipartPresignedUrlsParams; + } + + /** + * 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 SyntheticsTestFileMultipartPresignedUrlsResponse + */ + @JsonAnySetter + public SyntheticsTestFileMultipartPresignedUrlsResponse 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 SyntheticsTestFileMultipartPresignedUrlsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyntheticsTestFileMultipartPresignedUrlsResponse + syntheticsTestFileMultipartPresignedUrlsResponse = + (SyntheticsTestFileMultipartPresignedUrlsResponse) o; + return Objects.equals( + this.bucketKey, syntheticsTestFileMultipartPresignedUrlsResponse.bucketKey) + && Objects.equals( + this.multipartPresignedUrlsParams, + syntheticsTestFileMultipartPresignedUrlsResponse.multipartPresignedUrlsParams) + && Objects.equals( + this.additionalProperties, + syntheticsTestFileMultipartPresignedUrlsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(bucketKey, multipartPresignedUrlsParams, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SyntheticsTestFileMultipartPresignedUrlsResponse {\n"); + sb.append(" bucketKey: ").append(toIndentedString(bucketKey)).append("\n"); + sb.append(" multipartPresignedUrlsParams: ") + .append(toIndentedString(multipartPresignedUrlsParams)) + .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/test/resources/com/datadog/api/client/v2/api/synthetics.feature b/src/test/resources/com/datadog/api/client/v2/api/synthetics.feature index 8ed9b98adf4..2cdf9231fbc 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 @@ -17,6 +17,22 @@ Feature: Synthetics And a valid "appKeyAuth" key in the system And an instance of "Synthetics" API + @generated @skip @team:DataDog/synthetics-managing + Scenario: Abort a multipart upload of a test file returns "API error response." response + Given new "AbortTestFileMultipartUpload" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"key": "org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json", "uploadId": "upload-id-abc123"} + When the request is sent + Then the response status is 404 API error response. + + @generated @skip @team:DataDog/synthetics-managing + Scenario: Abort a multipart upload of a test file returns "No Content" response + Given new "AbortTestFileMultipartUpload" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"key": "org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json", "uploadId": "upload-id-abc123"} + When the request is sent + Then the response status is 204 No Content + @generated @skip @team:DataDog/synthetics-managing Scenario: Bulk delete suites returns "API error response." response Given new "DeleteSyntheticsSuites" request @@ -45,6 +61,22 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/synthetics-managing + Scenario: Complete a multipart upload of a test file returns "API error response." response + Given new "CompleteTestFileMultipartUpload" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"key": "org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json", "parts": [{"ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"", "PartNumber": 1}], "uploadId": "upload-id-abc123"} + When the request is sent + Then the response status is 404 API error response. + + @generated @skip @team:DataDog/synthetics-managing + Scenario: Complete a multipart upload of a test file returns "No Content" response + Given new "CompleteTestFileMultipartUpload" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"key": "org-123/api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json", "parts": [{"ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"", "PartNumber": 1}], "uploadId": "upload-id-abc123"} + When the request is sent + Then the response status is 204 No Content + @generated @skip @team:DataDog/synthetics-managing Scenario: Create a Network Path test returns "API error response." response Given new "CreateSyntheticsNetworkTest" request @@ -133,6 +165,22 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/synthetics-managing + Scenario: Get a presigned URL for downloading a test file returns "API error response." response + Given new "GetTestFileDownloadUrl" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"bucketKey": "api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json"} + When the request is sent + Then the response status is 404 API error response. + + @generated @skip @team:DataDog/synthetics-managing + Scenario: Get a presigned URL for downloading a test file returns "OK" response + Given new "GetTestFileDownloadUrl" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"bucketKey": "api-upload-file/abc-def-123/2024-01-01T00:00:00_uuid.json"} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/synthetics-managing Scenario: Get a specific version of a test returns "API error response." response Given new "GetSyntheticsTestVersion" request @@ -198,6 +246,22 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK + @generated @skip @team:DataDog/synthetics-managing + Scenario: Get presigned URLs for uploading a test file returns "API error response." response + Given new "GetTestFileMultipartPresignedUrls" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"bucketKeyPrefix": "api-upload-file", "parts": [{"md5": "1B2M2Y8AsgTpgAmY7PhCfg==", "partNumber": 1}]} + When the request is sent + Then the response status is 404 API error response. + + @generated @skip @team:DataDog/synthetics-managing + Scenario: Get presigned URLs for uploading a test file returns "OK" response + Given new "GetTestFileMultipartPresignedUrls" request + And request contains "public_id" parameter from "REPLACE.ME" + And body with value {"bucketKeyPrefix": "api-upload-file", "parts": [{"md5": "1B2M2Y8AsgTpgAmY7PhCfg==", "partNumber": 1}]} + When the request is sent + Then the response status is 200 OK + @team:DataDog/synthetics-managing Scenario: Get the on-demand concurrency cap returns "OK" response Given new "GetOnDemandConcurrencyCap" request 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 dcdc0219f9c..29b9dc1ab27 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 @@ -5913,6 +5913,30 @@ "type": "idempotent" } }, + "GetTestFileDownloadUrl": { + "tag": "Synthetics", + "undo": { + "type": "safe" + } + }, + "GetTestFileMultipartPresignedUrls": { + "tag": "Synthetics", + "undo": { + "type": "safe" + } + }, + "AbortTestFileMultipartUpload": { + "tag": "Synthetics", + "undo": { + "type": "safe" + } + }, + "CompleteTestFileMultipartUpload": { + "tag": "Synthetics", + "undo": { + "type": "safe" + } + }, "GetTestParentSuites": { "tag": "Synthetics", "undo": {