diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index c2a236c053d..f14f943a5a1 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -31911,6 +31911,507 @@ components:
required:
- databaseMonitoringTrigger
type: object
+ DatabricksCloudCostMetricsIntegrationDataflowRequest:
+ 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. Set to `false` to stop collection.
+ 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:
+ 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. Set to `false` to stop collection.
+ 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:
+ 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. Set to `false` to stop collection.
+ 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.
+ 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.
+ oneOf:
+ - $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthRequest"
+ - $ref: "#/components/schemas/IntegrationAccountPrivateActionRunnerAuthRequest"
+ DatabricksIntegrationAccountAuthenticationResponse:
+ description: Authentication configured on the Databricks integration account.
+ oneOf:
+ - $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthResponse"
+ - $ref: "#/components/schemas/IntegrationAccountPrivateActionRunnerAuthResponse"
+ - $ref: "#/components/schemas/DatabricksIntegrationAccountPatAuthResponse"
+ 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. `pat` is accepted only on accounts that already use it, so it cannot move an account onto personal access token authentication.
+ oneOf:
+ - $ref: "#/components/schemas/DatabricksIntegrationAccountOAuthAuthRequest"
+ - $ref: "#/components/schemas/IntegrationAccountPrivateActionRunnerAuthRequest"
+ - $ref: "#/components/schemas/DatabricksIntegrationAccountPatAuthUpdate"
+ 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. Because an update replaces this object as a whole, every required field must be sent again on each update, and omitting `azure_tenant_id` clears it.
+ 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
+ DatabricksIntegrationAccountPatAuthResponse:
+ deprecated: true
+ description: >-
+ The Databricks personal access token authentication method configured on the account. Deprecated: migrate these accounts to `databricks-oauth` or `private-action-runner`.
+ properties:
+ auth_type:
+ $ref: "#/components/schemas/DatabricksIntegrationAccountPatAuthType"
+ required:
+ - auth_type
+ type: object
+ DatabricksIntegrationAccountPatAuthType:
+ default: pat
+ description: The authentication method type.
+ enum:
+ - pat
+ example: pat
+ type: string
+ x-enum-varnames:
+ - PAT
+ DatabricksIntegrationAccountPatAuthUpdate:
+ additionalProperties: false
+ deprecated: true
+ description: >-
+ Databricks personal access token authentication. Deprecated: accepted only on accounts that already use it, and never on creation. Use `databricks-oauth` or `private-action-runner` instead. An update replaces this object as a whole, so `token` must be sent with it.
+ properties:
+ auth_type:
+ $ref: "#/components/schemas/DatabricksIntegrationAccountPatAuthType"
+ token:
+ description: Secret Databricks personal access token.
+ example: your-personal-access-token
+ type: string
+ writeOnly: true
+ required:
+ - auth_type
+ - token
+ 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`. `authentication` is the exception to partial updates: when provided it is replaced as a whole, so it must carry every field that the chosen method requires.
+ 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 tune what it gathers. The defaults noted below apply when the account is created; on update, anything left out keeps its current value. 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:
+ 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 even when enabled.
+ 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 even when enabled.
+ properties:
+ enabled:
+ description: Whether Datadog collects this data. Set to `false` to stop collection.
+ example: true
+ type: boolean
+ type: object
DatadogAPIKey:
description: The definition of the `DatadogAPIKey` object.
properties:
@@ -55365,6 +55866,63 @@ components:
type: string
readOnly: true
type: object
+ IntegrationAccountPrivateActionRunnerAuthRequest:
+ additionalProperties: false
+ description: >-
+ Private Action Runner authentication. The runner holds the credentials, so this method carries no secrets; `connection_id` and `user_uuid` must be provided on every submission.
+ properties:
+ auth_type:
+ $ref: "#/components/schemas/IntegrationAccountPrivateActionRunnerAuthType"
+ 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
+ IntegrationAccountPrivateActionRunnerAuthResponse:
+ description: The Private Action Runner authentication method configured on the account.
+ properties:
+ auth_type:
+ $ref: "#/components/schemas/IntegrationAccountPrivateActionRunnerAuthType"
+ 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
+ IntegrationAccountPrivateActionRunnerAuthType:
+ 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
IntegrationAccountType:
default: integration-account
description: The type of the integration account resource. Always `integration-account`.
@@ -164189,6 +164747,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.
@@ -228640,6 +229496,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.java b/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..19f0398f346
--- /dev/null
+++ b/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.java
@@ -0,0 +1,95 @@
+// Create a Databricks integration account returns "Created" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.DatabricksIntegrationApi;
+import com.datadog.api.client.v2.model.DatabricksCloudCostMetricsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountAuthenticationRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountCreateAttributes;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountCreateData;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountCreateRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountOAuthAuthRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountOAuthAuthType;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountSettingsRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationDataflowsRequest;
+import com.datadog.api.client.v2.model.DatabricksModelServingMetricsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.IntegrationAccountType;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.createDatabricksIntegrationAccount", true);
+ DatabricksIntegrationApi apiInstance = new DatabricksIntegrationApi(defaultClient);
+
+ DatabricksIntegrationAccountCreateRequest body =
+ new DatabricksIntegrationAccountCreateRequest()
+ .data(
+ new DatabricksIntegrationAccountCreateData()
+ .attributes(
+ new DatabricksIntegrationAccountCreateAttributes()
+ .authentication(
+ new DatabricksIntegrationAccountAuthenticationRequest(
+ new DatabricksIntegrationAccountOAuthAuthRequest()
+ .authType(
+ DatabricksIntegrationAccountOAuthAuthType
+ .DATABRICKS_OAUTH)
+ .azureTenantId("4d3bac44-0230-4732-9e70-cc00736f0a97")
+ .clientId("5c10654a-b3a3-4840-b37f-f477590c70a0")
+ .clientSecret("your-client-secret")))
+ .dataflows(
+ new DatabricksIntegrationDataflowsRequest()
+ .databricksCloudCostMetrics(
+ new DatabricksCloudCostMetricsIntegrationDataflowRequest()
+ .enabled(true)
+ .settings(
+ new DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest()
+ .ccmCollectAllWorkspaces(true)))
+ .databricksDataObservabilityJobsMonitoring(
+ new DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest()
+ .enabled(true)
+ .settings(
+ new DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest()
+ .ddApiKeyId(
+ "fe383f4e-09fc-46bf-8e10-4efdd453a646")
+ .ddApiKeySecret("your-datadog-api-key")
+ .djmGlobalInitScriptEnabled(true)
+ .scriptGpumEnabled(true)
+ .scriptLogsEnabled(true)
+ .serverlessJobsEnabled(true)))
+ .databricksDataObservabilityQualityMonitoring(
+ new DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest()
+ .enabled(true)
+ .settings(
+ new DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest()
+ .doCrawlersCron("0 * * * *")
+ .syncSystemCatalog(true)))
+ .databricksModelServingMetrics(
+ new DatabricksModelServingMetricsIntegrationDataflowRequest()
+ .enabled(true)))
+ .name("My Databricks Workspace")
+ .settings(
+ new DatabricksIntegrationAccountSettingsRequest()
+ .systemTablesSqlWarehouseId("aba7c023d4172910")
+ .workspaceUrl("https://dbc-1234abcd.cloud.databricks.com")))
+ .type(IntegrationAccountType.INTEGRATION_ACCOUNT));
+
+ try {
+ DatabricksIntegrationAccountResponse result =
+ apiInstance.createDatabricksIntegrationAccount(body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling DatabricksIntegrationApi#createDatabricksIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.java b/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..74b7961de16
--- /dev/null
+++ b/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.java
@@ -0,0 +1,24 @@
+// Delete a Databricks integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.DatabricksIntegrationApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.deleteDatabricksIntegrationAccount", true);
+ DatabricksIntegrationApi apiInstance = new DatabricksIntegrationApi(defaultClient);
+
+ try {
+ apiInstance.deleteDatabricksIntegrationAccount("account_id");
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling DatabricksIntegrationApi#deleteDatabricksIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.java b/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..29b1ba58085
--- /dev/null
+++ b/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.java
@@ -0,0 +1,27 @@
+// Get a Databricks integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.DatabricksIntegrationApi;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.getDatabricksIntegrationAccount", true);
+ DatabricksIntegrationApi apiInstance = new DatabricksIntegrationApi(defaultClient);
+
+ try {
+ DatabricksIntegrationAccountResponse result =
+ apiInstance.getDatabricksIntegrationAccount("account_id");
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling DatabricksIntegrationApi#getDatabricksIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.java b/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.java
new file mode 100644
index 00000000000..bc008599620
--- /dev/null
+++ b/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.java
@@ -0,0 +1,27 @@
+// List Databricks integration accounts returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.DatabricksIntegrationApi;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountsResponse;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.listDatabricksIntegrationAccounts", true);
+ DatabricksIntegrationApi apiInstance = new DatabricksIntegrationApi(defaultClient);
+
+ try {
+ DatabricksIntegrationAccountsResponse result =
+ apiInstance.listDatabricksIntegrationAccounts();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling DatabricksIntegrationApi#listDatabricksIntegrationAccounts");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.java b/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..6fbf59c7770
--- /dev/null
+++ b/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.java
@@ -0,0 +1,96 @@
+// Update a Databricks integration account returns "OK" response
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.v2.api.DatabricksIntegrationApi;
+import com.datadog.api.client.v2.model.DatabricksCloudCostMetricsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountAuthenticationUpdate;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountOAuthAuthRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountOAuthAuthType;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountSettingsUpdate;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountUpdateAttributes;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountUpdateData;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountUpdateRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationDataflowsRequest;
+import com.datadog.api.client.v2.model.DatabricksModelServingMetricsIntegrationDataflowRequest;
+import com.datadog.api.client.v2.model.IntegrationAccountType;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.updateDatabricksIntegrationAccount", true);
+ DatabricksIntegrationApi apiInstance = new DatabricksIntegrationApi(defaultClient);
+
+ DatabricksIntegrationAccountUpdateRequest body =
+ new DatabricksIntegrationAccountUpdateRequest()
+ .data(
+ new DatabricksIntegrationAccountUpdateData()
+ .attributes(
+ new DatabricksIntegrationAccountUpdateAttributes()
+ .authentication(
+ new DatabricksIntegrationAccountAuthenticationUpdate(
+ new DatabricksIntegrationAccountOAuthAuthRequest()
+ .authType(
+ DatabricksIntegrationAccountOAuthAuthType
+ .DATABRICKS_OAUTH)
+ .azureTenantId("4d3bac44-0230-4732-9e70-cc00736f0a97")
+ .clientId("5c10654a-b3a3-4840-b37f-f477590c70a0")
+ .clientSecret("your-client-secret")))
+ .dataflows(
+ new DatabricksIntegrationDataflowsRequest()
+ .databricksCloudCostMetrics(
+ new DatabricksCloudCostMetricsIntegrationDataflowRequest()
+ .enabled(true)
+ .settings(
+ new DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest()
+ .ccmCollectAllWorkspaces(true)))
+ .databricksDataObservabilityJobsMonitoring(
+ new DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest()
+ .enabled(true)
+ .settings(
+ new DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest()
+ .ddApiKeyId(
+ "fe383f4e-09fc-46bf-8e10-4efdd453a646")
+ .ddApiKeySecret("your-datadog-api-key")
+ .djmGlobalInitScriptEnabled(true)
+ .scriptGpumEnabled(true)
+ .scriptLogsEnabled(true)
+ .serverlessJobsEnabled(true)))
+ .databricksDataObservabilityQualityMonitoring(
+ new DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest()
+ .enabled(true)
+ .settings(
+ new DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest()
+ .doCrawlersCron("0 * * * *")
+ .syncSystemCatalog(true)))
+ .databricksModelServingMetrics(
+ new DatabricksModelServingMetricsIntegrationDataflowRequest()
+ .enabled(true)))
+ .name("My Databricks Workspace")
+ .settings(
+ new DatabricksIntegrationAccountSettingsUpdate()
+ .systemTablesSqlWarehouseId("aba7c023d4172910")
+ .workspaceUrl("https://dbc-1234abcd.cloud.databricks.com")))
+ .id("a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f")
+ .type(IntegrationAccountType.INTEGRATION_ACCOUNT));
+
+ try {
+ DatabricksIntegrationAccountResponse result =
+ apiInstance.updateDatabricksIntegrationAccount("account_id", body);
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling DatabricksIntegrationApi#updateDatabricksIntegrationAccount");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java
index 4ca7cf82562..d8471563380 100644
--- a/src/main/java/com/datadog/api/client/ApiClient.java
+++ b/src/main/java/com/datadog/api/client/ApiClient.java
@@ -1236,6 +1236,11 @@ public class ApiClient {
put("v2.updateIncidentUserDefinedField", false);
put("v2.updateIncidentUserDefinedRole", false);
put("v2.updateTimestampOverride", false);
+ put("v2.createDatabricksIntegrationAccount", false);
+ put("v2.deleteDatabricksIntegrationAccount", false);
+ put("v2.getDatabricksIntegrationAccount", false);
+ put("v2.listDatabricksIntegrationAccounts", false);
+ put("v2.updateDatabricksIntegrationAccount", false);
put("v2.createElasticCloudIntegrationAccount", false);
put("v2.deleteElasticCloudIntegrationAccount", false);
put("v2.getElasticCloudIntegrationAccount", false);
diff --git a/src/main/java/com/datadog/api/client/v2/api/DatabricksIntegrationApi.java b/src/main/java/com/datadog/api/client/v2/api/DatabricksIntegrationApi.java
new file mode 100644
index 00000000000..a3f56277fa0
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/api/DatabricksIntegrationApi.java
@@ -0,0 +1,849 @@
+package com.datadog.api.client.v2.api;
+
+import com.datadog.api.client.ApiClient;
+import com.datadog.api.client.ApiException;
+import com.datadog.api.client.ApiResponse;
+import com.datadog.api.client.Pair;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountCreateRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountResponse;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountUpdateRequest;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountsResponse;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.core.GenericType;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksIntegrationApi {
+ private ApiClient apiClient;
+
+ public DatabricksIntegrationApi() {
+ this(ApiClient.getDefaultApiClient());
+ }
+
+ public DatabricksIntegrationApi(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Get the API client.
+ *
+ * @return API client
+ */
+ public ApiClient getApiClient() {
+ return apiClient;
+ }
+
+ /**
+ * Set the API client.
+ *
+ * @param apiClient an instance of API client
+ */
+ public void setApiClient(ApiClient apiClient) {
+ this.apiClient = apiClient;
+ }
+
+ /**
+ * Create a Databricks integration account.
+ *
+ *
See {@link #createDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return DatabricksIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public DatabricksIntegrationAccountResponse createDatabricksIntegrationAccount(
+ DatabricksIntegrationAccountCreateRequest body) throws ApiException {
+ return createDatabricksIntegrationAccountWithHttpInfo(body).getData();
+ }
+
+ /**
+ * Create a Databricks integration account.
+ *
+ *
See {@link #createDatabricksIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<DatabricksIntegrationAccountResponse>
+ */
+ public CompletableFuture
+ createDatabricksIntegrationAccountAsync(DatabricksIntegrationAccountCreateRequest body) {
+ return createDatabricksIntegrationAccountWithHttpInfoAsync(body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Create a Databricks integration account.
+ *
+ * @param body (required)
+ * @return ApiResponse<DatabricksIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 201 | Created | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 422 | The server cannot process the request because it contains invalid data. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ createDatabricksIntegrationAccountWithHttpInfo(DatabricksIntegrationAccountCreateRequest body)
+ throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "createDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling createDatabricksIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/databricks/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.createDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Create a Databricks integration account.
+ *
+ * See {@link #createDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<DatabricksIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ createDatabricksIntegrationAccountWithHttpInfoAsync(
+ DatabricksIntegrationAccountCreateRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "createDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling"
+ + " createDatabricksIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/databricks/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.createDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "POST",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Delete a Databricks integration account.
+ *
+ * See {@link #deleteDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @throws ApiException if fails to make API call
+ */
+ public void deleteDatabricksIntegrationAccount(String accountId) throws ApiException {
+ deleteDatabricksIntegrationAccountWithHttpInfo(accountId);
+ }
+
+ /**
+ * Delete a Databricks integration account.
+ *
+ *
See {@link #deleteDatabricksIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture
+ */
+ public CompletableFuture deleteDatabricksIntegrationAccountAsync(String accountId) {
+ return deleteDatabricksIntegrationAccountWithHttpInfoAsync(accountId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Delete a Databricks integration account.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return ApiResponse<Void>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse deleteDatabricksIntegrationAccountWithHttpInfo(String accountId)
+ throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "deleteDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " deleteDatabricksIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/databricks/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.deleteDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Delete a Databricks integration account.
+ *
+ * See {@link #deleteDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<ApiResponse<Void>>
+ */
+ public CompletableFuture> deleteDatabricksIntegrationAccountWithHttpInfoAsync(
+ String accountId) {
+ // Check if unstable operation is enabled
+ String operationId = "deleteDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " deleteDatabricksIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/databricks/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.deleteDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"*/*"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result = new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "DELETE",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ null);
+ }
+
+ /**
+ * Get a Databricks integration account.
+ *
+ * See {@link #getDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return DatabricksIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public DatabricksIntegrationAccountResponse getDatabricksIntegrationAccount(String accountId)
+ throws ApiException {
+ return getDatabricksIntegrationAccountWithHttpInfo(accountId).getData();
+ }
+
+ /**
+ * Get a Databricks integration account.
+ *
+ *
See {@link #getDatabricksIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<DatabricksIntegrationAccountResponse>
+ */
+ public CompletableFuture
+ getDatabricksIntegrationAccountAsync(String accountId) {
+ return getDatabricksIntegrationAccountWithHttpInfoAsync(accountId)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Get a Databricks integration account.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return ApiResponse<DatabricksIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ getDatabricksIntegrationAccountWithHttpInfo(String accountId) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "getDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " getDatabricksIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/databricks/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.getDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Get a Databricks integration account.
+ *
+ * See {@link #getDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @return CompletableFuture<ApiResponse<DatabricksIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ getDatabricksIntegrationAccountWithHttpInfoAsync(String accountId) {
+ // Check if unstable operation is enabled
+ String operationId = "getDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " getDatabricksIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/databricks/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.getDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * List Databricks integration accounts.
+ *
+ * See {@link #listDatabricksIntegrationAccountsWithHttpInfo}.
+ *
+ * @return DatabricksIntegrationAccountsResponse
+ * @throws ApiException if fails to make API call
+ */
+ public DatabricksIntegrationAccountsResponse listDatabricksIntegrationAccounts()
+ throws ApiException {
+ return listDatabricksIntegrationAccountsWithHttpInfo().getData();
+ }
+
+ /**
+ * List Databricks integration accounts.
+ *
+ *
See {@link #listDatabricksIntegrationAccountsWithHttpInfoAsync}.
+ *
+ * @return CompletableFuture<DatabricksIntegrationAccountsResponse>
+ */
+ public CompletableFuture
+ listDatabricksIntegrationAccountsAsync() {
+ return listDatabricksIntegrationAccountsWithHttpInfoAsync()
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * List Databricks integration accounts.
+ *
+ * @return ApiResponse<DatabricksIntegrationAccountsResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ listDatabricksIntegrationAccountsWithHttpInfo() throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "listDatabricksIntegrationAccounts";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/databricks/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.listDatabricksIntegrationAccounts",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * List Databricks integration accounts.
+ *
+ * See {@link #listDatabricksIntegrationAccountsWithHttpInfo}.
+ *
+ * @return CompletableFuture<ApiResponse<DatabricksIntegrationAccountsResponse>>
+ */
+ public CompletableFuture>
+ listDatabricksIntegrationAccountsWithHttpInfoAsync() {
+ // Check if unstable operation is enabled
+ String operationId = "listDatabricksIntegrationAccounts";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = null;
+ // create path and map variables
+ String localVarPath = "/api/v2/integration-interfaces/databricks/accounts";
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.listDatabricksIntegrationAccounts",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "GET",
+ builder,
+ localVarHeaderParams,
+ new String[] {},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update a Databricks integration account.
+ *
+ * See {@link #updateDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return DatabricksIntegrationAccountResponse
+ * @throws ApiException if fails to make API call
+ */
+ public DatabricksIntegrationAccountResponse updateDatabricksIntegrationAccount(
+ String accountId, DatabricksIntegrationAccountUpdateRequest body) throws ApiException {
+ return updateDatabricksIntegrationAccountWithHttpInfo(accountId, body).getData();
+ }
+
+ /**
+ * Update a Databricks integration account.
+ *
+ *
See {@link #updateDatabricksIntegrationAccountWithHttpInfoAsync}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return CompletableFuture<DatabricksIntegrationAccountResponse>
+ */
+ public CompletableFuture
+ updateDatabricksIntegrationAccountAsync(
+ String accountId, DatabricksIntegrationAccountUpdateRequest body) {
+ return updateDatabricksIntegrationAccountWithHttpInfoAsync(accountId, body)
+ .thenApply(
+ response -> {
+ return response.getData();
+ });
+ }
+
+ /**
+ * Update a Databricks integration account. Only the fields provided are changed.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return ApiResponse<DatabricksIntegrationAccountResponse>
+ * @throws ApiException if fails to make API call
+ * @http.response.details
+ *
+ * Response details
+ * | Status Code | Description | Response Headers |
+ * | 200 | OK | - |
+ * | 400 | Bad Request | - |
+ * | 403 | Forbidden | - |
+ * | 404 | Not Found | - |
+ * | 422 | The server cannot process the request because it contains invalid data. | - |
+ * | 429 | Too many requests | - |
+ *
+ */
+ public ApiResponse
+ updateDatabricksIntegrationAccountWithHttpInfo(
+ String accountId, DatabricksIntegrationAccountUpdateRequest body) throws ApiException {
+ // Check if unstable operation is enabled
+ String operationId = "updateDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " updateDatabricksIntegrationAccount");
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ throw new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling updateDatabricksIntegrationAccount");
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/databricks/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.updateDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ return apiClient.invokeAPI(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+
+ /**
+ * Update a Databricks integration account.
+ *
+ * See {@link #updateDatabricksIntegrationAccountWithHttpInfo}.
+ *
+ * @param accountId Unique identifier of the integration account. (required)
+ * @param body (required)
+ * @return CompletableFuture<ApiResponse<DatabricksIntegrationAccountResponse>>
+ */
+ public CompletableFuture>
+ updateDatabricksIntegrationAccountWithHttpInfoAsync(
+ String accountId, DatabricksIntegrationAccountUpdateRequest body) {
+ // Check if unstable operation is enabled
+ String operationId = "updateDatabricksIntegrationAccount";
+ if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
+ apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
+ } else {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
+ return result;
+ }
+ Object localVarPostBody = body;
+
+ // verify the required parameter 'accountId' is set
+ if (accountId == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'accountId' when calling"
+ + " updateDatabricksIntegrationAccount"));
+ return result;
+ }
+
+ // verify the required parameter 'body' is set
+ if (body == null) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(
+ new ApiException(
+ 400,
+ "Missing the required parameter 'body' when calling"
+ + " updateDatabricksIntegrationAccount"));
+ return result;
+ }
+ // create path and map variables
+ String localVarPath =
+ "/api/v2/integration-interfaces/databricks/accounts/{account_id}"
+ .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString()));
+
+ Map localVarHeaderParams = new HashMap();
+
+ Invocation.Builder builder;
+ try {
+ builder =
+ apiClient.createBuilder(
+ "v2.DatabricksIntegrationApi.updateDatabricksIntegrationAccount",
+ localVarPath,
+ new ArrayList(),
+ localVarHeaderParams,
+ new HashMap(),
+ new String[] {"application/json"},
+ new String[] {"apiKeyAuth", "appKeyAuth"});
+ } catch (ApiException ex) {
+ CompletableFuture> result =
+ new CompletableFuture<>();
+ result.completeExceptionally(ex);
+ return result;
+ }
+ return apiClient.invokeAPIAsync(
+ "PATCH",
+ builder,
+ localVarHeaderParams,
+ new String[] {"application/json"},
+ localVarPostBody,
+ new HashMap(),
+ false,
+ new GenericType() {});
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowRequest.java
new file mode 100644
index 00000000000..190cfb8668c
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowRequest.java
@@ -0,0 +1,184 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Cost data collected from your Databricks system tables. 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.
+ */
+@JsonPropertyOrder({
+ DatabricksCloudCostMetricsIntegrationDataflowRequest.JSON_PROPERTY_ENABLED,
+ DatabricksCloudCostMetricsIntegrationDataflowRequest.JSON_PROPERTY_SETTINGS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksCloudCostMetricsIntegrationDataflowRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_SETTINGS = "settings";
+ private DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest settings;
+
+ public DatabricksCloudCostMetricsIntegrationDataflowRequest enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether Datadog collects this data. Defaults to false; set to true to
+ * start collection.
+ *
+ * @return enabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public DatabricksCloudCostMetricsIntegrationDataflowRequest settings(
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest settings) {
+ this.settings = settings;
+ this.unparsed |= settings.unparsed;
+ return this;
+ }
+
+ /**
+ * Settings of the Cloud Cost Management dataflow. Only the fields provided are changed.
+ *
+ * @return settings
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SETTINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest getSettings() {
+ return settings;
+ }
+
+ public void setSettings(DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest settings) {
+ this.settings = settings;
+ if (settings != null) {
+ this.unparsed |= settings.unparsed;
+ }
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksCloudCostMetricsIntegrationDataflowRequest
+ */
+ @JsonAnySetter
+ public DatabricksCloudCostMetricsIntegrationDataflowRequest putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this DatabricksCloudCostMetricsIntegrationDataflowRequest object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksCloudCostMetricsIntegrationDataflowRequest
+ databricksCloudCostMetricsIntegrationDataflowRequest =
+ (DatabricksCloudCostMetricsIntegrationDataflowRequest) o;
+ return Objects.equals(
+ this.enabled, databricksCloudCostMetricsIntegrationDataflowRequest.enabled)
+ && Objects.equals(
+ this.settings, databricksCloudCostMetricsIntegrationDataflowRequest.settings)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksCloudCostMetricsIntegrationDataflowRequest.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, settings, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksCloudCostMetricsIntegrationDataflowRequest {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" settings: ").append(toIndentedString(settings)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowResponse.java
new file mode 100644
index 00000000000..19e1f51b89e
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowResponse.java
@@ -0,0 +1,182 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Cost data collected from your Databricks system tables. Requires Cloud Cost Management to be set up
+ * for your organization.
+ */
+@JsonPropertyOrder({
+ DatabricksCloudCostMetricsIntegrationDataflowResponse.JSON_PROPERTY_ENABLED,
+ DatabricksCloudCostMetricsIntegrationDataflowResponse.JSON_PROPERTY_SETTINGS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksCloudCostMetricsIntegrationDataflowResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_SETTINGS = "settings";
+ private DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse settings;
+
+ public DatabricksCloudCostMetricsIntegrationDataflowResponse enabled(Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether Datadog collects this data. Set to false to stop collection.
+ *
+ * @return enabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public DatabricksCloudCostMetricsIntegrationDataflowResponse settings(
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse settings) {
+ this.settings = settings;
+ this.unparsed |= settings.unparsed;
+ return this;
+ }
+
+ /**
+ * Settings of the Cloud Cost Management dataflow.
+ *
+ * @return settings
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SETTINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse getSettings() {
+ return settings;
+ }
+
+ public void setSettings(DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse settings) {
+ this.settings = settings;
+ if (settings != null) {
+ this.unparsed |= settings.unparsed;
+ }
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksCloudCostMetricsIntegrationDataflowResponse
+ */
+ @JsonAnySetter
+ public DatabricksCloudCostMetricsIntegrationDataflowResponse putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this DatabricksCloudCostMetricsIntegrationDataflowResponse object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksCloudCostMetricsIntegrationDataflowResponse
+ databricksCloudCostMetricsIntegrationDataflowResponse =
+ (DatabricksCloudCostMetricsIntegrationDataflowResponse) o;
+ return Objects.equals(
+ this.enabled, databricksCloudCostMetricsIntegrationDataflowResponse.enabled)
+ && Objects.equals(
+ this.settings, databricksCloudCostMetricsIntegrationDataflowResponse.settings)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksCloudCostMetricsIntegrationDataflowResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, settings, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksCloudCostMetricsIntegrationDataflowResponse {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" settings: ").append(toIndentedString(settings)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.java
new file mode 100644
index 00000000000..0d6a9565814
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.java
@@ -0,0 +1,98 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.Objects;
+
+/** Settings of the Cloud Cost Management dataflow. Only the fields provided are changed. */
+@JsonPropertyOrder({
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_CCM_COLLECT_ALL_WORKSPACES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_CCM_COLLECT_ALL_WORKSPACES =
+ "ccm_collect_all_workspaces";
+ private Boolean ccmCollectAllWorkspaces;
+
+ public DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest ccmCollectAllWorkspaces(
+ Boolean ccmCollectAllWorkspaces) {
+ this.ccmCollectAllWorkspaces = ccmCollectAllWorkspaces;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return ccmCollectAllWorkspaces
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CCM_COLLECT_ALL_WORKSPACES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getCcmCollectAllWorkspaces() {
+ return ccmCollectAllWorkspaces;
+ }
+
+ public void setCcmCollectAllWorkspaces(Boolean ccmCollectAllWorkspaces) {
+ this.ccmCollectAllWorkspaces = ccmCollectAllWorkspaces;
+ }
+
+ /**
+ * Return true if this DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest object is
+ * equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest
+ databricksCloudCostMetricsIntegrationDataflowSettingsRequest =
+ (DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest) o;
+ return Objects.equals(
+ this.ccmCollectAllWorkspaces,
+ databricksCloudCostMetricsIntegrationDataflowSettingsRequest.ccmCollectAllWorkspaces);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(ccmCollectAllWorkspaces);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest {\n");
+ sb.append(" ccmCollectAllWorkspaces: ")
+ .append(toIndentedString(ccmCollectAllWorkspaces))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.java
new file mode 100644
index 00000000000..dbbaedfea42
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.java
@@ -0,0 +1,155 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Settings of the Cloud Cost Management dataflow. */
+@JsonPropertyOrder({
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_CCM_COLLECT_ALL_WORKSPACES
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_CCM_COLLECT_ALL_WORKSPACES =
+ "ccm_collect_all_workspaces";
+ private Boolean ccmCollectAllWorkspaces;
+
+ public DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse ccmCollectAllWorkspaces(
+ Boolean ccmCollectAllWorkspaces) {
+ this.ccmCollectAllWorkspaces = ccmCollectAllWorkspaces;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return ccmCollectAllWorkspaces
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_CCM_COLLECT_ALL_WORKSPACES)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getCcmCollectAllWorkspaces() {
+ return ccmCollectAllWorkspaces;
+ }
+
+ public void setCcmCollectAllWorkspaces(Boolean ccmCollectAllWorkspaces) {
+ this.ccmCollectAllWorkspaces = ccmCollectAllWorkspaces;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse
+ */
+ @JsonAnySetter
+ public DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse object is
+ * equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse
+ databricksCloudCostMetricsIntegrationDataflowSettingsResponse =
+ (DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse) o;
+ return Objects.equals(
+ this.ccmCollectAllWorkspaces,
+ databricksCloudCostMetricsIntegrationDataflowSettingsResponse.ccmCollectAllWorkspaces)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksCloudCostMetricsIntegrationDataflowSettingsResponse.additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(ccmCollectAllWorkspaces, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse {\n");
+ sb.append(" ccmCollectAllWorkspaces: ")
+ .append(toIndentedString(ccmCollectAllWorkspaces))
+ .append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.java
new file mode 100644
index 00000000000..847be3005eb
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.java
@@ -0,0 +1,188 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks
+ * jobs.
+ */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.JSON_PROPERTY_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.JSON_PROPERTY_SETTINGS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_SETTINGS = "settings";
+ private DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest settings;
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest enabled(
+ Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether Datadog collects this data. Defaults to true; set to false to
+ * stop collection.
+ *
+ * @return enabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest settings(
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest settings) {
+ this.settings = settings;
+ this.unparsed |= settings.unparsed;
+ return this;
+ }
+
+ /**
+ * Settings of the Data Jobs Monitoring dataflow. Only the fields provided are changed.
+ *
+ * @return settings
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SETTINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest getSettings() {
+ return settings;
+ }
+
+ public void setSettings(
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest settings) {
+ this.settings = settings;
+ if (settings != null) {
+ this.unparsed |= settings.unparsed;
+ }
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest
+ */
+ @JsonAnySetter
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest object
+ * is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowRequest =
+ (DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest) o;
+ return Objects.equals(
+ this.enabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.enabled)
+ && Objects.equals(
+ this.settings,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.settings)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowRequest
+ .additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, settings, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" settings: ").append(toIndentedString(settings)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.java
new file mode 100644
index 00000000000..9d462f31ba7
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.java
@@ -0,0 +1,188 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks
+ * jobs.
+ */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.JSON_PROPERTY_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.JSON_PROPERTY_SETTINGS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_SETTINGS = "settings";
+ private DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse settings;
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse enabled(
+ Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether Datadog collects this data. Set to false to stop collection.
+ *
+ * @return enabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse settings(
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse settings) {
+ this.settings = settings;
+ this.unparsed |= settings.unparsed;
+ return this;
+ }
+
+ /**
+ * Settings of the Data Jobs Monitoring dataflow.
+ *
+ * @return settings
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SETTINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ getSettings() {
+ return settings;
+ }
+
+ public void setSettings(
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse settings) {
+ this.settings = settings;
+ if (settings != null) {
+ this.unparsed |= settings.unparsed;
+ }
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse
+ */
+ @JsonAnySetter
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse putAdditionalProperty(
+ String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse object
+ * is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowResponse =
+ (DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse) o;
+ return Objects.equals(
+ this.enabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.enabled)
+ && Objects.equals(
+ this.settings,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.settings)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowResponse
+ .additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, settings, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" settings: ").append(toIndentedString(settings)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.java
new file mode 100644
index 00000000000..c35f6d14d65
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.java
@@ -0,0 +1,277 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.Objects;
+
+/** Settings of the Data Jobs Monitoring dataflow. Only the fields provided are changed. */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_DD_API_KEY_ID,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_DD_API_KEY_SECRET,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_DJM_GLOBAL_INIT_SCRIPT_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_SCRIPT_GPUM_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_SCRIPT_LOGS_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_SERVERLESS_JOBS_ENABLED
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DD_API_KEY_ID = "dd_api_key_id";
+ private String ddApiKeyId;
+
+ public static final String JSON_PROPERTY_DD_API_KEY_SECRET = "dd_api_key_secret";
+ private String ddApiKeySecret;
+
+ public static final String JSON_PROPERTY_DJM_GLOBAL_INIT_SCRIPT_ENABLED =
+ "djm_global_init_script_enabled";
+ private Boolean djmGlobalInitScriptEnabled;
+
+ public static final String JSON_PROPERTY_SCRIPT_GPUM_ENABLED = "script_gpum_enabled";
+ private Boolean scriptGpumEnabled;
+
+ public static final String JSON_PROPERTY_SCRIPT_LOGS_ENABLED = "script_logs_enabled";
+ private Boolean scriptLogsEnabled;
+
+ public static final String JSON_PROPERTY_SERVERLESS_JOBS_ENABLED = "serverless_jobs_enabled";
+ private Boolean serverlessJobsEnabled;
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest ddApiKeyId(
+ String ddApiKeyId) {
+ this.ddApiKeyId = ddApiKeyId;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return ddApiKeyId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DD_API_KEY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDdApiKeyId() {
+ return ddApiKeyId;
+ }
+
+ public void setDdApiKeyId(String ddApiKeyId) {
+ this.ddApiKeyId = ddApiKeyId;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest ddApiKeySecret(
+ String ddApiKeySecret) {
+ this.ddApiKeySecret = ddApiKeySecret;
+ return this;
+ }
+
+ /**
+ * Secret value of the Datadog API key identified by dd_api_key_id.
+ *
+ * @return ddApiKeySecret
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DD_API_KEY_SECRET)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDdApiKeySecret() {
+ return ddApiKeySecret;
+ }
+
+ public void setDdApiKeySecret(String ddApiKeySecret) {
+ this.ddApiKeySecret = ddApiKeySecret;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ djmGlobalInitScriptEnabled(Boolean djmGlobalInitScriptEnabled) {
+ this.djmGlobalInitScriptEnabled = djmGlobalInitScriptEnabled;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return djmGlobalInitScriptEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DJM_GLOBAL_INIT_SCRIPT_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getDjmGlobalInitScriptEnabled() {
+ return djmGlobalInitScriptEnabled;
+ }
+
+ public void setDjmGlobalInitScriptEnabled(Boolean djmGlobalInitScriptEnabled) {
+ this.djmGlobalInitScriptEnabled = djmGlobalInitScriptEnabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ scriptGpumEnabled(Boolean scriptGpumEnabled) {
+ this.scriptGpumEnabled = scriptGpumEnabled;
+ return this;
+ }
+
+ /**
+ * 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
+ * .
+ *
+ * @return scriptGpumEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SCRIPT_GPUM_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getScriptGpumEnabled() {
+ return scriptGpumEnabled;
+ }
+
+ public void setScriptGpumEnabled(Boolean scriptGpumEnabled) {
+ this.scriptGpumEnabled = scriptGpumEnabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ scriptLogsEnabled(Boolean scriptLogsEnabled) {
+ this.scriptLogsEnabled = scriptLogsEnabled;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return scriptLogsEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SCRIPT_LOGS_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getScriptLogsEnabled() {
+ return scriptLogsEnabled;
+ }
+
+ public void setScriptLogsEnabled(Boolean scriptLogsEnabled) {
+ this.scriptLogsEnabled = scriptLogsEnabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ serverlessJobsEnabled(Boolean serverlessJobsEnabled) {
+ this.serverlessJobsEnabled = serverlessJobsEnabled;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return serverlessJobsEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SERVERLESS_JOBS_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getServerlessJobsEnabled() {
+ return serverlessJobsEnabled;
+ }
+
+ public void setServerlessJobsEnabled(Boolean serverlessJobsEnabled) {
+ this.serverlessJobsEnabled = serverlessJobsEnabled;
+ }
+
+ /**
+ * Return true if this DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ * object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest =
+ (DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest) o;
+ return Objects.equals(
+ this.ddApiKeyId,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ddApiKeyId)
+ && Objects.equals(
+ this.ddApiKeySecret,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .ddApiKeySecret)
+ && Objects.equals(
+ this.djmGlobalInitScriptEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .djmGlobalInitScriptEnabled)
+ && Objects.equals(
+ this.scriptGpumEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .scriptGpumEnabled)
+ && Objects.equals(
+ this.scriptLogsEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .scriptLogsEnabled)
+ && Objects.equals(
+ this.serverlessJobsEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ .serverlessJobsEnabled);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ ddApiKeyId,
+ ddApiKeySecret,
+ djmGlobalInitScriptEnabled,
+ scriptGpumEnabled,
+ scriptLogsEnabled,
+ serverlessJobsEnabled);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(
+ "class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest {\n");
+ sb.append(" ddApiKeyId: ").append(toIndentedString(ddApiKeyId)).append("\n");
+ sb.append(" ddApiKeySecret: ").append(toIndentedString(ddApiKeySecret)).append("\n");
+ sb.append(" djmGlobalInitScriptEnabled: ")
+ .append(toIndentedString(djmGlobalInitScriptEnabled))
+ .append("\n");
+ sb.append(" scriptGpumEnabled: ").append(toIndentedString(scriptGpumEnabled)).append("\n");
+ sb.append(" scriptLogsEnabled: ").append(toIndentedString(scriptLogsEnabled)).append("\n");
+ sb.append(" serverlessJobsEnabled: ")
+ .append(toIndentedString(serverlessJobsEnabled))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.java
new file mode 100644
index 00000000000..81ad4fb0b2d
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.java
@@ -0,0 +1,299 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Settings of the Data Jobs Monitoring dataflow. */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_DD_API_KEY_ID,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_DJM_GLOBAL_INIT_SCRIPT_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_SCRIPT_GPUM_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_SCRIPT_LOGS_ENABLED,
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_SERVERLESS_JOBS_ENABLED
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DD_API_KEY_ID = "dd_api_key_id";
+ private String ddApiKeyId;
+
+ public static final String JSON_PROPERTY_DJM_GLOBAL_INIT_SCRIPT_ENABLED =
+ "djm_global_init_script_enabled";
+ private Boolean djmGlobalInitScriptEnabled;
+
+ public static final String JSON_PROPERTY_SCRIPT_GPUM_ENABLED = "script_gpum_enabled";
+ private Boolean scriptGpumEnabled;
+
+ public static final String JSON_PROPERTY_SCRIPT_LOGS_ENABLED = "script_logs_enabled";
+ private Boolean scriptLogsEnabled;
+
+ public static final String JSON_PROPERTY_SERVERLESS_JOBS_ENABLED = "serverless_jobs_enabled";
+ private Boolean serverlessJobsEnabled;
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse ddApiKeyId(
+ String ddApiKeyId) {
+ this.ddApiKeyId = ddApiKeyId;
+ return this;
+ }
+
+ /**
+ * ID of the Datadog API key the global init script uses to submit data.
+ *
+ * @return ddApiKeyId
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DD_API_KEY_ID)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDdApiKeyId() {
+ return ddApiKeyId;
+ }
+
+ public void setDdApiKeyId(String ddApiKeyId) {
+ this.ddApiKeyId = ddApiKeyId;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ djmGlobalInitScriptEnabled(Boolean djmGlobalInitScriptEnabled) {
+ this.djmGlobalInitScriptEnabled = djmGlobalInitScriptEnabled;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return djmGlobalInitScriptEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DJM_GLOBAL_INIT_SCRIPT_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getDjmGlobalInitScriptEnabled() {
+ return djmGlobalInitScriptEnabled;
+ }
+
+ public void setDjmGlobalInitScriptEnabled(Boolean djmGlobalInitScriptEnabled) {
+ this.djmGlobalInitScriptEnabled = djmGlobalInitScriptEnabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ scriptGpumEnabled(Boolean scriptGpumEnabled) {
+ this.scriptGpumEnabled = scriptGpumEnabled;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return scriptGpumEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SCRIPT_GPUM_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getScriptGpumEnabled() {
+ return scriptGpumEnabled;
+ }
+
+ public void setScriptGpumEnabled(Boolean scriptGpumEnabled) {
+ this.scriptGpumEnabled = scriptGpumEnabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ scriptLogsEnabled(Boolean scriptLogsEnabled) {
+ this.scriptLogsEnabled = scriptLogsEnabled;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return scriptLogsEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SCRIPT_LOGS_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getScriptLogsEnabled() {
+ return scriptLogsEnabled;
+ }
+
+ public void setScriptLogsEnabled(Boolean scriptLogsEnabled) {
+ this.scriptLogsEnabled = scriptLogsEnabled;
+ }
+
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ serverlessJobsEnabled(Boolean serverlessJobsEnabled) {
+ this.serverlessJobsEnabled = serverlessJobsEnabled;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return serverlessJobsEnabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SERVERLESS_JOBS_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getServerlessJobsEnabled() {
+ return serverlessJobsEnabled;
+ }
+
+ public void setServerlessJobsEnabled(Boolean serverlessJobsEnabled) {
+ this.serverlessJobsEnabled = serverlessJobsEnabled;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ */
+ @JsonAnySetter
+ public DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this
+ * DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse object is equal to
+ * o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse =
+ (DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse) o;
+ return Objects.equals(
+ this.ddApiKeyId,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ddApiKeyId)
+ && Objects.equals(
+ this.djmGlobalInitScriptEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .djmGlobalInitScriptEnabled)
+ && Objects.equals(
+ this.scriptGpumEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .scriptGpumEnabled)
+ && Objects.equals(
+ this.scriptLogsEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .scriptLogsEnabled)
+ && Objects.equals(
+ this.serverlessJobsEnabled,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .serverlessJobsEnabled)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse
+ .additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ ddApiKeyId,
+ djmGlobalInitScriptEnabled,
+ scriptGpumEnabled,
+ scriptLogsEnabled,
+ serverlessJobsEnabled,
+ additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(
+ "class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse {\n");
+ sb.append(" ddApiKeyId: ").append(toIndentedString(ddApiKeyId)).append("\n");
+ sb.append(" djmGlobalInitScriptEnabled: ")
+ .append(toIndentedString(djmGlobalInitScriptEnabled))
+ .append("\n");
+ sb.append(" scriptGpumEnabled: ").append(toIndentedString(scriptGpumEnabled)).append("\n");
+ sb.append(" scriptLogsEnabled: ").append(toIndentedString(scriptLogsEnabled)).append("\n");
+ sb.append(" serverlessJobsEnabled: ")
+ .append(toIndentedString(serverlessJobsEnabled))
+ .append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.java
new file mode 100644
index 00000000000..158c341f2d8
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.java
@@ -0,0 +1,189 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Data 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.
+ */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.JSON_PROPERTY_ENABLED,
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.JSON_PROPERTY_SETTINGS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_SETTINGS = "settings";
+ private DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest settings;
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest enabled(
+ Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether Datadog collects this data. Defaults to false; set to true to
+ * start collection.
+ *
+ * @return enabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest settings(
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest settings) {
+ this.settings = settings;
+ this.unparsed |= settings.unparsed;
+ return this;
+ }
+
+ /**
+ * Settings of the Data Observability dataflow. Only the fields provided are changed.
+ *
+ * @return settings
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SETTINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ getSettings() {
+ return settings;
+ }
+
+ public void setSettings(
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest settings) {
+ this.settings = settings;
+ if (settings != null) {
+ this.unparsed |= settings.unparsed;
+ }
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest
+ */
+ @JsonAnySetter
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest
+ putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest
+ * object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowRequest =
+ (DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest) o;
+ return Objects.equals(
+ this.enabled,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.enabled)
+ && Objects.equals(
+ this.settings,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.settings)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowRequest
+ .additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, settings, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" settings: ").append(toIndentedString(settings)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.java
new file mode 100644
index 00000000000..5b1f69891b5
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.java
@@ -0,0 +1,188 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * Data 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.
+ */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.JSON_PROPERTY_ENABLED,
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.JSON_PROPERTY_SETTINGS
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_ENABLED = "enabled";
+ private Boolean enabled;
+
+ public static final String JSON_PROPERTY_SETTINGS = "settings";
+ private DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse settings;
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse enabled(
+ Boolean enabled) {
+ this.enabled = enabled;
+ return this;
+ }
+
+ /**
+ * Whether Datadog collects this data. Set to false to stop collection.
+ *
+ * @return enabled
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_ENABLED)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(Boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse settings(
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse settings) {
+ this.settings = settings;
+ this.unparsed |= settings.unparsed;
+ return this;
+ }
+
+ /**
+ * Settings of the Data Observability dataflow.
+ *
+ * @return settings
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SETTINGS)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ getSettings() {
+ return settings;
+ }
+
+ public void setSettings(
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse settings) {
+ this.settings = settings;
+ if (settings != null) {
+ this.unparsed |= settings.unparsed;
+ }
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse
+ */
+ @JsonAnySetter
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse
+ putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse
+ * object is equal to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowResponse =
+ (DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse) o;
+ return Objects.equals(
+ this.enabled,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.enabled)
+ && Objects.equals(
+ this.settings,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.settings)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowResponse
+ .additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(enabled, settings, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse {\n");
+ sb.append(" enabled: ").append(toIndentedString(enabled)).append("\n");
+ sb.append(" settings: ").append(toIndentedString(settings)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.java
new file mode 100644
index 00000000000..64a41ea4481
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.java
@@ -0,0 +1,130 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.Objects;
+
+/** Settings of the Data Observability dataflow. Only the fields provided are changed. */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_DO_CRAWLERS_CRON,
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ .JSON_PROPERTY_SYNC_SYSTEM_CATALOG
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DO_CRAWLERS_CRON = "do_crawlers_cron";
+ private String doCrawlersCron;
+
+ public static final String JSON_PROPERTY_SYNC_SYSTEM_CATALOG = "sync_system_catalog";
+ private Boolean syncSystemCatalog;
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ doCrawlersCron(String doCrawlersCron) {
+ this.doCrawlersCron = doCrawlersCron;
+ return this;
+ }
+
+ /**
+ * 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.
+ *
+ * @return doCrawlersCron
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DO_CRAWLERS_CRON)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDoCrawlersCron() {
+ return doCrawlersCron;
+ }
+
+ public void setDoCrawlersCron(String doCrawlersCron) {
+ this.doCrawlersCron = doCrawlersCron;
+ }
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ syncSystemCatalog(Boolean syncSystemCatalog) {
+ this.syncSystemCatalog = syncSystemCatalog;
+ return this;
+ }
+
+ /**
+ * Whether metadata from the Databricks system catalog is included in Data
+ * Observability alongside your data catalogs. Defaults to false.
+ *
+ * @return syncSystemCatalog
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SYNC_SYSTEM_CATALOG)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getSyncSystemCatalog() {
+ return syncSystemCatalog;
+ }
+
+ public void setSyncSystemCatalog(Boolean syncSystemCatalog) {
+ this.syncSystemCatalog = syncSystemCatalog;
+ }
+
+ /**
+ * Return true if this
+ * DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest object is equal
+ * to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest =
+ (DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest) o;
+ return Objects.equals(
+ this.doCrawlersCron,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ .doCrawlersCron)
+ && Objects.equals(
+ this.syncSystemCatalog,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ .syncSystemCatalog);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(doCrawlersCron, syncSystemCatalog);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(
+ "class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest {\n");
+ sb.append(" doCrawlersCron: ").append(toIndentedString(doCrawlersCron)).append("\n");
+ sb.append(" syncSystemCatalog: ").append(toIndentedString(syncSystemCatalog)).append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.java
new file mode 100644
index 00000000000..c72d723acfb
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.java
@@ -0,0 +1,189 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** Settings of the Data Observability dataflow. */
+@JsonPropertyOrder({
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_DO_CRAWLERS_CRON,
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ .JSON_PROPERTY_SYNC_SYSTEM_CATALOG
+})
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+public class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse {
+ @JsonIgnore public boolean unparsed = false;
+ public static final String JSON_PROPERTY_DO_CRAWLERS_CRON = "do_crawlers_cron";
+ private String doCrawlersCron;
+
+ public static final String JSON_PROPERTY_SYNC_SYSTEM_CATALOG = "sync_system_catalog";
+ private Boolean syncSystemCatalog;
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ doCrawlersCron(String doCrawlersCron) {
+ this.doCrawlersCron = doCrawlersCron;
+ return this;
+ }
+
+ /**
+ * Cron expression setting how often Datadog connects to your Databricks warehouse to collect
+ * metadata. Currently, only hourly (0 * * * *) and daily (0 0 * * *)
+ * are supported.
+ *
+ * @return doCrawlersCron
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_DO_CRAWLERS_CRON)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public String getDoCrawlersCron() {
+ return doCrawlersCron;
+ }
+
+ public void setDoCrawlersCron(String doCrawlersCron) {
+ this.doCrawlersCron = doCrawlersCron;
+ }
+
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ syncSystemCatalog(Boolean syncSystemCatalog) {
+ this.syncSystemCatalog = syncSystemCatalog;
+ return this;
+ }
+
+ /**
+ * Whether metadata from the Databricks system catalog is included in Data
+ * Observability alongside your data catalogs.
+ *
+ * @return syncSystemCatalog
+ */
+ @jakarta.annotation.Nullable
+ @JsonProperty(JSON_PROPERTY_SYNC_SYSTEM_CATALOG)
+ @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
+ public Boolean getSyncSystemCatalog() {
+ return syncSystemCatalog;
+ }
+
+ public void setSyncSystemCatalog(Boolean syncSystemCatalog) {
+ this.syncSystemCatalog = syncSystemCatalog;
+ }
+
+ /**
+ * A container for additional, undeclared properties. This is a holder for any undeclared
+ * properties as specified with the 'additionalProperties' keyword in the OAS document.
+ */
+ private Map additionalProperties;
+
+ /**
+ * Set the additional (undeclared) property with the specified name and value. If the property
+ * does not already exist, create it otherwise replace it.
+ *
+ * @param key The arbitrary key to set
+ * @param value The associated value
+ * @return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ */
+ @JsonAnySetter
+ public DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ putAdditionalProperty(String key, Object value) {
+ if (this.additionalProperties == null) {
+ this.additionalProperties = new HashMap();
+ }
+ this.additionalProperties.put(key, value);
+ return this;
+ }
+
+ /**
+ * Return the additional (undeclared) property.
+ *
+ * @return The additional properties
+ */
+ @JsonAnyGetter
+ public Map getAdditionalProperties() {
+ return additionalProperties;
+ }
+
+ /**
+ * Return the additional (undeclared) property with the specified name.
+ *
+ * @param key The arbitrary key to get
+ * @return The specific additional property for the given key
+ */
+ public Object getAdditionalProperty(String key) {
+ if (this.additionalProperties == null) {
+ return null;
+ }
+ return this.additionalProperties.get(key);
+ }
+
+ /**
+ * Return true if this
+ * DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse object is equal
+ * to o.
+ */
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse =
+ (DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse) o;
+ return Objects.equals(
+ this.doCrawlersCron,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ .doCrawlersCron)
+ && Objects.equals(
+ this.syncSystemCatalog,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ .syncSystemCatalog)
+ && Objects.equals(
+ this.additionalProperties,
+ databricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse
+ .additionalProperties);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(doCrawlersCron, syncSystemCatalog, additionalProperties);
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append(
+ "class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse"
+ + " {\n");
+ sb.append(" doCrawlersCron: ").append(toIndentedString(doCrawlersCron)).append("\n");
+ sb.append(" syncSystemCatalog: ").append(toIndentedString(syncSystemCatalog)).append("\n");
+ sb.append(" additionalProperties: ")
+ .append(toIndentedString(additionalProperties))
+ .append("\n");
+ sb.append('}');
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces (except the first line).
+ */
+ private String toIndentedString(Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
diff --git a/src/main/java/com/datadog/api/client/v2/model/DatabricksIntegrationAccountAuthenticationRequest.java b/src/main/java/com/datadog/api/client/v2/model/DatabricksIntegrationAccountAuthenticationRequest.java
new file mode 100644
index 00000000000..2a599373480
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksIntegrationAccountAuthenticationRequest.java
@@ -0,0 +1,330 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.datadog.api.client.AbstractOpenApiSchema;
+import com.datadog.api.client.JSON;
+import com.datadog.api.client.UnparsedObject;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.JsonToken;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.MapperFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
+import com.fasterxml.jackson.databind.ser.std.StdSerializer;
+import jakarta.ws.rs.core.GenericType;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+@jakarta.annotation.Generated(
+ value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
+@JsonDeserialize(
+ using =
+ DatabricksIntegrationAccountAuthenticationRequest
+ .DatabricksIntegrationAccountAuthenticationRequestDeserializer.class)
+@JsonSerialize(
+ using =
+ DatabricksIntegrationAccountAuthenticationRequest
+ .DatabricksIntegrationAccountAuthenticationRequestSerializer.class)
+public class DatabricksIntegrationAccountAuthenticationRequest extends AbstractOpenApiSchema {
+ private static final Logger log =
+ Logger.getLogger(DatabricksIntegrationAccountAuthenticationRequest.class.getName());
+
+ @JsonIgnore public boolean unparsed = false;
+
+ public static class DatabricksIntegrationAccountAuthenticationRequestSerializer
+ extends StdSerializer {
+ public DatabricksIntegrationAccountAuthenticationRequestSerializer(
+ Class t) {
+ super(t);
+ }
+
+ public DatabricksIntegrationAccountAuthenticationRequestSerializer() {
+ this(null);
+ }
+
+ @Override
+ public void serialize(
+ DatabricksIntegrationAccountAuthenticationRequest value,
+ JsonGenerator jgen,
+ SerializerProvider provider)
+ throws IOException, JsonProcessingException {
+ jgen.writeObject(value.getActualInstance());
+ }
+ }
+
+ public static class DatabricksIntegrationAccountAuthenticationRequestDeserializer
+ extends StdDeserializer {
+ public DatabricksIntegrationAccountAuthenticationRequestDeserializer() {
+ this(DatabricksIntegrationAccountAuthenticationRequest.class);
+ }
+
+ public DatabricksIntegrationAccountAuthenticationRequestDeserializer(Class> vc) {
+ super(vc);
+ }
+
+ @Override
+ public DatabricksIntegrationAccountAuthenticationRequest deserialize(
+ JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
+ JsonNode tree = jp.readValueAsTree();
+ Object deserialized = null;
+ Object tmp = null;
+ boolean typeCoercion = ctxt.isEnabled(MapperFeature.ALLOW_COERCION_OF_SCALARS);
+ int match = 0;
+ JsonToken token = tree.traverse(jp.getCodec()).nextToken();
+ // deserialize DatabricksIntegrationAccountOAuthAuthRequest
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Integer.class)
+ || DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Long.class)
+ || DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Float.class)
+ || DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Double.class)
+ || DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Boolean.class)
+ || DatabricksIntegrationAccountOAuthAuthRequest.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Integer.class)
+ || DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Float.class)
+ || DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (DatabricksIntegrationAccountOAuthAuthRequest.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (DatabricksIntegrationAccountOAuthAuthRequest.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp =
+ tree.traverse(jp.getCodec())
+ .readValueAs(DatabricksIntegrationAccountOAuthAuthRequest.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((DatabricksIntegrationAccountOAuthAuthRequest) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(
+ Level.FINER,
+ "Input data matches schema 'DatabricksIntegrationAccountOAuthAuthRequest'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'DatabricksIntegrationAccountOAuthAuthRequest'",
+ e);
+ }
+
+ // deserialize IntegrationAccountPrivateActionRunnerAuthRequest
+ try {
+ boolean attemptParsing = true;
+ // ensure that we respect type coercion as set on the client ObjectMapper
+ if (IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Integer.class)
+ || IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Long.class)
+ || IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Float.class)
+ || IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Double.class)
+ || IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Boolean.class)
+ || IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(String.class)) {
+ attemptParsing = typeCoercion;
+ if (!attemptParsing) {
+ attemptParsing |=
+ ((IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Integer.class)
+ || IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(
+ Long.class))
+ && token == JsonToken.VALUE_NUMBER_INT);
+ attemptParsing |=
+ ((IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Float.class)
+ || IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(
+ Double.class))
+ && (token == JsonToken.VALUE_NUMBER_FLOAT
+ || token == JsonToken.VALUE_NUMBER_INT));
+ attemptParsing |=
+ (IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(Boolean.class)
+ && (token == JsonToken.VALUE_FALSE || token == JsonToken.VALUE_TRUE));
+ attemptParsing |=
+ (IntegrationAccountPrivateActionRunnerAuthRequest.class.equals(String.class)
+ && token == JsonToken.VALUE_STRING);
+ }
+ }
+ if (attemptParsing) {
+ tmp =
+ tree.traverse(jp.getCodec())
+ .readValueAs(IntegrationAccountPrivateActionRunnerAuthRequest.class);
+ // TODO: there is no validation against JSON schema constraints
+ // (min, max, enum, pattern...), this does not perform a strict JSON
+ // validation, which means the 'match' count may be higher than it should be.
+ if (!((IntegrationAccountPrivateActionRunnerAuthRequest) tmp).unparsed) {
+ deserialized = tmp;
+ match++;
+ }
+ log.log(
+ Level.FINER,
+ "Input data matches schema 'IntegrationAccountPrivateActionRunnerAuthRequest'");
+ }
+ } catch (Exception e) {
+ // deserialization failed, continue
+ log.log(
+ Level.FINER,
+ "Input data does not match schema 'IntegrationAccountPrivateActionRunnerAuthRequest'",
+ e);
+ }
+
+ DatabricksIntegrationAccountAuthenticationRequest ret =
+ new DatabricksIntegrationAccountAuthenticationRequest();
+ if (match == 1) {
+ ret.setActualInstance(deserialized);
+ } else {
+ Map res =
+ new ObjectMapper()
+ .readValue(
+ tree.traverse(jp.getCodec()).readValueAsTree().toString(),
+ new TypeReference