From ee7fefec52922ce13f60e203db414a24c82d5f03 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 5 Feb 2026 16:39:37 +0000 Subject: [PATCH] Regenerate client from commit c0afef2 of spec repo --- .generator/schemas/v2/openapi.yaml | 226 ++++++++ examples/v2/seats/AssignSeatsUserV2.java | 35 ++ examples/v2/seats/GetSeatsUsersV2.java | 24 + examples/v2/seats/UnassignSeatsUserV2.java | 33 ++ .../datadog/api/client/v2/api/SeatsApi.java | 515 ++++++++++++++++++ .../v2/model/AssignSeatsUserRequest.java | 136 +++++ .../v2/model/AssignSeatsUserRequestData.java | 206 +++++++ .../AssignSeatsUserRequestDataAttributes.java | 176 ++++++ .../v2/model/AssignSeatsUserResponse.java | 136 +++++ .../v2/model/AssignSeatsUserResponseData.java | 206 +++++++ ...AssignSeatsUserResponseDataAttributes.java | 176 ++++++ .../v2/model/SeatAssignmentsDataType.java | 57 ++ .../api/client/v2/model/SeatUserData.java | 205 +++++++ .../client/v2/model/SeatUserDataArray.java | 181 ++++++ .../v2/model/SeatUserDataAttributes.java | 191 +++++++ .../api/client/v2/model/SeatUserDataType.java | 53 ++ .../api/client/v2/model/SeatUserMeta.java | 191 +++++++ .../v2/model/UnassignSeatsUserRequest.java | 136 +++++ .../model/UnassignSeatsUserRequestData.java | 207 +++++++ ...nassignSeatsUserRequestDataAttributes.java | 176 ++++++ .../datadog/api/client/v2/api/seats.feature | 30 + .../com/datadog/api/client/v2/api/undo.json | 25 + 22 files changed, 3321 insertions(+) create mode 100644 examples/v2/seats/AssignSeatsUserV2.java create mode 100644 examples/v2/seats/GetSeatsUsersV2.java create mode 100644 examples/v2/seats/UnassignSeatsUserV2.java create mode 100644 src/main/java/com/datadog/api/client/v2/api/SeatsApi.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequestData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequestDataAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponseData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponseDataAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SeatAssignmentsDataType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SeatUserData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SeatUserDataArray.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SeatUserDataAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SeatUserDataType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/SeatUserMeta.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequestData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequestDataAttributes.java create mode 100644 src/test/resources/com/datadog/api/client/v2/api/seats.feature diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 95f5775c6b9..6ad49e7f0f3 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -5362,6 +5362,56 @@ components: example: _latest type: string type: object + AssignSeatsUserRequest: + properties: + data: + $ref: '#/components/schemas/AssignSeatsUserRequestData' + type: object + AssignSeatsUserRequestData: + properties: + attributes: + $ref: '#/components/schemas/AssignSeatsUserRequestDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/SeatAssignmentsDataType' + required: + - type + type: object + AssignSeatsUserRequestDataAttributes: + properties: + product_code: + type: string + user_uuids: + items: + type: string + type: array + type: object + AssignSeatsUserResponse: + properties: + data: + $ref: '#/components/schemas/AssignSeatsUserResponseData' + type: object + AssignSeatsUserResponseData: + properties: + attributes: + $ref: '#/components/schemas/AssignSeatsUserResponseDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/SeatAssignmentsDataType' + required: + - type + type: object + AssignSeatsUserResponseDataAttributes: + properties: + assigned_ids: + items: + type: string + type: array + product_code: + type: string + type: object AttachCaseRequest: description: Request for attaching security findings to a case. properties: @@ -51879,6 +51929,65 @@ components: - ISSUE_ASSIGNEE - ISSUE_CASE - ISSUE_TEAM_OWNERS + SeatAssignmentsDataType: + default: seat-assignments + description: Seat assignments resource type. + enum: + - seat-assignments + example: seat-assignments + type: string + x-enum-varnames: + - SEAT_ASSIGNMENTS + SeatUserData: + properties: + attributes: + $ref: '#/components/schemas/SeatUserDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/SeatUserDataType' + required: + - type + type: object + SeatUserDataArray: + properties: + data: + items: + $ref: '#/components/schemas/SeatUserData' + type: array + meta: + $ref: '#/components/schemas/SeatUserMeta' + required: + - data + type: object + SeatUserDataAttributes: + properties: + assigned_at: + type: string + email: + type: string + name: + type: string + type: object + SeatUserDataType: + default: seat-users + description: Seat users resource type. + enum: + - seat-users + example: seat-users + type: string + x-enum-varnames: + - SEAT_USERS + SeatUserMeta: + properties: + cursor: + type: string + limit: + format: int64 + type: integer + next_cursor: + type: string + type: object SecretRuleArray: properties: data: @@ -63944,6 +64053,31 @@ components: type: string x-enum-varnames: - AZURE_UC_CONFIGS + UnassignSeatsUserRequest: + properties: + data: + $ref: '#/components/schemas/UnassignSeatsUserRequestData' + type: object + UnassignSeatsUserRequestData: + properties: + attributes: + $ref: '#/components/schemas/UnassignSeatsUserRequestDataAttributes' + id: + type: string + type: + $ref: '#/components/schemas/SeatAssignmentsDataType' + required: + - type + type: object + UnassignSeatsUserRequestDataAttributes: + properties: + product_code: + type: string + user_uuids: + items: + type: string + type: array + type: object Unit: description: Object containing the metric unit family, scale factor, name, and short name. @@ -91707,6 +91841,95 @@ paths: x-unstable: '**Note**: This endpoint is in public beta. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/seats/users: + delete: + description: Unassign seats from users for a product code. + operationId: UnassignSeatsUserV2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UnassignSeatsUserRequest' + required: true + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Unassign seats from users for a product code + tags: + - Seats + x-permission: + operator: OR + permissions: + - billing_edit + - incident_write + - on_call_write + get: + description: Get the list of seats users assigned to a product code. + operationId: GetSeatsUsersV2 + parameters: + - description: The product code for which to retrieve seat users. + in: query + name: product_code + required: true + schema: + type: string + - description: Maximum number of results to return. + in: query + name: page[limit] + schema: + type: integer + - description: Cursor for pagination. + in: query + name: page[cursor] + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SeatUserDataArray' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get seats users for a product code + tags: + - Seats + x-permission: + operator: OR + permissions: + - billing_read + - incident_read + - on_call_read + post: + description: Assign seats to users for a product code. + operationId: AssignSeatsUserV2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AssignSeatsUserRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/AssignSeatsUserResponse' + description: Created + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Assign seats to users for a product code + tags: + - Seats + x-permission: + operator: OR + permissions: + - billing_edit + - incident_write + - on_call_write /api/v2/security-entities/risk-scores: get: description: Get a list of entity risk scores for your organization. Entity @@ -102815,6 +103038,9 @@ tags: - description: Manage retention filters through [Manage Applications](https://app.datadoghq.com/rum/list) of RUM for your organization. name: Rum Retention Filters +- description: The seats API allows you to view, assign, and unassign seats for your + organization. + name: Seats - description: Create and manage your security rules, signals, filters, and more. See the [Datadog Security page](https://docs.datadoghq.com/security/) for more information. diff --git a/examples/v2/seats/AssignSeatsUserV2.java b/examples/v2/seats/AssignSeatsUserV2.java new file mode 100644 index 00000000000..627cfda7c41 --- /dev/null +++ b/examples/v2/seats/AssignSeatsUserV2.java @@ -0,0 +1,35 @@ +// Assign seats to users for a product code returns "Created" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SeatsApi; +import com.datadog.api.client.v2.model.AssignSeatsUserRequest; +import com.datadog.api.client.v2.model.AssignSeatsUserRequestData; +import com.datadog.api.client.v2.model.AssignSeatsUserRequestDataAttributes; +import com.datadog.api.client.v2.model.AssignSeatsUserResponse; +import com.datadog.api.client.v2.model.SeatAssignmentsDataType; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + SeatsApi apiInstance = new SeatsApi(defaultClient); + + AssignSeatsUserRequest body = + new AssignSeatsUserRequest() + .data( + new AssignSeatsUserRequestData() + .attributes(new AssignSeatsUserRequestDataAttributes()) + .type(SeatAssignmentsDataType.SEAT_ASSIGNMENTS)); + + try { + AssignSeatsUserResponse result = apiInstance.assignSeatsUserV2(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SeatsApi#assignSeatsUserV2"); + 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/seats/GetSeatsUsersV2.java b/examples/v2/seats/GetSeatsUsersV2.java new file mode 100644 index 00000000000..7247e7b92f8 --- /dev/null +++ b/examples/v2/seats/GetSeatsUsersV2.java @@ -0,0 +1,24 @@ +// Get seats users for a product code returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SeatsApi; +import com.datadog.api.client.v2.model.SeatUserDataArray; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + SeatsApi apiInstance = new SeatsApi(defaultClient); + + try { + SeatUserDataArray result = apiInstance.getSeatsUsersV2("product_code"); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling SeatsApi#getSeatsUsersV2"); + 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/seats/UnassignSeatsUserV2.java b/examples/v2/seats/UnassignSeatsUserV2.java new file mode 100644 index 00000000000..d7b6f04914c --- /dev/null +++ b/examples/v2/seats/UnassignSeatsUserV2.java @@ -0,0 +1,33 @@ +// Unassign seats from users for a product code returns "No Content" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.SeatsApi; +import com.datadog.api.client.v2.model.SeatAssignmentsDataType; +import com.datadog.api.client.v2.model.UnassignSeatsUserRequest; +import com.datadog.api.client.v2.model.UnassignSeatsUserRequestData; +import com.datadog.api.client.v2.model.UnassignSeatsUserRequestDataAttributes; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + SeatsApi apiInstance = new SeatsApi(defaultClient); + + UnassignSeatsUserRequest body = + new UnassignSeatsUserRequest() + .data( + new UnassignSeatsUserRequestData() + .attributes(new UnassignSeatsUserRequestDataAttributes()) + .type(SeatAssignmentsDataType.SEAT_ASSIGNMENTS)); + + try { + apiInstance.unassignSeatsUserV2(body); + } catch (ApiException e) { + System.err.println("Exception when calling SeatsApi#unassignSeatsUserV2"); + 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/SeatsApi.java b/src/main/java/com/datadog/api/client/v2/api/SeatsApi.java new file mode 100644 index 00000000000..4703e39432c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/api/SeatsApi.java @@ -0,0 +1,515 @@ +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.AssignSeatsUserRequest; +import com.datadog.api.client.v2.model.AssignSeatsUserResponse; +import com.datadog.api.client.v2.model.SeatUserDataArray; +import com.datadog.api.client.v2.model.UnassignSeatsUserRequest; +import jakarta.ws.rs.client.Invocation; +import jakarta.ws.rs.core.GenericType; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SeatsApi { + private ApiClient apiClient; + + public SeatsApi() { + this(ApiClient.getDefaultApiClient()); + } + + public SeatsApi(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; + } + + /** + * Assign seats to users for a product code. + * + *

See {@link #assignSeatsUserV2WithHttpInfo}. + * + * @param body (required) + * @return AssignSeatsUserResponse + * @throws ApiException if fails to make API call + */ + public AssignSeatsUserResponse assignSeatsUserV2(AssignSeatsUserRequest body) + throws ApiException { + return assignSeatsUserV2WithHttpInfo(body).getData(); + } + + /** + * Assign seats to users for a product code. + * + *

See {@link #assignSeatsUserV2WithHttpInfoAsync}. + * + * @param body (required) + * @return CompletableFuture<AssignSeatsUserResponse> + */ + public CompletableFuture assignSeatsUserV2Async( + AssignSeatsUserRequest body) { + return assignSeatsUserV2WithHttpInfoAsync(body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Assign seats to users for a product code. + * + * @param body (required) + * @return ApiResponse<AssignSeatsUserResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
201 Created -
429 Too many requests -
+ */ + public ApiResponse assignSeatsUserV2WithHttpInfo( + AssignSeatsUserRequest body) throws ApiException { + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling assignSeatsUserV2"); + } + // create path and map variables + String localVarPath = "/api/v2/seats/users"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SeatsApi.assignSeatsUserV2", + 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() {}); + } + + /** + * Assign seats to users for a product code. + * + *

See {@link #assignSeatsUserV2WithHttpInfo}. + * + * @param body (required) + * @return CompletableFuture<ApiResponse<AssignSeatsUserResponse>> + */ + public CompletableFuture> assignSeatsUserV2WithHttpInfoAsync( + AssignSeatsUserRequest body) { + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'body' when calling assignSeatsUserV2")); + return result; + } + // create path and map variables + String localVarPath = "/api/v2/seats/users"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SeatsApi.assignSeatsUserV2", + 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() {}); + } + + /** Manage optional parameters to getSeatsUsersV2. */ + public static class GetSeatsUsersV2OptionalParameters { + private Integer pageLimit; + private String pageCursor; + + /** + * Set pageLimit. + * + * @param pageLimit Maximum number of results to return. (optional) + * @return GetSeatsUsersV2OptionalParameters + */ + public GetSeatsUsersV2OptionalParameters pageLimit(Integer pageLimit) { + this.pageLimit = pageLimit; + return this; + } + + /** + * Set pageCursor. + * + * @param pageCursor Cursor for pagination. (optional) + * @return GetSeatsUsersV2OptionalParameters + */ + public GetSeatsUsersV2OptionalParameters pageCursor(String pageCursor) { + this.pageCursor = pageCursor; + return this; + } + } + + /** + * Get seats users for a product code. + * + *

See {@link #getSeatsUsersV2WithHttpInfo}. + * + * @param productCode The product code for which to retrieve seat users. (required) + * @return SeatUserDataArray + * @throws ApiException if fails to make API call + */ + public SeatUserDataArray getSeatsUsersV2(String productCode) throws ApiException { + return getSeatsUsersV2WithHttpInfo(productCode, new GetSeatsUsersV2OptionalParameters()) + .getData(); + } + + /** + * Get seats users for a product code. + * + *

See {@link #getSeatsUsersV2WithHttpInfoAsync}. + * + * @param productCode The product code for which to retrieve seat users. (required) + * @return CompletableFuture<SeatUserDataArray> + */ + public CompletableFuture getSeatsUsersV2Async(String productCode) { + return getSeatsUsersV2WithHttpInfoAsync(productCode, new GetSeatsUsersV2OptionalParameters()) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get seats users for a product code. + * + *

See {@link #getSeatsUsersV2WithHttpInfo}. + * + * @param productCode The product code for which to retrieve seat users. (required) + * @param parameters Optional parameters for the request. + * @return SeatUserDataArray + * @throws ApiException if fails to make API call + */ + public SeatUserDataArray getSeatsUsersV2( + String productCode, GetSeatsUsersV2OptionalParameters parameters) throws ApiException { + return getSeatsUsersV2WithHttpInfo(productCode, parameters).getData(); + } + + /** + * Get seats users for a product code. + * + *

See {@link #getSeatsUsersV2WithHttpInfoAsync}. + * + * @param productCode The product code for which to retrieve seat users. (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<SeatUserDataArray> + */ + public CompletableFuture getSeatsUsersV2Async( + String productCode, GetSeatsUsersV2OptionalParameters parameters) { + return getSeatsUsersV2WithHttpInfoAsync(productCode, parameters) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get the list of seats users assigned to a product code. + * + * @param productCode The product code for which to retrieve seat users. (required) + * @param parameters Optional parameters for the request. + * @return ApiResponse<SeatUserDataArray> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
429 Too many requests -
+ */ + public ApiResponse getSeatsUsersV2WithHttpInfo( + String productCode, GetSeatsUsersV2OptionalParameters parameters) throws ApiException { + Object localVarPostBody = null; + + // verify the required parameter 'productCode' is set + if (productCode == null) { + throw new ApiException( + 400, "Missing the required parameter 'productCode' when calling getSeatsUsersV2"); + } + Integer pageLimit = parameters.pageLimit; + String pageCursor = parameters.pageCursor; + // create path and map variables + String localVarPath = "/api/v2/seats/users"; + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "product_code", productCode)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[limit]", pageLimit)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[cursor]", pageCursor)); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SeatsApi.getSeatsUsersV2", + localVarPath, + localVarQueryParams, + 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 seats users for a product code. + * + *

See {@link #getSeatsUsersV2WithHttpInfo}. + * + * @param productCode The product code for which to retrieve seat users. (required) + * @param parameters Optional parameters for the request. + * @return CompletableFuture<ApiResponse<SeatUserDataArray>> + */ + public CompletableFuture> getSeatsUsersV2WithHttpInfoAsync( + String productCode, GetSeatsUsersV2OptionalParameters parameters) { + Object localVarPostBody = null; + + // verify the required parameter 'productCode' is set + if (productCode == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'productCode' when calling getSeatsUsersV2")); + return result; + } + Integer pageLimit = parameters.pageLimit; + String pageCursor = parameters.pageCursor; + // create path and map variables + String localVarPath = "/api/v2/seats/users"; + + List localVarQueryParams = new ArrayList(); + Map localVarHeaderParams = new HashMap(); + + localVarQueryParams.addAll(apiClient.parameterToPairs("", "product_code", productCode)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[limit]", pageLimit)); + localVarQueryParams.addAll(apiClient.parameterToPairs("", "page[cursor]", pageCursor)); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SeatsApi.getSeatsUsersV2", + localVarPath, + localVarQueryParams, + 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() {}); + } + + /** + * Unassign seats from users for a product code. + * + *

See {@link #unassignSeatsUserV2WithHttpInfo}. + * + * @param body (required) + * @throws ApiException if fails to make API call + */ + public void unassignSeatsUserV2(UnassignSeatsUserRequest body) throws ApiException { + unassignSeatsUserV2WithHttpInfo(body); + } + + /** + * Unassign seats from users for a product code. + * + *

See {@link #unassignSeatsUserV2WithHttpInfoAsync}. + * + * @param body (required) + * @return CompletableFuture + */ + public CompletableFuture unassignSeatsUserV2Async(UnassignSeatsUserRequest body) { + return unassignSeatsUserV2WithHttpInfoAsync(body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Unassign seats from users for a product code. + * + * @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 -
429 Too many requests -
+ */ + public ApiResponse unassignSeatsUserV2WithHttpInfo(UnassignSeatsUserRequest body) + throws ApiException { + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling unassignSeatsUserV2"); + } + // create path and map variables + String localVarPath = "/api/v2/seats/users"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.SeatsApi.unassignSeatsUserV2", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "DELETE", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Unassign seats from users for a product code. + * + *

See {@link #unassignSeatsUserV2WithHttpInfo}. + * + * @param body (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> unassignSeatsUserV2WithHttpInfoAsync( + UnassignSeatsUserRequest body) { + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'body' when calling unassignSeatsUserV2")); + return result; + } + // create path and map variables + String localVarPath = "/api/v2/seats/users"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.SeatsApi.unassignSeatsUserV2", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "DELETE", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + null); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequest.java b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequest.java new file mode 100644 index 00000000000..0e55af80549 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequest.java @@ -0,0 +1,136 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({AssignSeatsUserRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class AssignSeatsUserRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private AssignSeatsUserRequestData data; + + public AssignSeatsUserRequest data(AssignSeatsUserRequestData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AssignSeatsUserRequestData getData() { + return data; + } + + public void setData(AssignSeatsUserRequestData 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 AssignSeatsUserRequest + */ + @JsonAnySetter + public AssignSeatsUserRequest 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 AssignSeatsUserRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssignSeatsUserRequest assignSeatsUserRequest = (AssignSeatsUserRequest) o; + return Objects.equals(this.data, assignSeatsUserRequest.data) + && Objects.equals(this.additionalProperties, assignSeatsUserRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssignSeatsUserRequest {\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/AssignSeatsUserRequestData.java b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequestData.java new file mode 100644 index 00000000000..30e8d1a0623 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequestData.java @@ -0,0 +1,206 @@ +/* + * 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({ + AssignSeatsUserRequestData.JSON_PROPERTY_ATTRIBUTES, + AssignSeatsUserRequestData.JSON_PROPERTY_ID, + AssignSeatsUserRequestData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class AssignSeatsUserRequestData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private AssignSeatsUserRequestDataAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SeatAssignmentsDataType type = SeatAssignmentsDataType.SEAT_ASSIGNMENTS; + + public AssignSeatsUserRequestData() {} + + @JsonCreator + public AssignSeatsUserRequestData( + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) SeatAssignmentsDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + } + + public AssignSeatsUserRequestData attributes(AssignSeatsUserRequestDataAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Getattributes + * + * @return attributes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AssignSeatsUserRequestDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(AssignSeatsUserRequestDataAttributes attributes) { + this.attributes = attributes; + } + + public AssignSeatsUserRequestData id(String id) { + this.id = id; + return this; + } + + /** + * Getid + * + * @return id + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public AssignSeatsUserRequestData type(SeatAssignmentsDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Seat assignments resource type. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SeatAssignmentsDataType getType() { + return type; + } + + public void setType(SeatAssignmentsDataType 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 AssignSeatsUserRequestData + */ + @JsonAnySetter + public AssignSeatsUserRequestData 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 AssignSeatsUserRequestData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssignSeatsUserRequestData assignSeatsUserRequestData = (AssignSeatsUserRequestData) o; + return Objects.equals(this.attributes, assignSeatsUserRequestData.attributes) + && Objects.equals(this.id, assignSeatsUserRequestData.id) + && Objects.equals(this.type, assignSeatsUserRequestData.type) + && Objects.equals( + this.additionalProperties, assignSeatsUserRequestData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssignSeatsUserRequestData {\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/AssignSeatsUserRequestDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequestDataAttributes.java new file mode 100644 index 00000000000..08b8650ab0e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserRequestDataAttributes.java @@ -0,0 +1,176 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + AssignSeatsUserRequestDataAttributes.JSON_PROPERTY_PRODUCT_CODE, + AssignSeatsUserRequestDataAttributes.JSON_PROPERTY_USER_UUIDS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class AssignSeatsUserRequestDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_PRODUCT_CODE = "product_code"; + private String productCode; + + public static final String JSON_PROPERTY_USER_UUIDS = "user_uuids"; + private List userUuids = null; + + public AssignSeatsUserRequestDataAttributes productCode(String productCode) { + this.productCode = productCode; + return this; + } + + /** + * GetproductCode + * + * @return productCode + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PRODUCT_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public AssignSeatsUserRequestDataAttributes userUuids(List userUuids) { + this.userUuids = userUuids; + return this; + } + + public AssignSeatsUserRequestDataAttributes addUserUuidsItem(String userUuidsItem) { + if (this.userUuids == null) { + this.userUuids = new ArrayList<>(); + } + this.userUuids.add(userUuidsItem); + return this; + } + + /** + * GetuserUuids + * + * @return userUuids + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_USER_UUIDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getUserUuids() { + return userUuids; + } + + public void setUserUuids(List userUuids) { + this.userUuids = userUuids; + } + + /** + * 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 AssignSeatsUserRequestDataAttributes + */ + @JsonAnySetter + public AssignSeatsUserRequestDataAttributes 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 AssignSeatsUserRequestDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssignSeatsUserRequestDataAttributes assignSeatsUserRequestDataAttributes = + (AssignSeatsUserRequestDataAttributes) o; + return Objects.equals(this.productCode, assignSeatsUserRequestDataAttributes.productCode) + && Objects.equals(this.userUuids, assignSeatsUserRequestDataAttributes.userUuids) + && Objects.equals( + this.additionalProperties, assignSeatsUserRequestDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(productCode, userUuids, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssignSeatsUserRequestDataAttributes {\n"); + sb.append(" productCode: ").append(toIndentedString(productCode)).append("\n"); + sb.append(" userUuids: ").append(toIndentedString(userUuids)).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/AssignSeatsUserResponse.java b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponse.java new file mode 100644 index 00000000000..121d89f2859 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponse.java @@ -0,0 +1,136 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({AssignSeatsUserResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class AssignSeatsUserResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private AssignSeatsUserResponseData data; + + public AssignSeatsUserResponse data(AssignSeatsUserResponseData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AssignSeatsUserResponseData getData() { + return data; + } + + public void setData(AssignSeatsUserResponseData 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 AssignSeatsUserResponse + */ + @JsonAnySetter + public AssignSeatsUserResponse 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 AssignSeatsUserResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssignSeatsUserResponse assignSeatsUserResponse = (AssignSeatsUserResponse) o; + return Objects.equals(this.data, assignSeatsUserResponse.data) + && Objects.equals(this.additionalProperties, assignSeatsUserResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssignSeatsUserResponse {\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/AssignSeatsUserResponseData.java b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponseData.java new file mode 100644 index 00000000000..80486f59bf2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponseData.java @@ -0,0 +1,206 @@ +/* + * 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({ + AssignSeatsUserResponseData.JSON_PROPERTY_ATTRIBUTES, + AssignSeatsUserResponseData.JSON_PROPERTY_ID, + AssignSeatsUserResponseData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class AssignSeatsUserResponseData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private AssignSeatsUserResponseDataAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SeatAssignmentsDataType type = SeatAssignmentsDataType.SEAT_ASSIGNMENTS; + + public AssignSeatsUserResponseData() {} + + @JsonCreator + public AssignSeatsUserResponseData( + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) SeatAssignmentsDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + } + + public AssignSeatsUserResponseData attributes(AssignSeatsUserResponseDataAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Getattributes + * + * @return attributes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public AssignSeatsUserResponseDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(AssignSeatsUserResponseDataAttributes attributes) { + this.attributes = attributes; + } + + public AssignSeatsUserResponseData id(String id) { + this.id = id; + return this; + } + + /** + * Getid + * + * @return id + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public AssignSeatsUserResponseData type(SeatAssignmentsDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Seat assignments resource type. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SeatAssignmentsDataType getType() { + return type; + } + + public void setType(SeatAssignmentsDataType 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 AssignSeatsUserResponseData + */ + @JsonAnySetter + public AssignSeatsUserResponseData 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 AssignSeatsUserResponseData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssignSeatsUserResponseData assignSeatsUserResponseData = (AssignSeatsUserResponseData) o; + return Objects.equals(this.attributes, assignSeatsUserResponseData.attributes) + && Objects.equals(this.id, assignSeatsUserResponseData.id) + && Objects.equals(this.type, assignSeatsUserResponseData.type) + && Objects.equals( + this.additionalProperties, assignSeatsUserResponseData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssignSeatsUserResponseData {\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/AssignSeatsUserResponseDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponseDataAttributes.java new file mode 100644 index 00000000000..251b22ee1a0 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/AssignSeatsUserResponseDataAttributes.java @@ -0,0 +1,176 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + AssignSeatsUserResponseDataAttributes.JSON_PROPERTY_ASSIGNED_IDS, + AssignSeatsUserResponseDataAttributes.JSON_PROPERTY_PRODUCT_CODE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class AssignSeatsUserResponseDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ASSIGNED_IDS = "assigned_ids"; + private List assignedIds = null; + + public static final String JSON_PROPERTY_PRODUCT_CODE = "product_code"; + private String productCode; + + public AssignSeatsUserResponseDataAttributes assignedIds(List assignedIds) { + this.assignedIds = assignedIds; + return this; + } + + public AssignSeatsUserResponseDataAttributes addAssignedIdsItem(String assignedIdsItem) { + if (this.assignedIds == null) { + this.assignedIds = new ArrayList<>(); + } + this.assignedIds.add(assignedIdsItem); + return this; + } + + /** + * GetassignedIds + * + * @return assignedIds + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ASSIGNED_IDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getAssignedIds() { + return assignedIds; + } + + public void setAssignedIds(List assignedIds) { + this.assignedIds = assignedIds; + } + + public AssignSeatsUserResponseDataAttributes productCode(String productCode) { + this.productCode = productCode; + return this; + } + + /** + * GetproductCode + * + * @return productCode + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PRODUCT_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + /** + * 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 AssignSeatsUserResponseDataAttributes + */ + @JsonAnySetter + public AssignSeatsUserResponseDataAttributes 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 AssignSeatsUserResponseDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AssignSeatsUserResponseDataAttributes assignSeatsUserResponseDataAttributes = + (AssignSeatsUserResponseDataAttributes) o; + return Objects.equals(this.assignedIds, assignSeatsUserResponseDataAttributes.assignedIds) + && Objects.equals(this.productCode, assignSeatsUserResponseDataAttributes.productCode) + && Objects.equals( + this.additionalProperties, assignSeatsUserResponseDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(assignedIds, productCode, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AssignSeatsUserResponseDataAttributes {\n"); + sb.append(" assignedIds: ").append(toIndentedString(assignedIds)).append("\n"); + sb.append(" productCode: ").append(toIndentedString(productCode)).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/SeatAssignmentsDataType.java b/src/main/java/com/datadog/api/client/v2/model/SeatAssignmentsDataType.java new file mode 100644 index 00000000000..fc8c54c1c23 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SeatAssignmentsDataType.java @@ -0,0 +1,57 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Seat assignments resource type. */ +@JsonSerialize(using = SeatAssignmentsDataType.SeatAssignmentsDataTypeSerializer.class) +public class SeatAssignmentsDataType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("seat-assignments")); + + public static final SeatAssignmentsDataType SEAT_ASSIGNMENTS = + new SeatAssignmentsDataType("seat-assignments"); + + SeatAssignmentsDataType(String value) { + super(value, allowedValues); + } + + public static class SeatAssignmentsDataTypeSerializer + extends StdSerializer { + public SeatAssignmentsDataTypeSerializer(Class t) { + super(t); + } + + public SeatAssignmentsDataTypeSerializer() { + this(null); + } + + @Override + public void serialize( + SeatAssignmentsDataType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static SeatAssignmentsDataType fromValue(String value) { + return new SeatAssignmentsDataType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SeatUserData.java b/src/main/java/com/datadog/api/client/v2/model/SeatUserData.java new file mode 100644 index 00000000000..29a11698077 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SeatUserData.java @@ -0,0 +1,205 @@ +/* + * 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({ + SeatUserData.JSON_PROPERTY_ATTRIBUTES, + SeatUserData.JSON_PROPERTY_ID, + SeatUserData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SeatUserData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private SeatUserDataAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SeatUserDataType type = SeatUserDataType.SEAT_USERS; + + public SeatUserData() {} + + @JsonCreator + public SeatUserData( + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) SeatUserDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + } + + public SeatUserData attributes(SeatUserDataAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Getattributes + * + * @return attributes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SeatUserDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(SeatUserDataAttributes attributes) { + this.attributes = attributes; + } + + public SeatUserData id(String id) { + this.id = id; + return this; + } + + /** + * Getid + * + * @return id + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public SeatUserData type(SeatUserDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Seat users resource type. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SeatUserDataType getType() { + return type; + } + + public void setType(SeatUserDataType 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 SeatUserData + */ + @JsonAnySetter + public SeatUserData 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 SeatUserData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SeatUserData seatUserData = (SeatUserData) o; + return Objects.equals(this.attributes, seatUserData.attributes) + && Objects.equals(this.id, seatUserData.id) + && Objects.equals(this.type, seatUserData.type) + && Objects.equals(this.additionalProperties, seatUserData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SeatUserData {\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/SeatUserDataArray.java b/src/main/java/com/datadog/api/client/v2/model/SeatUserDataArray.java new file mode 100644 index 00000000000..6470e5f1ea1 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SeatUserDataArray.java @@ -0,0 +1,181 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({SeatUserDataArray.JSON_PROPERTY_DATA, SeatUserDataArray.JSON_PROPERTY_META}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SeatUserDataArray { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_META = "meta"; + private SeatUserMeta meta; + + public SeatUserDataArray() {} + + @JsonCreator + public SeatUserDataArray( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) List data) { + this.data = data; + } + + public SeatUserDataArray data(List data) { + this.data = data; + for (SeatUserData item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public SeatUserDataArray addDataItem(SeatUserData dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public SeatUserDataArray meta(SeatUserMeta meta) { + this.meta = meta; + this.unparsed |= meta.unparsed; + return this; + } + + /** + * Getmeta + * + * @return meta + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_META) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public SeatUserMeta getMeta() { + return meta; + } + + public void setMeta(SeatUserMeta meta) { + this.meta = meta; + } + + /** + * 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 SeatUserDataArray + */ + @JsonAnySetter + public SeatUserDataArray 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 SeatUserDataArray object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SeatUserDataArray seatUserDataArray = (SeatUserDataArray) o; + return Objects.equals(this.data, seatUserDataArray.data) + && Objects.equals(this.meta, seatUserDataArray.meta) + && Objects.equals(this.additionalProperties, seatUserDataArray.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, meta, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SeatUserDataArray {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).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/SeatUserDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/SeatUserDataAttributes.java new file mode 100644 index 00000000000..d31b8c64c7b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SeatUserDataAttributes.java @@ -0,0 +1,191 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + SeatUserDataAttributes.JSON_PROPERTY_ASSIGNED_AT, + SeatUserDataAttributes.JSON_PROPERTY_EMAIL, + SeatUserDataAttributes.JSON_PROPERTY_NAME +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SeatUserDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ASSIGNED_AT = "assigned_at"; + private String assignedAt; + + public static final String JSON_PROPERTY_EMAIL = "email"; + private String email; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public SeatUserDataAttributes assignedAt(String assignedAt) { + this.assignedAt = assignedAt; + return this; + } + + /** + * GetassignedAt + * + * @return assignedAt + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ASSIGNED_AT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getAssignedAt() { + return assignedAt; + } + + public void setAssignedAt(String assignedAt) { + this.assignedAt = assignedAt; + } + + public SeatUserDataAttributes email(String email) { + this.email = email; + return this; + } + + /** + * Getemail + * + * @return email + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_EMAIL) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public SeatUserDataAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Getname + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * 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 SeatUserDataAttributes + */ + @JsonAnySetter + public SeatUserDataAttributes 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 SeatUserDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SeatUserDataAttributes seatUserDataAttributes = (SeatUserDataAttributes) o; + return Objects.equals(this.assignedAt, seatUserDataAttributes.assignedAt) + && Objects.equals(this.email, seatUserDataAttributes.email) + && Objects.equals(this.name, seatUserDataAttributes.name) + && Objects.equals(this.additionalProperties, seatUserDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(assignedAt, email, name, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SeatUserDataAttributes {\n"); + sb.append(" assignedAt: ").append(toIndentedString(assignedAt)).append("\n"); + sb.append(" email: ").append(toIndentedString(email)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).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/SeatUserDataType.java b/src/main/java/com/datadog/api/client/v2/model/SeatUserDataType.java new file mode 100644 index 00000000000..0bc3849b64b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SeatUserDataType.java @@ -0,0 +1,53 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Seat users resource type. */ +@JsonSerialize(using = SeatUserDataType.SeatUserDataTypeSerializer.class) +public class SeatUserDataType extends ModelEnum { + + private static final Set allowedValues = new HashSet(Arrays.asList("seat-users")); + + public static final SeatUserDataType SEAT_USERS = new SeatUserDataType("seat-users"); + + SeatUserDataType(String value) { + super(value, allowedValues); + } + + public static class SeatUserDataTypeSerializer extends StdSerializer { + public SeatUserDataTypeSerializer(Class t) { + super(t); + } + + public SeatUserDataTypeSerializer() { + this(null); + } + + @Override + public void serialize(SeatUserDataType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static SeatUserDataType fromValue(String value) { + return new SeatUserDataType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/SeatUserMeta.java b/src/main/java/com/datadog/api/client/v2/model/SeatUserMeta.java new file mode 100644 index 00000000000..9fcb13bbd8b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/SeatUserMeta.java @@ -0,0 +1,191 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + SeatUserMeta.JSON_PROPERTY_CURSOR, + SeatUserMeta.JSON_PROPERTY_LIMIT, + SeatUserMeta.JSON_PROPERTY_NEXT_CURSOR +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class SeatUserMeta { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CURSOR = "cursor"; + private String cursor; + + public static final String JSON_PROPERTY_LIMIT = "limit"; + private Long limit; + + public static final String JSON_PROPERTY_NEXT_CURSOR = "next_cursor"; + private String nextCursor; + + public SeatUserMeta cursor(String cursor) { + this.cursor = cursor; + return this; + } + + /** + * Getcursor + * + * @return cursor + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_CURSOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getCursor() { + return cursor; + } + + public void setCursor(String cursor) { + this.cursor = cursor; + } + + public SeatUserMeta limit(Long limit) { + this.limit = limit; + return this; + } + + /** + * Getlimit + * + * @return limit + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LIMIT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Long getLimit() { + return limit; + } + + public void setLimit(Long limit) { + this.limit = limit; + } + + public SeatUserMeta nextCursor(String nextCursor) { + this.nextCursor = nextCursor; + return this; + } + + /** + * GetnextCursor + * + * @return nextCursor + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NEXT_CURSOR) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNextCursor() { + return nextCursor; + } + + public void setNextCursor(String nextCursor) { + this.nextCursor = nextCursor; + } + + /** + * 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 SeatUserMeta + */ + @JsonAnySetter + public SeatUserMeta 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 SeatUserMeta object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SeatUserMeta seatUserMeta = (SeatUserMeta) o; + return Objects.equals(this.cursor, seatUserMeta.cursor) + && Objects.equals(this.limit, seatUserMeta.limit) + && Objects.equals(this.nextCursor, seatUserMeta.nextCursor) + && Objects.equals(this.additionalProperties, seatUserMeta.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(cursor, limit, nextCursor, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SeatUserMeta {\n"); + sb.append(" cursor: ").append(toIndentedString(cursor)).append("\n"); + sb.append(" limit: ").append(toIndentedString(limit)).append("\n"); + sb.append(" nextCursor: ").append(toIndentedString(nextCursor)).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/UnassignSeatsUserRequest.java b/src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequest.java new file mode 100644 index 00000000000..e6034b7838b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequest.java @@ -0,0 +1,136 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({UnassignSeatsUserRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class UnassignSeatsUserRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private UnassignSeatsUserRequestData data; + + public UnassignSeatsUserRequest data(UnassignSeatsUserRequestData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Getdata + * + * @return data + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UnassignSeatsUserRequestData getData() { + return data; + } + + public void setData(UnassignSeatsUserRequestData 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 UnassignSeatsUserRequest + */ + @JsonAnySetter + public UnassignSeatsUserRequest 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 UnassignSeatsUserRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UnassignSeatsUserRequest unassignSeatsUserRequest = (UnassignSeatsUserRequest) o; + return Objects.equals(this.data, unassignSeatsUserRequest.data) + && Objects.equals(this.additionalProperties, unassignSeatsUserRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UnassignSeatsUserRequest {\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/UnassignSeatsUserRequestData.java b/src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequestData.java new file mode 100644 index 00000000000..b71a333c4e0 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequestData.java @@ -0,0 +1,207 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + UnassignSeatsUserRequestData.JSON_PROPERTY_ATTRIBUTES, + UnassignSeatsUserRequestData.JSON_PROPERTY_ID, + UnassignSeatsUserRequestData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class UnassignSeatsUserRequestData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private UnassignSeatsUserRequestDataAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private SeatAssignmentsDataType type = SeatAssignmentsDataType.SEAT_ASSIGNMENTS; + + public UnassignSeatsUserRequestData() {} + + @JsonCreator + public UnassignSeatsUserRequestData( + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) SeatAssignmentsDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + } + + public UnassignSeatsUserRequestData attributes( + UnassignSeatsUserRequestDataAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Getattributes + * + * @return attributes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public UnassignSeatsUserRequestDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(UnassignSeatsUserRequestDataAttributes attributes) { + this.attributes = attributes; + } + + public UnassignSeatsUserRequestData id(String id) { + this.id = id; + return this; + } + + /** + * Getid + * + * @return id + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public UnassignSeatsUserRequestData type(SeatAssignmentsDataType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Seat assignments resource type. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public SeatAssignmentsDataType getType() { + return type; + } + + public void setType(SeatAssignmentsDataType 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 UnassignSeatsUserRequestData + */ + @JsonAnySetter + public UnassignSeatsUserRequestData 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 UnassignSeatsUserRequestData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UnassignSeatsUserRequestData unassignSeatsUserRequestData = (UnassignSeatsUserRequestData) o; + return Objects.equals(this.attributes, unassignSeatsUserRequestData.attributes) + && Objects.equals(this.id, unassignSeatsUserRequestData.id) + && Objects.equals(this.type, unassignSeatsUserRequestData.type) + && Objects.equals( + this.additionalProperties, unassignSeatsUserRequestData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UnassignSeatsUserRequestData {\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/UnassignSeatsUserRequestDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequestDataAttributes.java new file mode 100644 index 00000000000..b742931df4b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/UnassignSeatsUserRequestDataAttributes.java @@ -0,0 +1,176 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** */ +@JsonPropertyOrder({ + UnassignSeatsUserRequestDataAttributes.JSON_PROPERTY_PRODUCT_CODE, + UnassignSeatsUserRequestDataAttributes.JSON_PROPERTY_USER_UUIDS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class UnassignSeatsUserRequestDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_PRODUCT_CODE = "product_code"; + private String productCode; + + public static final String JSON_PROPERTY_USER_UUIDS = "user_uuids"; + private List userUuids = null; + + public UnassignSeatsUserRequestDataAttributes productCode(String productCode) { + this.productCode = productCode; + return this; + } + + /** + * GetproductCode + * + * @return productCode + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PRODUCT_CODE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public UnassignSeatsUserRequestDataAttributes userUuids(List userUuids) { + this.userUuids = userUuids; + return this; + } + + public UnassignSeatsUserRequestDataAttributes addUserUuidsItem(String userUuidsItem) { + if (this.userUuids == null) { + this.userUuids = new ArrayList<>(); + } + this.userUuids.add(userUuidsItem); + return this; + } + + /** + * GetuserUuids + * + * @return userUuids + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_USER_UUIDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getUserUuids() { + return userUuids; + } + + public void setUserUuids(List userUuids) { + this.userUuids = userUuids; + } + + /** + * 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 UnassignSeatsUserRequestDataAttributes + */ + @JsonAnySetter + public UnassignSeatsUserRequestDataAttributes 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 UnassignSeatsUserRequestDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UnassignSeatsUserRequestDataAttributes unassignSeatsUserRequestDataAttributes = + (UnassignSeatsUserRequestDataAttributes) o; + return Objects.equals(this.productCode, unassignSeatsUserRequestDataAttributes.productCode) + && Objects.equals(this.userUuids, unassignSeatsUserRequestDataAttributes.userUuids) + && Objects.equals( + this.additionalProperties, unassignSeatsUserRequestDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(productCode, userUuids, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UnassignSeatsUserRequestDataAttributes {\n"); + sb.append(" productCode: ").append(toIndentedString(productCode)).append("\n"); + sb.append(" userUuids: ").append(toIndentedString(userUuids)).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/seats.feature b/src/test/resources/com/datadog/api/client/v2/api/seats.feature new file mode 100644 index 00000000000..4f45a170444 --- /dev/null +++ b/src/test/resources/com/datadog/api/client/v2/api/seats.feature @@ -0,0 +1,30 @@ +@endpoint(seats) @endpoint(seats-v2) +Feature: Seats + The seats API allows you to view, assign, and unassign seats for your + organization. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "Seats" API + + @generated @skip @team:DataDog/billing-experience + Scenario: Assign seats to users for a product code returns "Created" response + Given new "AssignSeatsUserV2" request + And body with value {"data": {"attributes": {"user_uuids": []}, "type": "seat-assignments"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/billing-experience + Scenario: Get seats users for a product code returns "OK" response + Given new "GetSeatsUsersV2" request + And request contains "product_code" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/billing-experience + Scenario: Unassign seats from users for a product code returns "No Content" response + Given new "UnassignSeatsUserV2" request + And body with value {"data": {"attributes": {"user_uuids": []}, "type": "seat-assignments"}} + When the request is sent + Then the response status is 204 No Content 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 7e549784ee6..821ea95bcf7 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 @@ -4187,6 +4187,31 @@ "type": "idempotent" } }, + "UnassignSeatsUserV2": { + "tag": "Seats", + "undo": { + "type": "idempotent" + } + }, + "GetSeatsUsersV2": { + "tag": "Seats", + "undo": { + "type": "safe" + } + }, + "AssignSeatsUserV2": { + "tag": "Seats", + "undo": { + "operationId": "UnassignSeatsUserV2", + "parameters": [ + { + "name": "body", + "template": "{\"data\": {\"type\": \"seat-assignments\", \"attributes\": {\"product_code\": \"{{ data.attributes.product_code }}\", \"user_uuids\": {{ data.attributes.assigned_ids }}}}}" + } + ], + "type": "unsafe" + } + }, "ListEntityRiskScores": { "tag": "Entity Risk Scores", "undo": {