From bd35e73388cb7cf5c7588d3c747316d18f603f6e Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 19 Oct 2026 10:47:56 +0000 Subject: [PATCH] Regenerate client from commit 0d1d020 of spec repo --- .generator/schemas/v2/openapi.yaml | 494 ++++++++++ ...ralCloudOpenMetricsIntegrationAccount.java | 59 ++ ...ralCloudOpenMetricsIntegrationAccount.java | 28 + ...ralCloudOpenMetricsIntegrationAccount.java | 31 + ...alCloudOpenMetricsIntegrationAccounts.java | 31 + ...ralCloudOpenMetricsIntegrationAccount.java | 60 ++ .../com/datadog/api/client/ApiClient.java | 5 + ...emporalCloudOpenMetricsIntegrationApi.java | 863 ++++++++++++++++++ ...tegrationAccountAuthenticationRequest.java | 270 ++++++ ...egrationAccountAuthenticationResponse.java | 270 ++++++ ...ntegrationAccountAuthenticationUpdate.java | 269 ++++++ ...egrationAccountBearerTokenAuthRequest.java | 138 +++ ...grationAccountBearerTokenAuthResponse.java | 163 ++++ ...IntegrationAccountBearerTokenAuthType.java | 65 ++ ...tegrationAccountBearerTokenAuthUpdate.java | 137 +++ ...icsIntegrationAccountCreateAttributes.java | 229 +++++ ...enMetricsIntegrationAccountCreateData.java | 193 ++++ ...etricsIntegrationAccountCreateRequest.java | 158 ++++ ...OpenMetricsIntegrationAccountResponse.java | 158 ++++ ...sIntegrationAccountResponseAttributes.java | 258 ++++++ ...MetricsIntegrationAccountResponseData.java | 217 +++++ ...ricsIntegrationAccountSettingsRequest.java | 131 +++ ...icsIntegrationAccountSettingsResponse.java | 185 ++++ ...tricsIntegrationAccountSettingsUpdate.java | 133 +++ ...icsIntegrationAccountUpdateAttributes.java | 219 +++++ ...enMetricsIntegrationAccountUpdateData.java | 222 +++++ ...etricsIntegrationAccountUpdateRequest.java | 158 ++++ ...penMetricsIntegrationAccountsResponse.java | 172 ++++ ...enMetricsIntegrationDataflowsResponse.java | 161 ++++ ...icsMetricsIntegrationDataflowResponse.java | 162 ++++ ...oral_cloud_openmetrics_integration.feature | 149 +++ .../com/datadog/api/client/v2/api/undo.json | 37 + 32 files changed, 5825 insertions(+) create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.java create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.java create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.java create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.java create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.java create mode 100644 src/main/java/com/datadog/api/client/v2/api/TemporalCloudOpenMetricsIntegrationApi.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponseData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountsResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationDataflowsResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse.java create mode 100644 src/test/resources/com/datadog/api/client/v2/api/temporal_cloud_openmetrics_integration.feature diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 00ba154a3a7..4231b687d9d 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -132831,6 +132831,253 @@ components: description: Offset type. type: string type: object + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest: + description: Authentication for creating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + oneOf: + - $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest" + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse: + description: Authentication configured on the Temporal Cloud OpenMetrics integration account. + oneOf: + - $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse" + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate: + description: Authentication for updating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + oneOf: + - $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate" + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest: + additionalProperties: false + description: >- + Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics Read-Only account-level role. + properties: + auth_type: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType" + token: + description: Secret token used to authenticate with Temporal Cloud. + example: your-token + type: string + writeOnly: true + required: + - auth_type + - token + type: object + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse: + description: The bearer token authentication method configured on the account. + properties: + auth_type: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType" + required: + - auth_type + type: object + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType: + default: bearer_token + description: The authentication method type. + enum: + - bearer_token + example: bearer_token + type: string + x-enum-varnames: + - BEARER_TOKEN + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate: + additionalProperties: false + description: >- + Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics Read-Only account-level role. Only the fields provided are changed; omit `token` to keep the stored one. + properties: + auth_type: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType" + token: + description: Secret token used to authenticate with Temporal Cloud. + example: your-token + type: string + writeOnly: true + required: + - auth_type + type: object + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes: + description: Writable attributes used to create a Temporal Cloud OpenMetrics integration account. + properties: + authentication: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest" + name: + description: Human-readable name of the Temporal Cloud OpenMetrics integration account. + example: temporal-cloud-prod + type: string + settings: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountSettingsRequest" + required: + - name + - authentication + - settings + type: object + TemporalCloudOpenMetricsIntegrationAccountCreateData: + description: Data envelope for creating a Temporal Cloud OpenMetrics integration account. + properties: + attributes: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountCreateAttributes" + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - type + - attributes + type: object + TemporalCloudOpenMetricsIntegrationAccountCreateRequest: + description: Request payload to create a Temporal Cloud OpenMetrics integration account. + properties: + data: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountCreateData" + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationAccountResponse: + description: Response payload for a single Temporal Cloud OpenMetrics integration account. + properties: + data: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponseData" + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes: + description: Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. + properties: + authentication: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse" + dataflows: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationDataflowsResponse" + name: + description: Human-readable name of the Temporal Cloud OpenMetrics integration account. + example: temporal-cloud-prod + type: string + settings: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountSettingsResponse" + required: + - name + - settings + type: object + TemporalCloudOpenMetricsIntegrationAccountResponseData: + description: Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned identity. + properties: + attributes: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponseAttributes" + id: + description: Server-generated unique identifier of the Temporal Cloud OpenMetrics integration account. + example: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + readOnly: true + type: string + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - id + - attributes + - type + type: object + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest: + additionalProperties: false + description: Settings for creating the Temporal Cloud OpenMetrics integration account. + properties: + include_opt_in_labels: + description: >- + When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. Defaults to `false`. + example: false + type: boolean + namespaces_to_include: + description: >- + Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Entries may contain only lowercase letters, digits, hyphens, periods and `*`; any other value is rejected with a `422` response. Omit it or leave it empty to collect metrics for all namespaces. + example: prod-*,billing.a1b2c + type: string + type: object + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse: + description: Settings configured on the Temporal Cloud OpenMetrics integration account. + properties: + include_opt_in_labels: + description: >- + When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. + example: false + type: boolean + namespaces_to_include: + description: >- + Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Empty or absent when metrics are collected for all namespaces. + example: prod-*,billing.a1b2c + type: string + type: object + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate: + additionalProperties: false + description: Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + properties: + include_opt_in_labels: + description: >- + When enabled, Datadog collects Temporal Cloud's [opt-in labels](https://docs.temporal.io/cloud/metrics/openmetrics/metrics-reference#opt-in-labels) (activity type, worker deployment name, and worker build ID) for more granularity on your existing metrics. Enabling them may increase metric collection latency. + example: false + type: boolean + namespaces_to_include: + description: >- + Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use `*` as a wildcard; for example, `prod-*` matches every namespace starting with `prod-`. Entries may contain only lowercase letters, digits, hyphens, periods and `*`; any other value is rejected with a `422` response. Omit it or leave it empty to collect metrics for all namespaces. + example: prod-*,billing.a1b2c + type: string + type: object + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes: + description: >- + Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every field is optional; only the fields provided are changed. + properties: + authentication: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate" + name: + description: Human-readable name of the Temporal Cloud OpenMetrics integration account. + example: temporal-cloud-prod + type: string + settings: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate" + type: object + TemporalCloudOpenMetricsIntegrationAccountUpdateData: + description: Data envelope for updating a Temporal Cloud OpenMetrics integration account. + properties: + attributes: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes" + id: + description: Unique identifier of the Temporal Cloud OpenMetrics integration account to update. + example: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: string + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - id + - type + - attributes + type: object + TemporalCloudOpenMetricsIntegrationAccountUpdateRequest: + description: Request payload to update a Temporal Cloud OpenMetrics integration account. + properties: + data: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountUpdateData" + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationAccountsResponse: + description: Response payload for a list of Temporal Cloud OpenMetrics integration accounts. + properties: + data: + description: List of Temporal Cloud OpenMetrics integration accounts. + items: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponseData" + type: array + required: + - data + type: object + TemporalCloudOpenMetricsIntegrationDataflowsResponse: + description: Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. + properties: + temporal-cloud-openmetrics-metrics: + $ref: "#/components/schemas/TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse" + type: object + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse: + description: >- + Temporal Cloud operational metrics for your namespaces, workflows and task queues, such as workflow and activity rates, task polling, and service request latency, collected from Temporal Cloud's OpenMetrics endpoint. This is the integration's only collection: it is always on and cannot be turned off, which is why it appears in responses only. + properties: + enabled: + description: Whether Datadog collects this data. Always `true`, because this collection cannot be turned off. + example: true + readOnly: true + type: boolean + status: + $ref: "#/components/schemas/IntegrationAccountDataflowStatus" + type: object TenancyConfig: description: Response containing a single OCI tenancy integration configuration. example: @@ -184028,6 +184275,244 @@ paths: x-unstable: |- **Note**: This endpoint is in preview and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts: + get: + description: List Temporal Cloud OpenMetrics integration accounts. + operationId: ListTemporalCloudOpenMetricsIntegrationAccounts + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountsResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: List Temporal Cloud OpenMetrics accounts + tags: + - Temporal Cloud OpenMetrics Integration + "x-permission": + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a Temporal Cloud OpenMetrics integration account. + operationId: CreateTemporalCloudOpenMetricsIntegrationAccount + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountCreateRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponse" + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "422": + $ref: "#/components/responses/UnprocessableEntityResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Create a Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + x-codegen-request-body-name: body + "x-permission": + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}: + delete: + description: Delete a Temporal Cloud OpenMetrics integration account. + operationId: DeleteTemporalCloudOpenMetricsIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + responses: + "200": + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Delete a Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + "x-permission": + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a Temporal Cloud OpenMetrics integration account. + operationId: GetTemporalCloudOpenMetricsIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Get a Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + "x-permission": + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update a Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + operationId: UpdateTemporalCloudOpenMetricsIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountUpdateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: bearer_token + dataflows: + temporal-cloud-openmetrics-metrics: + enabled: true + status: + health: DATAFLOW_HEALTH_OK + updated_at: "2026-06-25T08:30:50Z" + name: temporal-cloud-prod + settings: + include_opt_in_labels: false + namespaces_to_include: prod-*,billing.a1b2c + id: 7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57 + type: integration-account + schema: + $ref: "#/components/schemas/TemporalCloudOpenMetricsIntegrationAccountResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "422": + $ref: "#/components/responses/UnprocessableEntityResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Update a Temporal Cloud OpenMetrics account + tags: + - Temporal Cloud OpenMetrics Integration + x-codegen-request-body-name: body + "x-permission": + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/integration-interfaces/twilio/accounts: get: description: List Twilio integration accounts. @@ -251060,6 +251545,15 @@ tags: name: Tag Rules - description: View and manage teams within Datadog. See the [Teams page](https://docs.datadoghq.com/account_management/teams/) for more information. name: Teams + - description: |- + Manage your Datadog Temporal Cloud OpenMetrics integration accounts and account resources + directly through the Datadog API. See the + [Temporal Cloud OpenMetrics integration page](https://docs.datadoghq.com/integrations/temporal-cloud-openmetrics/) for + more information. + externalDocs: + description: Temporal Cloud OpenMetrics integration. + url: https://docs.datadoghq.com/integrations/temporal-cloud-openmetrics/ + name: Temporal Cloud OpenMetrics Integration - description: |- Search and manage flaky tests through Test Optimization. See the [Test Optimization page](https://docs.datadoghq.com/tests/) for more information. name: Test Optimization diff --git a/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.java b/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.java new file mode 100644 index 00000000000..8f03bf2fded --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.java @@ -0,0 +1,59 @@ +// Create a Temporal Cloud OpenMetrics account returns "Created" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.TemporalCloudOpenMetricsIntegrationApi; +import com.datadog.api.client.v2.model.IntegrationAccountType; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountCreateAttributes; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountCreateData; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountCreateRequest; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountResponse; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountSettingsRequest; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN")); + defaultClient.setUnstableOperationEnabled( + "v2.createTemporalCloudOpenMetricsIntegrationAccount", true); + TemporalCloudOpenMetricsIntegrationApi apiInstance = + new TemporalCloudOpenMetricsIntegrationApi(defaultClient); + + TemporalCloudOpenMetricsIntegrationAccountCreateRequest body = + new TemporalCloudOpenMetricsIntegrationAccountCreateRequest() + .data( + new TemporalCloudOpenMetricsIntegrationAccountCreateData() + .attributes( + new TemporalCloudOpenMetricsIntegrationAccountCreateAttributes() + .authentication( + new TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest( + new TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest() + .authType( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + .BEARER_TOKEN) + .token("your-token"))) + .name("temporal-cloud-prod") + .settings( + new TemporalCloudOpenMetricsIntegrationAccountSettingsRequest() + .includeOptInLabels(false) + .namespacesToInclude("prod-*,billing.a1b2c"))) + .type(IntegrationAccountType.INTEGRATION_ACCOUNT)); + + try { + TemporalCloudOpenMetricsIntegrationAccountResponse result = + apiInstance.createTemporalCloudOpenMetricsIntegrationAccount(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling" + + " TemporalCloudOpenMetricsIntegrationApi#createTemporalCloudOpenMetricsIntegrationAccount"); + 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/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.java b/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.java new file mode 100644 index 00000000000..54e3bd59aea --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.java @@ -0,0 +1,28 @@ +// Delete a Temporal Cloud OpenMetrics account returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.TemporalCloudOpenMetricsIntegrationApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN")); + defaultClient.setUnstableOperationEnabled( + "v2.deleteTemporalCloudOpenMetricsIntegrationAccount", true); + TemporalCloudOpenMetricsIntegrationApi apiInstance = + new TemporalCloudOpenMetricsIntegrationApi(defaultClient); + + try { + apiInstance.deleteTemporalCloudOpenMetricsIntegrationAccount("account_id"); + } catch (ApiException e) { + System.err.println( + "Exception when calling" + + " TemporalCloudOpenMetricsIntegrationApi#deleteTemporalCloudOpenMetricsIntegrationAccount"); + 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/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.java b/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.java new file mode 100644 index 00000000000..eccdea38ac3 --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.java @@ -0,0 +1,31 @@ +// Get a Temporal Cloud OpenMetrics account returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.TemporalCloudOpenMetricsIntegrationApi; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountResponse; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN")); + defaultClient.setUnstableOperationEnabled( + "v2.getTemporalCloudOpenMetricsIntegrationAccount", true); + TemporalCloudOpenMetricsIntegrationApi apiInstance = + new TemporalCloudOpenMetricsIntegrationApi(defaultClient); + + try { + TemporalCloudOpenMetricsIntegrationAccountResponse result = + apiInstance.getTemporalCloudOpenMetricsIntegrationAccount("account_id"); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling" + + " TemporalCloudOpenMetricsIntegrationApi#getTemporalCloudOpenMetricsIntegrationAccount"); + 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/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.java b/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.java new file mode 100644 index 00000000000..88721f67c9f --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.java @@ -0,0 +1,31 @@ +// List Temporal Cloud OpenMetrics accounts returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.TemporalCloudOpenMetricsIntegrationApi; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountsResponse; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN")); + defaultClient.setUnstableOperationEnabled( + "v2.listTemporalCloudOpenMetricsIntegrationAccounts", true); + TemporalCloudOpenMetricsIntegrationApi apiInstance = + new TemporalCloudOpenMetricsIntegrationApi(defaultClient); + + try { + TemporalCloudOpenMetricsIntegrationAccountsResponse result = + apiInstance.listTemporalCloudOpenMetricsIntegrationAccounts(); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling" + + " TemporalCloudOpenMetricsIntegrationApi#listTemporalCloudOpenMetricsIntegrationAccounts"); + 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/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.java b/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.java new file mode 100644 index 00000000000..d10028e8fdc --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.java @@ -0,0 +1,60 @@ +// Update a Temporal Cloud OpenMetrics account returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.TemporalCloudOpenMetricsIntegrationApi; +import com.datadog.api.client.v2.model.IntegrationAccountType; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountResponse; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountUpdateData; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountUpdateRequest; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN")); + defaultClient.setUnstableOperationEnabled( + "v2.updateTemporalCloudOpenMetricsIntegrationAccount", true); + TemporalCloudOpenMetricsIntegrationApi apiInstance = + new TemporalCloudOpenMetricsIntegrationApi(defaultClient); + + TemporalCloudOpenMetricsIntegrationAccountUpdateRequest body = + new TemporalCloudOpenMetricsIntegrationAccountUpdateRequest() + .data( + new TemporalCloudOpenMetricsIntegrationAccountUpdateData() + .attributes( + new TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes() + .authentication( + new TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate( + new TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate() + .authType( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + .BEARER_TOKEN) + .token("your-token"))) + .name("temporal-cloud-prod") + .settings( + new TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate() + .includeOptInLabels(false) + .namespacesToInclude("prod-*,billing.a1b2c"))) + .id("7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57") + .type(IntegrationAccountType.INTEGRATION_ACCOUNT)); + + try { + TemporalCloudOpenMetricsIntegrationAccountResponse result = + apiInstance.updateTemporalCloudOpenMetricsIntegrationAccount("account_id", body); + System.out.println(result); + } catch (ApiException e) { + System.err.println( + "Exception when calling" + + " TemporalCloudOpenMetricsIntegrationApi#updateTemporalCloudOpenMetricsIntegrationAccount"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java index 5f63a511a5f..9bee5a172af 100644 --- a/src/main/java/com/datadog/api/client/ApiClient.java +++ b/src/main/java/com/datadog/api/client/ApiClient.java @@ -1414,6 +1414,11 @@ public class ApiClient { put("v2.getSnowflakeIntegrationAccount", false); put("v2.listSnowflakeIntegrationAccounts", false); put("v2.updateSnowflakeIntegrationAccount", false); + put("v2.createTemporalCloudOpenMetricsIntegrationAccount", false); + put("v2.deleteTemporalCloudOpenMetricsIntegrationAccount", false); + put("v2.getTemporalCloudOpenMetricsIntegrationAccount", false); + put("v2.listTemporalCloudOpenMetricsIntegrationAccounts", false); + put("v2.updateTemporalCloudOpenMetricsIntegrationAccount", false); put("v2.createTwilioIntegrationAccount", false); put("v2.deleteTwilioIntegrationAccount", false); put("v2.getTwilioIntegrationAccount", false); diff --git a/src/main/java/com/datadog/api/client/v2/api/TemporalCloudOpenMetricsIntegrationApi.java b/src/main/java/com/datadog/api/client/v2/api/TemporalCloudOpenMetricsIntegrationApi.java new file mode 100644 index 00000000000..6219d1dbc60 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/api/TemporalCloudOpenMetricsIntegrationApi.java @@ -0,0 +1,863 @@ +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.TemporalCloudOpenMetricsIntegrationAccountCreateRequest; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountResponse; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountUpdateRequest; +import com.datadog.api.client.v2.model.TemporalCloudOpenMetricsIntegrationAccountsResponse; +import jakarta.ws.rs.client.Invocation; +import jakarta.ws.rs.core.GenericType; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CompletableFuture; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationApi { + private ApiClient apiClient; + + public TemporalCloudOpenMetricsIntegrationApi() { + this(ApiClient.getDefaultApiClient()); + } + + public TemporalCloudOpenMetricsIntegrationApi(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Get the API client. + * + * @return API client + */ + public ApiClient getApiClient() { + return apiClient; + } + + /** + * Set the API client. + * + * @param apiClient an instance of API client + */ + public void setApiClient(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Create a Temporal Cloud OpenMetrics account. + * + *

