diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 1a7913bf33d..f455995f057 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -25944,6 +25944,171 @@ components: - type - value type: object + HamrOrgConnectionAttributesRequest: + properties: + hamr_status: + $ref: '#/components/schemas/HamrOrgConnectionStatus' + is_primary: + description: 'Indicates whether this organization is the primary organization + in the HAMR relationship. + + If true, this is the primary organization. If false, this is the secondary/backup + organization.' + example: true + type: boolean + modified_by: + description: Username or identifier of the user who last modified this HAMR + connection. + example: admin@example.com + type: string + target_org_datacenter: + description: Datacenter location of the target organization (e.g., us1, + eu1, us5). + example: us1 + type: string + target_org_name: + description: Name of the target organization in the HAMR relationship. + example: Production Backup Org + type: string + target_org_uuid: + description: UUID of the target organization in the HAMR relationship. + example: 660f9511-f3ac-52e5-b827-557766551111 + type: string + required: + - target_org_uuid + - target_org_name + - target_org_datacenter + - hamr_status + - is_primary + - modified_by + type: object + HamrOrgConnectionAttributesResponse: + properties: + hamr_status: + $ref: '#/components/schemas/HamrOrgConnectionStatus' + is_primary: + description: 'Indicates whether this organization is the primary organization + in the HAMR relationship. + + If true, this is the primary organization. If false, this is the secondary/backup + organization.' + example: true + type: boolean + modified_at: + description: Timestamp of when this HAMR connection was last modified (RFC3339 + format). + example: '2026-01-13T17:26:48.830968Z' + type: string + modified_by: + description: Username or identifier of the user who last modified this HAMR + connection. + example: admin@example.com + type: string + target_org_datacenter: + description: Datacenter location of the target organization (e.g., us1, + eu1, us5). + example: us1 + type: string + target_org_name: + description: Name of the target organization in the HAMR relationship. + example: Production Backup Org + type: string + target_org_uuid: + description: UUID of the target organization in the HAMR relationship. + example: 660f9511-f3ac-52e5-b827-557766551111 + type: string + required: + - target_org_uuid + - target_org_name + - target_org_datacenter + - hamr_status + - is_primary + - modified_at + - modified_by + type: object + HamrOrgConnectionDataRequest: + properties: + attributes: + $ref: '#/components/schemas/HamrOrgConnectionAttributesRequest' + id: + description: The organization UUID for this HAMR connection. Must match + the authenticated organization's UUID. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + type: + $ref: '#/components/schemas/HamrOrgConnectionType' + required: + - id + - type + - attributes + type: object + HamrOrgConnectionDataResponse: + properties: + attributes: + $ref: '#/components/schemas/HamrOrgConnectionAttributesResponse' + id: + description: The organization UUID for this HAMR connection. + example: 550e8400-e29b-41d4-a716-446655440000 + type: string + type: + $ref: '#/components/schemas/HamrOrgConnectionType' + required: + - id + - type + - attributes + type: object + HamrOrgConnectionRequest: + properties: + data: + $ref: '#/components/schemas/HamrOrgConnectionDataRequest' + required: + - data + type: object + HamrOrgConnectionResponse: + properties: + data: + $ref: '#/components/schemas/HamrOrgConnectionDataResponse' + required: + - data + type: object + HamrOrgConnectionStatus: + description: 'Status of the HAMR connection: + + - 0: UNSPECIFIED - Connection status not specified + + - 1: ONBOARDING - Initial setup of HAMR connection + + - 2: PASSIVE - Secondary organization in passive standby mode + + - 3: FAILOVER - Liminal status between PASSIVE and ACTIVE + + - 4: ACTIVE - Organization is an active failover + + - 5: RECOVERY - Recovery operation in progress' + enum: + - 0 + - 1 + - 2 + - 3 + - 4 + - 5 + example: 4 + type: integer + x-enum-varnames: + - UNSPECIFIED + - ONBOARDING + - PASSIVE + - FAILOVER + - ACTIVE + - RECOVERY + HamrOrgConnectionType: + description: Type of the HAMR organization connection resource. + enum: + - hamr_org_connections + example: hamr_org_connections + type: string + x-enum-varnames: + - HAMR_ORG_CONNECTIONS HourlyUsage: description: Hourly usage for a product family for an org. properties: @@ -71684,6 +71849,105 @@ paths: operator: OR permissions: - events_read + /api/v2/hamr: + get: + description: 'Retrieve the High Availability Multi-Region (HAMR) organization + connection details for the authenticated organization. + + This endpoint returns information about the HAMR connection configuration, + including the target organization, + + datacenter, status, and whether this is the primary or secondary organization + in the HAMR relationship.' + operationId: GetHamrOrgConnection + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/HamrOrgConnectionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Get HAMR organization connection + tags: + - High Availability MultiRegion + x-unstable: '**Note**: This endpoint is in public beta and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + post: + description: 'Create or update the High Availability Multi-Region (HAMR) organization + connection. + + This endpoint allows you to configure the HAMR connection between the authenticated + organization + + and a target organization, including setting the connection status (ONBOARDING, + PASSIVE, FAILOVER, ACTIVE, RECOVERY)' + operationId: CreateHamrOrgConnection + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/HamrOrgConnectionRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/HamrOrgConnectionResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '403': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Forbidden + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + '500': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Internal Server Error + security: + - apiKeyAuth: [] + appKeyAuth: [] + summary: Create or update HAMR organization connection + tags: + - High Availability MultiRegion + x-unstable: '**Note**: This endpoint is in public beta and is subject to change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/incidents: get: description: Get all incidents for the user's organization. @@ -94022,6 +94286,14 @@ tags: externalDocs: url: https://docs.datadoghq.com/integrations/google_cloud_platform name: GCP Integration +- description: 'Configure High Availability Multi-Region (HAMR) connections between + Datadog organizations. + + HAMR provides disaster recovery capabilities by maintaining synchronized data + between primary + + and secondary organizations across different datacenters.' + name: High Availability MultiRegion - description: 'The IP allowlist API is used to manage the IP addresses that can access the Datadog API and web UI. It does not block diff --git a/examples/v2/high-availability-multiregion/CreateHamrOrgConnection.java b/examples/v2/high-availability-multiregion/CreateHamrOrgConnection.java new file mode 100644 index 00000000000..b16233d72a7 --- /dev/null +++ b/examples/v2/high-availability-multiregion/CreateHamrOrgConnection.java @@ -0,0 +1,46 @@ +// Create or update HAMR organization connection returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.HighAvailabilityMultiRegionApi; +import com.datadog.api.client.v2.model.HamrOrgConnectionAttributesRequest; +import com.datadog.api.client.v2.model.HamrOrgConnectionDataRequest; +import com.datadog.api.client.v2.model.HamrOrgConnectionRequest; +import com.datadog.api.client.v2.model.HamrOrgConnectionResponse; +import com.datadog.api.client.v2.model.HamrOrgConnectionStatus; +import com.datadog.api.client.v2.model.HamrOrgConnectionType; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.createHamrOrgConnection", true); + HighAvailabilityMultiRegionApi apiInstance = new HighAvailabilityMultiRegionApi(defaultClient); + + HamrOrgConnectionRequest body = + new HamrOrgConnectionRequest() + .data( + new HamrOrgConnectionDataRequest() + .attributes( + new HamrOrgConnectionAttributesRequest() + .hamrStatus(HamrOrgConnectionStatus.ACTIVE) + .isPrimary(true) + .modifiedBy("admin@example.com") + .targetOrgDatacenter("us1") + .targetOrgName("Production Backup Org") + .targetOrgUuid("660f9511-f3ac-52e5-b827-557766551111")) + .id("550e8400-e29b-41d4-a716-446655440000") + .type(HamrOrgConnectionType.HAMR_ORG_CONNECTIONS)); + + try { + HamrOrgConnectionResponse result = apiInstance.createHamrOrgConnection(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling HighAvailabilityMultiRegionApi#createHamrOrgConnection"); + 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/high-availability-multiregion/GetHamrOrgConnection.java b/examples/v2/high-availability-multiregion/GetHamrOrgConnection.java new file mode 100644 index 00000000000..fef82c99a26 --- /dev/null +++ b/examples/v2/high-availability-multiregion/GetHamrOrgConnection.java @@ -0,0 +1,26 @@ +// Get HAMR organization connection returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.HighAvailabilityMultiRegionApi; +import com.datadog.api.client.v2.model.HamrOrgConnectionResponse; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.getHamrOrgConnection", true); + HighAvailabilityMultiRegionApi apiInstance = new HighAvailabilityMultiRegionApi(defaultClient); + + try { + HamrOrgConnectionResponse result = apiInstance.getHamrOrgConnection(); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling HighAvailabilityMultiRegionApi#getHamrOrgConnection"); + 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/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java index e2c4bb2bac2..5c25d9425fa 100644 --- a/src/main/java/com/datadog/api/client/ApiClient.java +++ b/src/main/java/com/datadog/api/client/ApiClient.java @@ -815,6 +815,8 @@ public class ApiClient { put("v2.getDeploymentRule", false); put("v2.updateDeploymentGate", false); put("v2.updateDeploymentRule", false); + put("v2.createHamrOrgConnection", false); + put("v2.getHamrOrgConnection", false); put("v2.createIncident", false); put("v2.createIncidentAttachment", false); put("v2.createIncidentIntegration", false); diff --git a/src/main/java/com/datadog/api/client/v2/api/HighAvailabilityMultiRegionApi.java b/src/main/java/com/datadog/api/client/v2/api/HighAvailabilityMultiRegionApi.java new file mode 100644 index 00000000000..3294d24df22 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/api/HighAvailabilityMultiRegionApi.java @@ -0,0 +1,333 @@ +package com.datadog.api.client.v2.api; + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.ApiResponse; +import com.datadog.api.client.Pair; +import com.datadog.api.client.v2.model.HamrOrgConnectionRequest; +import com.datadog.api.client.v2.model.HamrOrgConnectionResponse; +import jakarta.ws.rs.client.Invocation; +import jakarta.ws.rs.core.GenericType; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CompletableFuture; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class HighAvailabilityMultiRegionApi { + private ApiClient apiClient; + + public HighAvailabilityMultiRegionApi() { + this(ApiClient.getDefaultApiClient()); + } + + public HighAvailabilityMultiRegionApi(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Get the API client. + * + * @return API client + */ + public ApiClient getApiClient() { + return apiClient; + } + + /** + * Set the API client. + * + * @param apiClient an instance of API client + */ + public void setApiClient(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Create or update HAMR organization connection. + * + *

