From b009526d2cd12442fc38311ca06c0acf686e1d99 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 23 Sep 2026 22:41:53 +0000 Subject: [PATCH] Regenerate client from commit b37445c of spec repo --- .generator/schemas/v2/openapi.yaml | 1011 ++++++++++++++++- .../CreateDatabricksIntegrationAccount.ts | 70 ++ .../DeleteDatabricksIntegrationAccount.ts | 24 + .../GetDatabricksIntegrationAccount.ts | 23 + .../ListDatabricksIntegrationAccounts.ts | 18 + .../UpdateDatabricksIntegrationAccount.ts | 72 ++ features/support/scenarios_model_mapping.ts | 35 + features/v2/databricks_integration.feature | 148 +++ features/v2/rum_replay_heatmaps.feature | 8 +- features/v2/rum_replay_playlists.feature | 20 +- features/v2/rum_replay_sessions.feature | 2 +- features/v2/rum_replay_viewership.feature | 8 +- features/v2/undo.json | 37 + .../configuration.ts | 5 + .../apis/DatabricksIntegrationApi.ts | 831 ++++++++++++++ .../apis/ReferenceTablesApi.ts | 2 +- packages/datadog-api-client-v2/index.ts | 51 + .../models/BatchDeleteRowsRequestArray.ts | 2 +- .../models/BatchUpsertRowsRequestArray.ts | 2 +- ...udCostMetricsIntegrationDataflowRequest.ts | 50 + ...dCostMetricsIntegrationDataflowResponse.ts | 61 + ...tricsIntegrationDataflowSettingsRequest.ts | 41 + ...ricsIntegrationDataflowSettingsResponse.ts | 52 + ...obsMonitoringIntegrationDataflowRequest.ts | 50 + ...bsMonitoringIntegrationDataflowResponse.ts | 61 + ...oringIntegrationDataflowSettingsRequest.ts | 81 ++ ...ringIntegrationDataflowSettingsResponse.ts | 84 ++ ...ityMonitoringIntegrationDataflowRequest.ts | 50 + ...tyMonitoringIntegrationDataflowResponse.ts | 61 + ...oringIntegrationDataflowSettingsRequest.ts | 49 + ...ringIntegrationDataflowSettingsResponse.ts | 60 + ...IntegrationAccountAuthenticationRequest.ts | 18 + ...ntegrationAccountAuthenticationResponse.ts | 20 + ...sIntegrationAccountAuthenticationUpdate.ts | 20 + ...tegrationAccountBearerTokenAuthResponse.ts | 54 + ...ksIntegrationAccountBearerTokenAuthType.ts | 16 + ...IntegrationAccountBearerTokenAuthUpdate.ts | 51 + ...ricksIntegrationAccountCreateAttributes.ts | 82 ++ .../DatabricksIntegrationAccountCreateData.ts | 64 ++ ...tabricksIntegrationAccountCreateRequest.ts | 54 + ...ricksIntegrationAccountOAuthAuthRequest.ts | 69 ++ ...icksIntegrationAccountOAuthAuthResponse.ts | 71 ++ ...tabricksIntegrationAccountOAuthAuthType.ts | 16 + ...bricksIntegrationAccountOAuthAuthUpdate.ts | 67 ++ ...onAccountPrivateActionRunnerAuthRequest.ts | 71 ++ ...nAccountPrivateActionRunnerAuthResponse.ts | 80 ++ ...ationAccountPrivateActionRunnerAuthType.ts | 16 + ...ionAccountPrivateActionRunnerAuthUpdate.ts | 69 ++ .../DatabricksIntegrationAccountResponse.ts | 54 + ...cksIntegrationAccountResponseAttributes.ts | 81 ++ ...atabricksIntegrationAccountResponseData.ts | 73 ++ ...bricksIntegrationAccountSettingsRequest.ts | 50 + ...ricksIntegrationAccountSettingsResponse.ts | 61 + ...abricksIntegrationAccountSettingsUpdate.ts | 49 + ...ricksIntegrationAccountUpdateAttributes.ts | 79 ++ .../DatabricksIntegrationAccountUpdateData.ts | 73 ++ ...tabricksIntegrationAccountUpdateRequest.ts | 54 + .../DatabricksIntegrationAccountsResponse.ts | 54 + .../DatabricksIntegrationDataflowsRequest.ts | 69 ++ .../DatabricksIntegrationDataflowsResponse.ts | 80 ++ ...ervingMetricsIntegrationDataflowRequest.ts | 41 + ...rvingMetricsIntegrationDataflowResponse.ts | 52 + .../models/ObjectSerializer.ts | 127 +++ 63 files changed, 4848 insertions(+), 56 deletions(-) create mode 100644 examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.ts create mode 100644 examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.ts create mode 100644 examples/v2/databricks-integration/GetDatabricksIntegrationAccount.ts create mode 100644 examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.ts create mode 100644 examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.ts create mode 100644 features/v2/databricks_integration.feature create mode 100644 packages/datadog-api-client-v2/apis/DatabricksIntegrationApi.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationUpdate.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthType.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthUpdate.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateData.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthType.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthUpdate.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthType.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseData.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsUpdate.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateData.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationAccountsResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsResponse.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowRequest.ts create mode 100644 packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowResponse.ts diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index fdafbd6b9d51..c7b48d3d6fdb 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -13556,10 +13556,11 @@ components: description: The request body for deleting multiple rows from a reference table. properties: data: - description: List of row resources to delete from the reference table. + description: >- + List of row resources to delete from the reference table. The request payload can be up to 1 MiB. items: $ref: "#/components/schemas/TableRowResourceIdentifier" - maxItems: 200 + maxItems: 45589 type: array required: - data @@ -13673,10 +13674,11 @@ components: description: The request body for creating or updating multiple rows into a reference table. properties: data: - description: List of row resources to create or update in the reference table. + description: >- + List of row resources to create or update in the reference table. The request payload can be up to 1 MiB. items: $ref: "#/components/schemas/BatchUpsertRowsRequestData" - maxItems: 200 + maxItems: 20971 type: array required: - data @@ -26748,7 +26750,8 @@ components: minItems: 1 type: array primary_keys: - description: List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. + description: >- + List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. example: - "field_1" items: @@ -27005,10 +27008,12 @@ components: - type type: object CreateUploadRequestDataAttributes: - description: Upload configuration specifying how data is uploaded by the user, and properties of the table to associate the upload with. + description: >- + Upload configuration specifying how data is uploaded by the user, and properties of the table to associate the upload with. properties: headers: - description: The CSV file headers that define the schema fields, provided in the same order as the columns in the uploaded file. Maximum of 200 columns. + description: >- + The CSV file headers that define the schema fields, provided in the same order as the columns in the uploaded file. Maximum of 200 columns. example: - "field_1" - "field_2" @@ -27049,7 +27054,8 @@ components: x-enum-varnames: - UPLOAD CreateUploadResponse: - description: Information about the upload created containing the upload ID and pre-signed URLs to PUT chunks of the CSV file to. + description: >- + Information about the upload created containing the upload ID and pre-signed URLs to PUT chunks of the CSV file to. properties: data: $ref: "#/components/schemas/CreateUploadResponseData" @@ -32063,6 +32069,618 @@ components: required: - databaseMonitoringTrigger type: object + DatabricksCloudCostMetricsIntegrationDataflowRequest: + additionalProperties: false + description: >- + Cost data collected from your Databricks system tables. [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management/) must be enabled for your organization while this dataflow is on; any request that leaves it enabled without that is rejected with a `422` response. + properties: + enabled: + description: Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection. + example: true + type: boolean + settings: + $ref: "#/components/schemas/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest" + type: object + DatabricksCloudCostMetricsIntegrationDataflowResponse: + description: >- + Cost data collected from your Databricks system tables. Requires [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management/) to be set up for your organization. + properties: + enabled: + description: Whether Datadog collects this data. + example: true + type: boolean + settings: + $ref: "#/components/schemas/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse" + type: object + DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest: + additionalProperties: false + description: Settings of the Cloud Cost Management dataflow. Only the fields provided are changed. + properties: + ccm_collect_all_workspaces: + description: >- + Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. This takes effect across the Databricks account: if any one workspace enables it, Datadog collects cost data for all of them regardless of their individual settings, and every covered workspace incurs Cloud Cost Management charges. Defaults to `true`. + example: true + type: boolean + type: object + DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse: + description: Settings of the Cloud Cost Management dataflow. + properties: + ccm_collect_all_workspaces: + description: >- + Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. This takes effect across the Databricks account: if any one workspace enables it, Datadog collects cost data for all of them regardless of their individual settings, and every covered workspace incurs Cloud Cost Management charges. + example: true + type: boolean + type: object + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest: + additionalProperties: false + description: >- + Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs. + properties: + enabled: + description: Whether Datadog collects this data. Defaults to `true`; set to `false` to stop collection. + example: true + type: boolean + settings: + $ref: "#/components/schemas/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest" + type: object + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse: + description: >- + Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs. + properties: + enabled: + description: Whether Datadog collects this data. + example: true + type: boolean + settings: + $ref: "#/components/schemas/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse" + type: object + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest: + additionalProperties: false + description: Settings of the Data Jobs Monitoring dataflow. Only the fields provided are changed. + properties: + dd_api_key_id: + description: >- + ID of the Datadog API key the global init script uses to submit data. Setting or changing it requires `dd_api_key_secret` in the same request. + example: fe383f4e-09fc-46bf-8e10-4efdd453a646 + type: string + dd_api_key_secret: + description: Secret value of the Datadog API key identified by `dd_api_key_id`. + example: your-datadog-api-key + type: string + writeOnly: true + djm_global_init_script_enabled: + description: >- + Whether Datadog installs and manages the Agent on your Databricks clusters through a global init script. Installation can take up to 15 minutes and requires Databricks Workspace Admin permissions. The script does not apply to clusters in Standard access mode. Leave this `false` to install the Agent yourself. Defaults to `false`. + example: true + type: boolean + script_gpum_enabled: + description: >- + Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. Defaults to `false`. + example: true + type: boolean + script_logs_enabled: + description: >- + Whether driver and worker logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. Defaults to `false`. + example: true + type: boolean + serverless_jobs_enabled: + description: >- + Whether health and cost data is collected for jobs running on Serverless or SQL Warehouse compute. This compute has no clusters for the global init script to target, so collection reads the Databricks system tables and requires `system_tables_sql_warehouse_id`. Defaults to `true`. + example: true + type: boolean + type: object + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse: + description: Settings of the Data Jobs Monitoring dataflow. + properties: + dd_api_key_id: + description: ID of the Datadog API key the global init script uses to submit data. + example: fe383f4e-09fc-46bf-8e10-4efdd453a646 + type: string + djm_global_init_script_enabled: + description: >- + Whether Datadog installs and manages the Agent on your Databricks clusters through a global init script. The script does not apply to clusters in Standard access mode. When `false`, the Agent is installed manually. + example: true + type: boolean + script_gpum_enabled: + description: >- + Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + example: true + type: boolean + script_logs_enabled: + description: >- + Whether driver and worker logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + example: true + type: boolean + serverless_jobs_enabled: + description: >- + Whether health and cost data is collected for jobs running on Serverless or SQL Warehouse compute. This compute has no clusters for the global init script to target, so collection reads the Databricks system tables and requires `system_tables_sql_warehouse_id`. + example: true + type: boolean + type: object + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest: + additionalProperties: false + description: >- + Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues. + properties: + enabled: + description: Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection. + example: true + type: boolean + settings: + $ref: "#/components/schemas/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest" + type: object + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse: + description: >- + Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues. + properties: + enabled: + description: Whether Datadog collects this data. + example: true + type: boolean + settings: + $ref: "#/components/schemas/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse" + type: object + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest: + additionalProperties: false + description: Settings of the Data Observability dataflow. Only the fields provided are changed. + properties: + do_crawlers_cron: + description: >- + Cron expression setting how often Datadog connects to your Databricks warehouse to collect metadata. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported. Defaults to hourly (`0 * * * *`). + example: "0 * * * *" + type: string + sync_system_catalog: + description: >- + Whether metadata from the Databricks `system` catalog is included in Data Observability alongside your data catalogs. Defaults to `false`. + example: true + type: boolean + type: object + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse: + description: Settings of the Data Observability dataflow. + properties: + do_crawlers_cron: + description: >- + Cron expression setting how often Datadog connects to your Databricks warehouse to collect metadata. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported. + example: "0 * * * *" + type: string + sync_system_catalog: + description: >- + Whether metadata from the Databricks `system` catalog is included in Data Observability alongside your data catalogs. + example: true + type: boolean + type: object + DatabricksIntegrationAccountAuthenticationRequest: + description: >- + Authentication for creating the Databricks integration account. Exactly one method is set. Choosing `private_action_runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `bearer_token` is not available on creation: Databricks accepts it only on accounts that already use it, so it can only appear on read and update. + oneOf: + - $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthRequest" + - $ref: "#/components/schemas/DatabricksIntegrationAccountPrivateActionRunnerAuthRequest" + DatabricksIntegrationAccountAuthenticationResponse: + description: >- + Authentication configured on the Databricks integration account. A `bearer_token` method indicates an account still on token authentication, which Databricks accepts only on accounts that already use it. + oneOf: + - $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthResponse" + - $ref: "#/components/schemas/DatabricksIntegrationAccountPrivateActionRunnerAuthResponse" + - $ref: "#/components/schemas/DatabricksIntegrationAccountBearerTokenAuthResponse" + DatabricksIntegrationAccountAuthenticationUpdate: + description: >- + Authentication for updating the Databricks integration account. Exactly one method is set. Choosing `private_action_runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `bearer_token` is deprecated on Databricks: it is accepted only on accounts that already use it and never on creation, so it cannot move an account onto token authentication. Migrate those accounts to `databricks_oauth` or `private_action_runner`. + oneOf: + - $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthUpdate" + - $ref: "#/components/schemas/DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate" + - $ref: "#/components/schemas/DatabricksIntegrationAccountBearerTokenAuthUpdate" + DatabricksIntegrationAccountBearerTokenAuthResponse: + description: The bearer token authentication method configured on the account. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountBearerTokenAuthType" + required: + - auth_type + type: object + DatabricksIntegrationAccountBearerTokenAuthType: + default: bearer_token + description: The authentication method type. + enum: + - bearer_token + example: bearer_token + type: string + x-enum-varnames: + - BEARER_TOKEN + DatabricksIntegrationAccountBearerTokenAuthUpdate: + additionalProperties: false + description: >- + Bearer token authentication. The credential is a single opaque secret, a Databricks personal access token, with no accompanying non-secret identifier. The method is deprecated: Databricks accepts it only on accounts that already use it, and never on creation. Only the fields provided are changed; omit `token` to keep the stored one. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountBearerTokenAuthType" + token: + description: Secret token used to authenticate with Databricks. + example: your-token + type: string + writeOnly: true + required: + - auth_type + type: object + DatabricksIntegrationAccountCreateAttributes: + description: Writable attributes used to create a Databricks integration account. + properties: + authentication: + $ref: "#/components/schemas/DatabricksIntegrationAccountAuthenticationRequest" + dataflows: + $ref: "#/components/schemas/DatabricksIntegrationDataflowsRequest" + name: + description: Human-readable name of the Databricks integration account. + example: My Databricks Workspace + type: string + settings: + $ref: "#/components/schemas/DatabricksIntegrationAccountSettingsRequest" + required: + - name + - authentication + - settings + type: object + DatabricksIntegrationAccountCreateData: + description: Data envelope for creating a Databricks integration account. + properties: + attributes: + $ref: "#/components/schemas/DatabricksIntegrationAccountCreateAttributes" + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - type + - attributes + type: object + DatabricksIntegrationAccountCreateRequest: + description: Request payload to create a Databricks integration account. + properties: + data: + $ref: "#/components/schemas/DatabricksIntegrationAccountCreateData" + required: + - data + type: object + DatabricksIntegrationAccountOAuthAuthRequest: + additionalProperties: false + description: >- + Databricks OAuth machine-to-machine authentication using a service principal. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthType" + azure_tenant_id: + description: Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. + example: 4d3bac44-0230-4732-9e70-cc00736f0a97 + type: string + client_id: + description: Client ID of the Databricks service principal. + example: 5c10654a-b3a3-4840-b37f-f477590c70a0 + type: string + client_secret: + description: >- + Secret of the Databricks service principal. Generate it under User management > Service principals > Credentials & secrets in Databricks. + example: your-client-secret + type: string + writeOnly: true + required: + - auth_type + - client_id + - client_secret + type: object + DatabricksIntegrationAccountOAuthAuthResponse: + description: The Databricks OAuth authentication method and service principal configured on the account. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthType" + azure_tenant_id: + description: Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. + example: 4d3bac44-0230-4732-9e70-cc00736f0a97 + type: string + client_id: + description: Client ID of the Databricks service principal. + example: 5c10654a-b3a3-4840-b37f-f477590c70a0 + type: string + required: + - auth_type + - client_id + type: object + DatabricksIntegrationAccountOAuthAuthType: + default: databricks_oauth + description: The authentication method type. + enum: + - databricks_oauth + example: databricks_oauth + type: string + x-enum-varnames: + - DATABRICKS_OAUTH + DatabricksIntegrationAccountOAuthAuthUpdate: + additionalProperties: false + description: >- + Databricks OAuth machine-to-machine authentication using a service principal. Only the fields provided are changed; omit `client_secret` to keep the stored one. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthType" + azure_tenant_id: + description: >- + Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. Omit it to keep the stored tenant, send `null` or an empty string to remove it, or send a value to replace it. + example: 4d3bac44-0230-4732-9e70-cc00736f0a97 + nullable: true + type: string + client_id: + description: Client ID of the Databricks service principal. + example: 5c10654a-b3a3-4840-b37f-f477590c70a0 + type: string + client_secret: + description: >- + Secret of the Databricks service principal. Generate it under User management > Service principals > Credentials & secrets in Databricks. + example: your-client-secret + type: string + writeOnly: true + required: + - auth_type + type: object + DatabricksIntegrationAccountPrivateActionRunnerAuthRequest: + additionalProperties: false + description: >- + Private Action Runner authentication. The runner holds the Databricks credentials, so this method carries no secrets. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountPrivateActionRunnerAuthType" + connection_id: + description: Unique identifier of the Private Action Runner connection holding the credentials. + example: 08356fb7-3ae3-4ea2-913e-b4cb1b7e7ec2 + format: uuid + type: string + secret_path: + description: >- + Path of the credential inside the secret backend configured on the runner. + example: /vault/databricks/prod + type: string + user_uuid: + description: Unique identifier of the user the Private Action Runner connection belongs to. + example: ac470ea4-aa08-11f0-994d-da9212322ca2 + format: uuid + type: string + required: + - auth_type + - connection_id + - user_uuid + type: object + DatabricksIntegrationAccountPrivateActionRunnerAuthResponse: + description: The Private Action Runner authentication method configured on the account. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountPrivateActionRunnerAuthType" + connection_id: + description: Unique identifier of the Private Action Runner connection holding the credentials. + example: 08356fb7-3ae3-4ea2-913e-b4cb1b7e7ec2 + type: string + secret_path: + description: Path of the credential inside the secret backend configured on the runner. + example: /vault/databricks/prod + type: string + user_uuid: + description: Unique identifier of the user the Private Action Runner connection belongs to. + example: ac470ea4-aa08-11f0-994d-da9212322ca2 + type: string + required: + - auth_type + - connection_id + - user_uuid + type: object + DatabricksIntegrationAccountPrivateActionRunnerAuthType: + default: private_action_runner + description: The authentication method type. + enum: + - private_action_runner + example: private_action_runner + type: string + x-enum-varnames: + - PRIVATE_ACTION_RUNNER + DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate: + additionalProperties: false + description: >- + Private Action Runner authentication. The runner holds the Databricks credentials, so this method carries no secrets. Only the fields provided are changed. + properties: + auth_type: + $ref: "#/components/schemas/DatabricksIntegrationAccountPrivateActionRunnerAuthType" + connection_id: + description: Unique identifier of the Private Action Runner connection holding the credentials. + example: 08356fb7-3ae3-4ea2-913e-b4cb1b7e7ec2 + format: uuid + type: string + secret_path: + description: >- + Path of the credential inside the secret backend configured on the runner. Omit it to keep the stored path, send `null` or an empty string to remove it, or send a value to replace it. + example: /vault/databricks/prod + nullable: true + type: string + user_uuid: + description: Unique identifier of the user the Private Action Runner connection belongs to. + example: ac470ea4-aa08-11f0-994d-da9212322ca2 + format: uuid + type: string + required: + - auth_type + type: object + DatabricksIntegrationAccountResponse: + description: Response payload for a single Databricks integration account. + properties: + data: + $ref: "#/components/schemas/DatabricksIntegrationAccountResponseData" + required: + - data + type: object + DatabricksIntegrationAccountResponseAttributes: + description: Attributes of a Databricks integration account returned in responses. + properties: + authentication: + $ref: "#/components/schemas/DatabricksIntegrationAccountAuthenticationResponse" + dataflows: + $ref: "#/components/schemas/DatabricksIntegrationDataflowsResponse" + name: + description: Human-readable name of the Databricks integration account. + example: My Databricks Workspace + type: string + settings: + $ref: "#/components/schemas/DatabricksIntegrationAccountSettingsResponse" + required: + - name + - settings + type: object + DatabricksIntegrationAccountResponseData: + description: Data envelope of a Databricks integration account, including server-assigned identity. + properties: + attributes: + $ref: "#/components/schemas/DatabricksIntegrationAccountResponseAttributes" + id: + description: Server-generated unique identifier of the Databricks integration account. + example: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + readOnly: true + type: string + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - id + - attributes + - type + type: object + DatabricksIntegrationAccountSettingsRequest: + additionalProperties: false + description: Settings for creating the Databricks integration account. + properties: + system_tables_sql_warehouse_id: + description: >- + ID of the SQL warehouse used to query the Databricks system tables. Find it at the end of the HTTP Path under Warehouses > Connection Details in the Databricks console. Required when the cloud cost metrics or the Data Observability dataflow is enabled, or when `serverless_jobs_enabled` is on; since serverless jobs are on unless explicitly disabled, omitting this field otherwise causes the request to be rejected with a `422` response. + example: aba7c023d4172910 + type: string + workspace_url: + description: URL of the Databricks workspace. + example: "https://dbc-1234abcd.cloud.databricks.com" + type: string + required: + - workspace_url + type: object + DatabricksIntegrationAccountSettingsResponse: + description: Settings configured on the Databricks integration account. + properties: + system_tables_sql_warehouse_id: + description: ID of the SQL warehouse used to query the Databricks system tables. + example: aba7c023d4172910 + type: string + workspace_url: + description: URL of the Databricks workspace. + example: "https://dbc-1234abcd.cloud.databricks.com" + type: string + required: + - workspace_url + type: object + DatabricksIntegrationAccountSettingsUpdate: + additionalProperties: false + description: Settings for updating the Databricks integration account. Only the fields provided are changed. + properties: + system_tables_sql_warehouse_id: + description: >- + ID of the SQL warehouse used to query the Databricks system tables. Find it at the end of the HTTP Path under Warehouses > Connection Details in the Databricks console. Required once the cloud cost metrics or the Data Observability dataflow is enabled, or while `serverless_jobs_enabled` is on; an update that leaves the account without one is rejected with a `422` response. + example: aba7c023d4172910 + type: string + workspace_url: + description: URL of the Databricks workspace. + example: "https://dbc-1234abcd.cloud.databricks.com" + type: string + type: object + DatabricksIntegrationAccountUpdateAttributes: + description: >- + Writable attributes used to update a Databricks integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration, as do the settings of an included dataflow that provides only `enabled`. + properties: + authentication: + $ref: "#/components/schemas/DatabricksIntegrationAccountAuthenticationUpdate" + dataflows: + $ref: "#/components/schemas/DatabricksIntegrationDataflowsRequest" + name: + description: Human-readable name of the Databricks integration account. + example: My Databricks Workspace + type: string + settings: + $ref: "#/components/schemas/DatabricksIntegrationAccountSettingsUpdate" + type: object + DatabricksIntegrationAccountUpdateData: + description: Data envelope for updating a Databricks integration account. + properties: + attributes: + $ref: "#/components/schemas/DatabricksIntegrationAccountUpdateAttributes" + id: + description: Unique identifier of the Databricks integration account to update. + example: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: string + type: + $ref: "#/components/schemas/IntegrationAccountType" + required: + - id + - type + - attributes + type: object + DatabricksIntegrationAccountUpdateRequest: + description: Request payload to update a Databricks integration account. + properties: + data: + $ref: "#/components/schemas/DatabricksIntegrationAccountUpdateData" + required: + - data + type: object + DatabricksIntegrationAccountsResponse: + description: Response payload for a list of Databricks integration accounts. + properties: + data: + description: List of Databricks integration accounts. + items: + $ref: "#/components/schemas/DatabricksIntegrationAccountResponseData" + type: array + required: + - data + type: object + DatabricksIntegrationDataflowsRequest: + additionalProperties: false + description: >- + Data Datadog collects from Databricks, keyed by dataflow id. Each dataflow turns on a distinct kind of collection: set `enabled` to start or stop it, and use `settings` to configure what it collects. Defaults listed on each dataflow apply when the account is created; on update, omitted fields keep their current values. Some dataflows have prerequisites, noted on each; unless one is documented as rejecting the request, it is not verified, so a dataflow enabled without it is stored but collects no data. + properties: + databricks-cloud-cost-metrics: + $ref: "#/components/schemas/DatabricksCloudCostMetricsIntegrationDataflowRequest" + databricks-data-observability-jobs-monitoring: + $ref: "#/components/schemas/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest" + databricks-data-observability-quality-monitoring: + $ref: "#/components/schemas/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest" + databricks-model-serving-metrics: + $ref: "#/components/schemas/DatabricksModelServingMetricsIntegrationDataflowRequest" + type: object + DatabricksIntegrationDataflowsResponse: + description: Data Datadog collects from Databricks, keyed by dataflow id. + properties: + databricks-cloud-cost-metrics: + $ref: "#/components/schemas/DatabricksCloudCostMetricsIntegrationDataflowResponse" + databricks-data-observability-jobs-monitoring: + $ref: "#/components/schemas/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse" + databricks-data-observability-quality-monitoring: + $ref: "#/components/schemas/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse" + databricks-model-serving-metrics: + $ref: "#/components/schemas/DatabricksModelServingMetricsIntegrationDataflowResponse" + type: object + DatabricksModelServingMetricsIntegrationDataflowRequest: + additionalProperties: false + description: >- + Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data. + properties: + enabled: + description: Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection. + example: true + type: boolean + type: object + DatabricksModelServingMetricsIntegrationDataflowResponse: + description: >- + Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data. + properties: + enabled: + description: Whether Datadog collects this data. + example: true + type: boolean + type: object DatadogAPIKey: description: The definition of the `DatadogAPIKey` object. properties: @@ -66474,8 +67092,8 @@ components: id: 102.130.113.9 type: row links: - first: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Blimit%5D=100" - self: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100" + first: "/api/v2/reference-tables/tables//rows/list?page[limit]=100" + self: "/api/v2/reference-tables/tables//rows/list?page[continuation_token]=" meta: page: next_continuation_token: eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ== @@ -66498,15 +67116,15 @@ components: properties: first: description: Link to the first page of results. - example: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Blimit%5D=100" + example: "/api/v2/reference-tables/tables//rows/list?page[limit]=100" type: string next: description: Link to the next page of results. Only present when more rows are available. - example: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100" + example: "/api/v2/reference-tables/tables//rows/list?page[continuation_token]=" type: string self: description: Link to the current page of results. - example: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100" + example: "/api/v2/reference-tables/tables//rows/list?page[continuation_token]=" type: string required: - self @@ -66522,7 +67140,8 @@ components: description: Contains the continuation token for navigating to the next page of rows. properties: next_continuation_token: - description: Opaque token to pass as the `page[continuation_token]` query parameter to fetch the next page of results. Only present when more rows are available. + description: >- + Opaque token to pass as the `page[continuation_token]` query parameter to fetch the next page of results. Only present when more rows are available. example: eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ== type: string type: object @@ -85130,7 +85749,8 @@ components: - $ref: "#/components/schemas/PatchTableRequestDataAttributesFileMetadataLocalFile" PatchTableRequestDataAttributesFileMetadataCloudStorage: additionalProperties: false - description: Cloud storage file metadata for patch requests. Allows partial updates of access_details and sync_enabled. + description: >- + Cloud storage file metadata for patch requests. Allows partial updates of access_details and sync_enabled. properties: access_details: $ref: "#/components/schemas/PatchTableRequestDataAttributesFileMetadataOneOfAccessDetails" @@ -85229,7 +85849,8 @@ components: x-oneOf-parent: - GcpDetail PatchTableRequestDataAttributesSchema: - description: Schema defining the updates to the structure and columns of the reference table. Schema fields cannot be deleted or renamed. + description: >- + Schema defining the updates to the structure and columns of the reference table. Schema fields cannot be deleted or renamed. properties: fields: description: The schema fields. Maximum of 200 columns. @@ -85239,7 +85860,8 @@ components: minItems: 1 type: array primary_keys: - description: List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. Primary keys cannot be changed after table creation. + description: >- + List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. Primary keys cannot be changed after table creation. example: - "field_1" items: @@ -85251,7 +85873,8 @@ components: - primary_keys type: object PatchTableRequestDataAttributesSchemaFieldsItems: - description: A single field (column) in the reference table schema to be updated. Schema fields cannot be deleted or renamed. + description: >- + A single field (column) in the reference table schema to be updated. Schema fields cannot be deleted or renamed. properties: name: description: The field name. @@ -92064,7 +92687,8 @@ components: type: string type: object ReferenceTableCreateSourceType: - description: The source type for creating reference table data. Only these source types can be created through this API. + description: >- + The source type for creating reference table data. Only these source types can be created through this API. enum: - LOCAL_FILE - S3 @@ -92089,7 +92713,8 @@ components: - INT32 ReferenceTableSortType: default: "-updated_at" - description: Sort field and direction for reference tables. Use field name for ascending, prefix with "-" for descending. + description: >- + Sort field and direction for reference tables. Use field name for ascending, prefix with "-" for descending. enum: - updated_at - table_name @@ -92106,7 +92731,8 @@ components: - MINUS_TABLE_NAME - MINUS_STATUS ReferenceTableSourceType: - description: The source type for reference table data. Includes all possible source types that can appear in responses. + description: >- + The source type for reference table data. Includes all possible source types that can appear in responses. enum: - LOCAL_FILE - S3 @@ -118513,7 +119139,8 @@ components: $ref: "#/components/schemas/TableResultV2DataAttributesFileMetadataOneOfAccessDetails" description: Cloud storage access configuration. Only present for cloud storage sources (S3, GCS, Azure). error_message: - description: The error message returned from the last operation (sync for cloud storage, upload for local file). + description: >- + The error message returned from the last operation (sync for cloud storage, upload for local file). type: string error_row_count: description: The number of rows that failed to process. @@ -118521,14 +119148,17 @@ components: type: integer error_type: $ref: "#/components/schemas/TableResultV2DataAttributesFileMetadataCloudStorageErrorType" - description: The type of error that occurred during file processing. Only applicable for cloud storage sources. + description: >- + The type of error that occurred during file processing. Only applicable for cloud storage sources. sync_enabled: - description: Whether this table is synced automatically from cloud storage. Only applicable for cloud storage sources. + description: >- + Whether this table is synced automatically from cloud storage. Only applicable for cloud storage sources. type: boolean title: FileMetadataV2 type: object TableResultV2DataAttributesFileMetadataCloudStorageErrorType: - description: The type of error that occurred during file processing. This field provides high-level error categories for easier troubleshooting and is only present when there are errors. + description: >- + The type of error that occurred during file processing. This field provides high-level error categories for easier troubleshooting and is only present when there are errors. enum: - TABLE_SCHEMA_ERROR - FILE_FORMAT_ERROR @@ -118637,7 +119267,8 @@ components: minItems: 1 type: array primary_keys: - description: List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. + description: >- + List of field names that serve as primary keys for the table. Only one primary key is supported, and it is used as an ID to retrieve rows. example: - "field_1" items: @@ -165741,6 +166372,304 @@ 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/databricks/accounts: + get: + description: List Databricks integration accounts. + operationId: ListDatabricksIntegrationAccounts + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + authentication: + auth_type: databricks_oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: "#/components/schemas/DatabricksIntegrationAccountsResponse" + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: List Databricks integration accounts + tags: + - Databricks 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 Databricks integration account. + operationId: CreateDatabricksIntegrationAccount + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DatabricksIntegrationAccountCreateRequest" + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: databricks_oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: "#/components/schemas/DatabricksIntegrationAccountResponse" + 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 Databricks integration account + tags: + - Databricks 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/databricks/accounts/{account_id}: + delete: + description: Delete a Databricks integration account. + operationId: DeleteDatabricksIntegrationAccount + 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 Databricks integration account + tags: + - Databricks 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 Databricks integration account. + operationId: GetDatabricksIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: databricks_oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: "#/components/schemas/DatabricksIntegrationAccountResponse" + 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 Databricks integration account + tags: + - Databricks 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 Databricks integration account. Only the fields provided are changed. + operationId: UpdateDatabricksIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/DatabricksIntegrationAccountUpdateRequest" + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: databricks_oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: "#/components/schemas/DatabricksIntegrationAccountResponse" + 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 Databricks integration account + tags: + - Databricks 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/elastic-cloud/accounts: get: description: List Elastic Cloud integration accounts. @@ -193488,7 +194417,8 @@ paths: - timeseries_query /api/v2/reference-tables/queries/batch-rows: post: - description: Batch query reference table rows by their primary key values. Returns only found rows in the included array. + description: >- + Batch query reference table rows by their primary key values. Returns only found rows in the included array. operationId: BatchRowsQuery requestBody: content: @@ -193535,7 +194465,8 @@ paths: type: reference-tables-batch-rows-query schema: $ref: "#/components/schemas/BatchRowsQueryResponse" - description: Successfully retrieved rows. Some or all requested rows were found. Response includes found rows in the included section. + description: >- + Successfully retrieved rows. Some or all requested rows were found. Response includes found rows in the included section. "400": $ref: "#/components/responses/BadRequestResponse" "403": @@ -193583,7 +194514,8 @@ paths: format: int64 minimum: 0 type: integer - - description: Sort field and direction for the list of reference tables. Use field name for ascending, prefix with "-" for descending. + - description: >- + Sort field and direction for the list of reference tables. Use field name for ascending, prefix with "-" for descending. example: "-updated_at" in: query name: sort @@ -194081,7 +195013,8 @@ paths: - Reference Tables /api/v2/reference-tables/tables/{id}/rows/list: get: - description: List all rows in a reference table using cursor-based pagination. Pass the `page[continuation_token]` from the previous response to fetch the next page on the same consistent snapshot. Returns 400 for tables with more than 10,000,000 rows. + description: >- + List all rows in a reference table using cursor-based pagination. Pass the `page[continuation_token]` from the previous response to fetch the next page on the same consistent snapshot. Returns 400 for tables with more than 10,000,000 rows. operationId: ListReferenceTableRows parameters: - description: Unique identifier of the reference table to list rows from. @@ -194102,7 +195035,8 @@ paths: maximum: 1000 minimum: 1 type: integer - - description: Opaque cursor from the previous response's next link. Pass this to retrieve the next page on the same consistent snapshot. + - description: >- + Opaque cursor from the previous response's next link. Pass this to retrieve the next page on the same consistent snapshot. example: "eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ==" in: query name: page[continuation_token] @@ -194125,9 +195059,9 @@ paths: id: 102.130.113.9 type: row links: - first: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Blimit%5D=100" - next: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjY5NzA0ODkwNDE4ODA3MTAzOTgsInBrIjoiMTAyLjEzMC4xMjcuMTE3In0%3D&page%5Blimit%5D=100" - self: "/api/v2/reference-tables/tables/00000000-0000-0000-0000-000000000000/rows/list?page%5Bcontinuation_token%5D=eyJzaWQiOjEyMzQ1LCJwayI6ImV4YW1wbGVfcGsifQ%3D%3D&page%5Blimit%5D=100" + first: "/api/v2/reference-tables/tables//rows/list?page[limit]=100" + next: "/api/v2/reference-tables/tables//rows/list?page[continuation_token]=" + self: "/api/v2/reference-tables/tables//rows/list?page[continuation_token]=" schema: $ref: "#/components/schemas/ListRowsResponse" description: OK @@ -230783,6 +231717,15 @@ tags: name: Data Deletion - description: Manage and run data observability monitors. name: Data Observability + - description: |- + Manage your Datadog Databricks integration accounts and account resources directly + through the Datadog API. See the + [Databricks integration page](https://docs.datadoghq.com/integrations/databricks/) for + more information. + externalDocs: + description: Databricks integration. + url: https://docs.datadoghq.com/integrations/databricks/ + name: Databricks Integration - description: |- Data Access Controls in Datadog is a feature that allows administrators and access managers to regulate access to sensitive data. By defining Restricted Datasets, you can ensure that only specific teams or roles can diff --git a/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..28f32b8ad666 --- /dev/null +++ b/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.ts @@ -0,0 +1,70 @@ +/** + * Create a Databricks integration account returns "Created" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createDatabricksIntegrationAccount"] = + true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest = + { + body: { + data: { + attributes: { + authentication: { + authType: "databricks_oauth", + azureTenantId: "4d3bac44-0230-4732-9e70-cc00736f0a97", + clientId: "5c10654a-b3a3-4840-b37f-f477590c70a0", + clientSecret: "your-client-secret", + }, + dataflows: { + databricksCloudCostMetrics: { + enabled: true, + settings: { + ccmCollectAllWorkspaces: true, + }, + }, + databricksDataObservabilityJobsMonitoring: { + enabled: true, + settings: { + ddApiKeyId: "fe383f4e-09fc-46bf-8e10-4efdd453a646", + ddApiKeySecret: "your-datadog-api-key", + djmGlobalInitScriptEnabled: true, + scriptGpumEnabled: true, + scriptLogsEnabled: true, + serverlessJobsEnabled: true, + }, + }, + databricksDataObservabilityQualityMonitoring: { + enabled: true, + settings: { + doCrawlersCron: "0 * * * *", + syncSystemCatalog: true, + }, + }, + databricksModelServingMetrics: { + enabled: true, + }, + }, + name: "My Databricks Workspace", + settings: { + systemTablesSqlWarehouseId: "aba7c023d4172910", + workspaceUrl: "https://dbc-1234abcd.cloud.databricks.com", + }, + }, + type: "integration-account", + }, + }, + }; + +apiInstance + .createDatabricksIntegrationAccount(params) + .then((data: v2.DatabricksIntegrationAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..511f090acefa --- /dev/null +++ b/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.ts @@ -0,0 +1,24 @@ +/** + * Delete a Databricks integration account returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.deleteDatabricksIntegrationAccount"] = + true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest = + { + accountId: "account_id", + }; + +apiInstance + .deleteDatabricksIntegrationAccount(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..080be6562d33 --- /dev/null +++ b/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.ts @@ -0,0 +1,23 @@ +/** + * Get a Databricks integration account returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.getDatabricksIntegrationAccount"] = true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest = + { + accountId: "account_id", + }; + +apiInstance + .getDatabricksIntegrationAccount(params) + .then((data: v2.DatabricksIntegrationAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.ts b/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.ts new file mode 100644 index 000000000000..cde06d956da4 --- /dev/null +++ b/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.ts @@ -0,0 +1,18 @@ +/** + * List Databricks integration accounts returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listDatabricksIntegrationAccounts"] = true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +apiInstance + .listDatabricksIntegrationAccounts() + .then((data: v2.DatabricksIntegrationAccountsResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..63ad2a33e4a0 --- /dev/null +++ b/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.ts @@ -0,0 +1,72 @@ +/** + * Update a Databricks integration account returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.updateDatabricksIntegrationAccount"] = + true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest = + { + body: { + data: { + attributes: { + authentication: { + authType: "databricks_oauth", + azureTenantId: "4d3bac44-0230-4732-9e70-cc00736f0a97", + clientId: "5c10654a-b3a3-4840-b37f-f477590c70a0", + clientSecret: "your-client-secret", + }, + dataflows: { + databricksCloudCostMetrics: { + enabled: true, + settings: { + ccmCollectAllWorkspaces: true, + }, + }, + databricksDataObservabilityJobsMonitoring: { + enabled: true, + settings: { + ddApiKeyId: "fe383f4e-09fc-46bf-8e10-4efdd453a646", + ddApiKeySecret: "your-datadog-api-key", + djmGlobalInitScriptEnabled: true, + scriptGpumEnabled: true, + scriptLogsEnabled: true, + serverlessJobsEnabled: true, + }, + }, + databricksDataObservabilityQualityMonitoring: { + enabled: true, + settings: { + doCrawlersCron: "0 * * * *", + syncSystemCatalog: true, + }, + }, + databricksModelServingMetrics: { + enabled: true, + }, + }, + name: "My Databricks Workspace", + settings: { + systemTablesSqlWarehouseId: "aba7c023d4172910", + workspaceUrl: "https://dbc-1234abcd.cloud.databricks.com", + }, + }, + id: "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", + type: "integration-account", + }, + }, + accountId: "account_id", + }; + +apiInstance + .updateDatabricksIntegrationAccount(params) + .then((data: v2.DatabricksIntegrationAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index 3c24dac6a25f..8e9eff3559a4 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -11537,6 +11537,41 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "IncidentTimestampOverrideResponse", }, + "v2.ListDatabricksIntegrationAccounts": { + "operationResponseType": "DatabricksIntegrationAccountsResponse", + }, + "v2.CreateDatabricksIntegrationAccount": { + "body": { + "type": "DatabricksIntegrationAccountCreateRequest", + "format": "", + }, + "operationResponseType": "DatabricksIntegrationAccountResponse", + }, + "v2.GetDatabricksIntegrationAccount": { + "accountId": { + "type": "string", + "format": "", + }, + "operationResponseType": "DatabricksIntegrationAccountResponse", + }, + "v2.DeleteDatabricksIntegrationAccount": { + "accountId": { + "type": "string", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.UpdateDatabricksIntegrationAccount": { + "accountId": { + "type": "string", + "format": "", + }, + "body": { + "type": "DatabricksIntegrationAccountUpdateRequest", + "format": "", + }, + "operationResponseType": "DatabricksIntegrationAccountResponse", + }, "v2.ListElasticCloudIntegrationAccounts": { "operationResponseType": "ElasticCloudIntegrationAccountsResponse", }, diff --git a/features/v2/databricks_integration.feature b/features/v2/databricks_integration.feature new file mode 100644 index 000000000000..0518707d9a2b --- /dev/null +++ b/features/v2/databricks_integration.feature @@ -0,0 +1,148 @@ +@endpoint(databricks-integration) @endpoint(databricks-integration-v2) +Feature: Databricks Integration + Manage your Datadog Databricks integration accounts and account resources + directly through the Datadog API. See the [Databricks integration + page](https://docs.datadoghq.com/integrations/databricks/) for more + information. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "DatabricksIntegration" API + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "Bad Request" response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "Created" response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "Not Found" response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "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:DataDog/saas-integrations + Scenario: Delete a Databricks integration account returns "Bad Request" response + Given operation "DeleteDatabricksIntegrationAccount" enabled + And new "DeleteDatabricksIntegrationAccount" 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:DataDog/saas-integrations + Scenario: Delete a Databricks integration account returns "Not Found" response + Given operation "DeleteDatabricksIntegrationAccount" enabled + And new "DeleteDatabricksIntegrationAccount" 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:DataDog/saas-integrations + Scenario: Delete a Databricks integration account returns "OK" response + Given operation "DeleteDatabricksIntegrationAccount" enabled + And new "DeleteDatabricksIntegrationAccount" 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:DataDog/saas-integrations + Scenario: Get a Databricks integration account returns "Bad Request" response + Given operation "GetDatabricksIntegrationAccount" enabled + And new "GetDatabricksIntegrationAccount" 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:DataDog/saas-integrations + Scenario: Get a Databricks integration account returns "Not Found" response + Given operation "GetDatabricksIntegrationAccount" enabled + And new "GetDatabricksIntegrationAccount" 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:DataDog/saas-integrations + Scenario: Get a Databricks integration account returns "OK" response + Given operation "GetDatabricksIntegrationAccount" enabled + And new "GetDatabricksIntegrationAccount" 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:DataDog/saas-integrations + Scenario: List Databricks integration accounts returns "Bad Request" response + Given operation "ListDatabricksIntegrationAccounts" enabled + And new "ListDatabricksIntegrationAccounts" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Databricks integration accounts returns "Not Found" response + Given operation "ListDatabricksIntegrationAccounts" enabled + And new "ListDatabricksIntegrationAccounts" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Databricks integration accounts returns "OK" response + Given operation "ListDatabricksIntegrationAccounts" enabled + And new "ListDatabricksIntegrationAccounts" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "Bad Request" response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "Not Found" response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "OK" response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "type": "integration-account"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks_oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "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/features/v2/rum_replay_heatmaps.feature b/features/v2/rum_replay_heatmaps.feature index 86e8b851ae28..69b8076d2a50 100644 --- a/features/v2/rum_replay_heatmaps.feature +++ b/features/v2/rum_replay_heatmaps.feature @@ -8,28 +8,28 @@ Feature: Rum Replay Heatmaps And a valid "appKeyAuth" key in the system And an instance of "RumReplayHeatmaps" API - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Create replay heatmap snapshot returns "Created" response Given new "CreateReplayHeatmapSnapshot" request And body with value {"data": {"attributes": {"application_id": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", "device_type": "desktop", "event_id": "11111111-2222-3333-4444-555555555555", "is_device_type_selected_by_user": false, "snapshot_name": "My Snapshot", "start": 0, "view_name": "/home"}, "type": "snapshots"}} When the request is sent Then the response status is 201 Created - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Delete replay heatmap snapshot returns "No Content" response Given new "DeleteReplayHeatmapSnapshot" request And request contains "snapshot_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: List replay heatmap snapshots returns "OK" response Given new "ListReplayHeatmapSnapshots" request And request contains "filter[view_name]" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Update replay heatmap snapshot returns "OK" response Given new "UpdateReplayHeatmapSnapshot" request And request contains "snapshot_id" parameter from "REPLACE.ME" diff --git a/features/v2/rum_replay_playlists.feature b/features/v2/rum_replay_playlists.feature index 2fd317e4df2a..bd1a9f7ae8b9 100644 --- a/features/v2/rum_replay_playlists.feature +++ b/features/v2/rum_replay_playlists.feature @@ -8,7 +8,7 @@ Feature: Rum Replay Playlists And a valid "appKeyAuth" key in the system And an instance of "RumReplayPlaylists" API - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Add RUM replay session to playlist returns "Created" response Given new "AddRumReplaySessionToPlaylist" request And request contains "ts" parameter from "REPLACE.ME" @@ -17,7 +17,7 @@ Feature: Rum Replay Playlists When the request is sent Then the response status is 201 Created - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Add RUM replay session to playlist returns "OK" response Given new "AddRumReplaySessionToPlaylist" request And request contains "ts" parameter from "REPLACE.ME" @@ -26,7 +26,7 @@ Feature: Rum Replay Playlists When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Bulk remove RUM replay playlist sessions returns "No Content" response Given new "BulkRemoveRumReplayPlaylistSessions" request And request contains "playlist_id" parameter from "REPLACE.ME" @@ -34,41 +34,41 @@ Feature: Rum Replay Playlists When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Create RUM replay playlist returns "Created" response Given new "CreateRumReplayPlaylist" request And body with value {"data": {"attributes": {"created_by": {"handle": "john.doe@example.com", "id": "00000000-0000-0000-0000-000000000001", "uuid": "00000000-0000-0000-0000-000000000001"}, "name": "My Playlist"}, "type": "rum_replay_playlist"}} When the request is sent Then the response status is 201 Created - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Delete RUM replay playlist returns "No Content" response Given new "DeleteRumReplayPlaylist" request And request contains "playlist_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Get RUM replay playlist returns "OK" response Given new "GetRumReplayPlaylist" request And request contains "playlist_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: List RUM replay playlist sessions returns "OK" response Given new "ListRumReplayPlaylistSessions" request And request contains "playlist_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: List RUM replay playlists returns "OK" response Given new "ListRumReplayPlaylists" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Remove RUM replay session from playlist returns "No Content" response Given new "RemoveRumReplaySessionFromPlaylist" request And request contains "playlist_id" parameter from "REPLACE.ME" @@ -76,7 +76,7 @@ Feature: Rum Replay Playlists When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Update RUM replay playlist returns "OK" response Given new "UpdateRumReplayPlaylist" request And request contains "playlist_id" parameter from "REPLACE.ME" diff --git a/features/v2/rum_replay_sessions.feature b/features/v2/rum_replay_sessions.feature index e5ce759c6b2f..3aab0ffe818a 100644 --- a/features/v2/rum_replay_sessions.feature +++ b/features/v2/rum_replay_sessions.feature @@ -3,7 +3,7 @@ Feature: Rum Replay Sessions Retrieve segments for RUM replay sessions. Access session replay data stored in event platform or blob storage. - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Get segments returns "OK" response Given a valid "apiKeyAuth" key in the system And a valid "appKeyAuth" key in the system diff --git a/features/v2/rum_replay_viewership.feature b/features/v2/rum_replay_viewership.feature index e339e1e5e454..22d5630a38ee 100644 --- a/features/v2/rum_replay_viewership.feature +++ b/features/v2/rum_replay_viewership.feature @@ -8,7 +8,7 @@ Feature: Rum Replay Viewership And a valid "appKeyAuth" key in the system And an instance of "RumReplayViewership" API - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Create RUM replay session watch returns "Created" response Given new "CreateRumReplaySessionWatch" request And request contains "session_id" parameter from "REPLACE.ME" @@ -16,21 +16,21 @@ Feature: Rum Replay Viewership When the request is sent Then the response status is 201 Created - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: Delete RUM replay session watch returns "No Content" response Given new "DeleteRumReplaySessionWatch" request And request contains "session_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 204 No Content - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: List RUM replay session watchers returns "OK" response Given new "ListRumReplaySessionWatchers" request And request contains "session_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/session-replay-backend + @generated @skip @team:DataDog/session-replay Scenario: List RUM replay viewership history sessions returns "OK" response Given new "ListRumReplayViewershipHistorySessions" request When the request is sent diff --git a/features/v2/undo.json b/features/v2/undo.json index 316bfc290bba..cbecf69cfc20 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -3692,6 +3692,43 @@ "type": "idempotent" } }, + "ListDatabricksIntegrationAccounts": { + "tag": "Databricks Integration", + "undo": { + "type": "safe" + } + }, + "CreateDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "operationId": "DeleteDatabricksIntegrationAccount", + "parameters": [ + { + "name": "account_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "type": "idempotent" + } + }, + "GetDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "type": "safe" + } + }, + "UpdateDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "type": "idempotent" + } + }, "ListElasticCloudIntegrationAccounts": { "tag": "Elastic Cloud Integration", "undo": { diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts index 5febe4e01e78..c05f302c6650 100644 --- a/packages/datadog-api-client-common/configuration.ts +++ b/packages/datadog-api-client-common/configuration.ts @@ -629,6 +629,11 @@ export function createConfiguration( "v2.updateIncidentUserDefinedField": false, "v2.updateIncidentUserDefinedRole": false, "v2.updateTimestampOverride": false, + "v2.createDatabricksIntegrationAccount": false, + "v2.deleteDatabricksIntegrationAccount": false, + "v2.getDatabricksIntegrationAccount": false, + "v2.listDatabricksIntegrationAccounts": false, + "v2.updateDatabricksIntegrationAccount": false, "v2.createElasticCloudIntegrationAccount": false, "v2.deleteElasticCloudIntegrationAccount": false, "v2.getElasticCloudIntegrationAccount": false, diff --git a/packages/datadog-api-client-v2/apis/DatabricksIntegrationApi.ts b/packages/datadog-api-client-v2/apis/DatabricksIntegrationApi.ts new file mode 100644 index 000000000000..11b956e44f35 --- /dev/null +++ b/packages/datadog-api-client-v2/apis/DatabricksIntegrationApi.ts @@ -0,0 +1,831 @@ +import { + BaseAPIRequestFactory, + RequiredError, +} from "../../datadog-api-client-common/baseapi"; +import { + Configuration, + applySecurityAuthentication, +} from "../../datadog-api-client-common/configuration"; +import { + RequestContext, + HttpMethod, + ResponseContext, +} from "../../datadog-api-client-common/http/http"; + +import { logger } from "../../../logger"; +import { ObjectSerializer } from "../models/ObjectSerializer"; +import { ApiException } from "../../datadog-api-client-common/exception"; + +import { APIErrorResponse } from "../models/APIErrorResponse"; +import { DatabricksIntegrationAccountCreateRequest } from "../models/DatabricksIntegrationAccountCreateRequest"; +import { DatabricksIntegrationAccountResponse } from "../models/DatabricksIntegrationAccountResponse"; +import { DatabricksIntegrationAccountsResponse } from "../models/DatabricksIntegrationAccountsResponse"; +import { DatabricksIntegrationAccountUpdateRequest } from "../models/DatabricksIntegrationAccountUpdateRequest"; +import { JSONAPIErrorResponse } from "../models/JSONAPIErrorResponse"; + +export class DatabricksIntegrationApiRequestFactory extends BaseAPIRequestFactory { + public async createDatabricksIntegrationAccount( + body: DatabricksIntegrationAccountCreateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'createDatabricksIntegrationAccount'" + ); + if (!_config.unstableOperations["v2.createDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'createDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createDatabricksIntegrationAccount"); + } + + // Path Params + const localVarPath = "/api/v2/integration-interfaces/databricks/accounts"; + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.createDatabricksIntegrationAccount" + ) + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "DatabricksIntegrationAccountCreateRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async deleteDatabricksIntegrationAccount( + accountId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'deleteDatabricksIntegrationAccount'" + ); + if (!_config.unstableOperations["v2.deleteDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'deleteDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'accountId' is not null or undefined + if (accountId === null || accountId === undefined) { + throw new RequiredError( + "accountId", + "deleteDatabricksIntegrationAccount" + ); + } + + // Path Params + const localVarPath = + "/api/v2/integration-interfaces/databricks/accounts/{account_id}".replace( + "{account_id}", + encodeURIComponent(String(accountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.deleteDatabricksIntegrationAccount" + ) + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async getDatabricksIntegrationAccount( + accountId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'getDatabricksIntegrationAccount'"); + if (!_config.unstableOperations["v2.getDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'getDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'accountId' is not null or undefined + if (accountId === null || accountId === undefined) { + throw new RequiredError("accountId", "getDatabricksIntegrationAccount"); + } + + // Path Params + const localVarPath = + "/api/v2/integration-interfaces/databricks/accounts/{account_id}".replace( + "{account_id}", + encodeURIComponent(String(accountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.DatabricksIntegrationApi.getDatabricksIntegrationAccount") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async listDatabricksIntegrationAccounts( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'listDatabricksIntegrationAccounts'"); + if (!_config.unstableOperations["v2.listDatabricksIntegrationAccounts"]) { + throw new Error( + "Unstable operation 'listDatabricksIntegrationAccounts' is disabled" + ); + } + + // Path Params + const localVarPath = "/api/v2/integration-interfaces/databricks/accounts"; + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.listDatabricksIntegrationAccounts" + ) + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async updateDatabricksIntegrationAccount( + accountId: string, + body: DatabricksIntegrationAccountUpdateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'updateDatabricksIntegrationAccount'" + ); + if (!_config.unstableOperations["v2.updateDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'updateDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'accountId' is not null or undefined + if (accountId === null || accountId === undefined) { + throw new RequiredError( + "accountId", + "updateDatabricksIntegrationAccount" + ); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateDatabricksIntegrationAccount"); + } + + // Path Params + const localVarPath = + "/api/v2/integration-interfaces/databricks/accounts/{account_id}".replace( + "{account_id}", + encodeURIComponent(String(accountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.updateDatabricksIntegrationAccount" + ) + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "DatabricksIntegrationAccountUpdateRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } +} + +export class DatabricksIntegrationApiResponseProcessor { + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async createDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 201) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse" + ) as DatabricksIntegrationAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + if (response.httpStatusCode === 422) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse", + "" + ) as DatabricksIntegrationAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async getDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse" + ) as DatabricksIntegrationAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse", + "" + ) as DatabricksIntegrationAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listDatabricksIntegrationAccounts + * @throws ApiException if the response code was not in [200, 299] + */ + public async listDatabricksIntegrationAccounts( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DatabricksIntegrationAccountsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountsResponse" + ) as DatabricksIntegrationAccountsResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountsResponse", + "" + ) as DatabricksIntegrationAccountsResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse" + ) as DatabricksIntegrationAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + if (response.httpStatusCode === 422) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse", + "" + ) as DatabricksIntegrationAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } +} + +export interface DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest { + /** + * @type DatabricksIntegrationAccountCreateRequest + */ + body: DatabricksIntegrationAccountCreateRequest; +} + +export interface DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest { + /** + * Unique identifier of the integration account. + * @type string + */ + accountId: string; +} + +export interface DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest { + /** + * Unique identifier of the integration account. + * @type string + */ + accountId: string; +} + +export interface DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest { + /** + * Unique identifier of the integration account. + * @type string + */ + accountId: string; + /** + * @type DatabricksIntegrationAccountUpdateRequest + */ + body: DatabricksIntegrationAccountUpdateRequest; +} + +export class DatabricksIntegrationApi { + private requestFactory: DatabricksIntegrationApiRequestFactory; + private responseProcessor: DatabricksIntegrationApiResponseProcessor; + private configuration: Configuration; + + public constructor( + configuration: Configuration, + requestFactory?: DatabricksIntegrationApiRequestFactory, + responseProcessor?: DatabricksIntegrationApiResponseProcessor + ) { + this.configuration = configuration; + this.requestFactory = + requestFactory || + new DatabricksIntegrationApiRequestFactory(configuration); + this.responseProcessor = + responseProcessor || new DatabricksIntegrationApiResponseProcessor(); + } + + /** + * Create a Databricks integration account. + * @param param The request object + */ + public createDatabricksIntegrationAccount( + param: DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.createDatabricksIntegrationAccount( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } + + /** + * Delete a Databricks integration account. + * @param param The request object + */ + public deleteDatabricksIntegrationAccount( + param: DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.deleteDatabricksIntegrationAccount( + param.accountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } + + /** + * Get a Databricks integration account. + * @param param The request object + */ + public getDatabricksIntegrationAccount( + param: DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.getDatabricksIntegrationAccount( + param.accountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } + + /** + * List Databricks integration accounts. + * @param param The request object + */ + public listDatabricksIntegrationAccounts( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.listDatabricksIntegrationAccounts(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listDatabricksIntegrationAccounts( + responseContext + ); + }); + }); + } + + /** + * Update a Databricks integration account. Only the fields provided are changed. + * @param param The request object + */ + public updateDatabricksIntegrationAccount( + param: DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.updateDatabricksIntegrationAccount( + param.accountId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } +} diff --git a/packages/datadog-api-client-v2/apis/ReferenceTablesApi.ts b/packages/datadog-api-client-v2/apis/ReferenceTablesApi.ts index 777925c13845..097b0716c26a 100644 --- a/packages/datadog-api-client-v2/apis/ReferenceTablesApi.ts +++ b/packages/datadog-api-client-v2/apis/ReferenceTablesApi.ts @@ -1412,7 +1412,7 @@ export class ReferenceTablesApi { } /** - * Batch query reference table rows by their primary key values. Returns only found rows in the included array. + * Batch query reference table rows by their primary key values. Returns only found rows in the included array. * @param param The request object */ public batchRowsQuery( diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index a6b3cbe50b59..15b3f1094bc8 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -599,6 +599,14 @@ export { DataObservabilityApi, } from "./apis/DataObservabilityApi"; +export { + DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest, + DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest, + DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest, + DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest, + DatabricksIntegrationApi, +} from "./apis/DatabricksIntegrationApi"; + export { DatasetsApiCreateDatasetRequest, DatasetsApiDeleteDatasetRequest, @@ -3734,6 +3742,49 @@ export { DashboardUsageUser } from "./models/DashboardUsageUser"; export { DataAttributesRulesItemsIfTagExists } from "./models/DataAttributesRulesItemsIfTagExists"; export { DataAttributesRulesItemsMapping } from "./models/DataAttributesRulesItemsMapping"; export { DatabaseMonitoringTriggerWrapper } from "./models/DatabaseMonitoringTriggerWrapper"; +export { DatabricksCloudCostMetricsIntegrationDataflowRequest } from "./models/DatabricksCloudCostMetricsIntegrationDataflowRequest"; +export { DatabricksCloudCostMetricsIntegrationDataflowResponse } from "./models/DatabricksCloudCostMetricsIntegrationDataflowResponse"; +export { DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest } from "./models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest"; +export { DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse } from "./models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse"; +export { DatabricksIntegrationAccountAuthenticationRequest } from "./models/DatabricksIntegrationAccountAuthenticationRequest"; +export { DatabricksIntegrationAccountAuthenticationResponse } from "./models/DatabricksIntegrationAccountAuthenticationResponse"; +export { DatabricksIntegrationAccountAuthenticationUpdate } from "./models/DatabricksIntegrationAccountAuthenticationUpdate"; +export { DatabricksIntegrationAccountBearerTokenAuthResponse } from "./models/DatabricksIntegrationAccountBearerTokenAuthResponse"; +export { DatabricksIntegrationAccountBearerTokenAuthType } from "./models/DatabricksIntegrationAccountBearerTokenAuthType"; +export { DatabricksIntegrationAccountBearerTokenAuthUpdate } from "./models/DatabricksIntegrationAccountBearerTokenAuthUpdate"; +export { DatabricksIntegrationAccountCreateAttributes } from "./models/DatabricksIntegrationAccountCreateAttributes"; +export { DatabricksIntegrationAccountCreateData } from "./models/DatabricksIntegrationAccountCreateData"; +export { DatabricksIntegrationAccountCreateRequest } from "./models/DatabricksIntegrationAccountCreateRequest"; +export { DatabricksIntegrationAccountOAuthAuthRequest } from "./models/DatabricksIntegrationAccountOAuthAuthRequest"; +export { DatabricksIntegrationAccountOAuthAuthResponse } from "./models/DatabricksIntegrationAccountOAuthAuthResponse"; +export { DatabricksIntegrationAccountOAuthAuthType } from "./models/DatabricksIntegrationAccountOAuthAuthType"; +export { DatabricksIntegrationAccountOAuthAuthUpdate } from "./models/DatabricksIntegrationAccountOAuthAuthUpdate"; +export { DatabricksIntegrationAccountPrivateActionRunnerAuthRequest } from "./models/DatabricksIntegrationAccountPrivateActionRunnerAuthRequest"; +export { DatabricksIntegrationAccountPrivateActionRunnerAuthResponse } from "./models/DatabricksIntegrationAccountPrivateActionRunnerAuthResponse"; +export { DatabricksIntegrationAccountPrivateActionRunnerAuthType } from "./models/DatabricksIntegrationAccountPrivateActionRunnerAuthType"; +export { DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate } from "./models/DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate"; +export { DatabricksIntegrationAccountResponse } from "./models/DatabricksIntegrationAccountResponse"; +export { DatabricksIntegrationAccountResponseAttributes } from "./models/DatabricksIntegrationAccountResponseAttributes"; +export { DatabricksIntegrationAccountResponseData } from "./models/DatabricksIntegrationAccountResponseData"; +export { DatabricksIntegrationAccountSettingsRequest } from "./models/DatabricksIntegrationAccountSettingsRequest"; +export { DatabricksIntegrationAccountSettingsResponse } from "./models/DatabricksIntegrationAccountSettingsResponse"; +export { DatabricksIntegrationAccountSettingsUpdate } from "./models/DatabricksIntegrationAccountSettingsUpdate"; +export { DatabricksIntegrationAccountsResponse } from "./models/DatabricksIntegrationAccountsResponse"; +export { DatabricksIntegrationAccountUpdateAttributes } from "./models/DatabricksIntegrationAccountUpdateAttributes"; +export { DatabricksIntegrationAccountUpdateData } from "./models/DatabricksIntegrationAccountUpdateData"; +export { DatabricksIntegrationAccountUpdateRequest } from "./models/DatabricksIntegrationAccountUpdateRequest"; +export { DatabricksIntegrationDataflowsRequest } from "./models/DatabricksIntegrationDataflowsRequest"; +export { DatabricksIntegrationDataflowsResponse } from "./models/DatabricksIntegrationDataflowsResponse"; +export { DatabricksModelServingMetricsIntegrationDataflowRequest } from "./models/DatabricksModelServingMetricsIntegrationDataflowRequest"; +export { DatabricksModelServingMetricsIntegrationDataflowResponse } from "./models/DatabricksModelServingMetricsIntegrationDataflowResponse"; export { DataDeletionResponseItem } from "./models/DataDeletionResponseItem"; export { DataDeletionResponseItemAttributes } from "./models/DataDeletionResponseItemAttributes"; export { DataDeletionResponseMeta } from "./models/DataDeletionResponseMeta"; diff --git a/packages/datadog-api-client-v2/models/BatchDeleteRowsRequestArray.ts b/packages/datadog-api-client-v2/models/BatchDeleteRowsRequestArray.ts index 062d6bf18c85..a5f73d743865 100644 --- a/packages/datadog-api-client-v2/models/BatchDeleteRowsRequestArray.ts +++ b/packages/datadog-api-client-v2/models/BatchDeleteRowsRequestArray.ts @@ -12,7 +12,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; */ export class BatchDeleteRowsRequestArray { /** - * List of row resources to delete from the reference table. + * List of row resources to delete from the reference table. The request payload can be up to 1 MiB. */ "data": Array; diff --git a/packages/datadog-api-client-v2/models/BatchUpsertRowsRequestArray.ts b/packages/datadog-api-client-v2/models/BatchUpsertRowsRequestArray.ts index b75c93fc79a8..f172eb7aff3c 100644 --- a/packages/datadog-api-client-v2/models/BatchUpsertRowsRequestArray.ts +++ b/packages/datadog-api-client-v2/models/BatchUpsertRowsRequestArray.ts @@ -12,7 +12,7 @@ import { AttributeTypeMap } from "../../datadog-api-client-common/util"; */ export class BatchUpsertRowsRequestArray { /** - * List of row resources to create or update in the reference table. + * List of row resources to create or update in the reference table. The request payload can be up to 1 MiB. */ "data": Array; diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..142630e85056 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowRequest.ts @@ -0,0 +1,50 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Cost data collected from your Databricks system tables. [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management/) must be enabled for your organization while this dataflow is on; any request that leaves it enabled without that is rejected with a `422` response. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowRequest { + /** + * Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection. + */ + "enabled"?: boolean; + /** + * Settings of the Cloud Cost Management dataflow. Only the fields provided are changed. + */ + "settings"?: DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..4b631c755fd2 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowResponse.ts @@ -0,0 +1,61 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Cost data collected from your Databricks system tables. Requires [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management/) to be set up for your organization. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowResponse { + /** + * Whether Datadog collects this data. + */ + "enabled"?: boolean; + /** + * Settings of the Cloud Cost Management dataflow. + */ + "settings"?: DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.ts new file mode 100644 index 000000000000..d71eae6354de --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.ts @@ -0,0 +1,41 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Cloud Cost Management dataflow. Only the fields provided are changed. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest { + /** + * Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. This takes effect across the Databricks account: if any one workspace enables it, Datadog collects cost data for all of them regardless of their individual settings, and every covered workspace incurs Cloud Cost Management charges. Defaults to `true`. + */ + "ccmCollectAllWorkspaces"?: boolean; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ccmCollectAllWorkspaces: { + baseName: "ccm_collect_all_workspaces", + type: "boolean", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.ts new file mode 100644 index 000000000000..6c87780ca757 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.ts @@ -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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Cloud Cost Management dataflow. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse { + /** + * Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. This takes effect across the Databricks account: if any one workspace enables it, Datadog collects cost data for all of them regardless of their individual settings, and every covered workspace incurs Cloud Cost Management charges. + */ + "ccmCollectAllWorkspaces"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ccmCollectAllWorkspaces: { + baseName: "ccm_collect_all_workspaces", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..c544f744b601 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.ts @@ -0,0 +1,50 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest { + /** + * Whether Datadog collects this data. Defaults to `true`; set to `false` to stop collection. + */ + "enabled"?: boolean; + /** + * Settings of the Data Jobs Monitoring dataflow. Only the fields provided are changed. + */ + "settings"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..b69ce6626935 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.ts @@ -0,0 +1,61 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse { + /** + * Whether Datadog collects this data. + */ + "enabled"?: boolean; + /** + * Settings of the Data Jobs Monitoring dataflow. + */ + "settings"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ts new file mode 100644 index 000000000000..ac5a2d6a3bd1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ts @@ -0,0 +1,81 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Data Jobs Monitoring dataflow. Only the fields provided are changed. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest { + /** + * ID of the Datadog API key the global init script uses to submit data. Setting or changing it requires `dd_api_key_secret` in the same request. + */ + "ddApiKeyId"?: string; + /** + * Secret value of the Datadog API key identified by `dd_api_key_id`. + */ + "ddApiKeySecret"?: string; + /** + * Whether Datadog installs and manages the Agent on your Databricks clusters through a global init script. Installation can take up to 15 minutes and requires Databricks Workspace Admin permissions. The script does not apply to clusters in Standard access mode. Leave this `false` to install the Agent yourself. Defaults to `false`. + */ + "djmGlobalInitScriptEnabled"?: boolean; + /** + * Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. Defaults to `false`. + */ + "scriptGpumEnabled"?: boolean; + /** + * Whether driver and worker logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. Defaults to `false`. + */ + "scriptLogsEnabled"?: boolean; + /** + * Whether health and cost data is collected for jobs running on Serverless or SQL Warehouse compute. This compute has no clusters for the global init script to target, so collection reads the Databricks system tables and requires `system_tables_sql_warehouse_id`. Defaults to `true`. + */ + "serverlessJobsEnabled"?: boolean; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ddApiKeyId: { + baseName: "dd_api_key_id", + type: "string", + }, + ddApiKeySecret: { + baseName: "dd_api_key_secret", + type: "string", + }, + djmGlobalInitScriptEnabled: { + baseName: "djm_global_init_script_enabled", + type: "boolean", + }, + scriptGpumEnabled: { + baseName: "script_gpum_enabled", + type: "boolean", + }, + scriptLogsEnabled: { + baseName: "script_logs_enabled", + type: "boolean", + }, + serverlessJobsEnabled: { + baseName: "serverless_jobs_enabled", + type: "boolean", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ts new file mode 100644 index 000000000000..3840baebeef8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ts @@ -0,0 +1,84 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Data Jobs Monitoring dataflow. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse { + /** + * ID of the Datadog API key the global init script uses to submit data. + */ + "ddApiKeyId"?: string; + /** + * Whether Datadog installs and manages the Agent on your Databricks clusters through a global init script. The script does not apply to clusters in Standard access mode. When `false`, the Agent is installed manually. + */ + "djmGlobalInitScriptEnabled"?: boolean; + /** + * Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + */ + "scriptGpumEnabled"?: boolean; + /** + * Whether driver and worker logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + */ + "scriptLogsEnabled"?: boolean; + /** + * Whether health and cost data is collected for jobs running on Serverless or SQL Warehouse compute. This compute has no clusters for the global init script to target, so collection reads the Databricks system tables and requires `system_tables_sql_warehouse_id`. + */ + "serverlessJobsEnabled"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ddApiKeyId: { + baseName: "dd_api_key_id", + type: "string", + }, + djmGlobalInitScriptEnabled: { + baseName: "djm_global_init_script_enabled", + type: "boolean", + }, + scriptGpumEnabled: { + baseName: "script_gpum_enabled", + type: "boolean", + }, + scriptLogsEnabled: { + baseName: "script_logs_enabled", + type: "boolean", + }, + serverlessJobsEnabled: { + baseName: "serverless_jobs_enabled", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..457ed08ec992 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.ts @@ -0,0 +1,50 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest { + /** + * Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection. + */ + "enabled"?: boolean; + /** + * Settings of the Data Observability dataflow. Only the fields provided are changed. + */ + "settings"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..3d7d9013ad8b --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.ts @@ -0,0 +1,61 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse { + /** + * Whether Datadog collects this data. + */ + "enabled"?: boolean; + /** + * Settings of the Data Observability dataflow. + */ + "settings"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.ts new file mode 100644 index 000000000000..9e6643018025 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.ts @@ -0,0 +1,49 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Data Observability dataflow. Only the fields provided are changed. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest { + /** + * Cron expression setting how often Datadog connects to your Databricks warehouse to collect metadata. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported. Defaults to hourly (`0 * * * *`). + */ + "doCrawlersCron"?: string; + /** + * Whether metadata from the Databricks `system` catalog is included in Data Observability alongside your data catalogs. Defaults to `false`. + */ + "syncSystemCatalog"?: boolean; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + doCrawlersCron: { + baseName: "do_crawlers_cron", + type: "string", + }, + syncSystemCatalog: { + baseName: "sync_system_catalog", + type: "boolean", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.ts new file mode 100644 index 000000000000..62ee4258f254 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.ts @@ -0,0 +1,60 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Data Observability dataflow. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse { + /** + * Cron expression setting how often Datadog connects to your Databricks warehouse to collect metadata. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported. + */ + "doCrawlersCron"?: string; + /** + * Whether metadata from the Databricks `system` catalog is included in Data Observability alongside your data catalogs. + */ + "syncSystemCatalog"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + doCrawlersCron: { + baseName: "do_crawlers_cron", + type: "string", + }, + syncSystemCatalog: { + baseName: "sync_system_catalog", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationRequest.ts new file mode 100644 index 000000000000..d39277743443 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationRequest.ts @@ -0,0 +1,18 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthRequest } from "./DatabricksIntegrationAccountOAuthAuthRequest"; +import { DatabricksIntegrationAccountPrivateActionRunnerAuthRequest } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthRequest"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Authentication for creating the Databricks integration account. Exactly one method is set. Choosing `private_action_runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `bearer_token` is not available on creation: Databricks accepts it only on accounts that already use it, so it can only appear on read and update. + */ + +export type DatabricksIntegrationAccountAuthenticationRequest = + | DatabricksIntegrationAccountOAuthAuthRequest + | DatabricksIntegrationAccountPrivateActionRunnerAuthRequest + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationResponse.ts new file mode 100644 index 000000000000..3f2791be852f --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationResponse.ts @@ -0,0 +1,20 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountBearerTokenAuthResponse } from "./DatabricksIntegrationAccountBearerTokenAuthResponse"; +import { DatabricksIntegrationAccountOAuthAuthResponse } from "./DatabricksIntegrationAccountOAuthAuthResponse"; +import { DatabricksIntegrationAccountPrivateActionRunnerAuthResponse } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthResponse"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Authentication configured on the Databricks integration account. A `bearer_token` method indicates an account still on token authentication, which Databricks accepts only on accounts that already use it. + */ + +export type DatabricksIntegrationAccountAuthenticationResponse = + | DatabricksIntegrationAccountOAuthAuthResponse + | DatabricksIntegrationAccountPrivateActionRunnerAuthResponse + | DatabricksIntegrationAccountBearerTokenAuthResponse + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationUpdate.ts new file mode 100644 index 000000000000..51166c3dd9b8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationUpdate.ts @@ -0,0 +1,20 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountBearerTokenAuthUpdate } from "./DatabricksIntegrationAccountBearerTokenAuthUpdate"; +import { DatabricksIntegrationAccountOAuthAuthUpdate } from "./DatabricksIntegrationAccountOAuthAuthUpdate"; +import { DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Authentication for updating the Databricks integration account. Exactly one method is set. Choosing `private_action_runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `bearer_token` is deprecated on Databricks: it is accepted only on accounts that already use it and never on creation, so it cannot move an account onto token authentication. Migrate those accounts to `databricks_oauth` or `private_action_runner`. + */ + +export type DatabricksIntegrationAccountAuthenticationUpdate = + | DatabricksIntegrationAccountOAuthAuthUpdate + | DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate + | DatabricksIntegrationAccountBearerTokenAuthUpdate + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthResponse.ts new file mode 100644 index 000000000000..ae5898c59958 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthResponse.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountBearerTokenAuthType } from "./DatabricksIntegrationAccountBearerTokenAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The bearer token authentication method configured on the account. + */ +export class DatabricksIntegrationAccountBearerTokenAuthResponse { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountBearerTokenAuthType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountBearerTokenAuthType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountBearerTokenAuthResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthType.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthType.ts new file mode 100644 index 000000000000..62915588b500 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthType.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The authentication method type. + */ + +export type DatabricksIntegrationAccountBearerTokenAuthType = + | typeof BEARER_TOKEN + | UnparsedObject; +export const BEARER_TOKEN = "bearer_token"; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthUpdate.ts new file mode 100644 index 000000000000..dd41eaa49779 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountBearerTokenAuthUpdate.ts @@ -0,0 +1,51 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountBearerTokenAuthType } from "./DatabricksIntegrationAccountBearerTokenAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Bearer token authentication. The credential is a single opaque secret, a Databricks personal access token, with no accompanying non-secret identifier. The method is deprecated: Databricks accepts it only on accounts that already use it, and never on creation. Only the fields provided are changed; omit `token` to keep the stored one. + */ +export class DatabricksIntegrationAccountBearerTokenAuthUpdate { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountBearerTokenAuthType; + /** + * Secret token used to authenticate with Databricks. + */ + "token"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountBearerTokenAuthType", + required: true, + }, + token: { + baseName: "token", + type: "string", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountBearerTokenAuthUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateAttributes.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateAttributes.ts new file mode 100644 index 000000000000..0323ca1bd18c --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateAttributes.ts @@ -0,0 +1,82 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountAuthenticationRequest } from "./DatabricksIntegrationAccountAuthenticationRequest"; +import { DatabricksIntegrationAccountSettingsRequest } from "./DatabricksIntegrationAccountSettingsRequest"; +import { DatabricksIntegrationDataflowsRequest } from "./DatabricksIntegrationDataflowsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Writable attributes used to create a Databricks integration account. + */ +export class DatabricksIntegrationAccountCreateAttributes { + /** + * Authentication for creating the Databricks integration account. Exactly one method is set. Choosing `private_action_runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `bearer_token` is not available on creation: Databricks accepts it only on accounts that already use it, so it can only appear on read and update. + */ + "authentication": DatabricksIntegrationAccountAuthenticationRequest; + /** + * Data Datadog collects from Databricks, keyed by dataflow id. Each dataflow turns on a distinct kind of collection: set `enabled` to start or stop it, and use `settings` to configure what it collects. Defaults listed on each dataflow apply when the account is created; on update, omitted fields keep their current values. Some dataflows have prerequisites, noted on each; unless one is documented as rejecting the request, it is not verified, so a dataflow enabled without it is stored but collects no data. + */ + "dataflows"?: DatabricksIntegrationDataflowsRequest; + /** + * Human-readable name of the Databricks integration account. + */ + "name": string; + /** + * Settings for creating the Databricks integration account. + */ + "settings": DatabricksIntegrationAccountSettingsRequest; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authentication: { + baseName: "authentication", + type: "DatabricksIntegrationAccountAuthenticationRequest", + required: true, + }, + dataflows: { + baseName: "dataflows", + type: "DatabricksIntegrationDataflowsRequest", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + settings: { + baseName: "settings", + type: "DatabricksIntegrationAccountSettingsRequest", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountCreateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateData.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateData.ts new file mode 100644 index 000000000000..220b8a7fb3bd --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateData.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountCreateAttributes } from "./DatabricksIntegrationAccountCreateAttributes"; +import { IntegrationAccountType } from "./IntegrationAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data envelope for creating a Databricks integration account. + */ +export class DatabricksIntegrationAccountCreateData { + /** + * Writable attributes used to create a Databricks integration account. + */ + "attributes": DatabricksIntegrationAccountCreateAttributes; + /** + * The type of the integration account resource. Always `integration-account`. + */ + "type": IntegrationAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DatabricksIntegrationAccountCreateAttributes", + required: true, + }, + type: { + baseName: "type", + type: "IntegrationAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountCreateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateRequest.ts new file mode 100644 index 000000000000..97719486190c --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateRequest.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountCreateData } from "./DatabricksIntegrationAccountCreateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request payload to create a Databricks integration account. + */ +export class DatabricksIntegrationAccountCreateRequest { + /** + * Data envelope for creating a Databricks integration account. + */ + "data": DatabricksIntegrationAccountCreateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DatabricksIntegrationAccountCreateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountCreateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthRequest.ts new file mode 100644 index 000000000000..0870e092aeeb --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthRequest.ts @@ -0,0 +1,69 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthType } from "./DatabricksIntegrationAccountOAuthAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Databricks OAuth machine-to-machine authentication using a service principal. + */ +export class DatabricksIntegrationAccountOAuthAuthRequest { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountOAuthAuthType; + /** + * Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. + */ + "azureTenantId"?: string; + /** + * Client ID of the Databricks service principal. + */ + "clientId": string; + /** + * Secret of the Databricks service principal. Generate it under User management > Service principals > Credentials & secrets in Databricks. + */ + "clientSecret": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountOAuthAuthType", + required: true, + }, + azureTenantId: { + baseName: "azure_tenant_id", + type: "string", + }, + clientId: { + baseName: "client_id", + type: "string", + required: true, + }, + clientSecret: { + baseName: "client_secret", + type: "string", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountOAuthAuthRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthResponse.ts new file mode 100644 index 000000000000..823c283dbfd0 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthResponse.ts @@ -0,0 +1,71 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthType } from "./DatabricksIntegrationAccountOAuthAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks OAuth authentication method and service principal configured on the account. + */ +export class DatabricksIntegrationAccountOAuthAuthResponse { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountOAuthAuthType; + /** + * Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. + */ + "azureTenantId"?: string; + /** + * Client ID of the Databricks service principal. + */ + "clientId": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountOAuthAuthType", + required: true, + }, + azureTenantId: { + baseName: "azure_tenant_id", + type: "string", + }, + clientId: { + baseName: "client_id", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountOAuthAuthResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthType.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthType.ts new file mode 100644 index 000000000000..fb63f90533e7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthType.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The authentication method type. + */ + +export type DatabricksIntegrationAccountOAuthAuthType = + | typeof DATABRICKS_OAUTH + | UnparsedObject; +export const DATABRICKS_OAUTH = "databricks_oauth"; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthUpdate.ts new file mode 100644 index 000000000000..438d63208143 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthUpdate.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthType } from "./DatabricksIntegrationAccountOAuthAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Databricks OAuth machine-to-machine authentication using a service principal. Only the fields provided are changed; omit `client_secret` to keep the stored one. + */ +export class DatabricksIntegrationAccountOAuthAuthUpdate { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountOAuthAuthType; + /** + * Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. Omit it to keep the stored tenant, send `null` or an empty string to remove it, or send a value to replace it. + */ + "azureTenantId"?: string; + /** + * Client ID of the Databricks service principal. + */ + "clientId"?: string; + /** + * Secret of the Databricks service principal. Generate it under User management > Service principals > Credentials & secrets in Databricks. + */ + "clientSecret"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountOAuthAuthType", + required: true, + }, + azureTenantId: { + baseName: "azure_tenant_id", + type: "string", + }, + clientId: { + baseName: "client_id", + type: "string", + }, + clientSecret: { + baseName: "client_secret", + type: "string", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountOAuthAuthUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthRequest.ts new file mode 100644 index 000000000000..2b6842fd8c95 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthRequest.ts @@ -0,0 +1,71 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountPrivateActionRunnerAuthType } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Private Action Runner authentication. The runner holds the Databricks credentials, so this method carries no secrets. + */ +export class DatabricksIntegrationAccountPrivateActionRunnerAuthRequest { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountPrivateActionRunnerAuthType; + /** + * Unique identifier of the Private Action Runner connection holding the credentials. + */ + "connectionId": string; + /** + * Path of the credential inside the secret backend configured on the runner. + */ + "secretPath"?: string; + /** + * Unique identifier of the user the Private Action Runner connection belongs to. + */ + "userUuid": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountPrivateActionRunnerAuthType", + required: true, + }, + connectionId: { + baseName: "connection_id", + type: "string", + required: true, + format: "uuid", + }, + secretPath: { + baseName: "secret_path", + type: "string", + }, + userUuid: { + baseName: "user_uuid", + type: "string", + required: true, + format: "uuid", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountPrivateActionRunnerAuthRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthResponse.ts new file mode 100644 index 000000000000..cf709dfea5c3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthResponse.ts @@ -0,0 +1,80 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountPrivateActionRunnerAuthType } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Private Action Runner authentication method configured on the account. + */ +export class DatabricksIntegrationAccountPrivateActionRunnerAuthResponse { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountPrivateActionRunnerAuthType; + /** + * Unique identifier of the Private Action Runner connection holding the credentials. + */ + "connectionId": string; + /** + * Path of the credential inside the secret backend configured on the runner. + */ + "secretPath"?: string; + /** + * Unique identifier of the user the Private Action Runner connection belongs to. + */ + "userUuid": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountPrivateActionRunnerAuthType", + required: true, + }, + connectionId: { + baseName: "connection_id", + type: "string", + required: true, + }, + secretPath: { + baseName: "secret_path", + type: "string", + }, + userUuid: { + baseName: "user_uuid", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountPrivateActionRunnerAuthResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthType.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthType.ts new file mode 100644 index 000000000000..1e0f79be4cd6 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthType.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The authentication method type. + */ + +export type DatabricksIntegrationAccountPrivateActionRunnerAuthType = + | typeof PRIVATE_ACTION_RUNNER + | UnparsedObject; +export const PRIVATE_ACTION_RUNNER = "private_action_runner"; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate.ts new file mode 100644 index 000000000000..ecfe85de2bc8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate.ts @@ -0,0 +1,69 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountPrivateActionRunnerAuthType } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Private Action Runner authentication. The runner holds the Databricks credentials, so this method carries no secrets. Only the fields provided are changed. + */ +export class DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountPrivateActionRunnerAuthType; + /** + * Unique identifier of the Private Action Runner connection holding the credentials. + */ + "connectionId"?: string; + /** + * Path of the credential inside the secret backend configured on the runner. Omit it to keep the stored path, send `null` or an empty string to remove it, or send a value to replace it. + */ + "secretPath"?: string; + /** + * Unique identifier of the user the Private Action Runner connection belongs to. + */ + "userUuid"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountPrivateActionRunnerAuthType", + required: true, + }, + connectionId: { + baseName: "connection_id", + type: "string", + format: "uuid", + }, + secretPath: { + baseName: "secret_path", + type: "string", + }, + userUuid: { + baseName: "user_uuid", + type: "string", + format: "uuid", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponse.ts new file mode 100644 index 000000000000..81e301fc2494 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponse.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountResponseData } from "./DatabricksIntegrationAccountResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response payload for a single Databricks integration account. + */ +export class DatabricksIntegrationAccountResponse { + /** + * Data envelope of a Databricks integration account, including server-assigned identity. + */ + "data": DatabricksIntegrationAccountResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DatabricksIntegrationAccountResponseData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseAttributes.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseAttributes.ts new file mode 100644 index 000000000000..ece250e1da38 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseAttributes.ts @@ -0,0 +1,81 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountAuthenticationResponse } from "./DatabricksIntegrationAccountAuthenticationResponse"; +import { DatabricksIntegrationAccountSettingsResponse } from "./DatabricksIntegrationAccountSettingsResponse"; +import { DatabricksIntegrationDataflowsResponse } from "./DatabricksIntegrationDataflowsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Attributes of a Databricks integration account returned in responses. + */ +export class DatabricksIntegrationAccountResponseAttributes { + /** + * Authentication configured on the Databricks integration account. A `bearer_token` method indicates an account still on token authentication, which Databricks accepts only on accounts that already use it. + */ + "authentication"?: DatabricksIntegrationAccountAuthenticationResponse; + /** + * Data Datadog collects from Databricks, keyed by dataflow id. + */ + "dataflows"?: DatabricksIntegrationDataflowsResponse; + /** + * Human-readable name of the Databricks integration account. + */ + "name": string; + /** + * Settings configured on the Databricks integration account. + */ + "settings": DatabricksIntegrationAccountSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authentication: { + baseName: "authentication", + type: "DatabricksIntegrationAccountAuthenticationResponse", + }, + dataflows: { + baseName: "dataflows", + type: "DatabricksIntegrationDataflowsResponse", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + settings: { + baseName: "settings", + type: "DatabricksIntegrationAccountSettingsResponse", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountResponseAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseData.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseData.ts new file mode 100644 index 000000000000..a9db042aca11 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseData.ts @@ -0,0 +1,73 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountResponseAttributes } from "./DatabricksIntegrationAccountResponseAttributes"; +import { IntegrationAccountType } from "./IntegrationAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data envelope of a Databricks integration account, including server-assigned identity. + */ +export class DatabricksIntegrationAccountResponseData { + /** + * Attributes of a Databricks integration account returned in responses. + */ + "attributes": DatabricksIntegrationAccountResponseAttributes; + /** + * Server-generated unique identifier of the Databricks integration account. + */ + "id": string; + /** + * The type of the integration account resource. Always `integration-account`. + */ + "type": IntegrationAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DatabricksIntegrationAccountResponseAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IntegrationAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsRequest.ts new file mode 100644 index 000000000000..077042a66b3b --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsRequest.ts @@ -0,0 +1,50 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings for creating the Databricks integration account. + */ +export class DatabricksIntegrationAccountSettingsRequest { + /** + * ID of the SQL warehouse used to query the Databricks system tables. Find it at the end of the HTTP Path under Warehouses > Connection Details in the Databricks console. Required when the cloud cost metrics or the Data Observability dataflow is enabled, or when `serverless_jobs_enabled` is on; since serverless jobs are on unless explicitly disabled, omitting this field otherwise causes the request to be rejected with a `422` response. + */ + "systemTablesSqlWarehouseId"?: string; + /** + * URL of the Databricks workspace. + */ + "workspaceUrl": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + systemTablesSqlWarehouseId: { + baseName: "system_tables_sql_warehouse_id", + type: "string", + }, + workspaceUrl: { + baseName: "workspace_url", + type: "string", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsResponse.ts new file mode 100644 index 000000000000..76a65de3e2ff --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsResponse.ts @@ -0,0 +1,61 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings configured on the Databricks integration account. + */ +export class DatabricksIntegrationAccountSettingsResponse { + /** + * ID of the SQL warehouse used to query the Databricks system tables. + */ + "systemTablesSqlWarehouseId"?: string; + /** + * URL of the Databricks workspace. + */ + "workspaceUrl": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + systemTablesSqlWarehouseId: { + baseName: "system_tables_sql_warehouse_id", + type: "string", + }, + workspaceUrl: { + baseName: "workspace_url", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsUpdate.ts new file mode 100644 index 000000000000..6a443d625b93 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsUpdate.ts @@ -0,0 +1,49 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings for updating the Databricks integration account. Only the fields provided are changed. + */ +export class DatabricksIntegrationAccountSettingsUpdate { + /** + * ID of the SQL warehouse used to query the Databricks system tables. Find it at the end of the HTTP Path under Warehouses > Connection Details in the Databricks console. Required once the cloud cost metrics or the Data Observability dataflow is enabled, or while `serverless_jobs_enabled` is on; an update that leaves the account without one is rejected with a `422` response. + */ + "systemTablesSqlWarehouseId"?: string; + /** + * URL of the Databricks workspace. + */ + "workspaceUrl"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + systemTablesSqlWarehouseId: { + baseName: "system_tables_sql_warehouse_id", + type: "string", + }, + workspaceUrl: { + baseName: "workspace_url", + type: "string", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountSettingsUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateAttributes.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateAttributes.ts new file mode 100644 index 000000000000..842cdce15ae7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateAttributes.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountAuthenticationUpdate } from "./DatabricksIntegrationAccountAuthenticationUpdate"; +import { DatabricksIntegrationAccountSettingsUpdate } from "./DatabricksIntegrationAccountSettingsUpdate"; +import { DatabricksIntegrationDataflowsRequest } from "./DatabricksIntegrationDataflowsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Writable attributes used to update a Databricks integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration, as do the settings of an included dataflow that provides only `enabled`. + */ +export class DatabricksIntegrationAccountUpdateAttributes { + /** + * Authentication for updating the Databricks integration account. Exactly one method is set. Choosing `private_action_runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `bearer_token` is deprecated on Databricks: it is accepted only on accounts that already use it and never on creation, so it cannot move an account onto token authentication. Migrate those accounts to `databricks_oauth` or `private_action_runner`. + */ + "authentication"?: DatabricksIntegrationAccountAuthenticationUpdate; + /** + * Data Datadog collects from Databricks, keyed by dataflow id. Each dataflow turns on a distinct kind of collection: set `enabled` to start or stop it, and use `settings` to configure what it collects. Defaults listed on each dataflow apply when the account is created; on update, omitted fields keep their current values. Some dataflows have prerequisites, noted on each; unless one is documented as rejecting the request, it is not verified, so a dataflow enabled without it is stored but collects no data. + */ + "dataflows"?: DatabricksIntegrationDataflowsRequest; + /** + * Human-readable name of the Databricks integration account. + */ + "name"?: string; + /** + * Settings for updating the Databricks integration account. Only the fields provided are changed. + */ + "settings"?: DatabricksIntegrationAccountSettingsUpdate; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authentication: { + baseName: "authentication", + type: "DatabricksIntegrationAccountAuthenticationUpdate", + }, + dataflows: { + baseName: "dataflows", + type: "DatabricksIntegrationDataflowsRequest", + }, + name: { + baseName: "name", + type: "string", + }, + settings: { + baseName: "settings", + type: "DatabricksIntegrationAccountSettingsUpdate", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountUpdateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateData.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateData.ts new file mode 100644 index 000000000000..c2bc6426b074 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateData.ts @@ -0,0 +1,73 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountUpdateAttributes } from "./DatabricksIntegrationAccountUpdateAttributes"; +import { IntegrationAccountType } from "./IntegrationAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data envelope for updating a Databricks integration account. + */ +export class DatabricksIntegrationAccountUpdateData { + /** + * Writable attributes used to update a Databricks integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration, as do the settings of an included dataflow that provides only `enabled`. + */ + "attributes": DatabricksIntegrationAccountUpdateAttributes; + /** + * Unique identifier of the Databricks integration account to update. + */ + "id": string; + /** + * The type of the integration account resource. Always `integration-account`. + */ + "type": IntegrationAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DatabricksIntegrationAccountUpdateAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IntegrationAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountUpdateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateRequest.ts new file mode 100644 index 000000000000..5cc802a2a52f --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateRequest.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountUpdateData } from "./DatabricksIntegrationAccountUpdateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request payload to update a Databricks integration account. + */ +export class DatabricksIntegrationAccountUpdateRequest { + /** + * Data envelope for updating a Databricks integration account. + */ + "data": DatabricksIntegrationAccountUpdateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DatabricksIntegrationAccountUpdateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountUpdateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountsResponse.ts new file mode 100644 index 000000000000..b4d02345ef3f --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountsResponse.ts @@ -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 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountResponseData } from "./DatabricksIntegrationAccountResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response payload for a list of Databricks integration accounts. + */ +export class DatabricksIntegrationAccountsResponse { + /** + * List of Databricks integration accounts. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsRequest.ts new file mode 100644 index 000000000000..2574a2b8e828 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsRequest.ts @@ -0,0 +1,69 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowRequest"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest"; +import { DatabricksModelServingMetricsIntegrationDataflowRequest } from "./DatabricksModelServingMetricsIntegrationDataflowRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data Datadog collects from Databricks, keyed by dataflow id. Each dataflow turns on a distinct kind of collection: set `enabled` to start or stop it, and use `settings` to configure what it collects. Defaults listed on each dataflow apply when the account is created; on update, omitted fields keep their current values. Some dataflows have prerequisites, noted on each; unless one is documented as rejecting the request, it is not verified, so a dataflow enabled without it is stored but collects no data. + */ +export class DatabricksIntegrationDataflowsRequest { + /** + * Cost data collected from your Databricks system tables. [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management/) must be enabled for your organization while this dataflow is on; any request that leaves it enabled without that is rejected with a `422` response. + */ + "databricksCloudCostMetrics"?: DatabricksCloudCostMetricsIntegrationDataflowRequest; + /** + * Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs. + */ + "databricksDataObservabilityJobsMonitoring"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest; + /** + * Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues. + */ + "databricksDataObservabilityQualityMonitoring"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest; + /** + * Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data. + */ + "databricksModelServingMetrics"?: DatabricksModelServingMetricsIntegrationDataflowRequest; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + databricksCloudCostMetrics: { + baseName: "databricks-cloud-cost-metrics", + type: "DatabricksCloudCostMetricsIntegrationDataflowRequest", + }, + databricksDataObservabilityJobsMonitoring: { + baseName: "databricks-data-observability-jobs-monitoring", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest", + }, + databricksDataObservabilityQualityMonitoring: { + baseName: "databricks-data-observability-quality-monitoring", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest", + }, + databricksModelServingMetrics: { + baseName: "databricks-model-serving-metrics", + type: "DatabricksModelServingMetricsIntegrationDataflowRequest", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationDataflowsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsResponse.ts new file mode 100644 index 000000000000..181d9433a209 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsResponse.ts @@ -0,0 +1,80 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowResponse"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse"; +import { DatabricksModelServingMetricsIntegrationDataflowResponse } from "./DatabricksModelServingMetricsIntegrationDataflowResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data Datadog collects from Databricks, keyed by dataflow id. + */ +export class DatabricksIntegrationDataflowsResponse { + /** + * Cost data collected from your Databricks system tables. Requires [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management/) to be set up for your organization. + */ + "databricksCloudCostMetrics"?: DatabricksCloudCostMetricsIntegrationDataflowResponse; + /** + * Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs. + */ + "databricksDataObservabilityJobsMonitoring"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse; + /** + * Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues. + */ + "databricksDataObservabilityQualityMonitoring"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse; + /** + * Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data. + */ + "databricksModelServingMetrics"?: DatabricksModelServingMetricsIntegrationDataflowResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + databricksCloudCostMetrics: { + baseName: "databricks-cloud-cost-metrics", + type: "DatabricksCloudCostMetricsIntegrationDataflowResponse", + }, + databricksDataObservabilityJobsMonitoring: { + baseName: "databricks-data-observability-jobs-monitoring", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse", + }, + databricksDataObservabilityQualityMonitoring: { + baseName: "databricks-data-observability-quality-monitoring", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse", + }, + databricksModelServingMetrics: { + baseName: "databricks-model-serving-metrics", + type: "DatabricksModelServingMetricsIntegrationDataflowResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationDataflowsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..4246d0f9b3ee --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowRequest.ts @@ -0,0 +1,41 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data. + */ +export class DatabricksModelServingMetricsIntegrationDataflowRequest { + /** + * Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection. + */ + "enabled"?: boolean; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksModelServingMetricsIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..fa83122de579 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowResponse.ts @@ -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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data. + */ +export class DatabricksModelServingMetricsIntegrationDataflowResponse { + /** + * Whether Datadog collects this data. + */ + "enabled"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksModelServingMetricsIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index f1276b5e7ba3..2e49aabd2546 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -1358,6 +1358,43 @@ import { DataScalarColumn } from "./DataScalarColumn"; import { DataTransform } from "./DataTransform"; import { DataTransformProperties } from "./DataTransformProperties"; import { DatabaseMonitoringTriggerWrapper } from "./DatabaseMonitoringTriggerWrapper"; +import { DatabricksCloudCostMetricsIntegrationDataflowRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowRequest"; +import { DatabricksCloudCostMetricsIntegrationDataflowResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowResponse"; +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest"; +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse"; +import { DatabricksIntegrationAccountBearerTokenAuthResponse } from "./DatabricksIntegrationAccountBearerTokenAuthResponse"; +import { DatabricksIntegrationAccountBearerTokenAuthUpdate } from "./DatabricksIntegrationAccountBearerTokenAuthUpdate"; +import { DatabricksIntegrationAccountCreateAttributes } from "./DatabricksIntegrationAccountCreateAttributes"; +import { DatabricksIntegrationAccountCreateData } from "./DatabricksIntegrationAccountCreateData"; +import { DatabricksIntegrationAccountCreateRequest } from "./DatabricksIntegrationAccountCreateRequest"; +import { DatabricksIntegrationAccountOAuthAuthRequest } from "./DatabricksIntegrationAccountOAuthAuthRequest"; +import { DatabricksIntegrationAccountOAuthAuthResponse } from "./DatabricksIntegrationAccountOAuthAuthResponse"; +import { DatabricksIntegrationAccountOAuthAuthUpdate } from "./DatabricksIntegrationAccountOAuthAuthUpdate"; +import { DatabricksIntegrationAccountPrivateActionRunnerAuthRequest } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthRequest"; +import { DatabricksIntegrationAccountPrivateActionRunnerAuthResponse } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthResponse"; +import { DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate } from "./DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate"; +import { DatabricksIntegrationAccountResponse } from "./DatabricksIntegrationAccountResponse"; +import { DatabricksIntegrationAccountResponseAttributes } from "./DatabricksIntegrationAccountResponseAttributes"; +import { DatabricksIntegrationAccountResponseData } from "./DatabricksIntegrationAccountResponseData"; +import { DatabricksIntegrationAccountSettingsRequest } from "./DatabricksIntegrationAccountSettingsRequest"; +import { DatabricksIntegrationAccountSettingsResponse } from "./DatabricksIntegrationAccountSettingsResponse"; +import { DatabricksIntegrationAccountSettingsUpdate } from "./DatabricksIntegrationAccountSettingsUpdate"; +import { DatabricksIntegrationAccountUpdateAttributes } from "./DatabricksIntegrationAccountUpdateAttributes"; +import { DatabricksIntegrationAccountUpdateData } from "./DatabricksIntegrationAccountUpdateData"; +import { DatabricksIntegrationAccountUpdateRequest } from "./DatabricksIntegrationAccountUpdateRequest"; +import { DatabricksIntegrationAccountsResponse } from "./DatabricksIntegrationAccountsResponse"; +import { DatabricksIntegrationDataflowsRequest } from "./DatabricksIntegrationDataflowsRequest"; +import { DatabricksIntegrationDataflowsResponse } from "./DatabricksIntegrationDataflowsResponse"; +import { DatabricksModelServingMetricsIntegrationDataflowRequest } from "./DatabricksModelServingMetricsIntegrationDataflowRequest"; +import { DatabricksModelServingMetricsIntegrationDataflowResponse } from "./DatabricksModelServingMetricsIntegrationDataflowResponse"; import { DatadogAPIKey } from "./DatadogAPIKey"; import { DatadogAPIKeyUpdate } from "./DatadogAPIKeyUpdate"; import { DatadogIntegration } from "./DatadogIntegration"; @@ -6862,6 +6899,11 @@ const enumsMap: { [key: string]: any[] } = { DataObservabilityMonitorRunType: ["monitor_run"], DataRelationshipsTeamsDataItemsType: ["teams"], DataTransformType: ["dataTransform"], + DatabricksIntegrationAccountBearerTokenAuthType: ["bearer_token"], + DatabricksIntegrationAccountOAuthAuthType: ["databricks_oauth"], + DatabricksIntegrationAccountPrivateActionRunnerAuthType: [ + "private_action_runner", + ], DatadogAPIKeyType: ["DatadogAPIKey"], DatadogIntegrationType: ["Datadog"], DatasetReportScheduleResourceType: ["widget_dataset_list"], @@ -11113,6 +11155,77 @@ const typeMap: { [index: string]: any } = { DataTransform: DataTransform, DataTransformProperties: DataTransformProperties, DatabaseMonitoringTriggerWrapper: DatabaseMonitoringTriggerWrapper, + DatabricksCloudCostMetricsIntegrationDataflowRequest: + DatabricksCloudCostMetricsIntegrationDataflowRequest, + DatabricksCloudCostMetricsIntegrationDataflowResponse: + DatabricksCloudCostMetricsIntegrationDataflowResponse, + DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest: + DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest, + DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse: + DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse, + DatabricksIntegrationAccountBearerTokenAuthResponse: + DatabricksIntegrationAccountBearerTokenAuthResponse, + DatabricksIntegrationAccountBearerTokenAuthUpdate: + DatabricksIntegrationAccountBearerTokenAuthUpdate, + DatabricksIntegrationAccountCreateAttributes: + DatabricksIntegrationAccountCreateAttributes, + DatabricksIntegrationAccountCreateData: + DatabricksIntegrationAccountCreateData, + DatabricksIntegrationAccountCreateRequest: + DatabricksIntegrationAccountCreateRequest, + DatabricksIntegrationAccountOAuthAuthRequest: + DatabricksIntegrationAccountOAuthAuthRequest, + DatabricksIntegrationAccountOAuthAuthResponse: + DatabricksIntegrationAccountOAuthAuthResponse, + DatabricksIntegrationAccountOAuthAuthUpdate: + DatabricksIntegrationAccountOAuthAuthUpdate, + DatabricksIntegrationAccountPrivateActionRunnerAuthRequest: + DatabricksIntegrationAccountPrivateActionRunnerAuthRequest, + DatabricksIntegrationAccountPrivateActionRunnerAuthResponse: + DatabricksIntegrationAccountPrivateActionRunnerAuthResponse, + DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate: + DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate, + DatabricksIntegrationAccountResponse: DatabricksIntegrationAccountResponse, + DatabricksIntegrationAccountResponseAttributes: + DatabricksIntegrationAccountResponseAttributes, + DatabricksIntegrationAccountResponseData: + DatabricksIntegrationAccountResponseData, + DatabricksIntegrationAccountSettingsRequest: + DatabricksIntegrationAccountSettingsRequest, + DatabricksIntegrationAccountSettingsResponse: + DatabricksIntegrationAccountSettingsResponse, + DatabricksIntegrationAccountSettingsUpdate: + DatabricksIntegrationAccountSettingsUpdate, + DatabricksIntegrationAccountUpdateAttributes: + DatabricksIntegrationAccountUpdateAttributes, + DatabricksIntegrationAccountUpdateData: + DatabricksIntegrationAccountUpdateData, + DatabricksIntegrationAccountUpdateRequest: + DatabricksIntegrationAccountUpdateRequest, + DatabricksIntegrationAccountsResponse: DatabricksIntegrationAccountsResponse, + DatabricksIntegrationDataflowsRequest: DatabricksIntegrationDataflowsRequest, + DatabricksIntegrationDataflowsResponse: + DatabricksIntegrationDataflowsResponse, + DatabricksModelServingMetricsIntegrationDataflowRequest: + DatabricksModelServingMetricsIntegrationDataflowRequest, + DatabricksModelServingMetricsIntegrationDataflowResponse: + DatabricksModelServingMetricsIntegrationDataflowResponse, DatadogAPIKey: DatadogAPIKey, DatadogAPIKeyUpdate: DatadogAPIKeyUpdate, DatadogIntegration: DatadogIntegration, @@ -17285,6 +17398,20 @@ const oneOfMap: { [index: string]: string[] } = { "DORADeploymentPatchByVersionRemediationByID", "DORADeploymentPatchByVersionRemediationByVersion", ], + DatabricksIntegrationAccountAuthenticationRequest: [ + "DatabricksIntegrationAccountOAuthAuthRequest", + "DatabricksIntegrationAccountPrivateActionRunnerAuthRequest", + ], + DatabricksIntegrationAccountAuthenticationResponse: [ + "DatabricksIntegrationAccountOAuthAuthResponse", + "DatabricksIntegrationAccountPrivateActionRunnerAuthResponse", + "DatabricksIntegrationAccountBearerTokenAuthResponse", + ], + DatabricksIntegrationAccountAuthenticationUpdate: [ + "DatabricksIntegrationAccountOAuthAuthUpdate", + "DatabricksIntegrationAccountPrivateActionRunnerAuthUpdate", + "DatabricksIntegrationAccountBearerTokenAuthUpdate", + ], DatadogCredentials: ["DatadogAPIKey"], DatadogCredentialsUpdate: ["DatadogAPIKeyUpdate"], DegradationIncluded: ["StatusPagesUser", "StatusPageAsIncluded"],