diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index 682c9d1e9b3..8b755085146 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -31394,6 +31394,514 @@ components:
required:
- databaseMonitoringTrigger
type: object
+ DatabricksCloudCostMetricsIntegrationDataflowRequest:
+ description: The Databricks cloud cost metrics dataflow.
+ properties:
+ enabled:
+ description: Whether the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ settings:
+ $ref: '#/components/schemas/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest'
+ type: object
+ DatabricksCloudCostMetricsIntegrationDataflowResponse:
+ description: The Databricks cloud cost metrics dataflow.
+ properties:
+ enabled:
+ description: Whether the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ settings:
+ $ref: '#/components/schemas/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse'
+ type: object
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest:
+ additionalProperties: false
+ description: Settings of the Databricks cloud cost metrics 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.
+ example: true
+ type: boolean
+ type: object
+ DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse:
+ description: Settings of the Databricks cloud cost metrics dataflow.
+ properties:
+ ccm_collect_all_workspaces:
+ description: Whether cost data is collected for every workspace in the Databricks account rather than this workspace only.
+ example: true
+ type: boolean
+ type: object
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest:
+ description: The Databricks Data Jobs Monitoring dataflow.
+ properties:
+ enabled:
+ description: Whether the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ settings:
+ $ref: '#/components/schemas/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest'
+ type: object
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse:
+ description: The Databricks Data Jobs Monitoring dataflow.
+ properties:
+ enabled:
+ description: Whether the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ settings:
+ $ref: '#/components/schemas/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse'
+ type: object
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest:
+ additionalProperties: false
+ description: Settings of the Databricks 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 manages the global init script that installs the Agent on your Databricks clusters.
+ 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 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 metrics are collected from serverless jobs. These jobs run without clusters, so this does not require the global init script.
+ example: true
+ type: boolean
+ type: object
+ DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse:
+ description: Settings of the Databricks 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 manages the global init script that installs the Agent on your Databricks clusters.
+ 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 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 metrics are collected from serverless jobs. These jobs run without clusters, so this does not require the global init script.
+ example: true
+ type: boolean
+ type: object
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest:
+ description: The Databricks data observability quality monitoring dataflow.
+ properties:
+ enabled:
+ description: Whether the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ settings:
+ $ref: '#/components/schemas/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest'
+ type: object
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse:
+ description: The Databricks data observability quality monitoring dataflow.
+ properties:
+ enabled:
+ description: Whether the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ settings:
+ $ref: '#/components/schemas/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse'
+ type: object
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest:
+ additionalProperties: false
+ description: Settings of the Databricks data observability quality monitoring dataflow. Only the fields provided are changed.
+ properties:
+ do_crawlers_cron:
+ description: >-
+ Cron expression setting how often the data observability crawlers run. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported.
+ example: "0 * * * *"
+ type: string
+ sync_system_catalog:
+ description: Whether the Databricks `system` catalog is synchronized alongside your data catalogs.
+ example: true
+ type: boolean
+ type: object
+ DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse:
+ description: Settings of the Databricks data observability quality monitoring dataflow.
+ properties:
+ do_crawlers_cron:
+ description: >-
+ Cron expression setting how often the data observability crawlers run. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported.
+ example: "0 * * * *"
+ type: string
+ sync_system_catalog:
+ description: Whether the Databricks `system` catalog is synchronized 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/DatabricksIntegrationAccountOAuthAuthUpdate'
+ - $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.
+ 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.
+ example: your-client-secret
+ type: string
+ writeOnly: true
+ required:
+ - auth_type
+ - client_id
+ - client_secret
+ type: object
+ DatabricksIntegrationAccountOAuthAuthResponse:
+ description: The Databricks OAuth authentication method and service principal configured on the account.
+ properties:
+ auth_type:
+ $ref: '#/components/schemas/DatabricksIntegrationAccountOAuthAuthType'
+ azure_tenant_id:
+ description: Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces.
+ example: 4d3bac44-0230-4732-9e70-cc00736f0a97
+ type: string
+ client_id:
+ description: Client ID of the Databricks service principal.
+ example: 5c10654a-b3a3-4840-b37f-f477590c70a0
+ type: string
+ required:
+ - auth_type
+ - client_id
+ type: object
+ DatabricksIntegrationAccountOAuthAuthType:
+ default: databricks-oauth
+ description: The authentication method type.
+ enum:
+ - databricks-oauth
+ example: databricks-oauth
+ type: string
+ x-enum-varnames:
+ - DATABRICKS_OAUTH
+ DatabricksIntegrationAccountOAuthAuthUpdate:
+ additionalProperties: false
+ description: >-
+ Databricks OAuth machine-to-machine authentication using a service principal. Omit `client_secret` to keep the stored one; `client_id` must be provided on every submission. 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.
+ example: your-client-secret
+ type: string
+ writeOnly: true
+ required:
+ - auth_type
+ - client_id
+ type: object
+ 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. Omit `token` to keep the stored one.
+ 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
+ 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.
+ 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.
+ example: aba7c023d4172910
+ type: string
+ workspace_url:
+ description: URL of the Databricks workspace.
+ example: "https://dbc-1234abcd.cloud.databricks.com"
+ type: string
+ type: object
+ DatabricksIntegrationAccountUpdateAttributes:
+ description: >-
+ Writable attributes used to update a Databricks integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration, as do the settings of an included dataflow that provides only `enabled`.
+ properties:
+ authentication:
+ $ref: '#/components/schemas/DatabricksIntegrationAccountAuthenticationUpdate'
+ dataflows:
+ $ref: '#/components/schemas/DatabricksIntegrationDataflowsRequest'
+ name:
+ description: Human-readable name of the Databricks integration account.
+ example: My Databricks Workspace
+ type: string
+ settings:
+ $ref: '#/components/schemas/DatabricksIntegrationAccountSettingsUpdate'
+ type: object
+ DatabricksIntegrationAccountUpdateData:
+ description: Data envelope for updating a Databricks integration account.
+ properties:
+ attributes:
+ $ref: '#/components/schemas/DatabricksIntegrationAccountUpdateAttributes'
+ id:
+ description: Unique identifier of the Databricks integration account to update.
+ example: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f
+ type: string
+ type:
+ $ref: '#/components/schemas/IntegrationAccountType'
+ required:
+ - id
+ - type
+ - attributes
+ type: object
+ DatabricksIntegrationAccountUpdateRequest:
+ description: Request payload to update a Databricks integration account.
+ properties:
+ data:
+ $ref: '#/components/schemas/DatabricksIntegrationAccountUpdateData'
+ required:
+ - data
+ type: object
+ DatabricksIntegrationAccountsResponse:
+ description: Response payload for a list of Databricks integration accounts.
+ properties:
+ data:
+ description: List of Databricks integration accounts.
+ items:
+ $ref: '#/components/schemas/DatabricksIntegrationAccountResponseData'
+ type: array
+ required:
+ - data
+ type: object
+ DatabricksIntegrationDataflowsRequest:
+ additionalProperties: false
+ description: >-
+ Dataflows to configure on the Databricks integration account, keyed by dataflow id. Some dataflows and settings have prerequisites, noted on each. Those prerequisites are not checked when the request is made, so anything left enabled without them 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: Dataflows configured on the Databricks integration account, 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: >-
+ The Databricks model serving metrics dataflow. 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 the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
+ DatabricksModelServingMetricsIntegrationDataflowResponse:
+ description: >-
+ The Databricks model serving metrics dataflow. 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 the Databricks dataflow is enabled.
+ example: true
+ type: boolean
+ type: object
DatadogAPIKey:
description: The definition of the `DatadogAPIKey` object.
properties:
@@ -53551,6 +54059,61 @@ 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
+ 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
+ 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`.
@@ -159786,6 +160349,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 Accounts
+ "x-permission":
+ operator: OR
+ permissions:
+ - integrations_read
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ 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 Accounts
+ x-codegen-request-body-name: body
+ "x-permission":
+ operator: OR
+ permissions:
+ - manage_integrations
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ 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 Accounts
+ "x-permission":
+ operator: OR
+ permissions:
+ - manage_integrations
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ 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 Accounts
+ "x-permission":
+ operator: OR
+ permissions:
+ - integrations_read
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ 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 Accounts
+ x-codegen-request-body-name: body
+ "x-permission":
+ operator: OR
+ permissions:
+ - manage_integrations
+ x-unstable: |-
+ **Note**: This endpoint is in public beta.
+ 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.
@@ -223247,6 +224108,18 @@ tags:
name: Data Deletion
- description: Manage and run data observability monitors.
name: Data Observability
+ - description: |-
+ Manage your Datadog Databricks integration accounts directly through the Datadog API.
+ Create, update, and delete accounts, configure authentication and settings, and
+ enable or disable dataflows such as Data Jobs Monitoring, cloud cost metrics,
+ data quality monitoring, and model serving metrics, along with their per-dataflow
+ settings for serverless jobs, cluster logs, and GPU metrics. 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 Accounts
- 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-accounts/CreateDatabricksIntegrationAccount.java b/examples/v2/databricks-integration-accounts/CreateDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..32eb019e8b6
--- /dev/null
+++ b/examples/v2/databricks-integration-accounts/CreateDatabricksIntegrationAccount.java
@@ -0,0 +1,97 @@
+// 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.DatabricksIntegrationAccountsApi;
+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);
+ DatabricksIntegrationAccountsApi apiInstance =
+ new DatabricksIntegrationAccountsApi(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"
+ + " DatabricksIntegrationAccountsApi#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-accounts/DeleteDatabricksIntegrationAccount.java b/examples/v2/databricks-integration-accounts/DeleteDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..3cf9edd4bfb
--- /dev/null
+++ b/examples/v2/databricks-integration-accounts/DeleteDatabricksIntegrationAccount.java
@@ -0,0 +1,26 @@
+// 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.DatabricksIntegrationAccountsApi;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = ApiClient.getDefaultApiClient();
+ defaultClient.setUnstableOperationEnabled("v2.deleteDatabricksIntegrationAccount", true);
+ DatabricksIntegrationAccountsApi apiInstance =
+ new DatabricksIntegrationAccountsApi(defaultClient);
+
+ try {
+ apiInstance.deleteDatabricksIntegrationAccount("account_id");
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " DatabricksIntegrationAccountsApi#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-accounts/GetDatabricksIntegrationAccount.java b/examples/v2/databricks-integration-accounts/GetDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..736a9cedc2a
--- /dev/null
+++ b/examples/v2/databricks-integration-accounts/GetDatabricksIntegrationAccount.java
@@ -0,0 +1,29 @@
+// 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.DatabricksIntegrationAccountsApi;
+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);
+ DatabricksIntegrationAccountsApi apiInstance =
+ new DatabricksIntegrationAccountsApi(defaultClient);
+
+ try {
+ DatabricksIntegrationAccountResponse result =
+ apiInstance.getDatabricksIntegrationAccount("account_id");
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " DatabricksIntegrationAccountsApi#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-accounts/ListDatabricksIntegrationAccounts.java b/examples/v2/databricks-integration-accounts/ListDatabricksIntegrationAccounts.java
new file mode 100644
index 00000000000..85e2e441cea
--- /dev/null
+++ b/examples/v2/databricks-integration-accounts/ListDatabricksIntegrationAccounts.java
@@ -0,0 +1,29 @@
+// 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.DatabricksIntegrationAccountsApi;
+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);
+ DatabricksIntegrationAccountsApi apiInstance =
+ new DatabricksIntegrationAccountsApi(defaultClient);
+
+ try {
+ DatabricksIntegrationAccountsResponse result =
+ apiInstance.listDatabricksIntegrationAccounts();
+ System.out.println(result);
+ } catch (ApiException e) {
+ System.err.println(
+ "Exception when calling"
+ + " DatabricksIntegrationAccountsApi#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-accounts/UpdateDatabricksIntegrationAccount.java b/examples/v2/databricks-integration-accounts/UpdateDatabricksIntegrationAccount.java
new file mode 100644
index 00000000000..90874a348ee
--- /dev/null
+++ b/examples/v2/databricks-integration-accounts/UpdateDatabricksIntegrationAccount.java
@@ -0,0 +1,98 @@
+// 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.DatabricksIntegrationAccountsApi;
+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.DatabricksIntegrationAccountOAuthAuthType;
+import com.datadog.api.client.v2.model.DatabricksIntegrationAccountOAuthAuthUpdate;
+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);
+ DatabricksIntegrationAccountsApi apiInstance =
+ new DatabricksIntegrationAccountsApi(defaultClient);
+
+ DatabricksIntegrationAccountUpdateRequest body =
+ new DatabricksIntegrationAccountUpdateRequest()
+ .data(
+ new DatabricksIntegrationAccountUpdateData()
+ .attributes(
+ new DatabricksIntegrationAccountUpdateAttributes()
+ .authentication(
+ new DatabricksIntegrationAccountAuthenticationUpdate(
+ new DatabricksIntegrationAccountOAuthAuthUpdate()
+ .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"
+ + " DatabricksIntegrationAccountsApi#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 a6c79c482af..99f5cdf494a 100644
--- a/src/main/java/com/datadog/api/client/ApiClient.java
+++ b/src/main/java/com/datadog/api/client/ApiClient.java
@@ -1223,6 +1223,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/DatabricksIntegrationAccountsApi.java b/src/main/java/com/datadog/api/client/v2/api/DatabricksIntegrationAccountsApi.java
new file mode 100644
index 00000000000..415d3e04e50
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/api/DatabricksIntegrationAccountsApi.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 DatabricksIntegrationAccountsApi {
+ private ApiClient apiClient;
+
+ public DatabricksIntegrationAccountsApi() {
+ this(ApiClient.getDefaultApiClient());
+ }
+
+ public DatabricksIntegrationAccountsApi(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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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.DatabricksIntegrationAccountsApi.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..683fb11db8a
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowRequest.java
@@ -0,0 +1,178 @@
+/*
+ * 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;
+
+/** The Databricks cloud cost metrics dataflow. */
+@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 the Databricks dataflow is enabled.
+ *
+ * @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 Databricks cloud cost metrics 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..acfa3f77b1f
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowResponse.java
@@ -0,0 +1,178 @@
+/*
+ * 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;
+
+/** The Databricks cloud cost metrics dataflow. */
+@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 the Databricks dataflow is enabled.
+ *
+ * @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 Databricks cloud cost metrics 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..bc66cb817a0
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.java
@@ -0,0 +1,96 @@
+/*
+ * 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 Databricks cloud cost metrics 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.
+ *
+ * @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..ef6c9e7d093
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.java
@@ -0,0 +1,153 @@
+/*
+ * 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 Databricks cloud cost metrics 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.
+ *
+ * @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..00a4fc54cf0
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.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;
+
+/** The Databricks Data Jobs Monitoring dataflow. */
+@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 the Databricks dataflow is enabled.
+ *
+ * @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 Databricks 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..349cc5f036f
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.java
@@ -0,0 +1,185 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** The Databricks Data Jobs Monitoring dataflow. */
+@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 the Databricks dataflow is enabled.
+ *
+ * @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 Databricks 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..ba8d2c265c7
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.java
@@ -0,0 +1,273 @@
+/*
+ * 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 Databricks 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 manages the global init script that installs the Agent on your Databricks
+ * clusters.
+ *
+ * @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.
+ *
+ * @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 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 DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
+ serverlessJobsEnabled(Boolean serverlessJobsEnabled) {
+ this.serverlessJobsEnabled = serverlessJobsEnabled;
+ return this;
+ }
+
+ /**
+ * Whether metrics are collected from serverless jobs. These jobs run without clusters, so this
+ * does not require the global init script.
+ *
+ * @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..ec9a3a4b27c
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.java
@@ -0,0 +1,297 @@
+/*
+ * 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 Databricks 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 manages the global init script that installs the Agent on your Databricks
+ * clusters.
+ *
+ * @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 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 metrics are collected from serverless jobs. These jobs run without clusters, so this
+ * does not require the global init script.
+ *
+ * @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..a249ebb110b
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.java
@@ -0,0 +1,186 @@
+/*
+ * 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;
+
+/** The Databricks data observability quality monitoring dataflow. */
+@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 the Databricks dataflow is enabled.
+ *
+ * @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 Databricks data observability quality monitoring 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..8b99d1d3d73
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.java
@@ -0,0 +1,185 @@
+/*
+ * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
+ * This product includes software developed at Datadog (https://www.datadoghq.com/).
+ * Copyright 2019-Present Datadog, Inc.
+ */
+
+package com.datadog.api.client.v2.model;
+
+import com.fasterxml.jackson.annotation.JsonAnyGetter;
+import com.fasterxml.jackson.annotation.JsonAnySetter;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/** The Databricks data observability quality monitoring dataflow. */
+@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 the Databricks dataflow is enabled.
+ *
+ * @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 Databricks data observability quality monitoring 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..628e06e5d85
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.java
@@ -0,0 +1,132 @@
+/*
+ * 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 Databricks data observability quality monitoring 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 the data observability crawlers run. 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 DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
+ syncSystemCatalog(Boolean syncSystemCatalog) {
+ this.syncSystemCatalog = syncSystemCatalog;
+ return this;
+ }
+
+ /**
+ * Whether the Databricks system catalog is synchronized 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;
+ }
+
+ /**
+ * 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..1440a2b17a5
--- /dev/null
+++ b/src/main/java/com/datadog/api/client/v2/model/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.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;
+
+/** Settings of the Databricks data observability quality monitoring 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 the data observability crawlers run. 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 the Databricks system catalog is synchronized 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