diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index f8d6851d8d55..687c4f3c410d 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -31891,6 +31891,516 @@ components: required: - databaseMonitoringTrigger type: object + DatabricksCloudCostMetricsIntegrationDataflowRequest: + description: >- + The Databricks cloud cost metrics dataflow. Enabling it requires [Cloud Cost Management](https://www.datadoghq.com/product/cloud-cost-management/) to be enabled for your organization; if it is not, the request is rejected with a `422` response. + 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. Requires [Cloud Cost Management](https://www.datadoghq.com/product/cloud-cost-management/) to be enabled for your organization. + 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. Unless a prerequisite is documented as rejecting the request, it is not checked when the request is made, so anything left enabled without it is stored but collects no data. + properties: + databricks-cloud-cost-metrics: + $ref: '#/components/schemas/DatabricksCloudCostMetricsIntegrationDataflowRequest' + databricks-data-observability-jobs-monitoring: + $ref: '#/components/schemas/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest' + databricks-data-observability-quality-monitoring: + $ref: '#/components/schemas/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest' + databricks-model-serving-metrics: + $ref: '#/components/schemas/DatabricksModelServingMetricsIntegrationDataflowRequest' + type: object + DatabricksIntegrationDataflowsResponse: + description: 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: @@ -54898,6 +55408,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`. @@ -163398,6 +163963,304 @@ paths: x-unstable: |- **Note**: This endpoint is in preview and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/databricks/accounts: + get: + description: List Databricks integration accounts. + operationId: ListDatabricksIntegrationAccounts + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + - attributes: + authentication: + auth_type: databricks-oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: '#/components/schemas/DatabricksIntegrationAccountsResponse' + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: List Databricks integration accounts + tags: + - Databricks Integration + "x-permission": + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + post: + description: Create a Databricks integration account. + operationId: CreateDatabricksIntegrationAccount + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DatabricksIntegrationAccountCreateRequest' + required: true + responses: + "201": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: databricks-oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: '#/components/schemas/DatabricksIntegrationAccountResponse' + description: Created + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "422": + $ref: "#/components/responses/UnprocessableEntityResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Create a Databricks integration account + tags: + - Databricks Integration + x-codegen-request-body-name: body + "x-permission": + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + /api/v2/integration-interfaces/databricks/accounts/{account_id}: + delete: + description: Delete a Databricks integration account. + operationId: DeleteDatabricksIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + responses: + "200": + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Delete a Databricks integration account + tags: + - Databricks Integration + "x-permission": + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + get: + description: Get a Databricks integration account. + operationId: GetDatabricksIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: databricks-oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: '#/components/schemas/DatabricksIntegrationAccountResponse' + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Get a Databricks integration account + tags: + - Databricks Integration + "x-permission": + operator: OR + permissions: + - integrations_read + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). + patch: + description: Update a Databricks integration account. Only the fields provided are changed. + operationId: UpdateDatabricksIntegrationAccount + parameters: + - $ref: "#/components/parameters/IntegrationAccountIdParameter" + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DatabricksIntegrationAccountUpdateRequest' + required: true + responses: + "200": + content: + application/json: + examples: + default: + value: + data: + attributes: + authentication: + auth_type: databricks-oauth + client_id: 5c10654a-b3a3-4840-b37f-f477590c70a0 + dataflows: + databricks-cloud-cost-metrics: + enabled: true + settings: + ccm_collect_all_workspaces: true + databricks-data-observability-jobs-monitoring: + enabled: true + settings: + dd_api_key_id: fe383f4e-09fc-46bf-8e10-4efdd453a646 + djm_global_init_script_enabled: true + script_gpum_enabled: false + script_logs_enabled: true + serverless_jobs_enabled: true + databricks-data-observability-quality-monitoring: + enabled: true + settings: + do_crawlers_cron: "0 * * * *" + sync_system_catalog: true + databricks-model-serving-metrics: + enabled: false + name: My Databricks Workspace + settings: + system_tables_sql_warehouse_id: aba7c023d4172910 + workspace_url: "https://dbc-1234abcd.cloud.databricks.com" + id: a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f + type: integration-account + schema: + $ref: '#/components/schemas/DatabricksIntegrationAccountResponse' + description: OK + "400": + $ref: "#/components/responses/BadRequestResponse" + "403": + $ref: "#/components/responses/ForbiddenResponse" + "404": + $ref: "#/components/responses/NotFoundResponse" + "422": + $ref: "#/components/responses/UnprocessableEntityResponse" + "429": + $ref: "#/components/responses/TooManyRequestsResponse" + summary: Update a Databricks integration account + tags: + - Databricks Integration + x-codegen-request-body-name: body + "x-permission": + operator: OR + permissions: + - manage_integrations + x-unstable: |- + **Note**: This endpoint is in preview and is subject to change. + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/). /api/v2/integration-interfaces/elastic-cloud/accounts: get: description: List Elastic Cloud integration accounts. @@ -227048,6 +227911,15 @@ tags: name: Data Deletion - description: Manage and run data observability monitors. name: Data Observability + - description: |- + Manage your Datadog Databricks integration accounts and account resources directly + through the Datadog API. See the + [Databricks integration page](https://docs.datadoghq.com/integrations/databricks/) for + more information. + externalDocs: + description: Databricks integration. + url: https://docs.datadoghq.com/integrations/databricks/ + name: Databricks Integration - description: |- Data Access Controls in Datadog is a feature that allows administrators and access managers to regulate access to sensitive data. By defining Restricted Datasets, you can ensure that only specific teams or roles can diff --git a/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..c542cec99e7d --- /dev/null +++ b/examples/v2/databricks-integration/CreateDatabricksIntegrationAccount.ts @@ -0,0 +1,70 @@ +/** + * Create a Databricks integration account returns "Created" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createDatabricksIntegrationAccount"] = + true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest = + { + body: { + data: { + attributes: { + authentication: { + authType: "databricks-oauth", + azureTenantId: "4d3bac44-0230-4732-9e70-cc00736f0a97", + clientId: "5c10654a-b3a3-4840-b37f-f477590c70a0", + clientSecret: "your-client-secret", + }, + dataflows: { + databricksCloudCostMetrics: { + enabled: true, + settings: { + ccmCollectAllWorkspaces: true, + }, + }, + databricksDataObservabilityJobsMonitoring: { + enabled: true, + settings: { + ddApiKeyId: "fe383f4e-09fc-46bf-8e10-4efdd453a646", + ddApiKeySecret: "your-datadog-api-key", + djmGlobalInitScriptEnabled: true, + scriptGpumEnabled: true, + scriptLogsEnabled: true, + serverlessJobsEnabled: true, + }, + }, + databricksDataObservabilityQualityMonitoring: { + enabled: true, + settings: { + doCrawlersCron: "0 * * * *", + syncSystemCatalog: true, + }, + }, + databricksModelServingMetrics: { + enabled: true, + }, + }, + name: "My Databricks Workspace", + settings: { + systemTablesSqlWarehouseId: "aba7c023d4172910", + workspaceUrl: "https://dbc-1234abcd.cloud.databricks.com", + }, + }, + type: "integration-account", + }, + }, + }; + +apiInstance + .createDatabricksIntegrationAccount(params) + .then((data: v2.DatabricksIntegrationAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..511f090acefa --- /dev/null +++ b/examples/v2/databricks-integration/DeleteDatabricksIntegrationAccount.ts @@ -0,0 +1,24 @@ +/** + * Delete a Databricks integration account returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.deleteDatabricksIntegrationAccount"] = + true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest = + { + accountId: "account_id", + }; + +apiInstance + .deleteDatabricksIntegrationAccount(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..080be6562d33 --- /dev/null +++ b/examples/v2/databricks-integration/GetDatabricksIntegrationAccount.ts @@ -0,0 +1,23 @@ +/** + * Get a Databricks integration account returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.getDatabricksIntegrationAccount"] = true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest = + { + accountId: "account_id", + }; + +apiInstance + .getDatabricksIntegrationAccount(params) + .then((data: v2.DatabricksIntegrationAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.ts b/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.ts new file mode 100644 index 000000000000..cde06d956da4 --- /dev/null +++ b/examples/v2/databricks-integration/ListDatabricksIntegrationAccounts.ts @@ -0,0 +1,18 @@ +/** + * List Databricks integration accounts returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listDatabricksIntegrationAccounts"] = true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +apiInstance + .listDatabricksIntegrationAccounts() + .then((data: v2.DatabricksIntegrationAccountsResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.ts b/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.ts new file mode 100644 index 000000000000..427a4ff65be7 --- /dev/null +++ b/examples/v2/databricks-integration/UpdateDatabricksIntegrationAccount.ts @@ -0,0 +1,72 @@ +/** + * Update a Databricks integration account returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.updateDatabricksIntegrationAccount"] = + true; +const apiInstance = new v2.DatabricksIntegrationApi(configuration); + +const params: v2.DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest = + { + body: { + data: { + attributes: { + authentication: { + authType: "databricks-oauth", + azureTenantId: "4d3bac44-0230-4732-9e70-cc00736f0a97", + clientId: "5c10654a-b3a3-4840-b37f-f477590c70a0", + clientSecret: "your-client-secret", + }, + dataflows: { + databricksCloudCostMetrics: { + enabled: true, + settings: { + ccmCollectAllWorkspaces: true, + }, + }, + databricksDataObservabilityJobsMonitoring: { + enabled: true, + settings: { + ddApiKeyId: "fe383f4e-09fc-46bf-8e10-4efdd453a646", + ddApiKeySecret: "your-datadog-api-key", + djmGlobalInitScriptEnabled: true, + scriptGpumEnabled: true, + scriptLogsEnabled: true, + serverlessJobsEnabled: true, + }, + }, + databricksDataObservabilityQualityMonitoring: { + enabled: true, + settings: { + doCrawlersCron: "0 * * * *", + syncSystemCatalog: true, + }, + }, + databricksModelServingMetrics: { + enabled: true, + }, + }, + name: "My Databricks Workspace", + settings: { + systemTablesSqlWarehouseId: "aba7c023d4172910", + workspaceUrl: "https://dbc-1234abcd.cloud.databricks.com", + }, + }, + id: "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", + type: "integration-account", + }, + }, + accountId: "account_id", + }; + +apiInstance + .updateDatabricksIntegrationAccount(params) + .then((data: v2.DatabricksIntegrationAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index 5bcb3a37673b..b1045dd9d517 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -11434,6 +11434,41 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "IncidentTimestampOverrideResponse", }, + "v2.ListDatabricksIntegrationAccounts": { + "operationResponseType": "DatabricksIntegrationAccountsResponse", + }, + "v2.CreateDatabricksIntegrationAccount": { + "body": { + "type": "DatabricksIntegrationAccountCreateRequest", + "format": "", + }, + "operationResponseType": "DatabricksIntegrationAccountResponse", + }, + "v2.GetDatabricksIntegrationAccount": { + "accountId": { + "type": "string", + "format": "", + }, + "operationResponseType": "DatabricksIntegrationAccountResponse", + }, + "v2.DeleteDatabricksIntegrationAccount": { + "accountId": { + "type": "string", + "format": "", + }, + "operationResponseType": "{}", + }, + "v2.UpdateDatabricksIntegrationAccount": { + "accountId": { + "type": "string", + "format": "", + }, + "body": { + "type": "DatabricksIntegrationAccountUpdateRequest", + "format": "", + }, + "operationResponseType": "DatabricksIntegrationAccountResponse", + }, "v2.ListElasticCloudIntegrationAccounts": { "operationResponseType": "ElasticCloudIntegrationAccountsResponse", }, diff --git a/features/v2/databricks_integration.feature b/features/v2/databricks_integration.feature new file mode 100644 index 000000000000..b5d1426d8e27 --- /dev/null +++ b/features/v2/databricks_integration.feature @@ -0,0 +1,148 @@ +@endpoint(databricks-integration) @endpoint(databricks-integration-v2) +Feature: Databricks Integration + Manage your Datadog Databricks integration accounts and account resources + directly through the Datadog API. See the [Databricks integration + page](https://docs.datadoghq.com/integrations/databricks/) for more + information. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "DatabricksIntegration" API + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "Bad Request" response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "Created" response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "Not Found" response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Create a Databricks integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "CreateDatabricksIntegrationAccount" enabled + And new "CreateDatabricksIntegrationAccount" request + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "type": "integration-account"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete a Databricks integration account returns "Bad Request" response + Given operation "DeleteDatabricksIntegrationAccount" enabled + And new "DeleteDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete a Databricks integration account returns "Not Found" response + Given operation "DeleteDatabricksIntegrationAccount" enabled + And new "DeleteDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Delete a Databricks integration account returns "OK" response + Given operation "DeleteDatabricksIntegrationAccount" enabled + And new "DeleteDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get a Databricks integration account returns "Bad Request" response + Given operation "GetDatabricksIntegrationAccount" enabled + And new "GetDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get a Databricks integration account returns "Not Found" response + Given operation "GetDatabricksIntegrationAccount" enabled + And new "GetDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Get a Databricks integration account returns "OK" response + Given operation "GetDatabricksIntegrationAccount" enabled + And new "GetDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Databricks integration accounts returns "Bad Request" response + Given operation "ListDatabricksIntegrationAccounts" enabled + And new "ListDatabricksIntegrationAccounts" request + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Databricks integration accounts returns "Not Found" response + Given operation "ListDatabricksIntegrationAccounts" enabled + And new "ListDatabricksIntegrationAccounts" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: List Databricks integration accounts returns "OK" response + Given operation "ListDatabricksIntegrationAccounts" enabled + And new "ListDatabricksIntegrationAccounts" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "Bad Request" response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "type": "integration-account"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "Not Found" response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "type": "integration-account"}} + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "OK" response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "type": "integration-account"}} + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:DataDog/saas-integrations + Scenario: Update a Databricks integration account returns "The server cannot process the request because it contains invalid data." response + Given operation "UpdateDatabricksIntegrationAccount" enabled + And new "UpdateDatabricksIntegrationAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"authentication": {"auth_type": "databricks-oauth", "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97", "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0", "client_secret": "your-client-secret"}, "dataflows": {"databricks-cloud-cost-metrics": {"enabled": true, "settings": {"ccm_collect_all_workspaces": true}}, "databricks-data-observability-jobs-monitoring": {"enabled": true, "settings": {"dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646", "dd_api_key_secret": "your-datadog-api-key", "djm_global_init_script_enabled": true, "script_gpum_enabled": true, "script_logs_enabled": true, "serverless_jobs_enabled": true}}, "databricks-data-observability-quality-monitoring": {"enabled": true, "settings": {"do_crawlers_cron": "0 * * * *", "sync_system_catalog": true}}, "databricks-model-serving-metrics": {"enabled": true}}, "name": "My Databricks Workspace", "settings": {"system_tables_sql_warehouse_id": "aba7c023d4172910", "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"}}, "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f", "type": "integration-account"}} + When the request is sent + Then the response status is 422 The server cannot process the request because it contains invalid data. diff --git a/features/v2/undo.json b/features/v2/undo.json index 22c02b5bcbd6..a1e1bc2db600 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -3680,6 +3680,43 @@ "type": "idempotent" } }, + "ListDatabricksIntegrationAccounts": { + "tag": "Databricks Integration", + "undo": { + "type": "safe" + } + }, + "CreateDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "operationId": "DeleteDatabricksIntegrationAccount", + "parameters": [ + { + "name": "account_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "type": "idempotent" + } + }, + "GetDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "type": "safe" + } + }, + "UpdateDatabricksIntegrationAccount": { + "tag": "Databricks Integration", + "undo": { + "type": "idempotent" + } + }, "ListElasticCloudIntegrationAccounts": { "tag": "Elastic Cloud Integration Accounts", "undo": { diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts index e02db641233b..fcb12a1a7cb3 100644 --- a/packages/datadog-api-client-common/configuration.ts +++ b/packages/datadog-api-client-common/configuration.ts @@ -620,6 +620,11 @@ export function createConfiguration( "v2.updateIncidentUserDefinedField": false, "v2.updateIncidentUserDefinedRole": false, "v2.updateTimestampOverride": false, + "v2.createDatabricksIntegrationAccount": false, + "v2.deleteDatabricksIntegrationAccount": false, + "v2.getDatabricksIntegrationAccount": false, + "v2.listDatabricksIntegrationAccounts": false, + "v2.updateDatabricksIntegrationAccount": false, "v2.createElasticCloudIntegrationAccount": false, "v2.deleteElasticCloudIntegrationAccount": false, "v2.getElasticCloudIntegrationAccount": false, diff --git a/packages/datadog-api-client-v2/apis/DatabricksIntegrationApi.ts b/packages/datadog-api-client-v2/apis/DatabricksIntegrationApi.ts new file mode 100644 index 000000000000..11b956e44f35 --- /dev/null +++ b/packages/datadog-api-client-v2/apis/DatabricksIntegrationApi.ts @@ -0,0 +1,831 @@ +import { + BaseAPIRequestFactory, + RequiredError, +} from "../../datadog-api-client-common/baseapi"; +import { + Configuration, + applySecurityAuthentication, +} from "../../datadog-api-client-common/configuration"; +import { + RequestContext, + HttpMethod, + ResponseContext, +} from "../../datadog-api-client-common/http/http"; + +import { logger } from "../../../logger"; +import { ObjectSerializer } from "../models/ObjectSerializer"; +import { ApiException } from "../../datadog-api-client-common/exception"; + +import { APIErrorResponse } from "../models/APIErrorResponse"; +import { DatabricksIntegrationAccountCreateRequest } from "../models/DatabricksIntegrationAccountCreateRequest"; +import { DatabricksIntegrationAccountResponse } from "../models/DatabricksIntegrationAccountResponse"; +import { DatabricksIntegrationAccountsResponse } from "../models/DatabricksIntegrationAccountsResponse"; +import { DatabricksIntegrationAccountUpdateRequest } from "../models/DatabricksIntegrationAccountUpdateRequest"; +import { JSONAPIErrorResponse } from "../models/JSONAPIErrorResponse"; + +export class DatabricksIntegrationApiRequestFactory extends BaseAPIRequestFactory { + public async createDatabricksIntegrationAccount( + body: DatabricksIntegrationAccountCreateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'createDatabricksIntegrationAccount'" + ); + if (!_config.unstableOperations["v2.createDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'createDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createDatabricksIntegrationAccount"); + } + + // Path Params + const localVarPath = "/api/v2/integration-interfaces/databricks/accounts"; + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.createDatabricksIntegrationAccount" + ) + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "DatabricksIntegrationAccountCreateRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async deleteDatabricksIntegrationAccount( + accountId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'deleteDatabricksIntegrationAccount'" + ); + if (!_config.unstableOperations["v2.deleteDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'deleteDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'accountId' is not null or undefined + if (accountId === null || accountId === undefined) { + throw new RequiredError( + "accountId", + "deleteDatabricksIntegrationAccount" + ); + } + + // Path Params + const localVarPath = + "/api/v2/integration-interfaces/databricks/accounts/{account_id}".replace( + "{account_id}", + encodeURIComponent(String(accountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.deleteDatabricksIntegrationAccount" + ) + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async getDatabricksIntegrationAccount( + accountId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'getDatabricksIntegrationAccount'"); + if (!_config.unstableOperations["v2.getDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'getDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'accountId' is not null or undefined + if (accountId === null || accountId === undefined) { + throw new RequiredError("accountId", "getDatabricksIntegrationAccount"); + } + + // Path Params + const localVarPath = + "/api/v2/integration-interfaces/databricks/accounts/{account_id}".replace( + "{account_id}", + encodeURIComponent(String(accountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.DatabricksIntegrationApi.getDatabricksIntegrationAccount") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async listDatabricksIntegrationAccounts( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'listDatabricksIntegrationAccounts'"); + if (!_config.unstableOperations["v2.listDatabricksIntegrationAccounts"]) { + throw new Error( + "Unstable operation 'listDatabricksIntegrationAccounts' is disabled" + ); + } + + // Path Params + const localVarPath = "/api/v2/integration-interfaces/databricks/accounts"; + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.listDatabricksIntegrationAccounts" + ) + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async updateDatabricksIntegrationAccount( + accountId: string, + body: DatabricksIntegrationAccountUpdateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn( + "Using unstable operation 'updateDatabricksIntegrationAccount'" + ); + if (!_config.unstableOperations["v2.updateDatabricksIntegrationAccount"]) { + throw new Error( + "Unstable operation 'updateDatabricksIntegrationAccount' is disabled" + ); + } + + // verify required parameter 'accountId' is not null or undefined + if (accountId === null || accountId === undefined) { + throw new RequiredError( + "accountId", + "updateDatabricksIntegrationAccount" + ); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateDatabricksIntegrationAccount"); + } + + // Path Params + const localVarPath = + "/api/v2/integration-interfaces/databricks/accounts/{account_id}".replace( + "{account_id}", + encodeURIComponent(String(accountId)) + ); + + // Make Request Context + const requestContext = _config + .getServer( + "v2.DatabricksIntegrationApi.updateDatabricksIntegrationAccount" + ) + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Set IaC header + if (_config.isIaC) { + requestContext.setHeaderParam("X-Datadog-Managed-By", "iac"); + } + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize( + body, + "DatabricksIntegrationAccountUpdateRequest", + "" + ), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } +} + +export class DatabricksIntegrationApiResponseProcessor { + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async createDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 201) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse" + ) as DatabricksIntegrationAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + if (response.httpStatusCode === 422) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse", + "" + ) as DatabricksIntegrationAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + return; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async getDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse" + ) as DatabricksIntegrationAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse", + "" + ) as DatabricksIntegrationAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listDatabricksIntegrationAccounts + * @throws ApiException if the response code was not in [200, 299] + */ + public async listDatabricksIntegrationAccounts( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DatabricksIntegrationAccountsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountsResponse" + ) as DatabricksIntegrationAccountsResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountsResponse", + "" + ) as DatabricksIntegrationAccountsResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateDatabricksIntegrationAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateDatabricksIntegrationAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse" + ) as DatabricksIntegrationAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + if (response.httpStatusCode === 422) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: JSONAPIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "JSONAPIErrorResponse" + ) as JSONAPIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException( + response.httpStatusCode, + body + ); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: DatabricksIntegrationAccountResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "DatabricksIntegrationAccountResponse", + "" + ) as DatabricksIntegrationAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } +} + +export interface DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest { + /** + * @type DatabricksIntegrationAccountCreateRequest + */ + body: DatabricksIntegrationAccountCreateRequest; +} + +export interface DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest { + /** + * Unique identifier of the integration account. + * @type string + */ + accountId: string; +} + +export interface DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest { + /** + * Unique identifier of the integration account. + * @type string + */ + accountId: string; +} + +export interface DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest { + /** + * Unique identifier of the integration account. + * @type string + */ + accountId: string; + /** + * @type DatabricksIntegrationAccountUpdateRequest + */ + body: DatabricksIntegrationAccountUpdateRequest; +} + +export class DatabricksIntegrationApi { + private requestFactory: DatabricksIntegrationApiRequestFactory; + private responseProcessor: DatabricksIntegrationApiResponseProcessor; + private configuration: Configuration; + + public constructor( + configuration: Configuration, + requestFactory?: DatabricksIntegrationApiRequestFactory, + responseProcessor?: DatabricksIntegrationApiResponseProcessor + ) { + this.configuration = configuration; + this.requestFactory = + requestFactory || + new DatabricksIntegrationApiRequestFactory(configuration); + this.responseProcessor = + responseProcessor || new DatabricksIntegrationApiResponseProcessor(); + } + + /** + * Create a Databricks integration account. + * @param param The request object + */ + public createDatabricksIntegrationAccount( + param: DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.createDatabricksIntegrationAccount( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } + + /** + * Delete a Databricks integration account. + * @param param The request object + */ + public deleteDatabricksIntegrationAccount( + param: DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.deleteDatabricksIntegrationAccount( + param.accountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } + + /** + * Get a Databricks integration account. + * @param param The request object + */ + public getDatabricksIntegrationAccount( + param: DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.getDatabricksIntegrationAccount( + param.accountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } + + /** + * List Databricks integration accounts. + * @param param The request object + */ + public listDatabricksIntegrationAccounts( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.listDatabricksIntegrationAccounts(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listDatabricksIntegrationAccounts( + responseContext + ); + }); + }); + } + + /** + * Update a Databricks integration account. Only the fields provided are changed. + * @param param The request object + */ + public updateDatabricksIntegrationAccount( + param: DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.updateDatabricksIntegrationAccount( + param.accountId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateDatabricksIntegrationAccount( + responseContext + ); + }); + }); + } +} diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index ddd99e059d61..6158ad0d62af 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -597,6 +597,14 @@ export { DataObservabilityApi, } from "./apis/DataObservabilityApi"; +export { + DatabricksIntegrationApiCreateDatabricksIntegrationAccountRequest, + DatabricksIntegrationApiDeleteDatabricksIntegrationAccountRequest, + DatabricksIntegrationApiGetDatabricksIntegrationAccountRequest, + DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest, + DatabricksIntegrationApi, +} from "./apis/DatabricksIntegrationApi"; + export { DatasetsApiCreateDatasetRequest, DatasetsApiDeleteDatasetRequest, @@ -3707,6 +3715,45 @@ export { DashboardUsageUser } from "./models/DashboardUsageUser"; export { DataAttributesRulesItemsIfTagExists } from "./models/DataAttributesRulesItemsIfTagExists"; export { DataAttributesRulesItemsMapping } from "./models/DataAttributesRulesItemsMapping"; export { DatabaseMonitoringTriggerWrapper } from "./models/DatabaseMonitoringTriggerWrapper"; +export { DatabricksCloudCostMetricsIntegrationDataflowRequest } from "./models/DatabricksCloudCostMetricsIntegrationDataflowRequest"; +export { DatabricksCloudCostMetricsIntegrationDataflowResponse } from "./models/DatabricksCloudCostMetricsIntegrationDataflowResponse"; +export { DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest } from "./models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest"; +export { DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse } from "./models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest"; +export { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse } from "./models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest"; +export { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse } from "./models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse"; +export { DatabricksIntegrationAccountAuthenticationRequest } from "./models/DatabricksIntegrationAccountAuthenticationRequest"; +export { DatabricksIntegrationAccountAuthenticationResponse } from "./models/DatabricksIntegrationAccountAuthenticationResponse"; +export { DatabricksIntegrationAccountAuthenticationUpdate } from "./models/DatabricksIntegrationAccountAuthenticationUpdate"; +export { DatabricksIntegrationAccountCreateAttributes } from "./models/DatabricksIntegrationAccountCreateAttributes"; +export { DatabricksIntegrationAccountCreateData } from "./models/DatabricksIntegrationAccountCreateData"; +export { DatabricksIntegrationAccountCreateRequest } from "./models/DatabricksIntegrationAccountCreateRequest"; +export { DatabricksIntegrationAccountOAuthAuthRequest } from "./models/DatabricksIntegrationAccountOAuthAuthRequest"; +export { DatabricksIntegrationAccountOAuthAuthResponse } from "./models/DatabricksIntegrationAccountOAuthAuthResponse"; +export { DatabricksIntegrationAccountOAuthAuthType } from "./models/DatabricksIntegrationAccountOAuthAuthType"; +export { DatabricksIntegrationAccountOAuthAuthUpdate } from "./models/DatabricksIntegrationAccountOAuthAuthUpdate"; +export { DatabricksIntegrationAccountPatAuthResponse } from "./models/DatabricksIntegrationAccountPatAuthResponse"; +export { DatabricksIntegrationAccountPatAuthType } from "./models/DatabricksIntegrationAccountPatAuthType"; +export { DatabricksIntegrationAccountPatAuthUpdate } from "./models/DatabricksIntegrationAccountPatAuthUpdate"; +export { DatabricksIntegrationAccountResponse } from "./models/DatabricksIntegrationAccountResponse"; +export { DatabricksIntegrationAccountResponseAttributes } from "./models/DatabricksIntegrationAccountResponseAttributes"; +export { DatabricksIntegrationAccountResponseData } from "./models/DatabricksIntegrationAccountResponseData"; +export { DatabricksIntegrationAccountSettingsRequest } from "./models/DatabricksIntegrationAccountSettingsRequest"; +export { DatabricksIntegrationAccountSettingsResponse } from "./models/DatabricksIntegrationAccountSettingsResponse"; +export { DatabricksIntegrationAccountSettingsUpdate } from "./models/DatabricksIntegrationAccountSettingsUpdate"; +export { DatabricksIntegrationAccountsResponse } from "./models/DatabricksIntegrationAccountsResponse"; +export { DatabricksIntegrationAccountUpdateAttributes } from "./models/DatabricksIntegrationAccountUpdateAttributes"; +export { DatabricksIntegrationAccountUpdateData } from "./models/DatabricksIntegrationAccountUpdateData"; +export { DatabricksIntegrationAccountUpdateRequest } from "./models/DatabricksIntegrationAccountUpdateRequest"; +export { DatabricksIntegrationDataflowsRequest } from "./models/DatabricksIntegrationDataflowsRequest"; +export { DatabricksIntegrationDataflowsResponse } from "./models/DatabricksIntegrationDataflowsResponse"; +export { DatabricksModelServingMetricsIntegrationDataflowRequest } from "./models/DatabricksModelServingMetricsIntegrationDataflowRequest"; +export { DatabricksModelServingMetricsIntegrationDataflowResponse } from "./models/DatabricksModelServingMetricsIntegrationDataflowResponse"; export { DataDeletionResponseItem } from "./models/DataDeletionResponseItem"; export { DataDeletionResponseItemAttributes } from "./models/DataDeletionResponseItemAttributes"; export { DataDeletionResponseMeta } from "./models/DataDeletionResponseMeta"; @@ -5198,6 +5245,9 @@ export { IntegrationAccountBasicAuthType } from "./models/IntegrationAccountBasi export { IntegrationAccountBasicAuthUpdate } from "./models/IntegrationAccountBasicAuthUpdate"; export { IntegrationAccountDataflowHealth } from "./models/IntegrationAccountDataflowHealth"; export { IntegrationAccountDataflowStatus } from "./models/IntegrationAccountDataflowStatus"; +export { IntegrationAccountPrivateActionRunnerAuthRequest } from "./models/IntegrationAccountPrivateActionRunnerAuthRequest"; +export { IntegrationAccountPrivateActionRunnerAuthResponse } from "./models/IntegrationAccountPrivateActionRunnerAuthResponse"; +export { IntegrationAccountPrivateActionRunnerAuthType } from "./models/IntegrationAccountPrivateActionRunnerAuthType"; export { IntegrationAccountType } from "./models/IntegrationAccountType"; export { IntegrationAttributes } from "./models/IntegrationAttributes"; export { IntegrationIncident } from "./models/IntegrationIncident"; diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..a8b68153c9fe --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowRequest.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks cloud cost metrics dataflow. Enabling it requires [Cloud Cost Management](https://www.datadoghq.com/product/cloud-cost-management/) to be enabled for your organization; if it is not, the request is rejected with a `422` response. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowRequest { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + /** + * Settings of the Databricks cloud cost metrics dataflow. Only the fields provided are changed. + */ + "settings"?: DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..a98a1f49689e --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowResponse.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks cloud cost metrics dataflow. Requires [Cloud Cost Management](https://www.datadoghq.com/product/cloud-cost-management/) to be enabled for your organization. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowResponse { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + /** + * Settings of the Databricks cloud cost metrics dataflow. + */ + "settings"?: DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.ts new file mode 100644 index 000000000000..00d12d4ae076 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.ts @@ -0,0 +1,41 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Databricks cloud cost metrics dataflow. Only the fields provided are changed. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest { + /** + * Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. + */ + "ccmCollectAllWorkspaces"?: boolean; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ccmCollectAllWorkspaces: { + baseName: "ccm_collect_all_workspaces", + type: "boolean", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.ts new file mode 100644 index 000000000000..29b1c3629b9c --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.ts @@ -0,0 +1,52 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Databricks cloud cost metrics dataflow. + */ +export class DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse { + /** + * Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. + */ + "ccmCollectAllWorkspaces"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ccmCollectAllWorkspaces: { + baseName: "ccm_collect_all_workspaces", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..e496ff9ee72d --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks Data Jobs Monitoring dataflow. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + /** + * Settings of the Databricks Data Jobs Monitoring dataflow. Only the fields provided are changed. + */ + "settings"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..87920453757b --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks Data Jobs Monitoring dataflow. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + /** + * Settings of the Databricks Data Jobs Monitoring dataflow. + */ + "settings"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ts new file mode 100644 index 000000000000..76e15af67a42 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.ts @@ -0,0 +1,81 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Databricks Data Jobs Monitoring dataflow. Only the fields provided are changed. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest { + /** + * ID of the Datadog API key the global init script uses to submit data. Setting or changing it requires `dd_api_key_secret` in the same request. + */ + "ddApiKeyId"?: string; + /** + * Secret value of the Datadog API key identified by `dd_api_key_id`. + */ + "ddApiKeySecret"?: string; + /** + * Whether Datadog manages the global init script that installs the Agent on your Databricks clusters. + */ + "djmGlobalInitScriptEnabled"?: boolean; + /** + * Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + */ + "scriptGpumEnabled"?: boolean; + /** + * Whether logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + */ + "scriptLogsEnabled"?: boolean; + /** + * Whether metrics are collected from serverless jobs. These jobs run without clusters, so this does not require the global init script. + */ + "serverlessJobsEnabled"?: boolean; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ddApiKeyId: { + baseName: "dd_api_key_id", + type: "string", + }, + ddApiKeySecret: { + baseName: "dd_api_key_secret", + type: "string", + }, + djmGlobalInitScriptEnabled: { + baseName: "djm_global_init_script_enabled", + type: "boolean", + }, + scriptGpumEnabled: { + baseName: "script_gpum_enabled", + type: "boolean", + }, + scriptLogsEnabled: { + baseName: "script_logs_enabled", + type: "boolean", + }, + serverlessJobsEnabled: { + baseName: "serverless_jobs_enabled", + type: "boolean", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ts new file mode 100644 index 000000000000..91a4dda00b65 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.ts @@ -0,0 +1,84 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Databricks Data Jobs Monitoring dataflow. + */ +export class DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse { + /** + * ID of the Datadog API key the global init script uses to submit data. + */ + "ddApiKeyId"?: string; + /** + * Whether Datadog manages the global init script that installs the Agent on your Databricks clusters. + */ + "djmGlobalInitScriptEnabled"?: boolean; + /** + * Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + */ + "scriptGpumEnabled"?: boolean; + /** + * Whether logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. + */ + "scriptLogsEnabled"?: boolean; + /** + * Whether metrics are collected from serverless jobs. These jobs run without clusters, so this does not require the global init script. + */ + "serverlessJobsEnabled"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + ddApiKeyId: { + baseName: "dd_api_key_id", + type: "string", + }, + djmGlobalInitScriptEnabled: { + baseName: "djm_global_init_script_enabled", + type: "boolean", + }, + scriptGpumEnabled: { + baseName: "script_gpum_enabled", + type: "boolean", + }, + scriptLogsEnabled: { + baseName: "script_logs_enabled", + type: "boolean", + }, + serverlessJobsEnabled: { + baseName: "serverless_jobs_enabled", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..ac2da9ef92fe --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks data observability quality monitoring dataflow. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + /** + * Settings of the Databricks data observability quality monitoring dataflow. Only the fields provided are changed. + */ + "settings"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..4f3343979622 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks data observability quality monitoring dataflow. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + /** + * Settings of the Databricks data observability quality monitoring dataflow. + */ + "settings"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + settings: { + baseName: "settings", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.ts new file mode 100644 index 000000000000..b23d3c1fc79c --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.ts @@ -0,0 +1,49 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Databricks data observability quality monitoring dataflow. Only the fields provided are changed. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest { + /** + * Cron expression setting how often the data observability crawlers run. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported. + */ + "doCrawlersCron"?: string; + /** + * Whether the Databricks `system` catalog is synchronized alongside your data catalogs. + */ + "syncSystemCatalog"?: boolean; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + doCrawlersCron: { + baseName: "do_crawlers_cron", + type: "string", + }, + syncSystemCatalog: { + baseName: "sync_system_catalog", + type: "boolean", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.ts new file mode 100644 index 000000000000..055a649d645d --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.ts @@ -0,0 +1,60 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings of the Databricks data observability quality monitoring dataflow. + */ +export class DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse { + /** + * Cron expression setting how often the data observability crawlers run. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported. + */ + "doCrawlersCron"?: string; + /** + * Whether the Databricks `system` catalog is synchronized alongside your data catalogs. + */ + "syncSystemCatalog"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + doCrawlersCron: { + baseName: "do_crawlers_cron", + type: "string", + }, + syncSystemCatalog: { + baseName: "sync_system_catalog", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationRequest.ts new file mode 100644 index 000000000000..ed0e704b900a --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationRequest.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthRequest } from "./DatabricksIntegrationAccountOAuthAuthRequest"; +import { IntegrationAccountPrivateActionRunnerAuthRequest } from "./IntegrationAccountPrivateActionRunnerAuthRequest"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Authentication for creating the Databricks integration account. Exactly one method is set. Choosing `private-action-runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. + */ + +export type DatabricksIntegrationAccountAuthenticationRequest = + | DatabricksIntegrationAccountOAuthAuthRequest + | IntegrationAccountPrivateActionRunnerAuthRequest + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationResponse.ts new file mode 100644 index 000000000000..496606483cbb --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationResponse.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthResponse } from "./DatabricksIntegrationAccountOAuthAuthResponse"; +import { DatabricksIntegrationAccountPatAuthResponse } from "./DatabricksIntegrationAccountPatAuthResponse"; +import { IntegrationAccountPrivateActionRunnerAuthResponse } from "./IntegrationAccountPrivateActionRunnerAuthResponse"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Authentication configured on the Databricks integration account. + */ + +export type DatabricksIntegrationAccountAuthenticationResponse = + | DatabricksIntegrationAccountOAuthAuthResponse + | IntegrationAccountPrivateActionRunnerAuthResponse + | DatabricksIntegrationAccountPatAuthResponse + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationUpdate.ts new file mode 100644 index 000000000000..213995765f73 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountAuthenticationUpdate.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthUpdate } from "./DatabricksIntegrationAccountOAuthAuthUpdate"; +import { DatabricksIntegrationAccountPatAuthUpdate } from "./DatabricksIntegrationAccountPatAuthUpdate"; +import { IntegrationAccountPrivateActionRunnerAuthRequest } from "./IntegrationAccountPrivateActionRunnerAuthRequest"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Authentication for updating the Databricks integration account. Exactly one method is set. Choosing `private-action-runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `pat` is accepted only on accounts that already use it, so it cannot move an account onto personal access token authentication. + */ + +export type DatabricksIntegrationAccountAuthenticationUpdate = + | DatabricksIntegrationAccountOAuthAuthUpdate + | IntegrationAccountPrivateActionRunnerAuthRequest + | DatabricksIntegrationAccountPatAuthUpdate + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateAttributes.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateAttributes.ts new file mode 100644 index 000000000000..843935797f1c --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateAttributes.ts @@ -0,0 +1,82 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountAuthenticationRequest } from "./DatabricksIntegrationAccountAuthenticationRequest"; +import { DatabricksIntegrationAccountSettingsRequest } from "./DatabricksIntegrationAccountSettingsRequest"; +import { DatabricksIntegrationDataflowsRequest } from "./DatabricksIntegrationDataflowsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Writable attributes used to create a Databricks integration account. + */ +export class DatabricksIntegrationAccountCreateAttributes { + /** + * Authentication for creating the Databricks integration account. Exactly one method is set. Choosing `private-action-runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. + */ + "authentication": DatabricksIntegrationAccountAuthenticationRequest; + /** + * Dataflows to configure on the Databricks integration account, keyed by dataflow id. Some dataflows and settings have prerequisites, noted on each. Unless a prerequisite is documented as rejecting the request, it is not checked when the request is made, so anything left enabled without it is stored but collects no data. + */ + "dataflows"?: DatabricksIntegrationDataflowsRequest; + /** + * Human-readable name of the Databricks integration account. + */ + "name": string; + /** + * Settings for creating the Databricks integration account. + */ + "settings": DatabricksIntegrationAccountSettingsRequest; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authentication: { + baseName: "authentication", + type: "DatabricksIntegrationAccountAuthenticationRequest", + required: true, + }, + dataflows: { + baseName: "dataflows", + type: "DatabricksIntegrationDataflowsRequest", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + settings: { + baseName: "settings", + type: "DatabricksIntegrationAccountSettingsRequest", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountCreateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateData.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateData.ts new file mode 100644 index 000000000000..220b8a7fb3bd --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateData.ts @@ -0,0 +1,64 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountCreateAttributes } from "./DatabricksIntegrationAccountCreateAttributes"; +import { IntegrationAccountType } from "./IntegrationAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data envelope for creating a Databricks integration account. + */ +export class DatabricksIntegrationAccountCreateData { + /** + * Writable attributes used to create a Databricks integration account. + */ + "attributes": DatabricksIntegrationAccountCreateAttributes; + /** + * The type of the integration account resource. Always `integration-account`. + */ + "type": IntegrationAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DatabricksIntegrationAccountCreateAttributes", + required: true, + }, + type: { + baseName: "type", + type: "IntegrationAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountCreateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateRequest.ts new file mode 100644 index 000000000000..97719486190c --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountCreateRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountCreateData } from "./DatabricksIntegrationAccountCreateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request payload to create a Databricks integration account. + */ +export class DatabricksIntegrationAccountCreateRequest { + /** + * Data envelope for creating a Databricks integration account. + */ + "data": DatabricksIntegrationAccountCreateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DatabricksIntegrationAccountCreateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountCreateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthRequest.ts new file mode 100644 index 000000000000..8e861cd5459f --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthRequest.ts @@ -0,0 +1,69 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthType } from "./DatabricksIntegrationAccountOAuthAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Databricks OAuth machine-to-machine authentication using a service principal. + */ +export class DatabricksIntegrationAccountOAuthAuthRequest { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountOAuthAuthType; + /** + * Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. + */ + "azureTenantId"?: string; + /** + * Client ID of the Databricks service principal. + */ + "clientId": string; + /** + * Secret of the Databricks service principal. + */ + "clientSecret": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountOAuthAuthType", + required: true, + }, + azureTenantId: { + baseName: "azure_tenant_id", + type: "string", + }, + clientId: { + baseName: "client_id", + type: "string", + required: true, + }, + clientSecret: { + baseName: "client_secret", + type: "string", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountOAuthAuthRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthResponse.ts new file mode 100644 index 000000000000..823c283dbfd0 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthResponse.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthType } from "./DatabricksIntegrationAccountOAuthAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks OAuth authentication method and service principal configured on the account. + */ +export class DatabricksIntegrationAccountOAuthAuthResponse { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountOAuthAuthType; + /** + * Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. + */ + "azureTenantId"?: string; + /** + * Client ID of the Databricks service principal. + */ + "clientId": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountOAuthAuthType", + required: true, + }, + azureTenantId: { + baseName: "azure_tenant_id", + type: "string", + }, + clientId: { + baseName: "client_id", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountOAuthAuthResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthType.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthType.ts new file mode 100644 index 000000000000..984f43adc2a6 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The authentication method type. + */ + +export type DatabricksIntegrationAccountOAuthAuthType = + | typeof DATABRICKS_OAUTH + | UnparsedObject; +export const DATABRICKS_OAUTH = "databricks-oauth"; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthUpdate.ts new file mode 100644 index 000000000000..5a07f162a943 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountOAuthAuthUpdate.ts @@ -0,0 +1,68 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountOAuthAuthType } from "./DatabricksIntegrationAccountOAuthAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Databricks OAuth machine-to-machine authentication using a service principal. Omit `client_secret` to keep the stored one; `client_id` must be provided on every submission. Omitting `azure_tenant_id` clears it. + */ +export class DatabricksIntegrationAccountOAuthAuthUpdate { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountOAuthAuthType; + /** + * Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. + */ + "azureTenantId"?: string; + /** + * Client ID of the Databricks service principal. + */ + "clientId": string; + /** + * Secret of the Databricks service principal. + */ + "clientSecret"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountOAuthAuthType", + required: true, + }, + azureTenantId: { + baseName: "azure_tenant_id", + type: "string", + }, + clientId: { + baseName: "client_id", + type: "string", + required: true, + }, + clientSecret: { + baseName: "client_secret", + type: "string", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountOAuthAuthUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthResponse.ts new file mode 100644 index 000000000000..d88c9fb81e04 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountPatAuthType } from "./DatabricksIntegrationAccountPatAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Databricks personal access token authentication method configured on the account. Deprecated: migrate these accounts to `databricks-oauth` or `private-action-runner`. + */ +export class DatabricksIntegrationAccountPatAuthResponse { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountPatAuthType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountPatAuthType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountPatAuthResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthType.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthType.ts new file mode 100644 index 000000000000..4bd7a9e45dfd --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The authentication method type. + */ + +export type DatabricksIntegrationAccountPatAuthType = + | typeof PAT + | UnparsedObject; +export const PAT = "pat"; diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthUpdate.ts new file mode 100644 index 000000000000..32cede6f9a2b --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountPatAuthUpdate.ts @@ -0,0 +1,51 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountPatAuthType } from "./DatabricksIntegrationAccountPatAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * 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. + */ +export class DatabricksIntegrationAccountPatAuthUpdate { + /** + * The authentication method type. + */ + "authType": DatabricksIntegrationAccountPatAuthType; + /** + * Secret Databricks personal access token. + */ + "token"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "DatabricksIntegrationAccountPatAuthType", + required: true, + }, + token: { + baseName: "token", + type: "string", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountPatAuthUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponse.ts new file mode 100644 index 000000000000..81e301fc2494 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountResponseData } from "./DatabricksIntegrationAccountResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response payload for a single Databricks integration account. + */ +export class DatabricksIntegrationAccountResponse { + /** + * Data envelope of a Databricks integration account, including server-assigned identity. + */ + "data": DatabricksIntegrationAccountResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DatabricksIntegrationAccountResponseData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseAttributes.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseAttributes.ts new file mode 100644 index 000000000000..1503727f93b2 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseAttributes.ts @@ -0,0 +1,81 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountAuthenticationResponse } from "./DatabricksIntegrationAccountAuthenticationResponse"; +import { DatabricksIntegrationAccountSettingsResponse } from "./DatabricksIntegrationAccountSettingsResponse"; +import { DatabricksIntegrationDataflowsResponse } from "./DatabricksIntegrationDataflowsResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Attributes of a Databricks integration account returned in responses. + */ +export class DatabricksIntegrationAccountResponseAttributes { + /** + * Authentication configured on the Databricks integration account. + */ + "authentication"?: DatabricksIntegrationAccountAuthenticationResponse; + /** + * Dataflows configured on the Databricks integration account, keyed by dataflow id. + */ + "dataflows"?: DatabricksIntegrationDataflowsResponse; + /** + * Human-readable name of the Databricks integration account. + */ + "name": string; + /** + * Settings configured on the Databricks integration account. + */ + "settings": DatabricksIntegrationAccountSettingsResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authentication: { + baseName: "authentication", + type: "DatabricksIntegrationAccountAuthenticationResponse", + }, + dataflows: { + baseName: "dataflows", + type: "DatabricksIntegrationDataflowsResponse", + }, + name: { + baseName: "name", + type: "string", + required: true, + }, + settings: { + baseName: "settings", + type: "DatabricksIntegrationAccountSettingsResponse", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountResponseAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseData.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseData.ts new file mode 100644 index 000000000000..a9db042aca11 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountResponseData.ts @@ -0,0 +1,73 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountResponseAttributes } from "./DatabricksIntegrationAccountResponseAttributes"; +import { IntegrationAccountType } from "./IntegrationAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data envelope of a Databricks integration account, including server-assigned identity. + */ +export class DatabricksIntegrationAccountResponseData { + /** + * Attributes of a Databricks integration account returned in responses. + */ + "attributes": DatabricksIntegrationAccountResponseAttributes; + /** + * Server-generated unique identifier of the Databricks integration account. + */ + "id": string; + /** + * The type of the integration account resource. Always `integration-account`. + */ + "type": IntegrationAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DatabricksIntegrationAccountResponseAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IntegrationAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsRequest.ts new file mode 100644 index 000000000000..479f7ecb223a --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsRequest.ts @@ -0,0 +1,50 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings for creating the Databricks integration account. + */ +export class DatabricksIntegrationAccountSettingsRequest { + /** + * ID of the SQL warehouse used to query the Databricks system tables. + */ + "systemTablesSqlWarehouseId"?: string; + /** + * URL of the Databricks workspace. + */ + "workspaceUrl": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + systemTablesSqlWarehouseId: { + baseName: "system_tables_sql_warehouse_id", + type: "string", + }, + workspaceUrl: { + baseName: "workspace_url", + type: "string", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountSettingsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsResponse.ts new file mode 100644 index 000000000000..76a65de3e2ff --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsResponse.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings configured on the Databricks integration account. + */ +export class DatabricksIntegrationAccountSettingsResponse { + /** + * ID of the SQL warehouse used to query the Databricks system tables. + */ + "systemTablesSqlWarehouseId"?: string; + /** + * URL of the Databricks workspace. + */ + "workspaceUrl": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + systemTablesSqlWarehouseId: { + baseName: "system_tables_sql_warehouse_id", + type: "string", + }, + workspaceUrl: { + baseName: "workspace_url", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountSettingsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsUpdate.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsUpdate.ts new file mode 100644 index 000000000000..f1364af85a0b --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountSettingsUpdate.ts @@ -0,0 +1,49 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Settings for updating the Databricks integration account. Only the fields provided are changed. + */ +export class DatabricksIntegrationAccountSettingsUpdate { + /** + * ID of the SQL warehouse used to query the Databricks system tables. + */ + "systemTablesSqlWarehouseId"?: string; + /** + * URL of the Databricks workspace. + */ + "workspaceUrl"?: string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + systemTablesSqlWarehouseId: { + baseName: "system_tables_sql_warehouse_id", + type: "string", + }, + workspaceUrl: { + baseName: "workspace_url", + type: "string", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountSettingsUpdate.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateAttributes.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateAttributes.ts new file mode 100644 index 000000000000..4f31d5c9a851 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateAttributes.ts @@ -0,0 +1,79 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountAuthenticationUpdate } from "./DatabricksIntegrationAccountAuthenticationUpdate"; +import { DatabricksIntegrationAccountSettingsUpdate } from "./DatabricksIntegrationAccountSettingsUpdate"; +import { DatabricksIntegrationDataflowsRequest } from "./DatabricksIntegrationDataflowsRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Writable attributes used to update a Databricks integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration, as do the settings of an included dataflow that provides only `enabled`. + */ +export class DatabricksIntegrationAccountUpdateAttributes { + /** + * Authentication for updating the Databricks integration account. Exactly one method is set. Choosing `private-action-runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `pat` is accepted only on accounts that already use it, so it cannot move an account onto personal access token authentication. + */ + "authentication"?: DatabricksIntegrationAccountAuthenticationUpdate; + /** + * Dataflows to configure on the Databricks integration account, keyed by dataflow id. Some dataflows and settings have prerequisites, noted on each. Unless a prerequisite is documented as rejecting the request, it is not checked when the request is made, so anything left enabled without it is stored but collects no data. + */ + "dataflows"?: DatabricksIntegrationDataflowsRequest; + /** + * Human-readable name of the Databricks integration account. + */ + "name"?: string; + /** + * Settings for updating the Databricks integration account. Only the fields provided are changed. + */ + "settings"?: DatabricksIntegrationAccountSettingsUpdate; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authentication: { + baseName: "authentication", + type: "DatabricksIntegrationAccountAuthenticationUpdate", + }, + dataflows: { + baseName: "dataflows", + type: "DatabricksIntegrationDataflowsRequest", + }, + name: { + baseName: "name", + type: "string", + }, + settings: { + baseName: "settings", + type: "DatabricksIntegrationAccountSettingsUpdate", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountUpdateAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateData.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateData.ts new file mode 100644 index 000000000000..c2bc6426b074 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateData.ts @@ -0,0 +1,73 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountUpdateAttributes } from "./DatabricksIntegrationAccountUpdateAttributes"; +import { IntegrationAccountType } from "./IntegrationAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Data envelope for updating a Databricks integration account. + */ +export class DatabricksIntegrationAccountUpdateData { + /** + * Writable attributes used to update a Databricks integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration, as do the settings of an included dataflow that provides only `enabled`. + */ + "attributes": DatabricksIntegrationAccountUpdateAttributes; + /** + * Unique identifier of the Databricks integration account to update. + */ + "id": string; + /** + * The type of the integration account resource. Always `integration-account`. + */ + "type": IntegrationAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "DatabricksIntegrationAccountUpdateAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IntegrationAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountUpdateData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateRequest.ts new file mode 100644 index 000000000000..5cc802a2a52f --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountUpdateRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountUpdateData } from "./DatabricksIntegrationAccountUpdateData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Request payload to update a Databricks integration account. + */ +export class DatabricksIntegrationAccountUpdateRequest { + /** + * Data envelope for updating a Databricks integration account. + */ + "data": DatabricksIntegrationAccountUpdateData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "DatabricksIntegrationAccountUpdateData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountUpdateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountsResponse.ts new file mode 100644 index 000000000000..b4d02345ef3f --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationAccountsResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksIntegrationAccountResponseData } from "./DatabricksIntegrationAccountResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response payload for a list of Databricks integration accounts. + */ +export class DatabricksIntegrationAccountsResponse { + /** + * List of Databricks integration accounts. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationAccountsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsRequest.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsRequest.ts new file mode 100644 index 000000000000..64b699feea10 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsRequest.ts @@ -0,0 +1,69 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowRequest"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest"; +import { DatabricksModelServingMetricsIntegrationDataflowRequest } from "./DatabricksModelServingMetricsIntegrationDataflowRequest"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Dataflows to configure on the Databricks integration account, keyed by dataflow id. Some dataflows and settings have prerequisites, noted on each. Unless a prerequisite is documented as rejecting the request, it is not checked when the request is made, so anything left enabled without it is stored but collects no data. + */ +export class DatabricksIntegrationDataflowsRequest { + /** + * The Databricks cloud cost metrics dataflow. Enabling it requires [Cloud Cost Management](https://www.datadoghq.com/product/cloud-cost-management/) to be enabled for your organization; if it is not, the request is rejected with a `422` response. + */ + "databricksCloudCostMetrics"?: DatabricksCloudCostMetricsIntegrationDataflowRequest; + /** + * The Databricks Data Jobs Monitoring dataflow. + */ + "databricksDataObservabilityJobsMonitoring"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest; + /** + * The Databricks data observability quality monitoring dataflow. + */ + "databricksDataObservabilityQualityMonitoring"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest; + /** + * 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. + */ + "databricksModelServingMetrics"?: DatabricksModelServingMetricsIntegrationDataflowRequest; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + databricksCloudCostMetrics: { + baseName: "databricks-cloud-cost-metrics", + type: "DatabricksCloudCostMetricsIntegrationDataflowRequest", + }, + databricksDataObservabilityJobsMonitoring: { + baseName: "databricks-data-observability-jobs-monitoring", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest", + }, + databricksDataObservabilityQualityMonitoring: { + baseName: "databricks-data-observability-quality-monitoring", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest", + }, + databricksModelServingMetrics: { + baseName: "databricks-model-serving-metrics", + type: "DatabricksModelServingMetricsIntegrationDataflowRequest", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationDataflowsRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsResponse.ts b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsResponse.ts new file mode 100644 index 000000000000..ba09692edec9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksIntegrationDataflowsResponse.ts @@ -0,0 +1,80 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { DatabricksCloudCostMetricsIntegrationDataflowResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowResponse"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse"; +import { DatabricksModelServingMetricsIntegrationDataflowResponse } from "./DatabricksModelServingMetricsIntegrationDataflowResponse"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Dataflows configured on the Databricks integration account, keyed by dataflow id. + */ +export class DatabricksIntegrationDataflowsResponse { + /** + * The Databricks cloud cost metrics dataflow. Requires [Cloud Cost Management](https://www.datadoghq.com/product/cloud-cost-management/) to be enabled for your organization. + */ + "databricksCloudCostMetrics"?: DatabricksCloudCostMetricsIntegrationDataflowResponse; + /** + * The Databricks Data Jobs Monitoring dataflow. + */ + "databricksDataObservabilityJobsMonitoring"?: DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse; + /** + * The Databricks data observability quality monitoring dataflow. + */ + "databricksDataObservabilityQualityMonitoring"?: DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse; + /** + * 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. + */ + "databricksModelServingMetrics"?: DatabricksModelServingMetricsIntegrationDataflowResponse; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + databricksCloudCostMetrics: { + baseName: "databricks-cloud-cost-metrics", + type: "DatabricksCloudCostMetricsIntegrationDataflowResponse", + }, + databricksDataObservabilityJobsMonitoring: { + baseName: "databricks-data-observability-jobs-monitoring", + type: "DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse", + }, + databricksDataObservabilityQualityMonitoring: { + baseName: "databricks-data-observability-quality-monitoring", + type: "DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse", + }, + databricksModelServingMetrics: { + baseName: "databricks-model-serving-metrics", + type: "DatabricksModelServingMetricsIntegrationDataflowResponse", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksIntegrationDataflowsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowRequest.ts b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowRequest.ts new file mode 100644 index 000000000000..143f1c0d46fe --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowRequest.ts @@ -0,0 +1,52 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * 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. + */ +export class DatabricksModelServingMetricsIntegrationDataflowRequest { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksModelServingMetricsIntegrationDataflowRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowResponse.ts b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowResponse.ts new file mode 100644 index 000000000000..dd4647ebfabe --- /dev/null +++ b/packages/datadog-api-client-v2/models/DatabricksModelServingMetricsIntegrationDataflowResponse.ts @@ -0,0 +1,52 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * 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. + */ +export class DatabricksModelServingMetricsIntegrationDataflowResponse { + /** + * Whether the Databricks dataflow is enabled. + */ + "enabled"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + enabled: { + baseName: "enabled", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return DatabricksModelServingMetricsIntegrationDataflowResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthRequest.ts b/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthRequest.ts new file mode 100644 index 000000000000..4bcb2ed88e7f --- /dev/null +++ b/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthRequest.ts @@ -0,0 +1,69 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IntegrationAccountPrivateActionRunnerAuthType } from "./IntegrationAccountPrivateActionRunnerAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * 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. + */ +export class IntegrationAccountPrivateActionRunnerAuthRequest { + /** + * The authentication method type. + */ + "authType": IntegrationAccountPrivateActionRunnerAuthType; + /** + * Unique identifier of the Private Action Runner connection holding the credentials. + */ + "connectionId": string; + /** + * Path of the credential inside the secret backend configured on the runner. + */ + "secretPath"?: string; + /** + * Unique identifier of the user the Private Action Runner connection belongs to. + */ + "userUuid": string; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "IntegrationAccountPrivateActionRunnerAuthType", + required: true, + }, + connectionId: { + baseName: "connection_id", + type: "string", + required: true, + }, + secretPath: { + baseName: "secret_path", + type: "string", + }, + userUuid: { + baseName: "user_uuid", + type: "string", + required: true, + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IntegrationAccountPrivateActionRunnerAuthRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthResponse.ts b/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthResponse.ts new file mode 100644 index 000000000000..fc22be259196 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthResponse.ts @@ -0,0 +1,80 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IntegrationAccountPrivateActionRunnerAuthType } from "./IntegrationAccountPrivateActionRunnerAuthType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The Private Action Runner authentication method configured on the account. + */ +export class IntegrationAccountPrivateActionRunnerAuthResponse { + /** + * The authentication method type. + */ + "authType": IntegrationAccountPrivateActionRunnerAuthType; + /** + * Unique identifier of the Private Action Runner connection holding the credentials. + */ + "connectionId": string; + /** + * Path of the credential inside the secret backend configured on the runner. + */ + "secretPath"?: string; + /** + * Unique identifier of the user the Private Action Runner connection belongs to. + */ + "userUuid": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + authType: { + baseName: "auth_type", + type: "IntegrationAccountPrivateActionRunnerAuthType", + required: true, + }, + connectionId: { + baseName: "connection_id", + type: "string", + required: true, + }, + secretPath: { + baseName: "secret_path", + type: "string", + }, + userUuid: { + baseName: "user_uuid", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IntegrationAccountPrivateActionRunnerAuthResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthType.ts b/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthType.ts new file mode 100644 index 000000000000..f84a974c4c95 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IntegrationAccountPrivateActionRunnerAuthType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The authentication method type. + */ + +export type IntegrationAccountPrivateActionRunnerAuthType = + | typeof PRIVATE_ACTION_RUNNER + | UnparsedObject; +export const PRIVATE_ACTION_RUNNER = "private-action-runner"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index f5a0ad681ff4..b864d9914266 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -1352,6 +1352,40 @@ import { DataScalarColumn } from "./DataScalarColumn"; import { DataTransform } from "./DataTransform"; import { DataTransformProperties } from "./DataTransformProperties"; import { DatabaseMonitoringTriggerWrapper } from "./DatabaseMonitoringTriggerWrapper"; +import { DatabricksCloudCostMetricsIntegrationDataflowRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowRequest"; +import { DatabricksCloudCostMetricsIntegrationDataflowResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowResponse"; +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest"; +import { DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse } from "./DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest"; +import { DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest"; +import { DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse } from "./DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse"; +import { DatabricksIntegrationAccountCreateAttributes } from "./DatabricksIntegrationAccountCreateAttributes"; +import { DatabricksIntegrationAccountCreateData } from "./DatabricksIntegrationAccountCreateData"; +import { DatabricksIntegrationAccountCreateRequest } from "./DatabricksIntegrationAccountCreateRequest"; +import { DatabricksIntegrationAccountOAuthAuthRequest } from "./DatabricksIntegrationAccountOAuthAuthRequest"; +import { DatabricksIntegrationAccountOAuthAuthResponse } from "./DatabricksIntegrationAccountOAuthAuthResponse"; +import { DatabricksIntegrationAccountOAuthAuthUpdate } from "./DatabricksIntegrationAccountOAuthAuthUpdate"; +import { DatabricksIntegrationAccountPatAuthResponse } from "./DatabricksIntegrationAccountPatAuthResponse"; +import { DatabricksIntegrationAccountPatAuthUpdate } from "./DatabricksIntegrationAccountPatAuthUpdate"; +import { DatabricksIntegrationAccountResponse } from "./DatabricksIntegrationAccountResponse"; +import { DatabricksIntegrationAccountResponseAttributes } from "./DatabricksIntegrationAccountResponseAttributes"; +import { DatabricksIntegrationAccountResponseData } from "./DatabricksIntegrationAccountResponseData"; +import { DatabricksIntegrationAccountSettingsRequest } from "./DatabricksIntegrationAccountSettingsRequest"; +import { DatabricksIntegrationAccountSettingsResponse } from "./DatabricksIntegrationAccountSettingsResponse"; +import { DatabricksIntegrationAccountSettingsUpdate } from "./DatabricksIntegrationAccountSettingsUpdate"; +import { DatabricksIntegrationAccountUpdateAttributes } from "./DatabricksIntegrationAccountUpdateAttributes"; +import { DatabricksIntegrationAccountUpdateData } from "./DatabricksIntegrationAccountUpdateData"; +import { DatabricksIntegrationAccountUpdateRequest } from "./DatabricksIntegrationAccountUpdateRequest"; +import { DatabricksIntegrationAccountsResponse } from "./DatabricksIntegrationAccountsResponse"; +import { DatabricksIntegrationDataflowsRequest } from "./DatabricksIntegrationDataflowsRequest"; +import { DatabricksIntegrationDataflowsResponse } from "./DatabricksIntegrationDataflowsResponse"; +import { DatabricksModelServingMetricsIntegrationDataflowRequest } from "./DatabricksModelServingMetricsIntegrationDataflowRequest"; +import { DatabricksModelServingMetricsIntegrationDataflowResponse } from "./DatabricksModelServingMetricsIntegrationDataflowResponse"; import { DatadogAPIKey } from "./DatadogAPIKey"; import { DatadogAPIKeyUpdate } from "./DatadogAPIKeyUpdate"; import { DatadogIntegration } from "./DatadogIntegration"; @@ -2513,6 +2547,8 @@ import { IntegrationAccountBasicAuthRequest } from "./IntegrationAccountBasicAut import { IntegrationAccountBasicAuthResponse } from "./IntegrationAccountBasicAuthResponse"; import { IntegrationAccountBasicAuthUpdate } from "./IntegrationAccountBasicAuthUpdate"; import { IntegrationAccountDataflowStatus } from "./IntegrationAccountDataflowStatus"; +import { IntegrationAccountPrivateActionRunnerAuthRequest } from "./IntegrationAccountPrivateActionRunnerAuthRequest"; +import { IntegrationAccountPrivateActionRunnerAuthResponse } from "./IntegrationAccountPrivateActionRunnerAuthResponse"; import { IntegrationAttributes } from "./IntegrationAttributes"; import { IntegrationIncident } from "./IntegrationIncident"; import { IntegrationIncidentFieldMappingsItems } from "./IntegrationIncidentFieldMappingsItems"; @@ -6755,6 +6791,8 @@ const enumsMap: { [key: string]: any[] } = { DataObservabilityMonitorRunType: ["monitor_run"], DataRelationshipsTeamsDataItemsType: ["teams"], DataTransformType: ["dataTransform"], + DatabricksIntegrationAccountOAuthAuthType: ["databricks-oauth"], + DatabricksIntegrationAccountPatAuthType: ["pat"], DatadogAPIKeyType: ["DatadogAPIKey"], DatadogIntegrationType: ["Datadog"], DatasetReportScheduleResourceType: ["widget_dataset_list"], @@ -7234,6 +7272,7 @@ const enumsMap: { [key: string]: any[] } = { "DATAFLOW_HEALTH_BROKEN", "DATAFLOW_HEALTH_UNKNOWN", ], + IntegrationAccountPrivateActionRunnerAuthType: ["private-action-runner"], IntegrationAccountType: ["integration-account"], IntegrationType: ["integration"], InterfaceAttributesStatus: ["up", "down", "warning", "off"], @@ -10957,6 +10996,71 @@ const typeMap: { [index: string]: any } = { DataTransform: DataTransform, DataTransformProperties: DataTransformProperties, DatabaseMonitoringTriggerWrapper: DatabaseMonitoringTriggerWrapper, + DatabricksCloudCostMetricsIntegrationDataflowRequest: + DatabricksCloudCostMetricsIntegrationDataflowRequest, + DatabricksCloudCostMetricsIntegrationDataflowResponse: + DatabricksCloudCostMetricsIntegrationDataflowResponse, + DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest: + DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest, + DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse: + DatabricksCloudCostMetricsIntegrationDataflowSettingsResponse, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowResponse, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest, + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse: + DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsResponse, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowResponse, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest, + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse: + DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsResponse, + DatabricksIntegrationAccountCreateAttributes: + DatabricksIntegrationAccountCreateAttributes, + DatabricksIntegrationAccountCreateData: + DatabricksIntegrationAccountCreateData, + DatabricksIntegrationAccountCreateRequest: + DatabricksIntegrationAccountCreateRequest, + DatabricksIntegrationAccountOAuthAuthRequest: + DatabricksIntegrationAccountOAuthAuthRequest, + DatabricksIntegrationAccountOAuthAuthResponse: + DatabricksIntegrationAccountOAuthAuthResponse, + DatabricksIntegrationAccountOAuthAuthUpdate: + DatabricksIntegrationAccountOAuthAuthUpdate, + DatabricksIntegrationAccountPatAuthResponse: + DatabricksIntegrationAccountPatAuthResponse, + DatabricksIntegrationAccountPatAuthUpdate: + DatabricksIntegrationAccountPatAuthUpdate, + DatabricksIntegrationAccountResponse: DatabricksIntegrationAccountResponse, + DatabricksIntegrationAccountResponseAttributes: + DatabricksIntegrationAccountResponseAttributes, + DatabricksIntegrationAccountResponseData: + DatabricksIntegrationAccountResponseData, + DatabricksIntegrationAccountSettingsRequest: + DatabricksIntegrationAccountSettingsRequest, + DatabricksIntegrationAccountSettingsResponse: + DatabricksIntegrationAccountSettingsResponse, + DatabricksIntegrationAccountSettingsUpdate: + DatabricksIntegrationAccountSettingsUpdate, + DatabricksIntegrationAccountUpdateAttributes: + DatabricksIntegrationAccountUpdateAttributes, + DatabricksIntegrationAccountUpdateData: + DatabricksIntegrationAccountUpdateData, + DatabricksIntegrationAccountUpdateRequest: + DatabricksIntegrationAccountUpdateRequest, + DatabricksIntegrationAccountsResponse: DatabricksIntegrationAccountsResponse, + DatabricksIntegrationDataflowsRequest: DatabricksIntegrationDataflowsRequest, + DatabricksIntegrationDataflowsResponse: + DatabricksIntegrationDataflowsResponse, + DatabricksModelServingMetricsIntegrationDataflowRequest: + DatabricksModelServingMetricsIntegrationDataflowRequest, + DatabricksModelServingMetricsIntegrationDataflowResponse: + DatabricksModelServingMetricsIntegrationDataflowResponse, DatadogAPIKey: DatadogAPIKey, DatadogAPIKeyUpdate: DatadogAPIKeyUpdate, DatadogIntegration: DatadogIntegration, @@ -12357,6 +12461,10 @@ const typeMap: { [index: string]: any } = { IntegrationAccountBasicAuthResponse: IntegrationAccountBasicAuthResponse, IntegrationAccountBasicAuthUpdate: IntegrationAccountBasicAuthUpdate, IntegrationAccountDataflowStatus: IntegrationAccountDataflowStatus, + IntegrationAccountPrivateActionRunnerAuthRequest: + IntegrationAccountPrivateActionRunnerAuthRequest, + IntegrationAccountPrivateActionRunnerAuthResponse: + IntegrationAccountPrivateActionRunnerAuthResponse, IntegrationAttributes: IntegrationAttributes, IntegrationIncident: IntegrationIncident, IntegrationIncidentFieldMappingsItems: IntegrationIncidentFieldMappingsItems, @@ -16973,6 +17081,20 @@ const oneOfMap: { [index: string]: string[] } = { "DORADeploymentPatchByVersionRemediationByID", "DORADeploymentPatchByVersionRemediationByVersion", ], + DatabricksIntegrationAccountAuthenticationRequest: [ + "DatabricksIntegrationAccountOAuthAuthRequest", + "IntegrationAccountPrivateActionRunnerAuthRequest", + ], + DatabricksIntegrationAccountAuthenticationResponse: [ + "DatabricksIntegrationAccountOAuthAuthResponse", + "IntegrationAccountPrivateActionRunnerAuthResponse", + "DatabricksIntegrationAccountPatAuthResponse", + ], + DatabricksIntegrationAccountAuthenticationUpdate: [ + "DatabricksIntegrationAccountOAuthAuthUpdate", + "IntegrationAccountPrivateActionRunnerAuthRequest", + "DatabricksIntegrationAccountPatAuthUpdate", + ], DatadogCredentials: ["DatadogAPIKey"], DatadogCredentialsUpdate: ["DatadogAPIKeyUpdate"], DegradationIncluded: ["StatusPagesUser", "StatusPageAsIncluded"],