See {@link #createTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param body (required) + * @return TemporalCloudOpenMetricsIntegrationAccountResponse + * @throws ApiException if fails to make API call + */ + public TemporalCloudOpenMetricsIntegrationAccountResponse + createTemporalCloudOpenMetricsIntegrationAccount( + TemporalCloudOpenMetricsIntegrationAccountCreateRequest body) throws ApiException { + return createTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo(body).getData(); + } + + /** + * Create a Temporal Cloud OpenMetrics account. + * + *

See {@link #createTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync}. + * + * @param body (required) + * @return CompletableFuture<TemporalCloudOpenMetricsIntegrationAccountResponse> + */ + public CompletableFuture + createTemporalCloudOpenMetricsIntegrationAccountAsync( + TemporalCloudOpenMetricsIntegrationAccountCreateRequest body) { + return createTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync(body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Create a Temporal Cloud OpenMetrics integration account. + * + * @param body (required) + * @return ApiResponse<TemporalCloudOpenMetricsIntegrationAccountResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
201 Created -
400 Bad Request -
403 Forbidden -
404 Not Found -
422 The server cannot process the request because it contains invalid data. -
429 Too many requests -
+ */ + public ApiResponse + createTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo( + TemporalCloudOpenMetricsIntegrationAccountCreateRequest body) throws ApiException { + // Check if unstable operation is enabled + String operationId = "createTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " createTemporalCloudOpenMetricsIntegrationAccount"); + } + // create path and map variables + String localVarPath = "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.createTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Create a Temporal Cloud OpenMetrics account. + * + *

See {@link #createTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param body (required) + * @return + * CompletableFuture<ApiResponse<TemporalCloudOpenMetricsIntegrationAccountResponse>> + */ + public CompletableFuture> + createTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync( + TemporalCloudOpenMetricsIntegrationAccountCreateRequest body) { + // Check if unstable operation is enabled + String operationId = "createTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " createTemporalCloudOpenMetricsIntegrationAccount")); + return result; + } + // create path and map variables + String localVarPath = "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.createTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Delete a Temporal Cloud OpenMetrics account. + * + *

See {@link #deleteTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param accountId Unique identifier of the integration account. (required) + * @throws ApiException if fails to make API call + */ + public void deleteTemporalCloudOpenMetricsIntegrationAccount(String accountId) + throws ApiException { + deleteTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo(accountId); + } + + /** + * Delete a Temporal Cloud OpenMetrics account. + * + *

See {@link #deleteTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync}. + * + * @param accountId Unique identifier of the integration account. (required) + * @return CompletableFuture + */ + public CompletableFuture deleteTemporalCloudOpenMetricsIntegrationAccountAsync( + String accountId) { + return deleteTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync(accountId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Delete a Temporal Cloud OpenMetrics integration account. + * + * @param accountId Unique identifier of the integration account. (required) + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse deleteTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo( + String accountId) throws ApiException { + // Check if unstable operation is enabled + String operationId = "deleteTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'accountId' when calling" + + " deleteTemporalCloudOpenMetricsIntegrationAccount"); + } + // create path and map variables + String localVarPath = + "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.deleteTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Delete a Temporal Cloud OpenMetrics account. + * + *

See {@link #deleteTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param accountId Unique identifier of the integration account. (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> + deleteTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync(String accountId) { + // Check if unstable operation is enabled + String operationId = "deleteTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'accountId' when calling" + + " deleteTemporalCloudOpenMetricsIntegrationAccount")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.deleteTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Get a Temporal Cloud OpenMetrics account. + * + *

See {@link #getTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param accountId Unique identifier of the integration account. (required) + * @return TemporalCloudOpenMetricsIntegrationAccountResponse + * @throws ApiException if fails to make API call + */ + public TemporalCloudOpenMetricsIntegrationAccountResponse + getTemporalCloudOpenMetricsIntegrationAccount(String accountId) throws ApiException { + return getTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo(accountId).getData(); + } + + /** + * Get a Temporal Cloud OpenMetrics account. + * + *

See {@link #getTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync}. + * + * @param accountId Unique identifier of the integration account. (required) + * @return CompletableFuture<TemporalCloudOpenMetricsIntegrationAccountResponse> + */ + public CompletableFuture + getTemporalCloudOpenMetricsIntegrationAccountAsync(String accountId) { + return getTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync(accountId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get a Temporal Cloud OpenMetrics integration account. + * + * @param accountId Unique identifier of the integration account. (required) + * @return ApiResponse<TemporalCloudOpenMetricsIntegrationAccountResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse + getTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo(String accountId) + throws ApiException { + // Check if unstable operation is enabled + String operationId = "getTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'accountId' when calling" + + " getTemporalCloudOpenMetricsIntegrationAccount"); + } + // create path and map variables + String localVarPath = + "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.getTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get a Temporal Cloud OpenMetrics account. + * + *

See {@link #getTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param accountId Unique identifier of the integration account. (required) + * @return + * CompletableFuture<ApiResponse<TemporalCloudOpenMetricsIntegrationAccountResponse>> + */ + public CompletableFuture> + getTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync(String accountId) { + // Check if unstable operation is enabled + String operationId = "getTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'accountId' when calling" + + " getTemporalCloudOpenMetricsIntegrationAccount")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.getTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * List Temporal Cloud OpenMetrics accounts. + * + *

See {@link #listTemporalCloudOpenMetricsIntegrationAccountsWithHttpInfo}. + * + * @return TemporalCloudOpenMetricsIntegrationAccountsResponse + * @throws ApiException if fails to make API call + */ + public TemporalCloudOpenMetricsIntegrationAccountsResponse + listTemporalCloudOpenMetricsIntegrationAccounts() throws ApiException { + return listTemporalCloudOpenMetricsIntegrationAccountsWithHttpInfo().getData(); + } + + /** + * List Temporal Cloud OpenMetrics accounts. + * + *

See {@link #listTemporalCloudOpenMetricsIntegrationAccountsWithHttpInfoAsync}. + * + * @return CompletableFuture<TemporalCloudOpenMetricsIntegrationAccountsResponse> + */ + public CompletableFuture + listTemporalCloudOpenMetricsIntegrationAccountsAsync() { + return listTemporalCloudOpenMetricsIntegrationAccountsWithHttpInfoAsync() + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * List Temporal Cloud OpenMetrics integration accounts. + * + * @return ApiResponse<TemporalCloudOpenMetricsIntegrationAccountsResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse + listTemporalCloudOpenMetricsIntegrationAccountsWithHttpInfo() throws ApiException { + // Check if unstable operation is enabled + String operationId = "listTemporalCloudOpenMetricsIntegrationAccounts"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.listTemporalCloudOpenMetricsIntegrationAccounts", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * List Temporal Cloud OpenMetrics accounts. + * + *

See {@link #listTemporalCloudOpenMetricsIntegrationAccountsWithHttpInfo}. + * + * @return + * CompletableFuture<ApiResponse<TemporalCloudOpenMetricsIntegrationAccountsResponse>> + */ + public CompletableFuture> + listTemporalCloudOpenMetricsIntegrationAccountsWithHttpInfoAsync() { + // Check if unstable operation is enabled + String operationId = "listTemporalCloudOpenMetricsIntegrationAccounts"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.listTemporalCloudOpenMetricsIntegrationAccounts", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Update a Temporal Cloud OpenMetrics account. + * + *

See {@link #updateTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param accountId Unique identifier of the integration account. (required) + * @param body (required) + * @return TemporalCloudOpenMetricsIntegrationAccountResponse + * @throws ApiException if fails to make API call + */ + public TemporalCloudOpenMetricsIntegrationAccountResponse + updateTemporalCloudOpenMetricsIntegrationAccount( + String accountId, TemporalCloudOpenMetricsIntegrationAccountUpdateRequest body) + throws ApiException { + return updateTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo(accountId, body).getData(); + } + + /** + * Update a Temporal Cloud OpenMetrics account. + * + *

See {@link #updateTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync}. + * + * @param accountId Unique identifier of the integration account. (required) + * @param body (required) + * @return CompletableFuture<TemporalCloudOpenMetricsIntegrationAccountResponse> + */ + public CompletableFuture + updateTemporalCloudOpenMetricsIntegrationAccountAsync( + String accountId, TemporalCloudOpenMetricsIntegrationAccountUpdateRequest body) { + return updateTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync(accountId, body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Update a Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + * + * @param accountId Unique identifier of the integration account. (required) + * @param body (required) + * @return ApiResponse<TemporalCloudOpenMetricsIntegrationAccountResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
403 Forbidden -
404 Not Found -
422 The server cannot process the request because it contains invalid data. -
429 Too many requests -
+ */ + public ApiResponse + updateTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo( + String accountId, TemporalCloudOpenMetricsIntegrationAccountUpdateRequest body) + throws ApiException { + // Check if unstable operation is enabled + String operationId = "updateTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'accountId' when calling" + + " updateTemporalCloudOpenMetricsIntegrationAccount"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " updateTemporalCloudOpenMetricsIntegrationAccount"); + } + // create path and map variables + String localVarPath = + "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.updateTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + return apiClient.invokeAPI( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Update a Temporal Cloud OpenMetrics account. + * + *

See {@link #updateTemporalCloudOpenMetricsIntegrationAccountWithHttpInfo}. + * + * @param accountId Unique identifier of the integration account. (required) + * @param body (required) + * @return + * CompletableFuture<ApiResponse<TemporalCloudOpenMetricsIntegrationAccountResponse>> + */ + public CompletableFuture> + updateTemporalCloudOpenMetricsIntegrationAccountWithHttpInfoAsync( + String accountId, TemporalCloudOpenMetricsIntegrationAccountUpdateRequest body) { + // Check if unstable operation is enabled + String operationId = "updateTemporalCloudOpenMetricsIntegrationAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'accountId' when calling" + + " updateTemporalCloudOpenMetricsIntegrationAccount")); + return result; + } + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'body' when calling" + + " updateTemporalCloudOpenMetricsIntegrationAccount")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.TemporalCloudOpenMetricsIntegrationApi.updateTemporalCloudOpenMetricsIntegrationAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"}); + } catch (ApiException ex) { + CompletableFuture> result = + new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.java new file mode 100644 index 00000000000..6f6d1b64b6b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.java @@ -0,0 +1,270 @@ +/* + * 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.AbstractOpenApiSchema; +import com.datadog.api.client.JSON; +import com.datadog.api.client.UnparsedObject; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import jakarta.ws.rs.core.GenericType; +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +@JsonDeserialize( + using = + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest + .TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestDeserializer.class) +@JsonSerialize( + using = + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest + .TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestSerializer.class) +public class TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest + extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestSerializer + extends StdSerializer { + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestSerializer( + Class t) { + super(t); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestSerializer() { + this(null); + } + + @Override + public void serialize( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestDeserializer + extends StdDeserializer { + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestDeserializer() { + this(TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.class); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequestDeserializer( + Class vc) { + super(vc); + } + + @Override + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + Object tmp = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Integer.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Long.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Float.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Double.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Boolean.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Integer.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class + .equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Float.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class + .equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest'", + e); + } + + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest ret = + new TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), + "TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest() { + super("oneOf", Boolean.FALSE); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest", + new GenericType() {}); + JSON.registerDescendants( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: + * TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be" + + " TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest"); + } + + /** + * Get the actual instance, which can be the following: + * TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest + * + * @return The actual instance (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest`. + * If the actual instance is not + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest`, the ClassCastException will + * be thrown. + * + * @return The actual instance of + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest` + * @throws ClassCastException if the instance is not + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest` + */ + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest + getTemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest() + throws ClassCastException { + return (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest) + super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.java new file mode 100644 index 00000000000..c3c7c8a18d0 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.java @@ -0,0 +1,270 @@ +/* + * 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.AbstractOpenApiSchema; +import com.datadog.api.client.JSON; +import com.datadog.api.client.UnparsedObject; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import jakarta.ws.rs.core.GenericType; +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +@JsonDeserialize( + using = + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse + .TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseDeserializer.class) +@JsonSerialize( + using = + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse + .TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseSerializer.class) +public class TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse + extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseSerializer + extends StdSerializer { + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseSerializer( + Class t) { + super(t); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseSerializer() { + this(null); + } + + @Override + public void serialize( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseDeserializer + extends StdDeserializer { + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseDeserializer() { + this(TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.class); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponseDeserializer( + Class vc) { + super(vc); + } + + @Override + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + Object tmp = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Integer.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Long.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Float.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Double.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Boolean.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Integer.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class + .equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Float.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class + .equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse'", + e); + } + + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse ret = + new TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), + "TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse() { + super("oneOf", Boolean.FALSE); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse", + new GenericType() {}); + JSON.registerDescendants( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: + * TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be" + + " TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse"); + } + + /** + * Get the actual instance, which can be the following: + * TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse + * + * @return The actual instance (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse`. + * If the actual instance is not + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse`, the ClassCastException + * will be thrown. + * + * @return The actual instance of + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse` + * @throws ClassCastException if the instance is not + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse` + */ + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse + getTemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse() + throws ClassCastException { + return (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse) + super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.java new file mode 100644 index 00000000000..c986f2158a3 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.java @@ -0,0 +1,269 @@ +/* + * 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.AbstractOpenApiSchema; +import com.datadog.api.client.JSON; +import com.datadog.api.client.UnparsedObject; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import jakarta.ws.rs.core.GenericType; +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +@JsonDeserialize( + using = + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate + .TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateDeserializer.class) +@JsonSerialize( + using = + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate + .TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateSerializer.class) +public class TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate + extends AbstractOpenApiSchema { + private static final Logger log = + Logger.getLogger( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.class.getName()); + + @JsonIgnore public boolean unparsed = false; + + public static class TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateSerializer + extends StdSerializer { + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateSerializer( + Class t) { + super(t); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateSerializer() { + this(null); + } + + @Override + public void serialize( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.getActualInstance()); + } + } + + public static class TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateDeserializer + extends StdDeserializer { + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateDeserializer() { + this(TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.class); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdateDeserializer(Class vc) { + super(vc); + } + + @Override + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate deserialize( + JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + JsonNode tree = jp.readValueAsTree(); + Object deserialized = null; + Object tmp = null; + boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS); + int match = 0; + JsonToken token = tree.traverse(jp.getCodec()).nextToken(); + // deserialize TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate + try { + boolean attemptParsing = true; + // ensure that we respect type coercion as set on the client ObjectMapper + if (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Integer.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Long.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Float.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Double.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Boolean.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + String.class)) { + attemptParsing = typeCoercion; + if (!attemptParsing) { + attemptParsing |= + ((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Integer.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class + .equals(Long.class)) + && token == JsonToken.VALUE_NUMBER_INT); + attemptParsing |= + ((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Float.class) + || TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class + .equals(Double.class)) + && (token == JsonToken.VALUE_NUMBER_FLOAT + || token == JsonToken.VALUE_NUMBER_INT)); + attemptParsing |= + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + Boolean.class) + && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE)); + attemptParsing |= + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class.equals( + String.class) + && token == JsonToken.VALUE_STRING); + } + } + if (attemptParsing) { + tmp = + tree.traverse(jp.getCodec()) + .readValueAs( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class); + // TODO: there is no validation against JSON schema constraints + // (min, max, enum, pattern...), this does not perform a strict JSON + // validation, which means the 'match' count may be higher than it should be. + if (!((TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate) tmp).unparsed) { + deserialized = tmp; + match++; + } + log.log( + Level.FINER, + "Input data matches schema" + + " 'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate'"); + } + } catch (Exception e) { + // deserialization failed, continue + log.log( + Level.FINER, + "Input data does not match schema" + + " 'TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate'", + e); + } + + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate ret = + new TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate(); + if (match == 1) { + ret.setActualInstance(deserialized); + } else { + Map res = + new ObjectMapper() + .readValue( + tree.traverse(jp.getCodec()).readValueAsTree().toString(), + new TypeReference>() {}); + ret.setActualInstance(new UnparsedObject(res)); + } + return ret; + } + + /** Handle deserialization of the 'null' value. */ + @Override + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate getNullValue( + DeserializationContext ctxt) throws JsonMappingException { + throw new JsonMappingException( + ctxt.getParser(), + "TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate cannot be null"); + } + } + + // store a list of schema names defined in oneOf + public static final Map schemas = new HashMap(); + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate() { + super("oneOf", Boolean.FALSE); + } + + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate o) { + super("oneOf", Boolean.FALSE); + setActualInstance(o); + } + + static { + schemas.put( + "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate", + new GenericType() {}); + JSON.registerDescendants( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.class, + Collections.unmodifiableMap(schemas)); + } + + @Override + public Map getSchemas() { + return TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate.schemas; + } + + /** + * Set the instance that matches the oneOf child schema, check the instance parameter is valid + * against the oneOf child schemas: + * TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate + * + *

It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a + * composed schema (allOf, anyOf, oneOf). + */ + @Override + public void setActualInstance(Object instance) { + if (JSON.isInstanceOf( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.class, + instance, + new HashSet>())) { + super.setActualInstance(instance); + return; + } + + if (JSON.isInstanceOf(UnparsedObject.class, instance, new HashSet>())) { + super.setActualInstance(instance); + return; + } + throw new RuntimeException( + "Invalid instance type. Must be" + + " TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate"); + } + + /** + * Get the actual instance, which can be the following: + * TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate + * + * @return The actual instance (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate) + */ + @Override + public Object getActualInstance() { + return super.getActualInstance(); + } + + /** + * Get the actual instance of `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate`. + * If the actual instance is not + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate`, the ClassCastException will + * be thrown. + * + * @return The actual instance of + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate` + * @throws ClassCastException if the instance is not + * `TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate` + */ + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate + getTemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate() + throws ClassCastException { + return (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate) + super.getActualInstance(); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.java new file mode 100644 index 00000000000..5ad14d5c94e --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.java @@ -0,0 +1,138 @@ +/* + * 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.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.Objects; + +/** + * Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics + * Read-Only account-level role. + */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.JSON_PROPERTY_AUTH_TYPE, + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.JSON_PROPERTY_TOKEN +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTH_TYPE = "auth_type"; + private TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType = + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.BEARER_TOKEN; + + public static final String JSON_PROPERTY_TOKEN = "token"; + private String token; + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTH_TYPE) + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType, + @JsonProperty(required = true, value = JSON_PROPERTY_TOKEN) String token) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + this.token = token; + } + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest authType( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + return this; + } + + /** + * The authentication method type. + * + * @return authType + */ + @JsonProperty(JSON_PROPERTY_AUTH_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType getAuthType() { + return authType; + } + + public void setAuthType(TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + if (!authType.isValid()) { + this.unparsed = true; + } + this.authType = authType; + } + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest token(String token) { + this.token = token; + return this; + } + + /** + * Secret token used to authenticate with Temporal Cloud. + * + * @return token + */ + @JsonProperty(JSON_PROPERTY_TOKEN) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + /** + * Return true if this TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest + temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest = + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest) o; + return Objects.equals( + this.authType, + temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.authType) + && Objects.equals( + this.token, temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest.token); + } + + @Override + public int hashCode() { + return Objects.hash(authType, token); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest {\n"); + sb.append(" authType: ").append(toIndentedString(authType)).append("\n"); + sb.append(" token: ").append(toIndentedString(token)).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/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.java new file mode 100644 index 00000000000..c1d25a9e0de --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.java @@ -0,0 +1,163 @@ +/* + * 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; + +/** The bearer token authentication method configured on the account. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.JSON_PROPERTY_AUTH_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTH_TYPE = "auth_type"; + private TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType = + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.BEARER_TOKEN; + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTH_TYPE) + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + } + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse authType( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + return this; + } + + /** + * The authentication method type. + * + * @return authType + */ + @JsonProperty(JSON_PROPERTY_AUTH_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType getAuthType() { + return authType; + } + + public void setAuthType(TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + if (!authType.isValid()) { + this.unparsed = true; + } + this.authType = authType; + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse 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 TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse + temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse = + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse) o; + return Objects.equals( + this.authType, + temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.authType) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authType, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse {\n"); + sb.append(" authType: ").append(toIndentedString(authType)).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/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.java new file mode 100644 index 00000000000..244fa18d32f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.java @@ -0,0 +1,65 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** The authentication method type. */ +@JsonSerialize( + using = + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + .TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthTypeSerializer.class) +public class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("bearer_token")); + + public static final TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType BEARER_TOKEN = + new TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType("bearer_token"); + + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType(String value) { + super(value, allowedValues); + } + + public static class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthTypeSerializer + extends StdSerializer { + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthTypeSerializer( + Class t) { + super(t); + } + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthTypeSerializer() { + this(null); + } + + @Override + public void serialize( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType value, + JsonGenerator jgen, + SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType fromValue( + String value) { + return new TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.java new file mode 100644 index 00000000000..a2f043cf1b8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.java @@ -0,0 +1,137 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.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.Objects; + +/** + * Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics + * Read-Only account-level role. Only the fields provided are changed; omit token to + * keep the stored one. + */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.JSON_PROPERTY_AUTH_TYPE, + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.JSON_PROPERTY_TOKEN +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTH_TYPE = "auth_type"; + private TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType = + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.BEARER_TOKEN; + + public static final String JSON_PROPERTY_TOKEN = "token"; + private String token; + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTH_TYPE) + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + } + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate authType( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + this.authType = authType; + this.unparsed |= !authType.isValid(); + return this; + } + + /** + * The authentication method type. + * + * @return authType + */ + @JsonProperty(JSON_PROPERTY_AUTH_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType getAuthType() { + return authType; + } + + public void setAuthType(TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType authType) { + if (!authType.isValid()) { + this.unparsed = true; + } + this.authType = authType; + } + + public TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate token(String token) { + this.token = token; + return this; + } + + /** + * Secret token used to authenticate with Temporal Cloud. + * + * @return token + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TOKEN) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getToken() { + return token; + } + + public void setToken(String token) { + this.token = token; + } + + /** + * Return true if this TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate + temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate = + (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate) o; + return Objects.equals( + this.authType, temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.authType) + && Objects.equals( + this.token, temporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate.token); + } + + @Override + public int hashCode() { + return Objects.hash(authType, token); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate {\n"); + sb.append(" authType: ").append(toIndentedString(authType)).append("\n"); + sb.append(" token: ").append(toIndentedString(token)).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/TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.java new file mode 100644 index 00000000000..6810c24e31c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.java @@ -0,0 +1,229 @@ +/* + * 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; + +/** Writable attributes used to create a Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.JSON_PROPERTY_AUTHENTICATION, + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.JSON_PROPERTY_NAME, + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountCreateAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest authentication; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private TemporalCloudOpenMetricsIntegrationAccountSettingsRequest settings; + + public TemporalCloudOpenMetricsIntegrationAccountCreateAttributes() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountCreateAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_AUTHENTICATION) + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest authentication, + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_SETTINGS) + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest settings) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + this.name = name; + this.settings = settings; + this.unparsed |= settings.unparsed; + } + + public TemporalCloudOpenMetricsIntegrationAccountCreateAttributes authentication( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication for creating the Temporal Cloud OpenMetrics integration account. Exactly one + * method is set. + * + * @return authentication + */ + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest getAuthentication() { + return authentication; + } + + public void setAuthentication( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public TemporalCloudOpenMetricsIntegrationAccountCreateAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Temporal Cloud OpenMetrics integration account. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public TemporalCloudOpenMetricsIntegrationAccountCreateAttributes settings( + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings for creating the Temporal Cloud OpenMetrics integration account. + * + * @return settings + */ + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountSettingsRequest getSettings() { + return settings; + } + + public void setSettings(TemporalCloudOpenMetricsIntegrationAccountSettingsRequest settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountCreateAttributes + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountCreateAttributes 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 TemporalCloudOpenMetricsIntegrationAccountCreateAttributes object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes + temporalCloudOpenMetricsIntegrationAccountCreateAttributes = + (TemporalCloudOpenMetricsIntegrationAccountCreateAttributes) o; + return Objects.equals( + this.authentication, + temporalCloudOpenMetricsIntegrationAccountCreateAttributes.authentication) + && Objects.equals( + this.name, temporalCloudOpenMetricsIntegrationAccountCreateAttributes.name) + && Objects.equals( + this.settings, temporalCloudOpenMetricsIntegrationAccountCreateAttributes.settings) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountCreateAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountCreateAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/TemporalCloudOpenMetricsIntegrationAccountCreateData.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateData.java new file mode 100644 index 00000000000..818b79290eb --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateData.java @@ -0,0 +1,193 @@ +/* + * 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; + +/** Data envelope for creating a Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountCreateData.JSON_PROPERTY_ATTRIBUTES, + TemporalCloudOpenMetricsIntegrationAccountCreateData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountCreateData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private TemporalCloudOpenMetricsIntegrationAccountCreateAttributes attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public TemporalCloudOpenMetricsIntegrationAccountCreateData() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountCreateData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TemporalCloudOpenMetricsIntegrationAccountCreateData attributes( + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Writable attributes used to create a Temporal Cloud OpenMetrics integration account. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountCreateAttributes getAttributes() { + return attributes; + } + + public void setAttributes(TemporalCloudOpenMetricsIntegrationAccountCreateAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + public TemporalCloudOpenMetricsIntegrationAccountCreateData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType 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 TemporalCloudOpenMetricsIntegrationAccountCreateData + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountCreateData 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 TemporalCloudOpenMetricsIntegrationAccountCreateData object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountCreateData + temporalCloudOpenMetricsIntegrationAccountCreateData = + (TemporalCloudOpenMetricsIntegrationAccountCreateData) o; + return Objects.equals( + this.attributes, temporalCloudOpenMetricsIntegrationAccountCreateData.attributes) + && Objects.equals(this.type, temporalCloudOpenMetricsIntegrationAccountCreateData.type) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountCreateData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountCreateData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateRequest.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateRequest.java new file mode 100644 index 00000000000..78b99063a47 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountCreateRequest.java @@ -0,0 +1,158 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request payload to create a Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({TemporalCloudOpenMetricsIntegrationAccountCreateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountCreateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private TemporalCloudOpenMetricsIntegrationAccountCreateData data; + + public TemporalCloudOpenMetricsIntegrationAccountCreateRequest() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountCreateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + TemporalCloudOpenMetricsIntegrationAccountCreateData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public TemporalCloudOpenMetricsIntegrationAccountCreateRequest data( + TemporalCloudOpenMetricsIntegrationAccountCreateData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope for creating a Temporal Cloud OpenMetrics integration account. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountCreateData getData() { + return data; + } + + public void setData(TemporalCloudOpenMetricsIntegrationAccountCreateData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountCreateRequest + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountCreateRequest 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 TemporalCloudOpenMetricsIntegrationAccountCreateRequest object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountCreateRequest + temporalCloudOpenMetricsIntegrationAccountCreateRequest = + (TemporalCloudOpenMetricsIntegrationAccountCreateRequest) o; + return Objects.equals(this.data, temporalCloudOpenMetricsIntegrationAccountCreateRequest.data) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountCreateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountCreateRequest {\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/TemporalCloudOpenMetricsIntegrationAccountResponse.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponse.java new file mode 100644 index 00000000000..0cfc6f2a2db --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponse.java @@ -0,0 +1,158 @@ +/* + * 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; + +/** Response payload for a single Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({TemporalCloudOpenMetricsIntegrationAccountResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private TemporalCloudOpenMetricsIntegrationAccountResponseData data; + + public TemporalCloudOpenMetricsIntegrationAccountResponse() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + TemporalCloudOpenMetricsIntegrationAccountResponseData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public TemporalCloudOpenMetricsIntegrationAccountResponse data( + TemporalCloudOpenMetricsIntegrationAccountResponseData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned + * identity. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountResponseData getData() { + return data; + } + + public void setData(TemporalCloudOpenMetricsIntegrationAccountResponseData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountResponse + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountResponse 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 TemporalCloudOpenMetricsIntegrationAccountResponse object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountResponse + temporalCloudOpenMetricsIntegrationAccountResponse = + (TemporalCloudOpenMetricsIntegrationAccountResponse) o; + return Objects.equals(this.data, temporalCloudOpenMetricsIntegrationAccountResponse.data) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountResponse {\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/TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.java new file mode 100644 index 00000000000..9dd40719b46 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.java @@ -0,0 +1,258 @@ +/* + * 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; + +/** Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.JSON_PROPERTY_AUTHENTICATION, + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.JSON_PROPERTY_DATAFLOWS, + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.JSON_PROPERTY_NAME, + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountResponseAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse authentication; + + public static final String JSON_PROPERTY_DATAFLOWS = "dataflows"; + private TemporalCloudOpenMetricsIntegrationDataflowsResponse dataflows; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private TemporalCloudOpenMetricsIntegrationAccountSettingsResponse settings; + + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_SETTINGS) + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse settings) { + this.name = name; + this.settings = settings; + this.unparsed |= settings.unparsed; + } + + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes authentication( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication configured on the Temporal Cloud OpenMetrics integration account. + * + * @return authentication + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse getAuthentication() { + return authentication; + } + + public void setAuthentication( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes dataflows( + TemporalCloudOpenMetricsIntegrationDataflowsResponse dataflows) { + this.dataflows = dataflows; + this.unparsed |= dataflows.unparsed; + return this; + } + + /** + * Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. + * + * @return dataflows + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATAFLOWS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TemporalCloudOpenMetricsIntegrationDataflowsResponse getDataflows() { + return dataflows; + } + + public void setDataflows(TemporalCloudOpenMetricsIntegrationDataflowsResponse dataflows) { + this.dataflows = dataflows; + if (dataflows != null) { + this.unparsed |= dataflows.unparsed; + } + } + + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Temporal Cloud OpenMetrics integration account. + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes settings( + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings configured on the Temporal Cloud OpenMetrics integration account. + * + * @return settings + */ + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountSettingsResponse getSettings() { + return settings; + } + + public void setSettings(TemporalCloudOpenMetricsIntegrationAccountSettingsResponse settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountResponseAttributes + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes 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 TemporalCloudOpenMetricsIntegrationAccountResponseAttributes object is + * equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes + temporalCloudOpenMetricsIntegrationAccountResponseAttributes = + (TemporalCloudOpenMetricsIntegrationAccountResponseAttributes) o; + return Objects.equals( + this.authentication, + temporalCloudOpenMetricsIntegrationAccountResponseAttributes.authentication) + && Objects.equals( + this.dataflows, temporalCloudOpenMetricsIntegrationAccountResponseAttributes.dataflows) + && Objects.equals( + this.name, temporalCloudOpenMetricsIntegrationAccountResponseAttributes.name) + && Objects.equals( + this.settings, temporalCloudOpenMetricsIntegrationAccountResponseAttributes.settings) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountResponseAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, dataflows, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountResponseAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" dataflows: ").append(toIndentedString(dataflows)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/TemporalCloudOpenMetricsIntegrationAccountResponseData.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponseData.java new file mode 100644 index 00000000000..fd6ce8adee7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountResponseData.java @@ -0,0 +1,217 @@ +/* + * 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; + +/** + * Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned + * identity. + */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountResponseData.JSON_PROPERTY_ATTRIBUTES, + TemporalCloudOpenMetricsIntegrationAccountResponseData.JSON_PROPERTY_ID, + TemporalCloudOpenMetricsIntegrationAccountResponseData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountResponseData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private TemporalCloudOpenMetricsIntegrationAccountResponseAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public TemporalCloudOpenMetricsIntegrationAccountResponseData() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountResponseData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TemporalCloudOpenMetricsIntegrationAccountResponseData attributes( + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountResponseAttributes getAttributes() { + return attributes; + } + + public void setAttributes( + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + /** + * Server-generated unique identifier of the Temporal Cloud OpenMetrics integration account. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public TemporalCloudOpenMetricsIntegrationAccountResponseData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType 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 TemporalCloudOpenMetricsIntegrationAccountResponseData + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountResponseData 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 TemporalCloudOpenMetricsIntegrationAccountResponseData object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountResponseData + temporalCloudOpenMetricsIntegrationAccountResponseData = + (TemporalCloudOpenMetricsIntegrationAccountResponseData) o; + return Objects.equals( + this.attributes, temporalCloudOpenMetricsIntegrationAccountResponseData.attributes) + && Objects.equals(this.id, temporalCloudOpenMetricsIntegrationAccountResponseData.id) + && Objects.equals(this.type, temporalCloudOpenMetricsIntegrationAccountResponseData.type) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountResponseData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountResponseData {\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/TemporalCloudOpenMetricsIntegrationAccountSettingsRequest.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsRequest.java new file mode 100644 index 00000000000..05f02534bbb --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsRequest.java @@ -0,0 +1,131 @@ +/* + * 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.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.Objects; + +/** Settings for creating the Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest.JSON_PROPERTY_INCLUDE_OPT_IN_LABELS, + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest.JSON_PROPERTY_NAMESPACES_TO_INCLUDE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountSettingsRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_INCLUDE_OPT_IN_LABELS = "include_opt_in_labels"; + private Boolean includeOptInLabels; + + public static final String JSON_PROPERTY_NAMESPACES_TO_INCLUDE = "namespaces_to_include"; + private String namespacesToInclude; + + public TemporalCloudOpenMetricsIntegrationAccountSettingsRequest includeOptInLabels( + Boolean includeOptInLabels) { + this.includeOptInLabels = includeOptInLabels; + return this; + } + + /** + * When enabled, Datadog collects Temporal Cloud's opt-in + * labels (activity type, worker deployment name, and worker build ID) for more granularity on + * your existing metrics. Enabling them may increase metric collection latency. Defaults to + * false. + * + * @return includeOptInLabels + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INCLUDE_OPT_IN_LABELS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIncludeOptInLabels() { + return includeOptInLabels; + } + + public void setIncludeOptInLabels(Boolean includeOptInLabels) { + this.includeOptInLabels = includeOptInLabels; + } + + public TemporalCloudOpenMetricsIntegrationAccountSettingsRequest namespacesToInclude( + String namespacesToInclude) { + this.namespacesToInclude = namespacesToInclude; + return this; + } + + /** + * Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use + * * as a wildcard; for example, prod-* matches every namespace starting + * with prod-. Entries may contain only lowercase letters, digits, hyphens, periods + * and *; any other value is rejected with a 422 response. Omit it or + * leave it empty to collect metrics for all namespaces. + * + * @return namespacesToInclude + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAMESPACES_TO_INCLUDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNamespacesToInclude() { + return namespacesToInclude; + } + + public void setNamespacesToInclude(String namespacesToInclude) { + this.namespacesToInclude = namespacesToInclude; + } + + /** + * Return true if this TemporalCloudOpenMetricsIntegrationAccountSettingsRequest object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest + temporalCloudOpenMetricsIntegrationAccountSettingsRequest = + (TemporalCloudOpenMetricsIntegrationAccountSettingsRequest) o; + return Objects.equals( + this.includeOptInLabels, + temporalCloudOpenMetricsIntegrationAccountSettingsRequest.includeOptInLabels) + && Objects.equals( + this.namespacesToInclude, + temporalCloudOpenMetricsIntegrationAccountSettingsRequest.namespacesToInclude); + } + + @Override + public int hashCode() { + return Objects.hash(includeOptInLabels, namespacesToInclude); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountSettingsRequest {\n"); + sb.append(" includeOptInLabels: ").append(toIndentedString(includeOptInLabels)).append("\n"); + sb.append(" namespacesToInclude: ") + .append(toIndentedString(namespacesToInclude)) + .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/TemporalCloudOpenMetricsIntegrationAccountSettingsResponse.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsResponse.java new file mode 100644 index 00000000000..7448048462d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsResponse.java @@ -0,0 +1,185 @@ +/* + * 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; + +/** Settings configured on the Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse.JSON_PROPERTY_INCLUDE_OPT_IN_LABELS, + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse.JSON_PROPERTY_NAMESPACES_TO_INCLUDE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountSettingsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_INCLUDE_OPT_IN_LABELS = "include_opt_in_labels"; + private Boolean includeOptInLabels; + + public static final String JSON_PROPERTY_NAMESPACES_TO_INCLUDE = "namespaces_to_include"; + private String namespacesToInclude; + + public TemporalCloudOpenMetricsIntegrationAccountSettingsResponse includeOptInLabels( + Boolean includeOptInLabels) { + this.includeOptInLabels = includeOptInLabels; + return this; + } + + /** + * When enabled, Datadog collects Temporal Cloud's opt-in + * labels (activity type, worker deployment name, and worker build ID) for more granularity on + * your existing metrics. Enabling them may increase metric collection latency. + * + * @return includeOptInLabels + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INCLUDE_OPT_IN_LABELS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIncludeOptInLabels() { + return includeOptInLabels; + } + + public void setIncludeOptInLabels(Boolean includeOptInLabels) { + this.includeOptInLabels = includeOptInLabels; + } + + public TemporalCloudOpenMetricsIntegrationAccountSettingsResponse namespacesToInclude( + String namespacesToInclude) { + this.namespacesToInclude = namespacesToInclude; + return this; + } + + /** + * Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use + * * as a wildcard; for example, prod-* matches every namespace starting + * with prod-. Empty or absent when metrics are collected for all namespaces. + * + * @return namespacesToInclude + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAMESPACES_TO_INCLUDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNamespacesToInclude() { + return namespacesToInclude; + } + + public void setNamespacesToInclude(String namespacesToInclude) { + this.namespacesToInclude = namespacesToInclude; + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountSettingsResponse + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountSettingsResponse 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 TemporalCloudOpenMetricsIntegrationAccountSettingsResponse object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse + temporalCloudOpenMetricsIntegrationAccountSettingsResponse = + (TemporalCloudOpenMetricsIntegrationAccountSettingsResponse) o; + return Objects.equals( + this.includeOptInLabels, + temporalCloudOpenMetricsIntegrationAccountSettingsResponse.includeOptInLabels) + && Objects.equals( + this.namespacesToInclude, + temporalCloudOpenMetricsIntegrationAccountSettingsResponse.namespacesToInclude) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountSettingsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(includeOptInLabels, namespacesToInclude, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountSettingsResponse {\n"); + sb.append(" includeOptInLabels: ").append(toIndentedString(includeOptInLabels)).append("\n"); + sb.append(" namespacesToInclude: ") + .append(toIndentedString(namespacesToInclude)) + .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/TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate.java new file mode 100644 index 00000000000..8f3199a59fa --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate.java @@ -0,0 +1,133 @@ +/* + * 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.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.Objects; + +/** + * Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields + * provided are changed. + */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate.JSON_PROPERTY_INCLUDE_OPT_IN_LABELS, + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate.JSON_PROPERTY_NAMESPACES_TO_INCLUDE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_INCLUDE_OPT_IN_LABELS = "include_opt_in_labels"; + private Boolean includeOptInLabels; + + public static final String JSON_PROPERTY_NAMESPACES_TO_INCLUDE = "namespaces_to_include"; + private String namespacesToInclude; + + public TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate includeOptInLabels( + Boolean includeOptInLabels) { + this.includeOptInLabels = includeOptInLabels; + return this; + } + + /** + * When enabled, Datadog collects Temporal Cloud's opt-in + * labels (activity type, worker deployment name, and worker build ID) for more granularity on + * your existing metrics. Enabling them may increase metric collection latency. + * + * @return includeOptInLabels + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INCLUDE_OPT_IN_LABELS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getIncludeOptInLabels() { + return includeOptInLabels; + } + + public void setIncludeOptInLabels(Boolean includeOptInLabels) { + this.includeOptInLabels = includeOptInLabels; + } + + public TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate namespacesToInclude( + String namespacesToInclude) { + this.namespacesToInclude = namespacesToInclude; + return this; + } + + /** + * Comma-separated list of Temporal Cloud namespaces to collect metrics for. An entry can use + * * as a wildcard; for example, prod-* matches every namespace starting + * with prod-. Entries may contain only lowercase letters, digits, hyphens, periods + * and *; any other value is rejected with a 422 response. Omit it or + * leave it empty to collect metrics for all namespaces. + * + * @return namespacesToInclude + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAMESPACES_TO_INCLUDE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getNamespacesToInclude() { + return namespacesToInclude; + } + + public void setNamespacesToInclude(String namespacesToInclude) { + this.namespacesToInclude = namespacesToInclude; + } + + /** + * Return true if this TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate + temporalCloudOpenMetricsIntegrationAccountSettingsUpdate = + (TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate) o; + return Objects.equals( + this.includeOptInLabels, + temporalCloudOpenMetricsIntegrationAccountSettingsUpdate.includeOptInLabels) + && Objects.equals( + this.namespacesToInclude, + temporalCloudOpenMetricsIntegrationAccountSettingsUpdate.namespacesToInclude); + } + + @Override + public int hashCode() { + return Objects.hash(includeOptInLabels, namespacesToInclude); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate {\n"); + sb.append(" includeOptInLabels: ").append(toIndentedString(includeOptInLabels)).append("\n"); + sb.append(" namespacesToInclude: ") + .append(toIndentedString(namespacesToInclude)) + .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/TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.java new file mode 100644 index 00000000000..6f84b20ee8d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.java @@ -0,0 +1,219 @@ +/* + * 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; + +/** + * Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every field + * is optional; only the fields provided are changed. + */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.JSON_PROPERTY_AUTHENTICATION, + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.JSON_PROPERTY_NAME, + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes.JSON_PROPERTY_SETTINGS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_AUTHENTICATION = "authentication"; + private TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate authentication; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_SETTINGS = "settings"; + private TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate settings; + + public TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes authentication( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate authentication) { + this.authentication = authentication; + this.unparsed |= authentication.unparsed; + return this; + } + + /** + * Authentication for updating the Temporal Cloud OpenMetrics integration account. Exactly one + * method is set. + * + * @return authentication + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_AUTHENTICATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate getAuthentication() { + return authentication; + } + + public void setAuthentication( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate authentication) { + this.authentication = authentication; + if (authentication != null) { + this.unparsed |= authentication.unparsed; + } + } + + public TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes name(String name) { + this.name = name; + return this; + } + + /** + * Human-readable name of the Temporal Cloud OpenMetrics integration account. + * + * @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; + } + + public TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes settings( + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate settings) { + this.settings = settings; + this.unparsed |= settings.unparsed; + return this; + } + + /** + * Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields + * provided are changed. + * + * @return settings + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_SETTINGS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate getSettings() { + return settings; + } + + public void setSettings(TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate settings) { + this.settings = settings; + if (settings != null) { + this.unparsed |= settings.unparsed; + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes 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 TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes + temporalCloudOpenMetricsIntegrationAccountUpdateAttributes = + (TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes) o; + return Objects.equals( + this.authentication, + temporalCloudOpenMetricsIntegrationAccountUpdateAttributes.authentication) + && Objects.equals( + this.name, temporalCloudOpenMetricsIntegrationAccountUpdateAttributes.name) + && Objects.equals( + this.settings, temporalCloudOpenMetricsIntegrationAccountUpdateAttributes.settings) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountUpdateAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(authentication, name, settings, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes {\n"); + sb.append(" authentication: ").append(toIndentedString(authentication)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" settings: ").append(toIndentedString(settings)).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/TemporalCloudOpenMetricsIntegrationAccountUpdateData.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateData.java new file mode 100644 index 00000000000..a5eb0a76b5b --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateData.java @@ -0,0 +1,222 @@ +/* + * 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; + +/** Data envelope for updating a Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationAccountUpdateData.JSON_PROPERTY_ATTRIBUTES, + TemporalCloudOpenMetricsIntegrationAccountUpdateData.JSON_PROPERTY_ID, + TemporalCloudOpenMetricsIntegrationAccountUpdateData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountUpdateData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private IntegrationAccountType type = IntegrationAccountType.INTEGRATION_ACCOUNT; + + public TemporalCloudOpenMetricsIntegrationAccountUpdateData() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountUpdateData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) IntegrationAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public TemporalCloudOpenMetricsIntegrationAccountUpdateData attributes( + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every + * field is optional; only the fields provided are changed. + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes getAttributes() { + return attributes; + } + + public void setAttributes(TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes attributes) { + this.attributes = attributes; + if (attributes != null) { + this.unparsed |= attributes.unparsed; + } + } + + public TemporalCloudOpenMetricsIntegrationAccountUpdateData id(String id) { + this.id = id; + return this; + } + + /** + * Unique identifier of the Temporal Cloud OpenMetrics integration account to update. + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public TemporalCloudOpenMetricsIntegrationAccountUpdateData type(IntegrationAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * The type of the integration account resource. Always integration-account. + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public IntegrationAccountType getType() { + return type; + } + + public void setType(IntegrationAccountType 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 TemporalCloudOpenMetricsIntegrationAccountUpdateData + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountUpdateData 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 TemporalCloudOpenMetricsIntegrationAccountUpdateData object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountUpdateData + temporalCloudOpenMetricsIntegrationAccountUpdateData = + (TemporalCloudOpenMetricsIntegrationAccountUpdateData) o; + return Objects.equals( + this.attributes, temporalCloudOpenMetricsIntegrationAccountUpdateData.attributes) + && Objects.equals(this.id, temporalCloudOpenMetricsIntegrationAccountUpdateData.id) + && Objects.equals(this.type, temporalCloudOpenMetricsIntegrationAccountUpdateData.type) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountUpdateData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountUpdateData {\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/TemporalCloudOpenMetricsIntegrationAccountUpdateRequest.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateRequest.java new file mode 100644 index 00000000000..26a8d038789 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountUpdateRequest.java @@ -0,0 +1,158 @@ +/* + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2019-Present Datadog, Inc. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request payload to update a Temporal Cloud OpenMetrics integration account. */ +@JsonPropertyOrder({TemporalCloudOpenMetricsIntegrationAccountUpdateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountUpdateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private TemporalCloudOpenMetricsIntegrationAccountUpdateData data; + + public TemporalCloudOpenMetricsIntegrationAccountUpdateRequest() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountUpdateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + TemporalCloudOpenMetricsIntegrationAccountUpdateData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public TemporalCloudOpenMetricsIntegrationAccountUpdateRequest data( + TemporalCloudOpenMetricsIntegrationAccountUpdateData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data envelope for updating a Temporal Cloud OpenMetrics integration account. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public TemporalCloudOpenMetricsIntegrationAccountUpdateData getData() { + return data; + } + + public void setData(TemporalCloudOpenMetricsIntegrationAccountUpdateData data) { + this.data = data; + if (data != null) { + this.unparsed |= data.unparsed; + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountUpdateRequest + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountUpdateRequest 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 TemporalCloudOpenMetricsIntegrationAccountUpdateRequest object is equal to + * o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountUpdateRequest + temporalCloudOpenMetricsIntegrationAccountUpdateRequest = + (TemporalCloudOpenMetricsIntegrationAccountUpdateRequest) o; + return Objects.equals(this.data, temporalCloudOpenMetricsIntegrationAccountUpdateRequest.data) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountUpdateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountUpdateRequest {\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/TemporalCloudOpenMetricsIntegrationAccountsResponse.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountsResponse.java new file mode 100644 index 00000000000..79ef9a6734c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationAccountsResponse.java @@ -0,0 +1,172 @@ +/* + * 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; + +/** Response payload for a list of Temporal Cloud OpenMetrics integration accounts. */ +@JsonPropertyOrder({TemporalCloudOpenMetricsIntegrationAccountsResponse.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationAccountsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public TemporalCloudOpenMetricsIntegrationAccountsResponse() {} + + @JsonCreator + public TemporalCloudOpenMetricsIntegrationAccountsResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + List data) { + this.data = data; + for (TemporalCloudOpenMetricsIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + } + + public TemporalCloudOpenMetricsIntegrationAccountsResponse data( + List data) { + this.data = data; + for (TemporalCloudOpenMetricsIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public TemporalCloudOpenMetricsIntegrationAccountsResponse addDataItem( + TemporalCloudOpenMetricsIntegrationAccountResponseData dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * List of Temporal Cloud OpenMetrics integration accounts. + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + if (data != null) { + for (TemporalCloudOpenMetricsIntegrationAccountResponseData item : data) { + this.unparsed |= item.unparsed; + } + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationAccountsResponse + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationAccountsResponse 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 TemporalCloudOpenMetricsIntegrationAccountsResponse object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationAccountsResponse + temporalCloudOpenMetricsIntegrationAccountsResponse = + (TemporalCloudOpenMetricsIntegrationAccountsResponse) o; + return Objects.equals(this.data, temporalCloudOpenMetricsIntegrationAccountsResponse.data) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationAccountsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationAccountsResponse {\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/TemporalCloudOpenMetricsIntegrationDataflowsResponse.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationDataflowsResponse.java new file mode 100644 index 00000000000..16ab5887d4c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsIntegrationDataflowsResponse.java @@ -0,0 +1,161 @@ +/* + * 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; + +/** Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsIntegrationDataflowsResponse + .JSON_PROPERTY_TEMPORAL_CLOUD_OPENMETRICS_METRICS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsIntegrationDataflowsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_TEMPORAL_CLOUD_OPENMETRICS_METRICS = + "temporal-cloud-openmetrics-metrics"; + private TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse + temporalCloudOpenmetricsMetrics; + + public TemporalCloudOpenMetricsIntegrationDataflowsResponse temporalCloudOpenmetricsMetrics( + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse temporalCloudOpenmetricsMetrics) { + this.temporalCloudOpenmetricsMetrics = temporalCloudOpenmetricsMetrics; + this.unparsed |= temporalCloudOpenmetricsMetrics.unparsed; + return this; + } + + /** + * Temporal Cloud operational metrics for your namespaces, workflows and task queues, such as + * workflow and activity rates, task polling, and service request latency, collected from Temporal + * Cloud's OpenMetrics endpoint. This is the integration's only collection: it is always on and + * cannot be turned off, which is why it appears in responses only. + * + * @return temporalCloudOpenmetricsMetrics + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TEMPORAL_CLOUD_OPENMETRICS_METRICS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse + getTemporalCloudOpenmetricsMetrics() { + return temporalCloudOpenmetricsMetrics; + } + + public void setTemporalCloudOpenmetricsMetrics( + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse temporalCloudOpenmetricsMetrics) { + this.temporalCloudOpenmetricsMetrics = temporalCloudOpenmetricsMetrics; + if (temporalCloudOpenmetricsMetrics != null) { + this.unparsed |= temporalCloudOpenmetricsMetrics.unparsed; + } + } + + /** + * 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 TemporalCloudOpenMetricsIntegrationDataflowsResponse + */ + @JsonAnySetter + public TemporalCloudOpenMetricsIntegrationDataflowsResponse 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 TemporalCloudOpenMetricsIntegrationDataflowsResponse object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsIntegrationDataflowsResponse + temporalCloudOpenMetricsIntegrationDataflowsResponse = + (TemporalCloudOpenMetricsIntegrationDataflowsResponse) o; + return Objects.equals( + this.temporalCloudOpenmetricsMetrics, + temporalCloudOpenMetricsIntegrationDataflowsResponse.temporalCloudOpenmetricsMetrics) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsIntegrationDataflowsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(temporalCloudOpenmetricsMetrics, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsIntegrationDataflowsResponse {\n"); + sb.append(" temporalCloudOpenmetricsMetrics: ") + .append(toIndentedString(temporalCloudOpenmetricsMetrics)) + .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/TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse.java new file mode 100644 index 00000000000..21308446bb0 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse.java @@ -0,0 +1,162 @@ +/* + * 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; + +/** + * Temporal Cloud operational metrics for your namespaces, workflows and task queues, such as + * workflow and activity rates, task polling, and service request latency, collected from Temporal + * Cloud's OpenMetrics endpoint. This is the integration's only collection: it is always on and + * cannot be turned off, which is why it appears in responses only. + */ +@JsonPropertyOrder({ + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED, + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse.JSON_PROPERTY_STATUS +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ENABLED = "enabled"; + private Boolean enabled; + + public static final String JSON_PROPERTY_STATUS = "status"; + private IntegrationAccountDataflowStatus status; + + /** + * Whether Datadog collects this data. Always true, because this collection cannot be + * turned off. + * + * @return enabled + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ENABLED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Boolean getEnabled() { + return enabled; + } + + /** + * Read-only collection status of a dataflow. + * + * @return status + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_STATUS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public IntegrationAccountDataflowStatus getStatus() { + return status; + } + + /** + * 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 TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse + */ + @JsonAnySetter + public TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse 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 TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse object is equal + * to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse + temporalCloudOpenMetricsMetricsIntegrationDataflowResponse = + (TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse) o; + return Objects.equals( + this.enabled, temporalCloudOpenMetricsMetricsIntegrationDataflowResponse.enabled) + && Objects.equals( + this.status, temporalCloudOpenMetricsMetricsIntegrationDataflowResponse.status) + && Objects.equals( + this.additionalProperties, + temporalCloudOpenMetricsMetricsIntegrationDataflowResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(enabled, status, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse {\n"); + sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n"); + sb.append(" status: ").append(toIndentedString(status)).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/temporal_cloud_openmetrics_integration.feature b/src/test/resources/com/datadog/api/client/v2/api/temporal_cloud_openmetrics_integration.feature new file mode 100644 index 00000000000..a3f062edc0f --- /dev/null +++ b/src/test/resources/com/datadog/api/client/v2/api/temporal_cloud_openmetrics_integration.feature @@ -0,0 +1,149 @@ +@endpoint(temporal-cloud-openmetrics-integration) @endpoint(temporal-cloud-openmetrics-integration-v2) +Feature: Temporal Cloud OpenMetrics Integration + Manage your Datadog Temporal Cloud OpenMetrics integration accounts and + account resources directly through the Datadog API. See the [Temporal + Cloud OpenMetrics integration + page](https://docs.datadoghq.com/integrations/temporal-cloud-openmetrics/) + for more information. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "TemporalCloudOpenMetricsIntegration" API + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "Created" response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Create a Temporal Cloud OpenMetrics account returns "The server cannot process the request because it contains invalid data." response + Given operation "CreateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "CreateTemporalCloudOpenMetricsIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Delete a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "DeleteTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "DeleteTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Delete a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "DeleteTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "DeleteTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Delete a Temporal Cloud OpenMetrics account returns "OK" response + Given operation "DeleteTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "DeleteTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Get a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "GetTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "GetTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Get a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "GetTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "GetTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Get a Temporal Cloud OpenMetrics account returns "OK" response + Given operation "GetTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "GetTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:ddoghq/saas-integrations + Scenario: List Temporal Cloud OpenMetrics accounts returns "Bad Request" response + Given operation "ListTemporalCloudOpenMetricsIntegrationAccounts" enabled + And new "ListTemporalCloudOpenMetricsIntegrationAccounts" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: List Temporal Cloud OpenMetrics accounts returns "Not Found" response + Given operation "ListTemporalCloudOpenMetricsIntegrationAccounts" enabled + And new "ListTemporalCloudOpenMetricsIntegrationAccounts" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: List Temporal Cloud OpenMetrics accounts returns "OK" response + Given operation "ListTemporalCloudOpenMetricsIntegrationAccounts" enabled + And new "ListTemporalCloudOpenMetricsIntegrationAccounts" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "Bad Request" response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "Not Found" response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "OK" response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "type": "integration-account"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:ddoghq/saas-integrations + Scenario: Update a Temporal Cloud OpenMetrics account returns "The server cannot process the request because it contains invalid data." response + Given operation "UpdateTemporalCloudOpenMetricsIntegrationAccount" enabled + And new "UpdateTemporalCloudOpenMetricsIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "bearer_token", "token": "your-token"}, "name": "temporal-cloud-prod", "settings": {"include_opt_in_labels": false, "namespaces_to_include": "prod-*,billing.a1b2c"}}, "id": "7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", "type": "integration-account"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. 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 71f452ee118..bfe1be017af 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 @@ -4257,6 +4257,43 @@ "type": "idempotent" } }, + "ListTemporalCloudOpenMetricsIntegrationAccounts": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "safe" + } + }, + "CreateTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "operationId": "DeleteTemporalCloudOpenMetricsIntegrationAccount", + "parameters": [ + { + "name": "account_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "idempotent" + } + }, + "GetTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "safe" + } + }, + "UpdateTemporalCloudOpenMetricsIntegrationAccount": { + "tag": "Temporal Cloud OpenMetrics Integration", + "undo": { + "type": "idempotent" + } + }, "ListTwilioIntegrationAccounts": { "tag": "Twilio Integration", "undo": {