See {@link #createHamrOrgConnectionWithHttpInfo}. + * + * @param body (required) + * @return HamrOrgConnectionResponse + * @throws ApiException if fails to make API call + */ + public HamrOrgConnectionResponse createHamrOrgConnection(HamrOrgConnectionRequest body) + throws ApiException { + return createHamrOrgConnectionWithHttpInfo(body).getData(); + } + + /** + * Create or update HAMR organization connection. + * + *

See {@link #createHamrOrgConnectionWithHttpInfoAsync}. + * + * @param body (required) + * @return CompletableFuture<HamrOrgConnectionResponse> + */ + public CompletableFuture createHamrOrgConnectionAsync( + HamrOrgConnectionRequest body) { + return createHamrOrgConnectionWithHttpInfoAsync(body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Create or update the High Availability Multi-Region (HAMR) organization connection. This + * endpoint allows you to configure the HAMR connection between the authenticated organization and + * a target organization, including setting the connection status (ONBOARDING, PASSIVE, FAILOVER, + * ACTIVE, RECOVERY) + * + * @param body (required) + * @return ApiResponse<HamrOrgConnectionResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
429 Too many requests -
500 Internal Server Error -
+ */ + public ApiResponse createHamrOrgConnectionWithHttpInfo( + HamrOrgConnectionRequest body) throws ApiException { + // Check if unstable operation is enabled + String operationId = "createHamrOrgConnection"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling createHamrOrgConnection"); + } + // create path and map variables + String localVarPath = "/api/v2/hamr"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.HighAvailabilityMultiRegionApi.createHamrOrgConnection", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Create or update HAMR organization connection. + * + *

See {@link #createHamrOrgConnectionWithHttpInfo}. + * + * @param body (required) + * @return CompletableFuture<ApiResponse<HamrOrgConnectionResponse>> + */ + public CompletableFuture> + createHamrOrgConnectionWithHttpInfoAsync(HamrOrgConnectionRequest body) { + // Check if unstable operation is enabled + String operationId = "createHamrOrgConnection"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'body' when calling createHamrOrgConnection")); + return result; + } + // create path and map variables + String localVarPath = "/api/v2/hamr"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.HighAvailabilityMultiRegionApi.createHamrOrgConnection", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } 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 HAMR organization connection. + * + *

See {@link #getHamrOrgConnectionWithHttpInfo}. + * + * @return HamrOrgConnectionResponse + * @throws ApiException if fails to make API call + */ + public HamrOrgConnectionResponse getHamrOrgConnection() throws ApiException { + return getHamrOrgConnectionWithHttpInfo().getData(); + } + + /** + * Get HAMR organization connection. + * + *

See {@link #getHamrOrgConnectionWithHttpInfoAsync}. + * + * @return CompletableFuture<HamrOrgConnectionResponse> + */ + public CompletableFuture getHamrOrgConnectionAsync() { + return getHamrOrgConnectionWithHttpInfoAsync() + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Retrieve the High Availability Multi-Region (HAMR) organization connection details for the + * authenticated organization. This endpoint returns information about the HAMR connection + * configuration, including the target organization, datacenter, status, and whether this is the + * primary or secondary organization in the HAMR relationship. + * + * @return ApiResponse<HamrOrgConnectionResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse getHamrOrgConnectionWithHttpInfo() + throws ApiException { + // Check if unstable operation is enabled + String operationId = "getHamrOrgConnection"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/hamr"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.HighAvailabilityMultiRegionApi.getHamrOrgConnection", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get HAMR organization connection. + * + *

See {@link #getHamrOrgConnectionWithHttpInfo}. + * + * @return CompletableFuture<ApiResponse<HamrOrgConnectionResponse>> + */ + public CompletableFuture> + getHamrOrgConnectionWithHttpInfoAsync() { + // Check if unstable operation is enabled + String operationId = "getHamrOrgConnection"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/hamr"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.HighAvailabilityMultiRegionApi.getHamrOrgConnection", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionAttributesRequest.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionAttributesRequest.java new file mode 100644 index 00000000000..e1e24db1f31 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionAttributesRequest.java @@ -0,0 +1,308 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + HamrOrgConnectionAttributesRequest.JSON_PROPERTY_HAMR_STATUS, + HamrOrgConnectionAttributesRequest.JSON_PROPERTY_IS_PRIMARY, + HamrOrgConnectionAttributesRequest.JSON_PROPERTY_MODIFIED_BY, + HamrOrgConnectionAttributesRequest.JSON_PROPERTY_TARGET_ORG_DATACENTER, + HamrOrgConnectionAttributesRequest.JSON_PROPERTY_TARGET_ORG_NAME, + HamrOrgConnectionAttributesRequest.JSON_PROPERTY_TARGET_ORG_UUID +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class HamrOrgConnectionAttributesRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_HAMR_STATUS = "hamr_status"; + private HamrOrgConnectionStatus hamrStatus; + + public static final String JSON_PROPERTY_IS_PRIMARY = "is_primary"; + private Boolean isPrimary; + + public static final String JSON_PROPERTY_MODIFIED_BY = "modified_by"; + private String modifiedBy; + + public static final String JSON_PROPERTY_TARGET_ORG_DATACENTER = "target_org_datacenter"; + private String targetOrgDatacenter; + + public static final String JSON_PROPERTY_TARGET_ORG_NAME = "target_org_name"; + private String targetOrgName; + + public static final String JSON_PROPERTY_TARGET_ORG_UUID = "target_org_uuid"; + private String targetOrgUuid; + + public HamrOrgConnectionAttributesRequest() {} + + @JsonCreator + public HamrOrgConnectionAttributesRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_HAMR_STATUS) + HamrOrgConnectionStatus hamrStatus, + @JsonProperty(required = true, value = JSON_PROPERTY_IS_PRIMARY) Boolean isPrimary, + @JsonProperty(required = true, value = JSON_PROPERTY_MODIFIED_BY) String modifiedBy, + @JsonProperty(required = true, value = JSON_PROPERTY_TARGET_ORG_DATACENTER) + String targetOrgDatacenter, + @JsonProperty(required = true, value = JSON_PROPERTY_TARGET_ORG_NAME) String targetOrgName, + @JsonProperty(required = true, value = JSON_PROPERTY_TARGET_ORG_UUID) String targetOrgUuid) { + this.hamrStatus = hamrStatus; + this.unparsed |= !hamrStatus.isValid(); + this.isPrimary = isPrimary; + this.modifiedBy = modifiedBy; + this.targetOrgDatacenter = targetOrgDatacenter; + this.targetOrgName = targetOrgName; + this.targetOrgUuid = targetOrgUuid; + } + + public HamrOrgConnectionAttributesRequest hamrStatus(HamrOrgConnectionStatus hamrStatus) { + this.hamrStatus = hamrStatus; + this.unparsed |= !hamrStatus.isValid(); + return this; + } + + /** + * Status of the HAMR connection: - 0: UNSPECIFIED - Connection status not specified - 1: + * ONBOARDING - Initial setup of HAMR connection - 2: PASSIVE - Secondary organization in passive + * standby mode - 3: FAILOVER - Liminal status between PASSIVE and ACTIVE - 4: ACTIVE - + * Organization is an active failover - 5: RECOVERY - Recovery operation in progress + * + * @return hamrStatus + */ + @JsonProperty(JSON_PROPERTY_HAMR_STATUS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionStatus getHamrStatus() { + return hamrStatus; + } + + public void setHamrStatus(HamrOrgConnectionStatus hamrStatus) { + if (!hamrStatus.isValid()) { + this.unparsed = true; + } + this.hamrStatus = hamrStatus; + } + + public HamrOrgConnectionAttributesRequest isPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + return this; + } + + /** + * Indicates whether this organization is the primary organization in the HAMR relationship. If + * true, this is the primary organization. If false, this is the secondary/backup organization. + * + * @return isPrimary + */ + @JsonProperty(JSON_PROPERTY_IS_PRIMARY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Boolean getIsPrimary() { + return isPrimary; + } + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + public HamrOrgConnectionAttributesRequest modifiedBy(String modifiedBy) { + this.modifiedBy = modifiedBy; + return this; + } + + /** + * Username or identifier of the user who last modified this HAMR connection. + * + * @return modifiedBy + */ + @JsonProperty(JSON_PROPERTY_MODIFIED_BY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getModifiedBy() { + return modifiedBy; + } + + public void setModifiedBy(String modifiedBy) { + this.modifiedBy = modifiedBy; + } + + public HamrOrgConnectionAttributesRequest targetOrgDatacenter(String targetOrgDatacenter) { + this.targetOrgDatacenter = targetOrgDatacenter; + return this; + } + + /** + * Datacenter location of the target organization (e.g., us1, eu1, us5). + * + * @return targetOrgDatacenter + */ + @JsonProperty(JSON_PROPERTY_TARGET_ORG_DATACENTER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTargetOrgDatacenter() { + return targetOrgDatacenter; + } + + public void setTargetOrgDatacenter(String targetOrgDatacenter) { + this.targetOrgDatacenter = targetOrgDatacenter; + } + + public HamrOrgConnectionAttributesRequest targetOrgName(String targetOrgName) { + this.targetOrgName = targetOrgName; + return this; + } + + /** + * Name of the target organization in the HAMR relationship. + * + * @return targetOrgName + */ + @JsonProperty(JSON_PROPERTY_TARGET_ORG_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTargetOrgName() { + return targetOrgName; + } + + public void setTargetOrgName(String targetOrgName) { + this.targetOrgName = targetOrgName; + } + + public HamrOrgConnectionAttributesRequest targetOrgUuid(String targetOrgUuid) { + this.targetOrgUuid = targetOrgUuid; + return this; + } + + /** + * UUID of the target organization in the HAMR relationship. + * + * @return targetOrgUuid + */ + @JsonProperty(JSON_PROPERTY_TARGET_ORG_UUID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTargetOrgUuid() { + return targetOrgUuid; + } + + public void setTargetOrgUuid(String targetOrgUuid) { + this.targetOrgUuid = targetOrgUuid; + } + + /** + * 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 HamrOrgConnectionAttributesRequest + */ + @JsonAnySetter + public HamrOrgConnectionAttributesRequest 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 HamrOrgConnectionAttributesRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HamrOrgConnectionAttributesRequest hamrOrgConnectionAttributesRequest = + (HamrOrgConnectionAttributesRequest) o; + return Objects.equals(this.hamrStatus, hamrOrgConnectionAttributesRequest.hamrStatus) + && Objects.equals(this.isPrimary, hamrOrgConnectionAttributesRequest.isPrimary) + && Objects.equals(this.modifiedBy, hamrOrgConnectionAttributesRequest.modifiedBy) + && Objects.equals( + this.targetOrgDatacenter, hamrOrgConnectionAttributesRequest.targetOrgDatacenter) + && Objects.equals(this.targetOrgName, hamrOrgConnectionAttributesRequest.targetOrgName) + && Objects.equals(this.targetOrgUuid, hamrOrgConnectionAttributesRequest.targetOrgUuid) + && Objects.equals( + this.additionalProperties, hamrOrgConnectionAttributesRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + hamrStatus, + isPrimary, + modifiedBy, + targetOrgDatacenter, + targetOrgName, + targetOrgUuid, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HamrOrgConnectionAttributesRequest {\n"); + sb.append(" hamrStatus: ").append(toIndentedString(hamrStatus)).append("\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).append("\n"); + sb.append(" modifiedBy: ").append(toIndentedString(modifiedBy)).append("\n"); + sb.append(" targetOrgDatacenter: ") + .append(toIndentedString(targetOrgDatacenter)) + .append("\n"); + sb.append(" targetOrgName: ").append(toIndentedString(targetOrgName)).append("\n"); + sb.append(" targetOrgUuid: ").append(toIndentedString(targetOrgUuid)).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/HamrOrgConnectionAttributesResponse.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionAttributesResponse.java new file mode 100644 index 00000000000..f0236daa40d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionAttributesResponse.java @@ -0,0 +1,337 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + HamrOrgConnectionAttributesResponse.JSON_PROPERTY_HAMR_STATUS, + HamrOrgConnectionAttributesResponse.JSON_PROPERTY_IS_PRIMARY, + HamrOrgConnectionAttributesResponse.JSON_PROPERTY_MODIFIED_AT, + HamrOrgConnectionAttributesResponse.JSON_PROPERTY_MODIFIED_BY, + HamrOrgConnectionAttributesResponse.JSON_PROPERTY_TARGET_ORG_DATACENTER, + HamrOrgConnectionAttributesResponse.JSON_PROPERTY_TARGET_ORG_NAME, + HamrOrgConnectionAttributesResponse.JSON_PROPERTY_TARGET_ORG_UUID +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class HamrOrgConnectionAttributesResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_HAMR_STATUS = "hamr_status"; + private HamrOrgConnectionStatus hamrStatus; + + public static final String JSON_PROPERTY_IS_PRIMARY = "is_primary"; + private Boolean isPrimary; + + public static final String JSON_PROPERTY_MODIFIED_AT = "modified_at"; + private String modifiedAt; + + public static final String JSON_PROPERTY_MODIFIED_BY = "modified_by"; + private String modifiedBy; + + public static final String JSON_PROPERTY_TARGET_ORG_DATACENTER = "target_org_datacenter"; + private String targetOrgDatacenter; + + public static final String JSON_PROPERTY_TARGET_ORG_NAME = "target_org_name"; + private String targetOrgName; + + public static final String JSON_PROPERTY_TARGET_ORG_UUID = "target_org_uuid"; + private String targetOrgUuid; + + public HamrOrgConnectionAttributesResponse() {} + + @JsonCreator + public HamrOrgConnectionAttributesResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_HAMR_STATUS) + HamrOrgConnectionStatus hamrStatus, + @JsonProperty(required = true, value = JSON_PROPERTY_IS_PRIMARY) Boolean isPrimary, + @JsonProperty(required = true, value = JSON_PROPERTY_MODIFIED_AT) String modifiedAt, + @JsonProperty(required = true, value = JSON_PROPERTY_MODIFIED_BY) String modifiedBy, + @JsonProperty(required = true, value = JSON_PROPERTY_TARGET_ORG_DATACENTER) + String targetOrgDatacenter, + @JsonProperty(required = true, value = JSON_PROPERTY_TARGET_ORG_NAME) String targetOrgName, + @JsonProperty(required = true, value = JSON_PROPERTY_TARGET_ORG_UUID) String targetOrgUuid) { + this.hamrStatus = hamrStatus; + this.unparsed |= !hamrStatus.isValid(); + this.isPrimary = isPrimary; + this.modifiedAt = modifiedAt; + this.modifiedBy = modifiedBy; + this.targetOrgDatacenter = targetOrgDatacenter; + this.targetOrgName = targetOrgName; + this.targetOrgUuid = targetOrgUuid; + } + + public HamrOrgConnectionAttributesResponse hamrStatus(HamrOrgConnectionStatus hamrStatus) { + this.hamrStatus = hamrStatus; + this.unparsed |= !hamrStatus.isValid(); + return this; + } + + /** + * Status of the HAMR connection: - 0: UNSPECIFIED - Connection status not specified - 1: + * ONBOARDING - Initial setup of HAMR connection - 2: PASSIVE - Secondary organization in passive + * standby mode - 3: FAILOVER - Liminal status between PASSIVE and ACTIVE - 4: ACTIVE - + * Organization is an active failover - 5: RECOVERY - Recovery operation in progress + * + * @return hamrStatus + */ + @JsonProperty(JSON_PROPERTY_HAMR_STATUS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionStatus getHamrStatus() { + return hamrStatus; + } + + public void setHamrStatus(HamrOrgConnectionStatus hamrStatus) { + if (!hamrStatus.isValid()) { + this.unparsed = true; + } + this.hamrStatus = hamrStatus; + } + + public HamrOrgConnectionAttributesResponse isPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + return this; + } + + /** + * Indicates whether this organization is the primary organization in the HAMR relationship. If + * true, this is the primary organization. If false, this is the secondary/backup organization. + * + * @return isPrimary + */ + @JsonProperty(JSON_PROPERTY_IS_PRIMARY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Boolean getIsPrimary() { + return isPrimary; + } + + public void setIsPrimary(Boolean isPrimary) { + this.isPrimary = isPrimary; + } + + public HamrOrgConnectionAttributesResponse modifiedAt(String modifiedAt) { + this.modifiedAt = modifiedAt; + return this; + } + + /** + * Timestamp of when this HAMR connection was last modified (RFC3339 format). + * + * @return modifiedAt + */ + @JsonProperty(JSON_PROPERTY_MODIFIED_AT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getModifiedAt() { + return modifiedAt; + } + + public void setModifiedAt(String modifiedAt) { + this.modifiedAt = modifiedAt; + } + + public HamrOrgConnectionAttributesResponse modifiedBy(String modifiedBy) { + this.modifiedBy = modifiedBy; + return this; + } + + /** + * Username or identifier of the user who last modified this HAMR connection. + * + * @return modifiedBy + */ + @JsonProperty(JSON_PROPERTY_MODIFIED_BY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getModifiedBy() { + return modifiedBy; + } + + public void setModifiedBy(String modifiedBy) { + this.modifiedBy = modifiedBy; + } + + public HamrOrgConnectionAttributesResponse targetOrgDatacenter(String targetOrgDatacenter) { + this.targetOrgDatacenter = targetOrgDatacenter; + return this; + } + + /** + * Datacenter location of the target organization (e.g., us1, eu1, us5). + * + * @return targetOrgDatacenter + */ + @JsonProperty(JSON_PROPERTY_TARGET_ORG_DATACENTER) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTargetOrgDatacenter() { + return targetOrgDatacenter; + } + + public void setTargetOrgDatacenter(String targetOrgDatacenter) { + this.targetOrgDatacenter = targetOrgDatacenter; + } + + public HamrOrgConnectionAttributesResponse targetOrgName(String targetOrgName) { + this.targetOrgName = targetOrgName; + return this; + } + + /** + * Name of the target organization in the HAMR relationship. + * + * @return targetOrgName + */ + @JsonProperty(JSON_PROPERTY_TARGET_ORG_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTargetOrgName() { + return targetOrgName; + } + + public void setTargetOrgName(String targetOrgName) { + this.targetOrgName = targetOrgName; + } + + public HamrOrgConnectionAttributesResponse targetOrgUuid(String targetOrgUuid) { + this.targetOrgUuid = targetOrgUuid; + return this; + } + + /** + * UUID of the target organization in the HAMR relationship. + * + * @return targetOrgUuid + */ + @JsonProperty(JSON_PROPERTY_TARGET_ORG_UUID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getTargetOrgUuid() { + return targetOrgUuid; + } + + public void setTargetOrgUuid(String targetOrgUuid) { + this.targetOrgUuid = targetOrgUuid; + } + + /** + * 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 HamrOrgConnectionAttributesResponse + */ + @JsonAnySetter + public HamrOrgConnectionAttributesResponse 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 HamrOrgConnectionAttributesResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HamrOrgConnectionAttributesResponse hamrOrgConnectionAttributesResponse = + (HamrOrgConnectionAttributesResponse) o; + return Objects.equals(this.hamrStatus, hamrOrgConnectionAttributesResponse.hamrStatus) + && Objects.equals(this.isPrimary, hamrOrgConnectionAttributesResponse.isPrimary) + && Objects.equals(this.modifiedAt, hamrOrgConnectionAttributesResponse.modifiedAt) + && Objects.equals(this.modifiedBy, hamrOrgConnectionAttributesResponse.modifiedBy) + && Objects.equals( + this.targetOrgDatacenter, hamrOrgConnectionAttributesResponse.targetOrgDatacenter) + && Objects.equals(this.targetOrgName, hamrOrgConnectionAttributesResponse.targetOrgName) + && Objects.equals(this.targetOrgUuid, hamrOrgConnectionAttributesResponse.targetOrgUuid) + && Objects.equals( + this.additionalProperties, hamrOrgConnectionAttributesResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash( + hamrStatus, + isPrimary, + modifiedAt, + modifiedBy, + targetOrgDatacenter, + targetOrgName, + targetOrgUuid, + additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HamrOrgConnectionAttributesResponse {\n"); + sb.append(" hamrStatus: ").append(toIndentedString(hamrStatus)).append("\n"); + sb.append(" isPrimary: ").append(toIndentedString(isPrimary)).append("\n"); + sb.append(" modifiedAt: ").append(toIndentedString(modifiedAt)).append("\n"); + sb.append(" modifiedBy: ").append(toIndentedString(modifiedBy)).append("\n"); + sb.append(" targetOrgDatacenter: ") + .append(toIndentedString(targetOrgDatacenter)) + .append("\n"); + sb.append(" targetOrgName: ").append(toIndentedString(targetOrgName)).append("\n"); + sb.append(" targetOrgUuid: ").append(toIndentedString(targetOrgUuid)).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/HamrOrgConnectionDataRequest.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionDataRequest.java new file mode 100644 index 00000000000..6cd1abddb07 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionDataRequest.java @@ -0,0 +1,211 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + HamrOrgConnectionDataRequest.JSON_PROPERTY_ATTRIBUTES, + HamrOrgConnectionDataRequest.JSON_PROPERTY_ID, + HamrOrgConnectionDataRequest.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class HamrOrgConnectionDataRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private HamrOrgConnectionAttributesRequest attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private HamrOrgConnectionType type; + + public HamrOrgConnectionDataRequest() {} + + @JsonCreator + public HamrOrgConnectionDataRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + HamrOrgConnectionAttributesRequest attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) HamrOrgConnectionType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public HamrOrgConnectionDataRequest attributes(HamrOrgConnectionAttributesRequest attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Getattributes + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionAttributesRequest getAttributes() { + return attributes; + } + + public void setAttributes(HamrOrgConnectionAttributesRequest attributes) { + this.attributes = attributes; + } + + public HamrOrgConnectionDataRequest id(String id) { + this.id = id; + return this; + } + + /** + * The organization UUID for this HAMR connection. Must match the authenticated organization's + * UUID. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public HamrOrgConnectionDataRequest type(HamrOrgConnectionType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type of the HAMR organization connection resource. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionType getType() { + return type; + } + + public void setType(HamrOrgConnectionType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return HamrOrgConnectionDataRequest + */ + @JsonAnySetter + public HamrOrgConnectionDataRequest 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 HamrOrgConnectionDataRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HamrOrgConnectionDataRequest hamrOrgConnectionDataRequest = (HamrOrgConnectionDataRequest) o; + return Objects.equals(this.attributes, hamrOrgConnectionDataRequest.attributes) + && Objects.equals(this.id, hamrOrgConnectionDataRequest.id) + && Objects.equals(this.type, hamrOrgConnectionDataRequest.type) + && Objects.equals( + this.additionalProperties, hamrOrgConnectionDataRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HamrOrgConnectionDataRequest {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionDataResponse.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionDataResponse.java new file mode 100644 index 00000000000..cf9040b3894 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionDataResponse.java @@ -0,0 +1,210 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + HamrOrgConnectionDataResponse.JSON_PROPERTY_ATTRIBUTES, + HamrOrgConnectionDataResponse.JSON_PROPERTY_ID, + HamrOrgConnectionDataResponse.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class HamrOrgConnectionDataResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private HamrOrgConnectionAttributesResponse attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private HamrOrgConnectionType type; + + public HamrOrgConnectionDataResponse() {} + + @JsonCreator + public HamrOrgConnectionDataResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + HamrOrgConnectionAttributesResponse attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) HamrOrgConnectionType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public HamrOrgConnectionDataResponse attributes(HamrOrgConnectionAttributesResponse attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Getattributes + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionAttributesResponse getAttributes() { + return attributes; + } + + public void setAttributes(HamrOrgConnectionAttributesResponse attributes) { + this.attributes = attributes; + } + + public HamrOrgConnectionDataResponse id(String id) { + this.id = id; + return this; + } + + /** + * The organization UUID for this HAMR connection. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public HamrOrgConnectionDataResponse type(HamrOrgConnectionType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type of the HAMR organization connection resource. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionType getType() { + return type; + } + + public void setType(HamrOrgConnectionType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return HamrOrgConnectionDataResponse + */ + @JsonAnySetter + public HamrOrgConnectionDataResponse 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 HamrOrgConnectionDataResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HamrOrgConnectionDataResponse hamrOrgConnectionDataResponse = (HamrOrgConnectionDataResponse) o; + return Objects.equals(this.attributes, hamrOrgConnectionDataResponse.attributes) + && Objects.equals(this.id, hamrOrgConnectionDataResponse.id) + && Objects.equals(this.type, hamrOrgConnectionDataResponse.type) + && Objects.equals( + this.additionalProperties, hamrOrgConnectionDataResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HamrOrgConnectionDataResponse {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionRequest.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionRequest.java new file mode 100644 index 00000000000..1b37a369057 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionRequest.java @@ -0,0 +1,146 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({HamrOrgConnectionRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class HamrOrgConnectionRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private HamrOrgConnectionDataRequest data; + + public HamrOrgConnectionRequest() {} + + @JsonCreator + public HamrOrgConnectionRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + HamrOrgConnectionDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public HamrOrgConnectionRequest data(HamrOrgConnectionDataRequest data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionDataRequest getData() { + return data; + } + + public void setData(HamrOrgConnectionDataRequest data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return HamrOrgConnectionRequest + */ + @JsonAnySetter + public HamrOrgConnectionRequest 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 HamrOrgConnectionRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HamrOrgConnectionRequest hamrOrgConnectionRequest = (HamrOrgConnectionRequest) o; + return Objects.equals(this.data, hamrOrgConnectionRequest.data) + && Objects.equals(this.additionalProperties, hamrOrgConnectionRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HamrOrgConnectionRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionResponse.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionResponse.java new file mode 100644 index 00000000000..46fe6eaf35c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionResponse.java @@ -0,0 +1,147 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({HamrOrgConnectionResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class HamrOrgConnectionResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private HamrOrgConnectionDataResponse data; + + public HamrOrgConnectionResponse() {} + + @JsonCreator + public HamrOrgConnectionResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + HamrOrgConnectionDataResponse data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public HamrOrgConnectionResponse data(HamrOrgConnectionDataResponse data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public HamrOrgConnectionDataResponse getData() { + return data; + } + + public void setData(HamrOrgConnectionDataResponse data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return HamrOrgConnectionResponse + */ + @JsonAnySetter + public HamrOrgConnectionResponse 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 HamrOrgConnectionResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + HamrOrgConnectionResponse hamrOrgConnectionResponse = (HamrOrgConnectionResponse) o; + return Objects.equals(this.data, hamrOrgConnectionResponse.data) + && Objects.equals( + this.additionalProperties, hamrOrgConnectionResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class HamrOrgConnectionResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionStatus.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionStatus.java new file mode 100644 index 00000000000..cb44cc2ec09 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionStatus.java @@ -0,0 +1,66 @@ +/* + * 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; + +/** + * Status of the HAMR connection: - 0: UNSPECIFIED - Connection status not specified - 1: ONBOARDING + * - Initial setup of HAMR connection - 2: PASSIVE - Secondary organization in passive standby mode + * - 3: FAILOVER - Liminal status between PASSIVE and ACTIVE - 4: ACTIVE - Organization is an active + * failover - 5: RECOVERY - Recovery operation in progress + */ +@JsonSerialize(using = HamrOrgConnectionStatus.HamrOrgConnectionStatusSerializer.class) +public class HamrOrgConnectionStatus extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList(0, 1, 2, 3, 4, 5)); + + public static final HamrOrgConnectionStatus UNSPECIFIED = new HamrOrgConnectionStatus(0); + public static final HamrOrgConnectionStatus ONBOARDING = new HamrOrgConnectionStatus(1); + public static final HamrOrgConnectionStatus PASSIVE = new HamrOrgConnectionStatus(2); + public static final HamrOrgConnectionStatus FAILOVER = new HamrOrgConnectionStatus(3); + public static final HamrOrgConnectionStatus ACTIVE = new HamrOrgConnectionStatus(4); + public static final HamrOrgConnectionStatus RECOVERY = new HamrOrgConnectionStatus(5); + + HamrOrgConnectionStatus(Integer value) { + super(value, allowedValues); + } + + public static class HamrOrgConnectionStatusSerializer + extends StdSerializer { + public HamrOrgConnectionStatusSerializer(Class t) { + super(t); + } + + public HamrOrgConnectionStatusSerializer() { + this(null); + } + + @Override + public void serialize( + HamrOrgConnectionStatus value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static HamrOrgConnectionStatus fromValue(Integer value) { + return new HamrOrgConnectionStatus(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionType.java b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionType.java new file mode 100644 index 00000000000..3d311551423 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/HamrOrgConnectionType.java @@ -0,0 +1,56 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Type of the HAMR organization connection resource. */ +@JsonSerialize(using = HamrOrgConnectionType.HamrOrgConnectionTypeSerializer.class) +public class HamrOrgConnectionType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("hamr_org_connections")); + + public static final HamrOrgConnectionType HAMR_ORG_CONNECTIONS = + new HamrOrgConnectionType("hamr_org_connections"); + + HamrOrgConnectionType(String value) { + super(value, allowedValues); + } + + public static class HamrOrgConnectionTypeSerializer extends StdSerializer { + public HamrOrgConnectionTypeSerializer(Class t) { + super(t); + } + + public HamrOrgConnectionTypeSerializer() { + this(null); + } + + @Override + public void serialize( + HamrOrgConnectionType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static HamrOrgConnectionType fromValue(String value) { + return new HamrOrgConnectionType(value); + } +} diff --git a/src/test/resources/com/datadog/api/client/v2/api/high_availability_multiregion.feature b/src/test/resources/com/datadog/api/client/v2/api/high_availability_multiregion.feature new file mode 100644 index 00000000000..cdca2ff5274 --- /dev/null +++ b/src/test/resources/com/datadog/api/client/v2/api/high_availability_multiregion.feature @@ -0,0 +1,48 @@ +@endpoint(high-availability-multiregion) @endpoint(high-availability-multiregion-v2) +Feature: High Availability MultiRegion + Configure High Availability Multi-Region (HAMR) connections between + Datadog organizations. HAMR provides disaster recovery capabilities by + maintaining synchronized data between primary and secondary organizations + across different datacenters. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "HighAvailabilityMultiRegion" API + + @generated @skip @team:DataDog/hamr + Scenario: Create or update HAMR organization connection returns "Bad Request" response + Given operation "CreateHamrOrgConnection" enabled + And new "CreateHamrOrgConnection" request + And body with value {"data": {"attributes": {"hamr_status": 4, "is_primary": true, "modified_by": "admin@example.com", "target_org_datacenter": "us1", "target_org_name": "Production Backup Org", "target_org_uuid": "660f9511-f3ac-52e5-b827-557766551111"}, "id": "550e8400-e29b-41d4-a716-446655440000", "type": "hamr_org_connections"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/hamr + Scenario: Create or update HAMR organization connection returns "OK" response + Given operation "CreateHamrOrgConnection" enabled + And new "CreateHamrOrgConnection" request + And body with value {"data": {"attributes": {"hamr_status": 4, "is_primary": true, "modified_by": "admin@example.com", "target_org_datacenter": "us1", "target_org_name": "Production Backup Org", "target_org_uuid": "660f9511-f3ac-52e5-b827-557766551111"}, "id": "550e8400-e29b-41d4-a716-446655440000", "type": "hamr_org_connections"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/hamr + Scenario: Get HAMR organization connection returns "Bad Request" response + Given operation "GetHamrOrgConnection" enabled + And new "GetHamrOrgConnection" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/hamr + Scenario: Get HAMR organization connection returns "Not Found" response + Given operation "GetHamrOrgConnection" enabled + And new "GetHamrOrgConnection" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/hamr + Scenario: Get HAMR organization connection returns "OK" response + Given operation "GetHamrOrgConnection" enabled + And new "GetHamrOrgConnection" request + When the request is sent + Then the response status is 200 OK diff --git a/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json index ab0366ca4a2..cd97b3d88f8 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 @@ -1557,6 +1557,20 @@ "type": "safe" } }, + "GetHamrOrgConnection": { + "tag": "High Availability MultiRegion", + "undo": { + "type": "safe" + } + }, + "CreateHamrOrgConnection": { + "tag": "High Availability MultiRegion", + "undo": { + "operationId": "TODO", + "parameters": [], + "type": "unsafe" + } + }, "ListIncidents": { "tag": "Incidents", "undo": {