From 50979b3375860ff5a7aa6fe264a412d95f70ad95 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 19 Oct 2026 10:45:51 +0000 Subject: [PATCH] Regenerate client from commit 0d1d020 of spec repo --- .generator/schemas/v2/openapi.yaml | 494 ++++++++++++++++++ ...poralCloudOpenMetricsIntegrationAccount.py | 52 ++ ...poralCloudOpenMetricsIntegrationAccount.py | 16 + ...poralCloudOpenMetricsIntegrationAccount.py | 18 + ...oralCloudOpenMetricsIntegrationAccounts.py | 16 + ...poralCloudOpenMetricsIntegrationAccount.py | 53 ++ src/datadog_api_client/configuration.py | 5 + ...oral_cloud_open_metrics_integration_api.py | 226 ++++++++ src/datadog_api_client/v2/apis/__init__.py | 2 + ...egration_account_authentication_request.py | 43 ++ ...gration_account_authentication_response.py | 40 ++ ...tegration_account_authentication_update.py | 43 ++ ...ation_account_bearer_token_auth_request.py | 54 ++ ...tion_account_bearer_token_auth_response.py | 44 ++ ...egration_account_bearer_token_auth_type.py | 37 ++ ...ration_account_bearer_token_auth_update.py | 62 +++ ...s_integration_account_create_attributes.py | 74 +++ ...metrics_integration_account_create_data.py | 57 ++ ...rics_integration_account_create_request.py | 44 ++ ...en_metrics_integration_account_response.py | 44 ++ ...integration_account_response_attributes.py | 92 ++++ ...trics_integration_account_response_data.py | 67 +++ ...cs_integration_account_settings_request.py | 52 ++ ...s_integration_account_settings_response.py | 48 ++ ...ics_integration_account_settings_update.py | 52 ++ ...s_integration_account_update_attributes.py | 79 +++ ...metrics_integration_account_update_data.py | 64 +++ ...rics_integration_account_update_request.py | 44 ++ ...n_metrics_integration_accounts_response.py | 44 ++ ..._metrics_integration_dataflows_response.py | 52 ++ ...s_metrics_integration_dataflow_response.py | 58 ++ src/datadog_api_client/v2/models/__init__.py | 88 ++++ ...oral_cloud_openmetrics_integration.feature | 149 ++++++ tests/v2/features/undo.json | 37 ++ 34 files changed, 2350 insertions(+) create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.py create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.py create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.py create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.py create mode 100644 examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.py create mode 100644 src/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_request.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_response.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_update.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_attributes.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_data.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_request.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_attributes.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_data.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_request.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_response.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_update.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_attributes.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_data.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_request.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_accounts_response.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_dataflows_response.py create mode 100644 src/datadog_api_client/v2/model/temporal_cloud_open_metrics_metrics_integration_dataflow_response.py create mode 100644 tests/v2/features/temporal_cloud_openmetrics_integration.feature diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 00ba154a3a..4231b687d9 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.py b/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.py new file mode 100644 index 0000000000..b1f993080b --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/CreateTemporalCloudOpenMetricsIntegrationAccount.py @@ -0,0 +1,52 @@ +""" +Create a Temporal Cloud OpenMetrics account returns "Created" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.temporal_cloud_open_metrics_integration_api import TemporalCloudOpenMetricsIntegrationApi +from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_request import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_data import ( + TemporalCloudOpenMetricsIntegrationAccountCreateData, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_request import ( + TemporalCloudOpenMetricsIntegrationAccountCreateRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_request import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest, +) + +body = TemporalCloudOpenMetricsIntegrationAccountCreateRequest( + data=TemporalCloudOpenMetricsIntegrationAccountCreateData( + attributes=TemporalCloudOpenMetricsIntegrationAccountCreateAttributes( + authentication=TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest( + auth_type=TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.BEARER_TOKEN, + token="your-token", + ), + name="temporal-cloud-prod", + settings=TemporalCloudOpenMetricsIntegrationAccountSettingsRequest( + include_opt_in_labels=False, + namespaces_to_include="prod-*,billing.a1b2c", + ), + ), + type=IntegrationAccountType.INTEGRATION_ACCOUNT, + ), +) + +configuration = Configuration() +configuration.access_token = environ["DD_BEARER_TOKEN"] +configuration.unstable_operations["create_temporal_cloud_open_metrics_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TemporalCloudOpenMetricsIntegrationApi(api_client) + response = api_instance.create_temporal_cloud_open_metrics_integration_account(body=body) + + print(response) diff --git a/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.py b/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.py new file mode 100644 index 0000000000..6eca6738b1 --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/DeleteTemporalCloudOpenMetricsIntegrationAccount.py @@ -0,0 +1,16 @@ +""" +Delete a Temporal Cloud OpenMetrics account returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.temporal_cloud_open_metrics_integration_api import TemporalCloudOpenMetricsIntegrationApi + +configuration = Configuration() +configuration.access_token = environ["DD_BEARER_TOKEN"] +configuration.unstable_operations["delete_temporal_cloud_open_metrics_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TemporalCloudOpenMetricsIntegrationApi(api_client) + api_instance.delete_temporal_cloud_open_metrics_integration_account( + account_id="account_id", + ) diff --git a/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.py b/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.py new file mode 100644 index 0000000000..2b748c01a7 --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/GetTemporalCloudOpenMetricsIntegrationAccount.py @@ -0,0 +1,18 @@ +""" +Get a Temporal Cloud OpenMetrics account returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.temporal_cloud_open_metrics_integration_api import TemporalCloudOpenMetricsIntegrationApi + +configuration = Configuration() +configuration.access_token = environ["DD_BEARER_TOKEN"] +configuration.unstable_operations["get_temporal_cloud_open_metrics_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TemporalCloudOpenMetricsIntegrationApi(api_client) + response = api_instance.get_temporal_cloud_open_metrics_integration_account( + account_id="account_id", + ) + + print(response) diff --git a/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.py b/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.py new file mode 100644 index 0000000000..506427d0dd --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/ListTemporalCloudOpenMetricsIntegrationAccounts.py @@ -0,0 +1,16 @@ +""" +List Temporal Cloud OpenMetrics accounts returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.temporal_cloud_open_metrics_integration_api import TemporalCloudOpenMetricsIntegrationApi + +configuration = Configuration() +configuration.access_token = environ["DD_BEARER_TOKEN"] +configuration.unstable_operations["list_temporal_cloud_open_metrics_integration_accounts"] = True +with ApiClient(configuration) as api_client: + api_instance = TemporalCloudOpenMetricsIntegrationApi(api_client) + response = api_instance.list_temporal_cloud_open_metrics_integration_accounts() + + print(response) diff --git a/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.py b/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.py new file mode 100644 index 0000000000..fc2f9ca2ec --- /dev/null +++ b/examples/v2/temporal-cloud-openmetrics-integration/UpdateTemporalCloudOpenMetricsIntegrationAccount.py @@ -0,0 +1,53 @@ +""" +Update a Temporal Cloud OpenMetrics account returns "OK" response +""" + +from os import environ +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.temporal_cloud_open_metrics_integration_api import TemporalCloudOpenMetricsIntegrationApi +from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_update import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_update import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_data import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateData, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_request import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateRequest, +) + +body = TemporalCloudOpenMetricsIntegrationAccountUpdateRequest( + data=TemporalCloudOpenMetricsIntegrationAccountUpdateData( + attributes=TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes( + authentication=TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate( + auth_type=TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.BEARER_TOKEN, + token="your-token", + ), + name="temporal-cloud-prod", + settings=TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate( + include_opt_in_labels=False, + namespaces_to_include="prod-*,billing.a1b2c", + ), + ), + id="7c2d4e91-5a3b-4f68-b0e2-9d1f6a8c3e57", + type=IntegrationAccountType.INTEGRATION_ACCOUNT, + ), +) + +configuration = Configuration() +configuration.access_token = environ["DD_BEARER_TOKEN"] +configuration.unstable_operations["update_temporal_cloud_open_metrics_integration_account"] = True +with ApiClient(configuration) as api_client: + api_instance = TemporalCloudOpenMetricsIntegrationApi(api_client) + response = api_instance.update_temporal_cloud_open_metrics_integration_account(account_id="account_id", body=body) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index 55acf3a27f..98567a20bd 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -691,6 +691,11 @@ def __init__( "v2.get_snowflake_integration_account": False, "v2.list_snowflake_integration_accounts": False, "v2.update_snowflake_integration_account": False, + "v2.create_temporal_cloud_open_metrics_integration_account": False, + "v2.delete_temporal_cloud_open_metrics_integration_account": False, + "v2.get_temporal_cloud_open_metrics_integration_account": False, + "v2.list_temporal_cloud_open_metrics_integration_accounts": False, + "v2.update_temporal_cloud_open_metrics_integration_account": False, "v2.create_twilio_integration_account": False, "v2.delete_twilio_integration_account": False, "v2.get_twilio_integration_account": False, diff --git a/src/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.py b/src/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.py new file mode 100644 index 0000000000..56e152ffa9 --- /dev/null +++ b/src/datadog_api_client/v2/api/temporal_cloud_open_metrics_integration_api.py @@ -0,0 +1,226 @@ +# 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. +from __future__ import annotations + +from typing import Any, Dict + +from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint +from datadog_api_client.configuration import Configuration +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_accounts_response import ( + TemporalCloudOpenMetricsIntegrationAccountsResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response import ( + TemporalCloudOpenMetricsIntegrationAccountResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_request import ( + TemporalCloudOpenMetricsIntegrationAccountCreateRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_request import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateRequest, +) + + +class TemporalCloudOpenMetricsIntegrationApi: + """ + Manage your Datadog Temporal Cloud OpenMetrics integration accounts and account resources + directly through the Datadog API. See the + `Temporal Cloud OpenMetrics integration page `_ for + more information. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient(Configuration()) + self.api_client = api_client + + self._create_temporal_cloud_open_metrics_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (TemporalCloudOpenMetricsIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts", + "operation_id": "create_temporal_cloud_open_metrics_integration_account", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (TemporalCloudOpenMetricsIntegrationAccountCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._delete_temporal_cloud_open_metrics_integration_account_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}", + "operation_id": "delete_temporal_cloud_open_metrics_integration_account", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._get_temporal_cloud_open_metrics_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (TemporalCloudOpenMetricsIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}", + "operation_id": "get_temporal_cloud_open_metrics_integration_account", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_temporal_cloud_open_metrics_integration_accounts_endpoint = _Endpoint( + settings={ + "response_type": (TemporalCloudOpenMetricsIntegrationAccountsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts", + "operation_id": "list_temporal_cloud_open_metrics_integration_accounts", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._update_temporal_cloud_open_metrics_integration_account_endpoint = _Endpoint( + settings={ + "response_type": (TemporalCloudOpenMetricsIntegrationAccountResponse,), + "auth": ["apiKeyAuth", "appKeyAuth", "AuthZ"], + "endpoint_path": "/api/v2/integration-interfaces/temporal-cloud-openmetrics/accounts/{account_id}", + "operation_id": "update_temporal_cloud_open_metrics_integration_account", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (str,), + "attribute": "account_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (TemporalCloudOpenMetricsIntegrationAccountUpdateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def create_temporal_cloud_open_metrics_integration_account( + self, + body: TemporalCloudOpenMetricsIntegrationAccountCreateRequest, + ) -> TemporalCloudOpenMetricsIntegrationAccountResponse: + """Create a Temporal Cloud OpenMetrics account. + + Create a Temporal Cloud OpenMetrics integration account. + + :type body: TemporalCloudOpenMetricsIntegrationAccountCreateRequest + :rtype: TemporalCloudOpenMetricsIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_temporal_cloud_open_metrics_integration_account_endpoint.call_with_http_info(**kwargs) + + def delete_temporal_cloud_open_metrics_integration_account( + self, + account_id: str, + ) -> None: + """Delete a Temporal Cloud OpenMetrics account. + + Delete a Temporal Cloud OpenMetrics integration account. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + return self._delete_temporal_cloud_open_metrics_integration_account_endpoint.call_with_http_info(**kwargs) + + def get_temporal_cloud_open_metrics_integration_account( + self, + account_id: str, + ) -> TemporalCloudOpenMetricsIntegrationAccountResponse: + """Get a Temporal Cloud OpenMetrics account. + + Get a Temporal Cloud OpenMetrics integration account. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :rtype: TemporalCloudOpenMetricsIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + return self._get_temporal_cloud_open_metrics_integration_account_endpoint.call_with_http_info(**kwargs) + + def list_temporal_cloud_open_metrics_integration_accounts( + self, + ) -> TemporalCloudOpenMetricsIntegrationAccountsResponse: + """List Temporal Cloud OpenMetrics accounts. + + List Temporal Cloud OpenMetrics integration accounts. + + :rtype: TemporalCloudOpenMetricsIntegrationAccountsResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_temporal_cloud_open_metrics_integration_accounts_endpoint.call_with_http_info(**kwargs) + + def update_temporal_cloud_open_metrics_integration_account( + self, + account_id: str, + body: TemporalCloudOpenMetricsIntegrationAccountUpdateRequest, + ) -> TemporalCloudOpenMetricsIntegrationAccountResponse: + """Update a Temporal Cloud OpenMetrics account. + + Update a Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + + :param account_id: Unique identifier of the integration account. + :type account_id: str + :type body: TemporalCloudOpenMetricsIntegrationAccountUpdateRequest + :rtype: TemporalCloudOpenMetricsIntegrationAccountResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + kwargs["body"] = body + + return self._update_temporal_cloud_open_metrics_integration_account_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/apis/__init__.py b/src/datadog_api_client/v2/apis/__init__.py index 37fdca46f5..655c70bffe 100644 --- a/src/datadog_api_client/v2/apis/__init__.py +++ b/src/datadog_api_client/v2/apis/__init__.py @@ -141,6 +141,7 @@ from datadog_api_client.v2.api.synthetics_api import SyntheticsApi from datadog_api_client.v2.api.tag_rules_api import TagRulesApi from datadog_api_client.v2.api.teams_api import TeamsApi +from datadog_api_client.v2.api.temporal_cloud_open_metrics_integration_api import TemporalCloudOpenMetricsIntegrationApi from datadog_api_client.v2.api.test_optimization_api import TestOptimizationApi from datadog_api_client.v2.api.threat_intelligence_api import ThreatIntelligenceApi from datadog_api_client.v2.api.timeseries_anomaly_investigations_api import TimeseriesAnomalyInvestigationsApi @@ -298,6 +299,7 @@ "SyntheticsApi", "TagRulesApi", "TeamsApi", + "TemporalCloudOpenMetricsIntegrationApi", "TestOptimizationApi", "ThreatIntelligenceApi", "TimeseriesAnomalyInvestigationsApi", diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_request.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_request.py new file mode 100644 index 0000000000..21cf5adc2e --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_request.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication for creating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + + :param auth_type: The authentication method type. + :type auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + + :param token: Secret token used to authenticate with Temporal Cloud. + :type token: str + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_request import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest, + ) + + return { + "oneOf": [ + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest, + ], + } diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_response.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_response.py new file mode 100644 index 0000000000..a8a955324b --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_response.py @@ -0,0 +1,40 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication configured on the Temporal Cloud OpenMetrics integration account. + + :param auth_type: The authentication method type. + :type auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_response import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse, + ) + + return { + "oneOf": [ + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse, + ], + } diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_update.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_update.py new file mode 100644 index 0000000000..aeca62eeb3 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_authentication_update.py @@ -0,0 +1,43 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelComposed, + cached_property, +) + + +class TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate(ModelComposed): + def __init__(self, **kwargs): + """ + Authentication for updating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + + :param auth_type: The authentication method type. + :type auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + + :param token: Secret token used to authenticate with Temporal Cloud. + :type token: str, optional + """ + super().__init__(kwargs) + + @cached_property + def _composed_schemas(_): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_update import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate, + ) + + return { + "oneOf": [ + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate, + ], + } diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.py new file mode 100644 index 0000000000..279ce511eb --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_request.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, + ) + + return { + "auth_type": (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType,), + "token": (str,), + } + + attribute_map = { + "auth_type": "auth_type", + "token": "token", + } + + def __init__(self_, auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, token: str, **kwargs): + """ + Bearer token authentication. Use the API key of a Temporal Cloud service account with the Metrics Read-Only account-level role. + + :param auth_type: The authentication method type. + :type auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + + :param token: Secret token used to authenticate with Temporal Cloud. + :type token: str + """ + super().__init__(kwargs) + + self_.auth_type = auth_type + self_.token = token diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.py new file mode 100644 index 0000000000..dab39c0696 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_response.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, + ) + + return { + "auth_type": (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType,), + } + + attribute_map = { + "auth_type": "auth_type", + } + + def __init__(self_, auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, **kwargs): + """ + The bearer token authentication method configured on the account. + + :param auth_type: The authentication method type. + :type auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + """ + super().__init__(kwargs) + + self_.auth_type = auth_type diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.py new file mode 100644 index 0000000000..50eddf8ec1 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_type.py @@ -0,0 +1,37 @@ +# 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. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType(ModelSimple): + """ + The authentication method type. + + :param value: If omitted defaults to "bearer_token". Must be one of ["bearer_token"]. + :type value: str + """ + + allowed_values = { + "bearer_token", + } + BEARER_TOKEN: ClassVar["TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType.BEARER_TOKEN = ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType("bearer_token") +) diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.py new file mode 100644 index 0000000000..e580136ac1 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_bearer_token_auth_update.py @@ -0,0 +1,62 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, + ) + + return { + "auth_type": (TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType,), + "token": (str,), + } + + attribute_map = { + "auth_type": "auth_type", + "token": "token", + } + + def __init__( + self_, + auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, + token: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + 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. + + :param auth_type: The authentication method type. + :type auth_type: TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType + + :param token: Secret token used to authenticate with Temporal Cloud. + :type token: str, optional + """ + if token is not unset: + kwargs["token"] = token + super().__init__(kwargs) + + self_.auth_type = auth_type diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_attributes.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_attributes.py new file mode 100644 index 0000000000..ece3172ad8 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_attributes.py @@ -0,0 +1,74 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_request import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_request import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_request import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountCreateAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_request import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_request import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest, + ) + + return { + "authentication": (TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest,), + "name": (str,), + "settings": (TemporalCloudOpenMetricsIntegrationAccountSettingsRequest,), + } + + attribute_map = { + "authentication": "authentication", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + authentication: Union[ + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest, + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest, + ], + name: str, + settings: TemporalCloudOpenMetricsIntegrationAccountSettingsRequest, + **kwargs, + ): + """ + Writable attributes used to create a Temporal Cloud OpenMetrics integration account. + + :param authentication: Authentication for creating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + :type authentication: TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest + + :param name: Human-readable name of the Temporal Cloud OpenMetrics integration account. + :type name: str + + :param settings: Settings for creating the Temporal Cloud OpenMetrics integration account. + :type settings: TemporalCloudOpenMetricsIntegrationAccountSettingsRequest + """ + super().__init__(kwargs) + + self_.authentication = authentication + self_.name = name + self_.settings = settings diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_data.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_data.py new file mode 100644 index 0000000000..8cc9a0c372 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_data.py @@ -0,0 +1,57 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class TemporalCloudOpenMetricsIntegrationAccountCreateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (TemporalCloudOpenMetricsIntegrationAccountCreateAttributes,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: TemporalCloudOpenMetricsIntegrationAccountCreateAttributes, + type: IntegrationAccountType, + **kwargs, + ): + """ + Data envelope for creating a Temporal Cloud OpenMetrics integration account. + + :param attributes: Writable attributes used to create a Temporal Cloud OpenMetrics integration account. + :type attributes: TemporalCloudOpenMetricsIntegrationAccountCreateAttributes + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_request.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_request.py new file mode 100644 index 0000000000..a97da67cd0 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_create_request.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_data import ( + TemporalCloudOpenMetricsIntegrationAccountCreateData, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountCreateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_data import ( + TemporalCloudOpenMetricsIntegrationAccountCreateData, + ) + + return { + "data": (TemporalCloudOpenMetricsIntegrationAccountCreateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TemporalCloudOpenMetricsIntegrationAccountCreateData, **kwargs): + """ + Request payload to create a Temporal Cloud OpenMetrics integration account. + + :param data: Data envelope for creating a Temporal Cloud OpenMetrics integration account. + :type data: TemporalCloudOpenMetricsIntegrationAccountCreateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response.py new file mode 100644 index 0000000000..fe5a2cc469 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_data import ( + TemporalCloudOpenMetricsIntegrationAccountResponseData, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_data import ( + TemporalCloudOpenMetricsIntegrationAccountResponseData, + ) + + return { + "data": (TemporalCloudOpenMetricsIntegrationAccountResponseData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TemporalCloudOpenMetricsIntegrationAccountResponseData, **kwargs): + """ + Response payload for a single Temporal Cloud OpenMetrics integration account. + + :param data: Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned identity. + :type data: TemporalCloudOpenMetricsIntegrationAccountResponseData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_attributes.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_attributes.py new file mode 100644 index 0000000000..d92ba48dc3 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_attributes.py @@ -0,0 +1,92 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_response import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_dataflows_response import ( + TemporalCloudOpenMetricsIntegrationDataflowsResponse, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_response import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_response import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountResponseAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_response import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_dataflows_response import ( + TemporalCloudOpenMetricsIntegrationDataflowsResponse, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_response import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse, + ) + + return { + "authentication": (TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse,), + "dataflows": (TemporalCloudOpenMetricsIntegrationDataflowsResponse,), + "name": (str,), + "settings": (TemporalCloudOpenMetricsIntegrationAccountSettingsResponse,), + } + + attribute_map = { + "authentication": "authentication", + "dataflows": "dataflows", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + name: str, + settings: TemporalCloudOpenMetricsIntegrationAccountSettingsResponse, + authentication: Union[ + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse, + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse, + UnsetType, + ] = unset, + dataflows: Union[TemporalCloudOpenMetricsIntegrationDataflowsResponse, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. + + :param authentication: Authentication configured on the Temporal Cloud OpenMetrics integration account. + :type authentication: TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse, optional + + :param dataflows: Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. + :type dataflows: TemporalCloudOpenMetricsIntegrationDataflowsResponse, optional + + :param name: Human-readable name of the Temporal Cloud OpenMetrics integration account. + :type name: str + + :param settings: Settings configured on the Temporal Cloud OpenMetrics integration account. + :type settings: TemporalCloudOpenMetricsIntegrationAccountSettingsResponse + """ + if authentication is not unset: + kwargs["authentication"] = authentication + if dataflows is not unset: + kwargs["dataflows"] = dataflows + super().__init__(kwargs) + + self_.name = name + self_.settings = settings diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_data.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_data.py new file mode 100644 index 0000000000..0a73dc011c --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_response_data.py @@ -0,0 +1,67 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class TemporalCloudOpenMetricsIntegrationAccountResponseData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (TemporalCloudOpenMetricsIntegrationAccountResponseAttributes,), + "id": (str,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + read_only_vars = { + "id", + } + + def __init__( + self_, + attributes: TemporalCloudOpenMetricsIntegrationAccountResponseAttributes, + id: str, + type: IntegrationAccountType, + **kwargs, + ): + """ + Data envelope of a Temporal Cloud OpenMetrics integration account, including server-assigned identity. + + :param attributes: Attributes of a Temporal Cloud OpenMetrics integration account returned in responses. + :type attributes: TemporalCloudOpenMetricsIntegrationAccountResponseAttributes + + :param id: Server-generated unique identifier of the Temporal Cloud OpenMetrics integration account. + :type id: str + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_request.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_request.py new file mode 100644 index 0000000000..f77251a3ee --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_request.py @@ -0,0 +1,52 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TemporalCloudOpenMetricsIntegrationAccountSettingsRequest(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + return { + "include_opt_in_labels": (bool,), + "namespaces_to_include": (str,), + } + + attribute_map = { + "include_opt_in_labels": "include_opt_in_labels", + "namespaces_to_include": "namespaces_to_include", + } + + def __init__( + self_, + include_opt_in_labels: Union[bool, UnsetType] = unset, + namespaces_to_include: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Settings for creating the Temporal Cloud OpenMetrics integration account. + + :param include_opt_in_labels: 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``. + :type include_opt_in_labels: bool, optional + + :param namespaces_to_include: 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. + :type namespaces_to_include: str, optional + """ + if include_opt_in_labels is not unset: + kwargs["include_opt_in_labels"] = include_opt_in_labels + if namespaces_to_include is not unset: + kwargs["namespaces_to_include"] = namespaces_to_include + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_response.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_response.py new file mode 100644 index 0000000000..e41cf9dcdd --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_response.py @@ -0,0 +1,48 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TemporalCloudOpenMetricsIntegrationAccountSettingsResponse(ModelNormal): + @cached_property + def openapi_types(_): + return { + "include_opt_in_labels": (bool,), + "namespaces_to_include": (str,), + } + + attribute_map = { + "include_opt_in_labels": "include_opt_in_labels", + "namespaces_to_include": "namespaces_to_include", + } + + def __init__( + self_, + include_opt_in_labels: Union[bool, UnsetType] = unset, + namespaces_to_include: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Settings configured on the Temporal Cloud OpenMetrics integration account. + + :param include_opt_in_labels: 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. + :type include_opt_in_labels: bool, optional + + :param namespaces_to_include: 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. + :type namespaces_to_include: str, optional + """ + if include_opt_in_labels is not unset: + kwargs["include_opt_in_labels"] = include_opt_in_labels + if namespaces_to_include is not unset: + kwargs["namespaces_to_include"] = namespaces_to_include + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_update.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_update.py new file mode 100644 index 0000000000..fc3cbb3679 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_settings_update.py @@ -0,0 +1,52 @@ +# 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. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate(ModelNormal): + @cached_property + def additional_properties_type(_): + return None + + @cached_property + def openapi_types(_): + return { + "include_opt_in_labels": (bool,), + "namespaces_to_include": (str,), + } + + attribute_map = { + "include_opt_in_labels": "include_opt_in_labels", + "namespaces_to_include": "namespaces_to_include", + } + + def __init__( + self_, + include_opt_in_labels: Union[bool, UnsetType] = unset, + namespaces_to_include: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + + :param include_opt_in_labels: 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. + :type include_opt_in_labels: bool, optional + + :param namespaces_to_include: 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. + :type namespaces_to_include: str, optional + """ + if include_opt_in_labels is not unset: + kwargs["include_opt_in_labels"] = include_opt_in_labels + if namespaces_to_include is not unset: + kwargs["namespaces_to_include"] = namespaces_to_include + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_attributes.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_attributes.py new file mode 100644 index 0000000000..4f42746d60 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_attributes.py @@ -0,0 +1,79 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_update import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_update import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_update import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_update import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate, + ) + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_update import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate, + ) + + return { + "authentication": (TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate,), + "name": (str,), + "settings": (TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate,), + } + + attribute_map = { + "authentication": "authentication", + "name": "name", + "settings": "settings", + } + + def __init__( + self_, + authentication: Union[ + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate, + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate, + UnsetType, + ] = unset, + name: Union[str, UnsetType] = unset, + settings: Union[TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate, UnsetType] = unset, + **kwargs, + ): + """ + Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every field is optional; only the fields provided are changed. + + :param authentication: Authentication for updating the Temporal Cloud OpenMetrics integration account. Exactly one method is set. + :type authentication: TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate, optional + + :param name: Human-readable name of the Temporal Cloud OpenMetrics integration account. + :type name: str, optional + + :param settings: Settings for updating the Temporal Cloud OpenMetrics integration account. Only the fields provided are changed. + :type settings: TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate, optional + """ + if authentication is not unset: + kwargs["authentication"] = authentication + if name is not unset: + kwargs["name"] = name + if settings is not unset: + kwargs["settings"] = settings + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_data.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_data.py new file mode 100644 index 0000000000..8f540b8557 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_data.py @@ -0,0 +1,64 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + +class TemporalCloudOpenMetricsIntegrationAccountUpdateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes, + ) + from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType + + return { + "attributes": (TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes,), + "id": (str,), + "type": (IntegrationAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__( + self_, + attributes: TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes, + id: str, + type: IntegrationAccountType, + **kwargs, + ): + """ + Data envelope for updating a Temporal Cloud OpenMetrics integration account. + + :param attributes: Writable attributes used to update a Temporal Cloud OpenMetrics integration account. Every field is optional; only the fields provided are changed. + :type attributes: TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes + + :param id: Unique identifier of the Temporal Cloud OpenMetrics integration account to update. + :type id: str + + :param type: The type of the integration account resource. Always ``integration-account``. + :type type: IntegrationAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_request.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_request.py new file mode 100644 index 0000000000..10cdd52ff0 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_account_update_request.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_data import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateData, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountUpdateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_data import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateData, + ) + + return { + "data": (TemporalCloudOpenMetricsIntegrationAccountUpdateData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: TemporalCloudOpenMetricsIntegrationAccountUpdateData, **kwargs): + """ + Request payload to update a Temporal Cloud OpenMetrics integration account. + + :param data: Data envelope for updating a Temporal Cloud OpenMetrics integration account. + :type data: TemporalCloudOpenMetricsIntegrationAccountUpdateData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_accounts_response.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_accounts_response.py new file mode 100644 index 0000000000..c69f92320b --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_accounts_response.py @@ -0,0 +1,44 @@ +# 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. +from __future__ import annotations + +from typing import List, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_data import ( + TemporalCloudOpenMetricsIntegrationAccountResponseData, + ) + + +class TemporalCloudOpenMetricsIntegrationAccountsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_data import ( + TemporalCloudOpenMetricsIntegrationAccountResponseData, + ) + + return { + "data": ([TemporalCloudOpenMetricsIntegrationAccountResponseData],), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: List[TemporalCloudOpenMetricsIntegrationAccountResponseData], **kwargs): + """ + Response payload for a list of Temporal Cloud OpenMetrics integration accounts. + + :param data: List of Temporal Cloud OpenMetrics integration accounts. + :type data: [TemporalCloudOpenMetricsIntegrationAccountResponseData] + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_dataflows_response.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_dataflows_response.py new file mode 100644 index 0000000000..431fe8e911 --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_integration_dataflows_response.py @@ -0,0 +1,52 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.temporal_cloud_open_metrics_metrics_integration_dataflow_response import ( + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse, + ) + + +class TemporalCloudOpenMetricsIntegrationDataflowsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.temporal_cloud_open_metrics_metrics_integration_dataflow_response import ( + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse, + ) + + return { + "temporal_cloud_openmetrics_metrics": (TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse,), + } + + attribute_map = { + "temporal_cloud_openmetrics_metrics": "temporal-cloud-openmetrics-metrics", + } + + def __init__( + self_, + temporal_cloud_openmetrics_metrics: Union[ + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse, UnsetType + ] = unset, + **kwargs, + ): + """ + Data Datadog collects from Temporal Cloud OpenMetrics, keyed by dataflow id. + + :param temporal_cloud_openmetrics_metrics: 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. + :type temporal_cloud_openmetrics_metrics: TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse, optional + """ + if temporal_cloud_openmetrics_metrics is not unset: + kwargs["temporal_cloud_openmetrics_metrics"] = temporal_cloud_openmetrics_metrics + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_metrics_integration_dataflow_response.py b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_metrics_integration_dataflow_response.py new file mode 100644 index 0000000000..3b5544859a --- /dev/null +++ b/src/datadog_api_client/v2/model/temporal_cloud_open_metrics_metrics_integration_dataflow_response.py @@ -0,0 +1,58 @@ +# 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. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + +class TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.integration_account_dataflow_status import IntegrationAccountDataflowStatus + + return { + "enabled": (bool,), + "status": (IntegrationAccountDataflowStatus,), + } + + attribute_map = { + "enabled": "enabled", + "status": "status", + } + read_only_vars = { + "enabled", + "status", + } + + def __init__( + self_, + enabled: Union[bool, UnsetType] = unset, + status: Union[IntegrationAccountDataflowStatus, UnsetType] = unset, + **kwargs, + ): + """ + 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. + + :param enabled: Whether Datadog collects this data. Always ``true`` , because this collection cannot be turned off. + :type enabled: bool, optional + + :param status: Read-only collection status of a dataflow. + :type status: IntegrationAccountDataflowStatus, optional + """ + if enabled is not unset: + kwargs["enabled"] = enabled + if status is not unset: + kwargs["status"] = status + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index 489700a6a2..f8ae73fcb9 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -11948,6 +11948,72 @@ from datadog_api_client.v2.model.teams_response_links import TeamsResponseLinks from datadog_api_client.v2.model.teams_response_meta import TeamsResponseMeta from datadog_api_client.v2.model.teams_response_meta_pagination import TeamsResponseMetaPagination +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_request import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_response import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_authentication_update import ( + TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_request import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_response import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_type import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_bearer_token_auth_update import ( + TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountCreateAttributes, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_data import ( + TemporalCloudOpenMetricsIntegrationAccountCreateData, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_create_request import ( + TemporalCloudOpenMetricsIntegrationAccountCreateRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response import ( + TemporalCloudOpenMetricsIntegrationAccountResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountResponseAttributes, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_response_data import ( + TemporalCloudOpenMetricsIntegrationAccountResponseData, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_request import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_response import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_settings_update import ( + TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_attributes import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_data import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateData, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_account_update_request import ( + TemporalCloudOpenMetricsIntegrationAccountUpdateRequest, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_accounts_response import ( + TemporalCloudOpenMetricsIntegrationAccountsResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_integration_dataflows_response import ( + TemporalCloudOpenMetricsIntegrationDataflowsResponse, +) +from datadog_api_client.v2.model.temporal_cloud_open_metrics_metrics_integration_dataflow_response import ( + TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse, +) from datadog_api_client.v2.model.tenancy_config import TenancyConfig from datadog_api_client.v2.model.tenancy_config_data import TenancyConfigData from datadog_api_client.v2.model.tenancy_config_data_attributes import TenancyConfigDataAttributes @@ -20768,6 +20834,28 @@ "TeamsResponseLinks", "TeamsResponseMeta", "TeamsResponseMetaPagination", + "TemporalCloudOpenMetricsIntegrationAccountAuthenticationRequest", + "TemporalCloudOpenMetricsIntegrationAccountAuthenticationResponse", + "TemporalCloudOpenMetricsIntegrationAccountAuthenticationUpdate", + "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthRequest", + "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthResponse", + "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthType", + "TemporalCloudOpenMetricsIntegrationAccountBearerTokenAuthUpdate", + "TemporalCloudOpenMetricsIntegrationAccountCreateAttributes", + "TemporalCloudOpenMetricsIntegrationAccountCreateData", + "TemporalCloudOpenMetricsIntegrationAccountCreateRequest", + "TemporalCloudOpenMetricsIntegrationAccountResponse", + "TemporalCloudOpenMetricsIntegrationAccountResponseAttributes", + "TemporalCloudOpenMetricsIntegrationAccountResponseData", + "TemporalCloudOpenMetricsIntegrationAccountSettingsRequest", + "TemporalCloudOpenMetricsIntegrationAccountSettingsResponse", + "TemporalCloudOpenMetricsIntegrationAccountSettingsUpdate", + "TemporalCloudOpenMetricsIntegrationAccountUpdateAttributes", + "TemporalCloudOpenMetricsIntegrationAccountUpdateData", + "TemporalCloudOpenMetricsIntegrationAccountUpdateRequest", + "TemporalCloudOpenMetricsIntegrationAccountsResponse", + "TemporalCloudOpenMetricsIntegrationDataflowsResponse", + "TemporalCloudOpenMetricsMetricsIntegrationDataflowResponse", "TenancyConfig", "TenancyConfigData", "TenancyConfigDataAttributes", diff --git a/tests/v2/features/temporal_cloud_openmetrics_integration.feature b/tests/v2/features/temporal_cloud_openmetrics_integration.feature new file mode 100644 index 0000000000..a3f062edc0 --- /dev/null +++ b/tests/v2/features/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/tests/v2/features/undo.json b/tests/v2/features/undo.json index 71f452ee11..bfe1be017a 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/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": {